説明

通信制御装置およびシェイピング装置

【課題】比較器における比較基準値を固定値とし、この固定値とトークンを比較するようにして、比較器を1個で済ませ、シェイピング装置の回路面積および信号負荷を削減する。
【解決手段】最大パケット長以下の任意のパケット長を有するパケットを格納するキューに格納されたパケットの送信可否を制御するシェイピング装置である。そのシェイピング装置は、通信速度でトークンが蓄積されるトークンバケットと、前記パケットの前記最大パケット長と前記トークンバケットに蓄積された前記トークンの量とを比較する比較器とを有し、前記キューがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、前記キューに格納された前記パケットの送信を許可するとともに、前記トークンバケットから前記パケットのパケット長だけトークンを減じる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信制御装置およびその通信制御装置に組み込まれるシェイピング装置に関する。
【背景技術】
【0002】
通信分野において、特定のユーザが通信帯域を占有したり過剰に帯域を利用することを防止して、複数のユーザに公平に通信帯域を割り当てる方式として、シェイピング方式がある。このシェイピング方式は、例えば非特許文献1に記されたように、通信速度に等しい速度(レート)でトークンをトークンバケット内に蓄積し、そのトークンバケット内にあるトークンの量とキューに格納された送信要求パケットのパケット長とを比較し、前者が後者以上であるとき、その送信要求パケットの送信を許可するものである。そして、このときトークンバケット内のトークンは、送信を許可したパケットのパケット長だけ減算される。ここで、送信要求パケットのパケット長がトークンバケット内のトークンの量よりも大きいときは、その送信要求パケットを破棄し、あるいはトークンバケット内のトークンが十分蓄積されるまで遅延させることで、通信の帯域制限が実現され、特定のユーザが通信帯域を占有したり過剰に帯域を利用することが防止される。また、複数のキューを設ける場合、従来では、例えば特許文献1に記されたように、それぞれのキューに対して1個のトークンバケットを設けることが一般的であった。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−336549号公報
【非特許文献】
【0004】
【非特許文献1】P.F.Chimento、“Standard Token Bucket Terminology”、2000年5月18日、[平成22年5月31日検索]、インターネット<URL:http://qbone.internet2.edu/bb/Traffic.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、パケットは属性(クラス、送信ポート、受信ポート、送信元アドレス等)に合ったキューに格納されるが、複数のキューが属性を共有する場合がある。これを利用してシェイピングをする場合、そのシェイピング装置に当該属性に共通の1つのトークンバケットをもたせ、当該属性に含まれる複数のキューに格納された送信要求パケットのパケット長と当該トークンバケットのトークンの量をそれぞれ比較し、当該送信要求パケットの送信可否が決定される。
【0006】
図4はこれを説明するためのシェイピング装置500の構成を示す図である。このシェイピング装置500は、シェイピング部510と調停部520からなる。シェイピング部510は、通信速度と等しい速度でトークンが蓄積されるトークンバケット511と、そのトークンバケット511内のトークン量と同一属性のキュー251〜254から送信される1つ又は2つ以上の送信要求パケットのパケット長とを比較する比較器512〜515と、パケット長がトークン量より少ない送信要求パケットの送信を許可するゲート516〜519とを有する。調停部520は、ゲート516〜519から送信されるパケットを所定の規則に沿って調停して1つのパケットを選択するものであり、選択したパケットのパケット長をトークンバケット511に通知する。トークンバケット511では、通知されたパケット長に相当する量だけトークンの量の減算を行う。
【0007】
ここでは、キュー251〜254に格納されたパケットについて送信要求が発生すると、シェイピング装置500において、送信要求されたパケットのパケット長が現在のトークンバケット511に格納されているトークン量以下であるか否かが比較器512〜515において比較される。そして、パケット長がトークン量以下であることを検出した比較器512〜515の内の1つ又は2つ以上に対応する、ゲート516〜519のいずれか1つ又は2つ以上がゲートを開き、当該のパケットの送信を許可する。そして、送信が許可されたパケットが2つ以上ある場合は、調停部520において、所定の規則で調停を受けて、その内の1つのパケットが送信される。このとき、当該の調停を受けて送信されるパケットのパケット長がトークンバケット511に通知され、そのトークンバケット511において、当該パケット長分のトークン量が減算される。なお、ゲート516〜619の1つのみが開き1つのパケットのみが調停部520に送信されたときは、調停は行われないが、そのパケットのパケット長がトークンバケット511に通知される。
【0008】
ところが、図4に示したシェイピング装置500では、1つのトークンバケット511に対してキュー251〜254の数だけ比較器512〜515を必要とし、トークンバケット511から各比較器512〜515への信号配線および各キュー251〜254から比較器512〜515への信号配線が必要となり、また信号負荷(配線負荷)も大きくなる。また、シェイピング装置500は、属性が取り得る数だけ必要となるので、比較器の数も増大する。したがって、集積回路化する場合、回路面積と信号負荷が著しく大きくなる問題がある。
【0009】
本発明の目的は、シェイピング部において固定値とトークンを比較するようにして、比較器を1個で済ませ、回路面積および信号負荷を大きく削減できるようにした通信制御装置およびシェイピング装置を提供することである。
【課題を解決するための手段】
【0010】
上記目的を達成するために、請求項1にかかる発明の通信制御装置は、それぞれに対して定められた最大パケット長以下の任意のパケット長を有するパケットを格納する複数のキューを、それぞれが前記パケットの前記最大パケット長が同一である1つもしくは2つ以上のキューを含む複数のグループに分けた、それぞれのグループに対応して設けられた、該グループに含まれるキューに格納されたパケットの送信可否を制御するシェイピング装置を有する通信制御装置であって、前記シェイピング装置のそれぞれが、所定の速度でトークンが蓄積されるトークンバケットと、対応するグループに含まれるキューの前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、対応するグループに含まれるキューの1つもしくは2つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されトークンの量が前記最大パケット長以上であることを検出したときに、前記1つのキューに格納されたパケット、もしくは、2つ以上のキューに格納されたパケットの内の1つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする。
請求項2にかかる発明は、請求項1記載の通信制御装置において、2つ以上の前記キューを含むグループに対応して設けられた前記シェイピング装置がさらに調停部を有し、該調停部は、対応するグループに含まれるキューの2つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、該2つ以上のキューに格納されたパケットを受け取り、そのうちの1つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知することを特徴とする。
請求項3にかかる発明は、請求項1記載の通信制御装置において、前記シェイピング装置の1つが、対応するグループに含まれるキューに格納されたパケットに加えて、該対応するグループに含まれるキューと前記パケットの最大パケット長が同一である1つのキューであって、他のグループに含まれるキューに格納されたパケットの送信可否を制御するものであり、前記他のグループに含まれるキューがパケットを格納し、前記1つのシェイピング装置の比較器が該1つのシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出し、かつ、前記他のグループに対応するシェイピング装置の比較器が該他のグループに対応するシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記他のグループに含まれるキューに格納されたパケットの送信を許可することを特徴とする。
請求項4にかかる発明のシェイピング装置は、定められた最大パケット長以下の任意の長さを有するパケットを格納するキューに格納されたパケットの送信可否を制御するシェイピング装置であって、所定の速度でトークンが格納されるトークンバケットと、前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、前記キューがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、前記格納されたパケットの送信を許可するとともに、前記トークンバケットから前記パケットのパケット長だけトークンを減じることを特徴とする。
請求項5にかかる発明は請求項4記載のシェイピング装置において、前記キューを複数含み、該複数のキューの少なくとも2つがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記少なくとも2つのキューに格納されたパケットのうちの1つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする。
請求項6にかかる発明は、請求項5記載のシェイピング装置において、少なくとも2つのキューがパケットを格納し、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、該少なくとも2つのキューに格納されたパケットを受け取り、そのうちの1つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知する調停部を、さらに有することを特徴とする。
【発明の効果】
【0011】
請求項1〜6にかかる発明によれば、シェイピング部において、固定値とトークン量との比較を行えば良いで、比較器を単純化できる。また、その比較器は、複数のキューからの送信要求パケットを1個のトークンバケットを使用してシェイピングする場合であっても1個で済む。さらに、各キューから比較器に対して各キューに格納されたパケットの長さを通知する配線が不要となる。したがって、本発明を集積回路で実現する場合、回路面積および信号負荷を大幅に削減することができる。
【図面の簡単な説明】
【0012】
【図1】本発明の第1の実施例のシェイピング装置の構成を示す機能ブロック図である。
【図2】本発明の第2の実施例の通信制御装置の構成を示す機能ブロック図である。
【図3】本発明の第3の実施例の通信制御装置の構成を示す機能ブロック図である。
【図4】従来のシェイピング装置の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0013】
<第1の実施例>
図1に本発明の第1の実施例のシェイピング装置100の構成を示す。241〜244はパケットが格納されるキューであり、それぞれ格納可能な最大パケット長が同一であり、同一属性をもつ1つのグループを形成する。このキュー241〜244には、前記最大パケット長と同じか又はそれより少ないパケット長のパケットが格納される。
【0014】
シェイピング装置100は、シェイピング部110と調停部120からなる。シェイピング部110は、通信速度と等しい速度でトークンが蓄積されるトークンバケット111と、そのトークンバケット111内のトークン量を比較基準値と比較する比較器112と、キュー241〜244に格納されたパケットの送信を許可するゲート(ここでは、ANDゲートを示す)113〜116とを備える。比較器112に設定される比較基準値は、キュー241〜244の前記した格納可能な最大パケット長である。比較器112は、トークンバケット111内に蓄積されているトークン量が前記最大パケット長以上であるとき、ゲート113〜116に許可信号を伝える。調停部120は、ゲート113〜116で送信許可されたパケットを所定の規則に沿って調停して1つのパケットを選択するものであり、選択したパケットのパケット長をトークンバケット111に通知する。トークンバケット111では、通知されたパケット長に相当する量だけトークンの減算を行う。
【0015】
本実施例では、キュー241〜244の内の1つ又は2つ以上に格納されているパケットの送信要求が発生すると、シェイピング装置100において現在のトークンバケット111に格納されているトークン量が前記した最大パケット長以上であるか否かが比較器112によって比較される。そして、トークン量が前記した最大パケット長以上であるとき、ゲート113〜116に送信許可が与えられ、キュー241〜244に格納され送信要求されているパケットの送信が実行される。送信要求されたパケットが2以上のときは、調停回路120において調停され、そのうちの1つが送信される。調停回路120は、調停され送信された1つのパケットのパケット長をトークンバケット111に通知する。トークンバケット111は、通知されたパケット長分のトークンを減算する。なお、トークンバケット111に格納されているトークン量が前記した最大パケット長よりも少ないときは、送信要求パケットは破棄され、あるいはトークンバケット内のトークンが十分蓄積されるまで送信が遅延される。
【0016】
このように、本実施例では、送信要求のあった1つ又は2つ以上の各パケットのパケット長をトークンと比較する必要がなく、比較器の数を1個に削減できる。また、比較器112の比較基準値としての前記最大パケット長は固定値であるので、比較器の回路構成を簡素化できる。また、各キュー241〜244から比較器112に対して各キュー241〜244に格納されたパケットの長さを通知する配線が不要となり、信号負荷も軽減できる。なお、比較器112の比較基準値である最大パケット長を2(m:正の整数)で設定すれば、比較器112をより簡略化できる。
【0017】
<第2の実施例>
図2に第2の実施例の通信制御装置の構成を示す。本実施例は、32個のキュー201〜232を、例えば、属するブリッジポートを単位に、第1〜第8のグループ200A〜200Hに分ける。ブリッジポートの具体例としては、WAN/LANが挙げられる。いずれのWAN/LANポート(ユーザ)にどの程度の通信速度を許可するかによって、各グループのトークンの蓄積速度が決められる。それぞれのグループに属するキューの数は、グループ毎に異なっていてもよく、1つグループに1つのキューのみを割り当てる場合や、複数のキューを割り当てる場合もある。通信速度はグループ単位で設定されるので、キューの数が少ないグループの方が高い通信速度を得やすくなる。なお、どのようにグループ分けを行うかは、提供するサービス次第となる。
【0018】
ここでは、第1のグループ200Aのキュー201を第1のシェイピング装置100Aに割り当て、第2のグループ200Bのキュー202を第2のシェイピング装置100Bに割り当て、第3のグループ200Cのキュー203〜207を第3のシェイピング装置100Cに割り当て、第4のグループ200Dのキュー208〜212を第4のシェイピング装置100Dに割り当て、第5のグループ200Eのキュー213〜217を第5のシェイピング装置100Eに割り当て、第6のグループ200Fのキュー218〜219を第6のシェイピング装置100Fに割り当て、第7のグループ200Gのキュー220〜223を第7のシェイピング装置100Gに割り当て、第8のグループ200Hのキュー224〜232を第8のシェイピング装置100Hに割り当てている。なお、各グループ200A〜200Hに含まれるキューの格納可能な最大パケット長は、それぞれのグループ相互では同一又は異なるが、グループ内では同一である。
【0019】
シェイピング装置100Aの比較器112の比較基準値はキュー201の格納可能な最大パケット長、シェイピング装置100Bの比較器112の比較基準値はキュー202の格納可能な最大パケット長、シェイピング装置100Cの比較器112の比較基準値はキュー203〜207の格納可能な最大パケット長、シェイピング装置100Dの比較器112の比較基準値はキュー208〜212の格納可能な最大パケット長、シェイピング装置100Eの比較器112の比較基準値はキュー213〜217の格納可能な最大パケット長、シェイピング装置100Fの比較器112の比較基準値はキュー218〜219の格納可能な最大パケット長、シェイピング装置100Gの比較器112の比較基準値はキュー220〜223の格納可能な最大パケット長、シェイピング装置100Hの比較器112の比較基準値はキュー224〜232の格納可能な最大パケット長に、それぞれ設定される。
【0020】
そして、第1および第2のシェイピング装置100A,100Bの通信速度を256Mbpsに設定し、第3および第4のシェイピング装置100C,100Dの通信速度を128Mbpsに設定し、第5〜第8のシェイピング装置100E〜100Hの通信速度を64Mbpsに設定して、それらのシェイピング装置100A〜100Hのトークンバケット111へのトークンの蓄積を、それぞれの通信速度に応じた速度で行う。
【0021】
300は時分割多重装置であり、第1〜第8のシェイピング装置100A〜100Hの調停部120でそれぞれ調停された各通信速度のパケットを時分割して多重化し、全体の通信速度を1024Mbpsにして送信する。
【0022】
図2には、32個のキュー201〜232のうちの1個、1個、5個、5個、5個、2個、4個、9個を、8個のシェイピング装置100A〜100Hのそれぞれに割り当てた例を示した。この割り当ては固定的ではなく、提供するサービスに応じて柔軟に設定できることが望ましい。このため、8個のシェイピング装置100A〜100Hのそれぞれを、最大、32個のキューの全てを接続することが可能であるように構成することが望まれる。したがって、図4に示されたように、キューごとに比較器を設ける従来の構成では、各シェイピング装置に32個、全体で32×8=256個の比較器が必要となる。
【0023】
これに対して、本実施例の構成では、接続可能なパケットの個数にかかわらず、それぞれのシェイピング装置に設ける比較器は1個、全体で8個ですむ。したがって、本実施例では、比較器の個数を1/32に削減でき、比較器に対する信号配線や信号負荷もこれに応じて削減できる。このように本実施例は、グループ数やグループに含まれるキューの数が多いほど、大きな効果が得られる。
【0024】
<第3の実施例>
図3に第3の実施例の通信制御装置の構成を示す。本実施例では、第1のグループのキュー2251,252に格納したパケットをシェイピング部110Iに入力してシェイピングし、そのシェイピング部110Iからの送信パケットと、別のグループのキュー261に格納したパケットとを、後段のシェイピング装置100Jのシェイピング部110Jに入力してシェイピングし、そのシェイピング装置110Jから送信したパケットを調停部120Jで調停するようにしたものである。なお、キュー251,252,261の格納可能な最大パケット長は同一であり、シェイピング部110I,110Jの比較器112の比較基準値は、キュー251,252,261の格納可能な最大パケット長に設定される。
【0025】
この例では、シェイピング部110Iで最大2個のパケットが送信許可され、シェイピング部110Jで最大3個のパケットが送信許可される。そして、調停部120Jで調停された最大3個のうちの1個のパケットのパケット長が、両方のシェイピング部110I,110Jのそれぞれのトークンバケット111に通知され、そのパケット長がそれぞれのトークンバケット111のトークンから、減算される。
【0026】
このようにして、本実施例では、シェイピング装置100Jが、そのシェイピング装置100Jに対応するグループに含まれるキュー261に格納されたパケットに加えて、そのキュー261と、格納可能な最大パケット長が同一の別のグループに含まれるキュー251、252に格納されたパケットの送信可否を制御する。
【符号の説明】
【0027】
100,100A〜100J:シェイピング装置、110,110I,110J:シェイピング部、120,120J:調停部、111:トークンバケット、112:比較器、113〜116:ゲート
200A〜200H:キューのグループ、201〜232,241〜244,251,252、261:キュー、
300:時分割多重装置
500:シェイピング装置、510:シェイピング部、511:トークンバケット、512〜515:比較器、516〜519:ゲート、520:調停部

