(57)【特許請求の範囲】
【請求項１】
それぞれに対して定められた最大パケット長以下の任意のパケット長を有するパケットを格納する複数のキューを、それぞれが前記パケットの前記最大パケット長が同一である１つもしくは２つ以上のキューを含む複数のグループに分けた、それぞれのグループに対応して設けられた、該グループに含まれるキューに格納されたパケットの送信可否を制御するシェイピング装置を有する通信制御装置であって、
前記シェイピング装置のそれぞれが、
所定の速度でトークンが蓄積されるトークンバケットと、対応するグループに含まれるキューの前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、
対応するグループに含まれるキューの１つもしくは２つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されトークンの量が前記最大パケット長以上であることを検出したときに、前記１つのキューに格納されたパケット、もしくは、２つ以上のキューに格納されたパケットの内の１つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする通信制御装置。
【請求項２】
２つ以上の前記キューを含むグループに対応して設けられた前記シェイピング装置がさらに調停部を有し、
該調停部は、対応するグループに含まれるキューの２つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、該２つ以上のキューに格納されたパケットを受け取り、そのうちの１つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知することを特徴とする請求項１記載の通信制御装置。
【請求項３】
前記シェイピング装置の１つが、対応するグループに含まれるキューに格納されたパケットに加えて、該対応するグループに含まれるキューと前記パケットの最大パケット長が同一である１つのキューであって、他のグループに含まれるキューに格納されたパケットの送信可否を制御するものであり、
前記他のグループに含まれるキューがパケットを格納し、前記１つのシェイピング装置の比較器が該１つのシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出し、かつ、前記他のグループに対応するシェイピング装置の比較器が該他のグループに対応するシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記他のグループに含まれるキューに格納されたパケットの送信を許可することを特徴とする請求項１記載の通信制御装置。
【請求項４】
定められた最大パケット長以下の任意の長さを有するパケットを格納するキューに格納されたパケットの送信可否を制御するシェイピング装置であって、
所定の速度でトークンが格納されるトークンバケットと、前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、
前記キューがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、前記格納されたパケットの送信を許可するとともに、前記トークンバケットから前記パケットのパケット長だけトークンを減じることを特徴とするシェイピング装置。
【請求項５】
前記キューを複数含み、該複数のキューの少なくとも２つがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記少なくとも２つのキューに格納されたパケットのうちの１つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする請求項４記載のシェイピング装置。
【請求項６】
少なくとも２つのキューがパケットを格納し、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、該少なくとも２つのキューに格納されたパケットを受け取り、そのうちの１つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知する調停部をさらに有することを特徴とする請求項５記載のシェイピング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置およびその通信制御装置に組み込まれるシェイピング装置に関する。
【背景技術】
【０００２】
通信分野において、特定のユーザが通信帯域を占有したり過剰に帯域を利用することを防止して、複数のユーザに公平に通信帯域を割り当てる方式として、シェイピング方式がある。このシェイピング方式は、例えば非特許文献１に記されたように、通信速度に等しい速度（レート）でトークンをトークンバケット内に蓄積し、そのトークンバケット内にあるトークンの量とキューに格納された送信要求パケットのパケット長とを比較し、前者が後者以上であるとき、その送信要求パケットの送信を許可するものである。そして、このときトークンバケット内のトークンは、送信を許可したパケットのパケット長だけ減算される。ここで、送信要求パケットのパケット長がトークンバケット内のトークンの量よりも大きいときは、その送信要求パケットを破棄し、あるいはトークンバケット内のトークンが十分蓄積されるまで遅延させることで、通信の帯域制限が実現され、特定のユーザが通信帯域を占有したり過剰に帯域を利用することが防止される。また、複数のキューを設ける場合、従来では、例えば特許文献１に記されたように、それぞれのキューに対して１個のトークンバケットを設けることが一般的であった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３３６５４９号公報
【非特許文献】
【０００４】
【非特許文献１】P.F.Chimento、“Standard Token Bucket Terminology”、２０００年５月１８日、[平成２２年５月３１日検索]、インターネット＜URL:http://qbone.internet2.edu/bb/Traffic.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、パケットは属性（クラス、送信ポート、受信ポート、送信元アドレス等）に合ったキューに格納されるが、複数のキューが属性を共有する場合がある。これを利用してシェイピングをする場合、そのシェイピング装置に当該属性に共通の１つのトークンバケットをもたせ、当該属性に含まれる複数のキューに格納された送信要求パケットのパケット長と当該トークンバケットのトークンの量をそれぞれ比較し、当該送信要求パケットの送信可否が決定される。
【０００６】
図４はこれを説明するためのシェイピング装置５００の構成を示す図である。このシェイピング装置５００は、シェイピング部５１０と調停部５２０からなる。シェイピング部５１０は、通信速度と等しい速度でトークンが蓄積されるトークンバケット５１１と、そのトークンバケット５１１内のトークン量と同一属性のキュー２５１〜２５４から送信される１つ又は２つ以上の送信要求パケットのパケット長とを比較する比較器５１２〜５１５と、パケット長がトークン量より少ない送信要求パケットの送信を許可するゲート５１６〜５１９とを有する。調停部５２０は、ゲート５１６〜５１９から送信されるパケットを所定の規則に沿って調停して１つのパケットを選択するものであり、選択したパケットのパケット長をトークンバケット５１１に通知する。トークンバケット５１１では、通知されたパケット長に相当する量だけトークンの量の減算を行う。
【０００７】
ここでは、キュー２５１〜２５４に格納されたパケットについて送信要求が発生すると、シェイピング装置５００において、送信要求されたパケットのパケット長が現在のトークンバケット５１１に格納されているトークン量以下であるか否かが比較器５１２〜５１５において比較される。そして、パケット長がトークン量以下であることを検出した比較器５１２〜５１５の内の１つ又は２つ以上に対応する、ゲート５１６〜５１９のいずれか１つ又は２つ以上がゲートを開き、当該のパケットの送信を許可する。そして、送信が許可されたパケットが２つ以上ある場合は、調停部５２０において、所定の規則で調停を受けて、その内の１つのパケットが送信される。このとき、当該の調停を受けて送信されるパケットのパケット長がトークンバケット５１１に通知され、そのトークンバケット５１１において、当該パケット長分のトークン量が減算される。なお、ゲート５１６〜６１９の１つのみが開き１つのパケットのみが調停部５２０に送信されたときは、調停は行われないが、そのパケットのパケット長がトークンバケット５１１に通知される。
【０００８】
ところが、図４に示したシェイピング装置５００では、１つのトークンバケット５１１に対してキュー２５１〜２５４の数だけ比較器５１２〜５１５を必要とし、トークンバケット５１１から各比較器５１２〜５１５への信号配線および各キュー２５１〜２５４から比較器５１２〜５１５への信号配線が必要となり、また信号負荷（配線負荷）も大きくなる。また、シェイピング装置５００は、属性が取り得る数だけ必要となるので、比較器の数も増大する。したがって、集積回路化する場合、回路面積と信号負荷が著しく大きくなる問題がある。
【０００９】
本発明の目的は、シェイピング部において固定値とトークンを比較するようにして、比較器を１個で済ませ、回路面積および信号負荷を大きく削減できるようにした通信制御装置およびシェイピング装置を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１にかかる発明の通信制御装置は、それぞれに対して定められた最大パケット長以下の任意のパケット長を有するパケットを格納する複数のキューを、それぞれが前記パケットの前記最大パケット長が同一である１つもしくは２つ以上のキューを含む複数のグループに分けた、それぞれのグループに対応して設けられた、該グループに含まれるキューに格納されたパケットの送信可否を制御するシェイピング装置を有する通信制御装置であって、前記シェイピング装置のそれぞれが、所定の速度でトークンが蓄積されるトークンバケットと、対応するグループに含まれるキューの前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、対応するグループに含まれるキューの１つもしくは２つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されトークンの量が前記最大パケット長以上であることを検出したときに、前記１つのキューに格納されたパケット、もしくは、２つ以上のキューに格納されたパケットの内の１つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする。
請求項２にかかる発明は、請求項１記載の通信制御装置において、２つ以上の前記キューを含むグループに対応して設けられた前記シェイピング装置がさらに調停部を有し、該調停部は、対応するグループに含まれるキューの２つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、該２つ以上のキューに格納されたパケットを受け取り、そのうちの１つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知することを特徴とする。
請求項３にかかる発明は、請求項１記載の通信制御装置において、前記シェイピング装置の１つが、対応するグループに含まれるキューに格納されたパケットに加えて、該対応するグループに含まれるキューと前記パケットの最大パケット長が同一である１つのキューであって、他のグループに含まれるキューに格納されたパケットの送信可否を制御するものであり、前記他のグループに含まれるキューがパケットを格納し、前記１つのシェイピング装置の比較器が該１つのシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出し、かつ、前記他のグループに対応するシェイピング装置の比較器が該他のグループに対応するシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記他のグループに含まれるキューに格納されたパケットの送信を許可することを特徴とする。
請求項４にかかる発明のシェイピング装置は、定められた最大パケット長以下の任意の長さを有するパケットを格納するキューに格納されたパケットの送信可否を制御するシェイピング装置であって、所定の速度でトークンが格納されるトークンバケットと、前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、前記キューがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、前記格納されたパケットの送信を許可するとともに、前記トークンバケットから前記パケットのパケット長だけトークンを減じることを特徴とする。
請求項５にかかる発明は請求項４記載のシェイピング装置において、前記キューを複数含み、該複数のキューの少なくとも２つがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記少なくとも２つのキューに格納されたパケットのうちの１つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする。
請求項６にかかる発明は、請求項５記載のシェイピング装置において、少なくとも２つのキューがパケットを格納し、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、該少なくとも２つのキューに格納されたパケットを受け取り、そのうちの１つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知する調停部を、さらに有することを特徴とする。
【発明の効果】
【００１１】
請求項１〜６にかかる発明によれば、シェイピング部において、固定値とトークン量との比較を行えば良いで、比較器を単純化できる。また、その比較器は、複数のキューからの送信要求パケットを１個のトークンバケットを使用してシェイピングする場合であっても１個で済む。さらに、各キューから比較器に対して各キューに格納されたパケットの長さを通知する配線が不要となる。したがって、本発明を集積回路で実現する場合、回路面積および信号負荷を大幅に削減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施例のシェイピング装置の構成を示す機能ブロック図である。
【図２】本発明の第２の実施例の通信制御装置の構成を示す機能ブロック図である。
【図３】本発明の第３の実施例の通信制御装置の構成を示す機能ブロック図である。
【図４】従来のシェイピング装置の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１３】
＜第１の実施例＞
図１に本発明の第１の実施例のシェイピング装置１００の構成を示す。２４１〜２４４はパケットが格納されるキューであり、それぞれ格納可能な最大パケット長が同一であり、同一属性をもつ１つのグループを形成する。このキュー２４１〜２４４には、前記最大パケット長と同じか又はそれより少ないパケット長のパケットが格納される。
【００１４】
シェイピング装置１００は、シェイピング部１１０と調停部１２０からなる。シェイピング部１１０は、通信速度と等しい速度でトークンが蓄積されるトークンバケット１１１と、そのトークンバケット１１１内のトークン量を比較基準値と比較する比較器１１２と、キュー２４１〜２４４に格納されたパケットの送信を許可するゲート（ここでは、ＡＮＤゲートを示す）１１３〜１１６とを備える。比較器１１２に設定される比較基準値は、キュー２４１〜２４４の前記した格納可能な最大パケット長である。比較器１１２は、トークンバケット１１１内に蓄積されているトークン量が前記最大パケット長以上であるとき、ゲート１１３〜１１６に許可信号を伝える。調停部１２０は、ゲート１１３〜１１６で送信許可されたパケットを所定の規則に沿って調停して１つのパケットを選択するものであり、選択したパケットのパケット長をトークンバケット１１１に通知する。トークンバケット１１１では、通知されたパケット長に相当する量だけトークンの減算を行う。
【００１５】
本実施例では、キュー２４１〜２４４の内の１つ又は２つ以上に格納されているパケットの送信要求が発生すると、シェイピング装置１００において現在のトークンバケット１１１に格納されているトークン量が前記した最大パケット長以上であるか否かが比較器１１２によって比較される。そして、トークン量が前記した最大パケット長以上であるとき、ゲート１１３〜１１６に送信許可が与えられ、キュー２４１〜２４４に格納され送信要求されているパケットの送信が実行される。送信要求されたパケットが２以上のときは、調停回路１２０において調停され、そのうちの１つが送信される。調停回路１２０は、調停され送信された１つのパケットのパケット長をトークンバケット１１１に通知する。トークンバケット１１１は、通知されたパケット長分のトークンを減算する。なお、トークンバケット１１１に格納されているトークン量が前記した最大パケット長よりも少ないときは、送信要求パケットは破棄され、あるいはトークンバケット内のトークンが十分蓄積されるまで送信が遅延される。
【００１６】
このように、本実施例では、送信要求のあった１つ又は２つ以上の各パケットのパケット長をトークンと比較する必要がなく、比較器の数を１個に削減できる。また、比較器１１２の比較基準値としての前記最大パケット長は固定値であるので、比較器の回路構成を簡素化できる。また、各キュー２４１〜２４４から比較器１１２に対して各キュー２４１〜２４４に格納されたパケットの長さを通知する配線が不要となり、信号負荷も軽減できる。なお、比較器１１２の比較基準値である最大パケット長を２ｍ（ｍ：正の整数）で設定すれば、比較器１１２をより簡略化できる。
【００１７】
＜第２の実施例＞
図２に第２の実施例の通信制御装置の構成を示す。本実施例は、３２個のキュー２０１〜２３２を、例えば、属するブリッジポートを単位に、第１〜第８のグループ２００Ａ〜２００Ｈに分ける。ブリッジポートの具体例としては、ＷＡＮ／ＬＡＮが挙げられる。いずれのＷＡＮ／ＬＡＮポート（ユーザ）にどの程度の通信速度を許可するかによって、各グループのトークンの蓄積速度が決められる。それぞれのグループに属するキューの数は、グループ毎に異なっていてもよく、１つグループに１つのキューのみを割り当てる場合や、複数のキューを割り当てる場合もある。通信速度はグループ単位で設定されるので、キューの数が少ないグループの方が高い通信速度を得やすくなる。なお、どのようにグループ分けを行うかは、提供するサービス次第となる。
【００１８】
ここでは、第１のグループ２００Ａのキュー２０１を第１のシェイピング装置１００Ａに割り当て、第２のグループ２００Ｂのキュー２０２を第２のシェイピング装置１００Ｂに割り当て、第３のグループ２００Ｃのキュー２０３〜２０７を第３のシェイピング装置１００Ｃに割り当て、第４のグループ２００Ｄのキュー２０８〜２１２を第４のシェイピング装置１００Ｄに割り当て、第５のグループ２００Ｅのキュー２１３〜２１７を第５のシェイピング装置１００Ｅに割り当て、第６のグループ２００Ｆのキュー２１８〜２１９を第６のシェイピング装置１００Ｆに割り当て、第７のグループ２００Ｇのキュー２２０〜２２３を第７のシェイピング装置１００Ｇに割り当て、第８のグループ２００Ｈのキュー２２４〜２３２を第８のシェイピング装置１００Ｈに割り当てている。なお、各グループ２００Ａ〜２００Ｈに含まれるキューの格納可能な最大パケット長は、それぞれのグループ相互では同一又は異なるが、グループ内では同一である。
【００１９】
シェイピング装置１００Ａの比較器１１２の比較基準値はキュー２０１の格納可能な最大パケット長、シェイピング装置１００Ｂの比較器１１２の比較基準値はキュー２０２の格納可能な最大パケット長、シェイピング装置１００Ｃの比較器１１２の比較基準値はキュー２０３〜２０７の格納可能な最大パケット長、シェイピング装置１００Ｄの比較器１１２の比較基準値はキュー２０８〜２１２の格納可能な最大パケット長、シェイピング装置１００Ｅの比較器１１２の比較基準値はキュー２１３〜２１７の格納可能な最大パケット長、シェイピング装置１００Ｆの比較器１１２の比較基準値はキュー２１８〜２１９の格納可能な最大パケット長、シェイピング装置１００Ｇの比較器１１２の比較基準値はキュー２２０〜２２３の格納可能な最大パケット長、シェイピング装置１００Ｈの比較器１１２の比較基準値はキュー２２４〜２３２の格納可能な最大パケット長に、それぞれ設定される。
【００２０】
そして、第１および第２のシェイピング装置１００Ａ，１００Ｂの通信速度を２５６Ｍｂｐｓに設定し、第３および第４のシェイピング装置１００Ｃ，１００Ｄの通信速度を１２８Ｍｂｐｓに設定し、第５〜第８のシェイピング装置１００Ｅ〜１００Ｈの通信速度を６４Ｍｂｐｓに設定して、それらのシェイピング装置１００Ａ〜１００Ｈのトークンバケット１１１へのトークンの蓄積を、それぞれの通信速度に応じた速度で行う。
【００２１】
３００は時分割多重装置であり、第１〜第８のシェイピング装置１００Ａ〜１００Ｈの調停部１２０でそれぞれ調停された各通信速度のパケットを時分割して多重化し、全体の通信速度を１０２４Ｍｂｐｓにして送信する。
【００２２】
図２には、３２個のキュー２０１〜２３２のうちの１個、１個、５個、５個、５個、２個、４個、９個を、８個のシェイピング装置１００Ａ〜１００Ｈのそれぞれに割り当てた例を示した。この割り当ては固定的ではなく、提供するサービスに応じて柔軟に設定できることが望ましい。このため、８個のシェイピング装置１００Ａ〜１００Ｈのそれぞれを、最大、３２個のキューの全てを接続することが可能であるように構成することが望まれる。したがって、図４に示されたように、キューごとに比較器を設ける従来の構成では、各シェイピング装置に３２個、全体で３２×８＝２５６個の比較器が必要となる。
【００２３】
これに対して、本実施例の構成では、接続可能なパケットの個数にかかわらず、それぞれのシェイピング装置に設ける比較器は１個、全体で８個ですむ。したがって、本実施例では、比較器の個数を１／３２に削減でき、比較器に対する信号配線や信号負荷もこれに応じて削減できる。このように本実施例は、グループ数やグループに含まれるキューの数が多いほど、大きな効果が得られる。
【００２４】
＜第３の実施例＞
図３に第３の実施例の通信制御装置の構成を示す。本実施例では、第１のグループのキュー２２５１，２５２に格納したパケットをシェイピング部１１０Ｉに入力してシェイピングし、そのシェイピング部１１０Ｉからの送信パケットと、別のグループのキュー２６１に格納したパケットとを、後段のシェイピング装置１００Ｊのシェイピング部１１０Ｊに入力してシェイピングし、そのシェイピング装置１１０Ｊから送信したパケットを調停部１２０Ｊで調停するようにしたものである。なお、キュー２５１，２５２，２６１の格納可能な最大パケット長は同一であり、シェイピング部１１０Ｉ，１１０Ｊの比較器１１２の比較基準値は、キュー２５１，２５２，２６１の格納可能な最大パケット長に設定される。
【００２５】
この例では、シェイピング部１１０Ｉで最大２個のパケットが送信許可され、シェイピング部１１０Ｊで最大３個のパケットが送信許可される。そして、調停部１２０Ｊで調停された最大３個のうちの１個のパケットのパケット長が、両方のシェイピング部１１０Ｉ，１１０Ｊのそれぞれのトークンバケット１１１に通知され、そのパケット長がそれぞれのトークンバケット１１１のトークンから、減算される。
【００２６】
このようにして、本実施例では、シェイピング装置１００Ｊが、そのシェイピング装置１００Ｊに対応するグループに含まれるキュー２６１に格納されたパケットに加えて、そのキュー２６１と、格納可能な最大パケット長が同一の別のグループに含まれるキュー２５１、２５２に格納されたパケットの送信可否を制御する。
【符号の説明】
【００２７】
１００，１００Ａ〜１００Ｊ：シェイピング装置、１１０，１１０Ｉ，１１０Ｊ：シェイピング部、１２０，１２０Ｊ：調停部、１１１：トークンバケット、１１２：比較器、１１３〜１１６：ゲート
２００Ａ〜２００Ｈ：キューのグループ、２０１〜２３２，２４１〜２４４，２５１，２５２、２６１：キュー、
３００：時分割多重装置
５００：シェイピング装置、５１０：シェイピング部、５１１：トークンバケット、５１２〜５１５：比較器、５１６〜５１９：ゲート、５２０：調停部
【図１】
0005497541.tif 000002
【図２】
0005497541.tif 000003
【図３】
0005497541.tif 000004
【図４】
0005497541.tif 000005