(57)【要約】【課題】  トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理をさせるパケットシェーピング装置の回路構成において、従来よりも回路規模を削減することができる、パケットシェーピング装置を提供する。【解決手段】  所定の間隔のトリガを受付けることにより、トークンバケツレジスタに、順次、トークンデータ量を加算していく。またトークンバケツモデルの処理が設定されている場合には送信要求のあったフレームサイズのデータ量を選択し、リーキバケツモデルの処理が設定されている場合には“０”のデータ量を選択するセレクタと、フレーム送信要求を受けつけた場合に、トークンバケツレジスタに格納されているデータ量と、セレクタが選択したデータ量とを比較して、トークンバケツレジスタに格納されているデータ量がセレクタが選択したデータ量以上である場合に、送信フレームの送信許可を出力する比較器を備える。【選択図】    図１
2007088998.tif 000002
【特許請求の範囲】
【請求項１】
トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理を行なうパケットシェーピング装置であって、
所定の間隔のトリガを受付けることにより、フレーム送信上限データ量を格納できる容量のトークンバケツレジスタに、順次、所定のトークンデータ量を加算していくトークンバケツレジスタ制御部と、
トークンバケツモデルの処理が設定されている場合には送信要求のあったフレームサイズのデータ量を選択し、リーキバケツモデルの処理が設定されている場合には“０”のデータ量を選択するセレクタと、
フレーム送信要求を受けつけた場合に、前記トークンバケツレジスタに格納されているデータ量と、前記セレクタが選択したデータ量とを比較して、前記トークンバケツレジスタに格納されているデータ量が前記セレクタが選択したデータ量以上である場合に、送信フレームの送信許可を出力する比較器と、
前記送信許可に応じてバッファへのフレーム送信命令を出力するバッファ制御部と、
を備えることを特徴とするパケットシェーピング装置。
【請求項２】
前記トークンバケツレジスタ制御部は、
前記フレーム送信命令が出力された場合には、前記送信フレームのデータ量を前記トークンバケツレジスタで保持しているデータ量から減算する
ことを特徴とする請求項１に記載のパケットシェーピング装置。
【請求項３】
前記トークンバケツレジスタ制御部は、
前記トークンバケツレジスタで保持しているデータ量が前記フレーム送信上限データ量以下である場合には、前記トリガを受付けることにより、トークンバケツレジスタに順次、所定のトークンデータ量を加算していく
ことを特徴とする請求項１に記載のパケットシェーピング装置。
【請求項４】
トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理を行なうパケットシェーピング装置におけるパケットシェーピング方法であって、
トークンバケツレジスタ制御部が、所定の間隔のトリガを受付けることにより、フレーム送信上限データ量を格納できる容量のトークンバケツレジスタに、順次、所定のトークンデータ量を加算していき、
セレクタが、トークンバケツモデルの処理が設定されている場合には送信要求のあったフレームサイズのデータ量を選択し、リーキバケツモデルの処理が設定されている場合には“０”のデータ量を選択し、
比較器が、フレーム送信要求を受けつけた場合に、前記トークンバケツレジスタに格納されているデータ量と、前記セレクタが選択したデータ量とを比較して、前記トークンバケツレジスタに格納されているデータ量が前記セレクタが選択したデータ量以上である場合に、送信フレームの送信許可を出力し、
バッファ制御部が、前記送信許可に応じてバッファへのフレーム送信命令を出力する
ことを特徴とするパケットシェーピング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トークンバケツモデルとリーキバケツモデルを２つのモデルのパケットシェ−ピング処理を行なうパケットシェーピング装置およびパケットシェーピング方法に関する。
【背景技術】
【０００２】
従来より通信ネットワーク技術におけるパケットシェーピング（パケット生成）においては、トークンバケツモデルとリーキバケツモデルなどの処理によりパケットシェーピングを行っている。そして、トークンバケツモデルは、瞬間的には、指定された帯域を越えてフレームを送出できるが平均的には、指定された帯域でフレームを送出するモデルであり、また、リーキバケツモデルは、瞬間的にも指定された帯域を越えてフレームを送出することは許さず、指定された帯域でフレームを送信するモデルである。
【０００３】
図２はトークンバケツモデルの処理概要を示す図である。この図が示すように、トークンバケツモデルは、所望の帯域に合わせたレートでトークンをトークンバケツに入れてゆき、当該トークンはトークンバケツの大きさまで蓄積される。このトークンバケツの大きさは、瞬間的に指定されたレートを超えることができる送出量を決定している。そしてバッファからのフレームの送出要求を得た場合、要求フレームのサイズを現在のトークンバケツに蓄積されているトークン量と比較し、トークン量が少ない場合には、トークン量がフレームサイズ以上になるまでフレームは送出されない。もし、トークン量がフレームサイズ以上であれば、フレームを送出し、トークンバケツに蓄積されているトークンからフレームサイズ分のトークンを削除する。これによりトークンバケツモデルのシェーパ動作を行う。
【０００４】
また、リーキバケツモデルは、前回フレームを送出した時刻からどのくらい時間が経過したかによりフレームの送出可否を判断する。つまり、設定レートが１００Ｂｙｔｅ／ｓｅｃであり、前回送出したフレームの長さが５０Ｂｙｔｅであった場合、前回送出した時刻から、０．５ｓｅｃ経過していないとフレームを送出することができない。
なお、トークンバケツモデルやリーキバケツモデルのパケットシェーピング処理により、フレームを通信ネットワークに送信する技術が公開されている（非特許文献１参照）。
【非特許文献１】戸田巖、「詳解ネットワークＱｏＳ技術」、株式会社オーム社、平成１３年０５月２５日、p.51-55
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、これら２つのパケットシェーピングのモデルのどちらを利用してパケットシェーピング装置の回路構成を決定するかは、使用するネットワーク構成やサービスにより異なるので、双方の回路構成がパケットシェーピング装置に組み込まれることがある。しかしながら、これら２つのモデルの処理をパケットシェーピング装置で実現する場合、従来では、それぞれ別々の回路構成を必要とするので、一方のモデルの処理のみを行なう回路構成の約２倍の回路規模を必要としていた。
【０００６】
そこでこの発明は、トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理をさせるパケットシェーピング装置の回路構成において、従来よりも回路規模を削減することができる、パケットシェーピング装置およびパケットシェーピング方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理を行なうパケットシェーピング装置であって、
所定の間隔のトリガを受付けることにより、フレーム送信上限データ量を格納できる容量のトークンバケツレジスタに、順次、所定のトークンデータ量を加算していくトークンバケツレジスタ制御部と、トークンバケツモデルの処理が設定されている場合には送信要求のあったフレームサイズのデータ量を選択し、リーキバケツモデルの処理が設定されている場合には“０”のデータ量を選択するセレクタと、フレーム送信要求を受けつけた場合に、前記トークンバケツレジスタに格納されているデータ量と、前記セレクタが選択したデータ量とを比較して、前記トークンバケツレジスタに格納されているデータ量が前記セレクタが選択したデータ量以上である場合に、送信フレームの送信許可を出力する比較器と、前記送信許可に応じてバッファへのフレーム送信命令を出力するバッファ制御部と、を備えることを特徴とするパケットシェーピング装置である。
【０００８】
また本発明は、前記トークンバケツレジスタ制御部は、前記フレーム送信命令が出力された場合には、前記送信フレームのデータ量を前記トークンバケツレジスタで保持しているデータ量から減算することを特徴とする。
【０００９】
また本発明は、前記トークンバケツレジスタ制御部は、前記トークンバケツレジスタで保持しているデータ量が前記フレーム送信上限データ量以下である場合には、前記トリガを受付けることにより、トークンバケツレジスタに順次、所定のトークンデータ量を加算していくことを特徴とする。
【００１０】
また本発明は、トークンバケツモデルとリーキバケツモデルの２つのモデルのパケットシェーピング処理を行なうパケットシェーピング装置におけるパケットシェーピング方法であって、トークンバケツレジスタ制御部が、所定の間隔のトリガを受付けることにより、フレーム送信上限データ量を格納できる容量のトークンバケツレジスタに、順次、所定のトークンデータ量を加算していき、セレクタが、トークンバケツモデルの処理が設定されている場合には送信要求のあったフレームサイズのデータ量を選択し、リーキバケツモデルの処理が設定されている場合には“０”のデータ量を選択し、比較器が、フレーム送信要求を受けつけた場合に、前記トークンバケツレジスタに格納されているデータ量と、前記セレクタが選択したデータ量とを比較して、前記トークンバケツレジスタに格納されているデータ量が前記セレクタが選択したデータ量以上である場合に、送信フレームの送信許可を出力し、バッファ制御部が、前記送信許可に応じてバッファへのフレーム送信命令を出力することを特徴とするパケットシェーピング方法である。
【発明の効果】
【００１１】
本発明によれば、従来はトークンバケツモデルとリーキバケツモデルの処理を行なう装置では、両方の回路構成を組まなければならなかったが、両方の回路構成を組む必要がなくなり、回路構成の規模を削減することができるようになる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態によるパケットシェーピング装置を図面を参照して説明する。図１は同実施形態によるパケットシェーピング装置の構成を示すブロック図である。この図において、符号１１はトークンバケツのサイズを記憶するトークンバケツサイズレジスタである。また１２はトークンのサイズを記憶するトークンレジスタである。また１３は受信したトリガに基づいて加算された（または減算もされる）データのサイズを記憶するトークンバケツレジスタであり、フレーム送信上限のデータ量を格納できるレジスタである。なおトークンバケツとは仮想的にデータをバケツに貯めることを考慮した概念である。また１４は、トークンバケツで保持するサイズの検出や、そのトークンバケツレジスタ１３で保持するサイズがトークンバケツの最大容量を越えないか否かの判定や、トークンバケツレジスタ１３で保持するトークンのデータ量を、フレーム送信に基づいて削除する処理などを行なう、トークンバケツレジスタ制御部である。
【００１３】
また１５はトークンバケツレジスタ１３で記憶するトークンのデータ量とバッファからフレーム送信要求を受けつけた場合の送信フレームのデータ量とを比較して、トークンバケツレジスタ１３で記憶するデータ量が送信フレームのデータ量以上である場合にバッファ制御部１７に、フレーム送信要求に対応する送信許可の信号を出力する比較器である。また１６は、フレーム送信要求がされた送信フレームのデータ量（サイズ）と予め設定された「０」の入力値との選択を、トークンバケツモデルとリーキバケツモデルのどちらのモデルのパケットシェーピング処理を行なうかの指示よって行なうセレクタである。また１７は比較器１５から受けつけたフレーム送信の許可信号に基づいて、バッファに対してフレーム送信を許可する制御などを行なうバッファ制御部である。
【００１４】
次にパケットシェーピング装置の処理について説明する。
まずトークンバケツレジスタ制御部１４にはトリガが入力される。トークンバケツレジスタ制御部１４はこのトリガの入力を受ける毎に、トークンレジスタ１２で記憶するトークンのデータ量を読み込み、トークンバケツレジスタ１３に加算していく。なおトークンバケツレジスタ制御部１４は、トークンバケツレジスタ１３にトークンのデータ量を加算する事によりトークンバケツレジスタ１３の容量一杯にデータが加算されたことを、トークンバケツサイズレジスタ１１に記録されている情報に基づいて検知し、トークンバケツレジスタ１３の容量が一杯になった場合には、トリガを受けつけてもトークンのデータ量のトークンバケツレジスタ１３への加算を停止する。
【００１５】
そして、トークンバケツレジスタ１３にトークンのデータ量が加算しているある状況下において、比較器１５にバッファからのフレーム送信要求が入力される。当該フレーム送信要求が入力されると比較器１５はセレクタから送信フレームサイズまたは「０」のデータ量を読み取る。ここでセレクタは、トークンバケツモデルの処理が設定されている場合には、送信フレームサイズを比較器１５に出力し、またリーキバケツモデルの処理が設定されている場合には「０」のデータ量を比較器１５に出力する。なおこれらモデルの設定は他のレジスタなどに記録されている。そして、比較器１５はセレクタから読み込んだデータ量とトークンバケツレジスタ１３で記憶するデータ量とを比較して、「セレクタから読み込んだデータ量≦トークンバケツレジスタ１３で記憶するデータ量」である場合に、バッファ制御部１７に送信許可を通知し、またバッファ制御部１７がバッファに対してフレーム送信命令を出力する。
【００１６】
つまり、トークンバケツモデルの処理が設定されている場合には、セレクタ１６は送信フレームサイズを選択して、これが比較器１５に読み取られ、比較器１５において送信フレームサイズのデータ量とトークンバケツレジスタ１３で記憶するデータ量が比較される。比較器１５は「セレクタから読み込んだデータ量＞トークンバケツレジスタ１３で記憶するデータ量」である場合には、トークンレジスタ１３に加算されるデータ量が「セレクタから読み込んだデータ量≦トークンバケツレジスタ１３で記憶するデータ量」となるまで待機して、「セレクタから読み込んだデータ量≦トークンバケツレジスタ１３で記憶するデータ量」になるとバッファ制御部１７に送信許可を通知する。
【００１７】
また、リーキバケツモデルの処理が設定されている場合には、セレクタが「０」のデータ量を選択し、「セレクタから読み込んだデータ量≦トークンバケツレジスタ１３で記憶するデータ量」すなわち「０≦トークンバケツレジスタ１３で記憶するデータ量」の条件下において、フレーム送信要求を受けつけた場合にフレーム送信命令が出力されることとなり、リーキバケツモデルの処理が行なわれる。なお、トークンバケツレジスタ１３の記憶するデータ量が０のときに、フレーム(例えば１０５０Ｂｙｔｅ)を送信した場合、トークンバケツレジスタ制御部１４の処理によりトークンバケツレジスタから１０５０Ｂｙｔｅが減じられ、トークンバケツレジスタは−１０５０となる。このような場合、セレクタから読み込んだデータ量は０で、トークンバケツレジスタ１３で記憶するデータ量は−１０５０となるので、「セレクタから読み込んだデータ量≦トークンバケツレジスタ１３で記憶するデータ量」の条件が常に成立するとは限らない。
【００１８】
リーキ動作の一例としては、例えば、最初トークンバケツレジスタ１３が０のときから考えると、１０００Ｂｙｔｅのフレーム送信要求がバッファ制御部から来た場合、トークンバケツレジスタ値は０なので、当該フレームは送信可能である。送信に伴いトークンバケツレジスタ値は、トークンバケツレジスタ制御部１４の処理により−１０００となる。そしてこのすぐ後に５００Ｂｙｔｅのフレーム送信要求があったとしても、トークンバケツレジスタ値は−１０００なので、当然送信許可を出すことはできない。トークンレジスタ値とトリガ周期から求められるトークンレートをαＢｙｔｅ／秒とすれば、１０００／α秒後であれば、トークンレジスタ値が０以上となるので、要求された５００Ｂｙｔｅのフレームは送信許可されることとなる。なお、トークンバケツモデル時と、リーキバケツモデル時のトークンバケツサイズレジスタ設定値は、変更される。例えば、トークンバケツモデル設定時にはトークンバケツサイズレジスタ設定値が３０００や５０００という値に設定される。またリーキバケツモデル設定時にはトークンバケツサイズレジスタ設定値は０あるいは、６４＜Ｅｔｈｅｒｎｅｔ（登録商標）最小フレーム長＞未満と設定される。
【００１９】
またバッファ制御部１７からフレーム送信命令が出力されると、トークンバケツレジスタ制御部１４は、トークンバケツレジスタ１３のデータ量からフレームサイズのデータ量を減算してトークンバケツレジスタ１３に書き込む。またトークンバケツレジスタ制御部１４はフレーム送信命令が出力されていない場合には、「トークンバケツレジスタに加算されたデータ量≧トークンバケツレジスタで記憶するデータ量」を判定（つまりトークンバケツの容量以上にトークンが加算されているか否かを判定）し、この条件を満たす場合にはトリガのタイミングに従って順次トークンバケツレジスタ１３にトークンのデータ量を加算していく。
【００２０】
以上本願発明について説明したが、従来はトークンバケツモデルとリーキバケツモデルの処理を行なう装置では、両方の回路構成を組まなければならなかったが、上述の構成により、トークンバケツモデルの回路にセレクタを加えることで、両方の回路構成を組む必要がなくなり、回路構成の規模を削減する事ができるようになる。
【図面の簡単な説明】
【００２１】
【図１】パケットシェーピング装置の構成を示すブロック図である。
【図２】トークンバケツモデルの処理概要を示す図である。
【符号の説明】
【００２２】
１１・・・トークンバケツサイズレジスタ
１２・・・トークンレジスタ
１３・・・トークンバケツレジスタ
１４・・・トークンバケツレジスタ制御部
１５・・・比較器
１６・・・セレクタ
１７・・・バッファ制御部
【図１】
2007088998.tif 000003
【図２】
2007088998.tif 000004