【特許請求の範囲】
【請求項1】
それぞれに対して定められた最大パケット長以下の任意のパケット長を有するパケットを格納する複数のキューを、それぞれが前記パケットの前記最大パケット長が同一である1つもしくは2つ以上のキューを含む複数のグループに分けた、それぞれのグループに対応して設けられた、該グループに含まれるキューに格納されたパケットの送信可否を制御するシェイピング装置を有する通信制御装置であって、
前記シェイピング装置のそれぞれが、
所定の速度でトークンが蓄積されるトークンバケットと、対応するグループに含まれるキューの前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、
対応するグループに含まれるキューの1つもしくは2つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されトークンの量が前記最大パケット長以上であることを検出したときに、前記1つのキューに格納されたパケット、もしくは、2つ以上のキューに格納されたパケットの内の1つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする通信制御装置。
【請求項2】
2つ以上の前記キューを含むグループに対応して設けられた前記シェイピング装置がさらに調停部を有し、
該調停部は、対応するグループに含まれるキューの2つ以上がパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、該2つ以上のキューに格納されたパケットを受け取り、そのうちの1つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知することを特徴とする請求項1記載の通信制御装置。
【請求項3】
前記シェイピング装置の1つが、対応するグループに含まれるキューに格納されたパケットに加えて、該対応するグループに含まれるキューと前記パケットの最大パケット長が同一である1つのキューであって、他のグループに含まれるキューに格納されたパケットの送信可否を制御するものであり、
前記他のグループに含まれるキューがパケットを格納し、前記1つのシェイピング装置の比較器が該1つのシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出し、かつ、前記他のグループに対応するシェイピング装置の比較器が該他のグループに対応するシェイピング装置のトークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記他のグループに含まれるキューに格納されたパケットの送信を許可することを特徴とする請求項1記載の通信制御装置。
【請求項4】
定められた最大パケット長以下の任意の長さを有するパケットを格納するキューに格納されたパケットの送信可否を制御するシェイピング装置であって、
所定の速度でトークンが格納されるトークンバケットと、前記パケットの前記最大パケット長と前記トークンバケットに蓄積されたトークンの量とを比較する比較器とを有し、
前記キューがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記最大パケット長以上であることを検出したときに、前記格納されたパケットの送信を許可するとともに、前記トークンバケットから前記パケットのパケット長だけトークンを減じることを特徴とするシェイピング装置。
【請求項5】
前記キューを複数含み、該複数のキューの少なくとも2つがパケットを格納し、かつ、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、前記少なくとも2つのキューに格納されたパケットのうちの1つの送信を許可するとともに、前記トークンバケットから該送信を許可したパケットのパケット長だけトークンを減じることを特徴とする請求項4記載のシェイピング装置。
【請求項6】
少なくとも2つのキューがパケットを格納し、前記比較器が前記トークンバケットに蓄積されたトークンの量が前記パケットの前記最大パケット長以上であることを検出したときに、該少なくとも2つのキューに格納されたパケットを受け取り、そのうちの1つの送信を許可するとともに、前記トークンバケットに該送信を許可したパケットのパケット長を通知する調停部をさらに有することを特徴とする請求項5記載のシェイピング装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−254422(P2011−254422A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2010−128734(P2010−128734)
【出願日】平成22年6月4日(2010.6.4)
【出願人】(501285133)川崎マイクロエレクトロニクス株式会社 (449)
【Fターム(参考)】