JP3714036B2 - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP3714036B2 JP3714036B2 JP15900999A JP15900999A JP3714036B2 JP 3714036 B2 JP3714036 B2 JP 3714036B2 JP 15900999 A JP15900999 A JP 15900999A JP 15900999 A JP15900999 A JP 15900999A JP 3714036 B2 JP3714036 B2 JP 3714036B2
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- cell
- time
- scheduled
- packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、トラヒックシェーピング機能を有する装置、ATM端末、およびATM交換機、または可変長パケットに対するトラヒックシェーピング機能を有する装置に関する。
【0002】
【従来の技術】
非同期転送技術(Asynchronous Transfer Mode:ATM)は、セルと呼ばれる固定長パケットを用いて、音声・画像・データ等の様々な種類のトラヒックを効率的にサポートすることができ、マルチメディア通信に適した通信技術として広く知られている。
【0003】
ATMでは、ユーザは、セル送信前に、予めVC(Virtual Connection)と呼ばれる単位で網との間に送信帯域に関する契約を行う。契約の内容は、該VCを介して転送したい情報の種類によって異なる。例えば、音声・画像系トラヒックでは低遅延転送が求められるため、回線内に一定の帯域を予め確保し、その帯域に従ってセルを送信する。“The ATM Forum TM4.0”(従来技術1)では、音声・画像系トラヒックを転送するためのサービスクラスとして、完全に固定帯域を確保し契約帯域内でセルを送信するCBR(Constant Bit Rate)、および最大送信帯域と平均送信帯域を契約し送信帯域が時間の経過に従って変化するVBR(Variable Bit Rate)が示されている。一方、データ系トラヒックはバースト的(突発的)に発生・終了するために、回線内に予め帯域を確保しておくと回線帯域を有効に利用できない。そこで、一般にデータ系トラヒックは、音声等に比べてさほど遅延を重視しないので、帯域を確保せずにセルを送信し、一度に多くのセルが集中したノードでは、一時的にセルを蓄積する(該ノードが許容できなければセルは廃棄される)ことで、回線帯域を有効に利用している。
【0004】
従来技術1では、データ系トラヒックを転送するためのサービスクラスは、網内の輻輳(混雑)状態をセル送信端末にフィードバックさせセル廃棄を防止する手段を有するABR(Available Bit Rate)、および回線帯域を有効利用するために送信端末は回線に空き帯域があればセルを送信し続けるUBR(Unspecified Bit Rate)が示されている。各VCは、いずれかのサービスクラスに属している。以上に示した各サービスクラスの遅延・廃棄に関する特徴から、四つのサービスクラスに属するVCのセルが網内のノードで競合(衝突)した場合、CBRに属するVCのセルを最も優先して転送し、以下VBR、ABR、UBRの順に優先して転送する。
【0005】
上述のCBR、VBR、ABRのVCに関しては、端末(ユーザ)は網との間に最大送信帯域等の送信帯域に関する契約を行う。UBRのVCに関しては、最大送信帯域の契約を行う場合と、送信帯域に関する契約は何も行わない場合がある。公衆ATM網では、端末が送信しているセル流量を網の入口で監視し、契約帯域を違反しているVCを検出して、該VCのセルに対してセルを廃棄したりする。この機能をUPC(Usage Parameter Control)機能という。送信途中でセルが廃棄されても、通常、受信端末側でセル廃棄が生じたことを認識し、廃棄された情報を再送する様に送信端末に通知し送信端末が再送を行うので、最終的な情報の欠落はないが、最終的な遅延が大きくなったり、あるいは再送セルのために2次的な新たな輻輳を引き起こす原因にもなる。従って、網側のUPC機能で違反セルと判定されない様に、端末側が、契約帯域に従ってセル流量を制御して送信することが重要である。このセル流量を制御する機能をトラヒックシェーピング(Traffic Shaping)機能という。端末の他にも、網内で生じたゆらぎを吸収するために、網内の要所にある交換機にトラヒックシェーピング機能を備えてもよい。
【0006】
トラヒックシェーピング機能を実現するトラヒックシェーピング装置に関しては、例えば、特開平6-315034号公報「セル流制御装置およびATM通信網」(従来技術2)がある。契約帯域以上の帯域で受信したセルを網に向けて同じ帯域で送信していると過剰なセルを送信することになるので、網側のUPC機能で廃棄されてしまう。そこで、従来技術2では、セルを一時的に記憶しておくメモリ(従来技術2の符号4)を設け、契約帯域以上の帯域で受信したセルは該メモリに一時的に格納し、契約帯域に従って読み出すことで、トラヒックシェーピング機能を実現する方式を示している。従来技術2では、トラヒックシェーピングを行うために最低限必要な機能である、メモリに一時的に記憶するという点については述べられているが、具体的な実現方法や必要メモリ量や処理時間に関しては述べられていない。
【0007】
トラヒックシェーピング装置のもう一つの例として、特開平9-307566号公報「トラフィックシェーピング装置」(従来技術3)がある。従来技術3では、各VC毎に次にセルを送信することができる時刻(以下、送信予定時刻)を二分木構造を用いて記憶している。これにより、前回のソーティング結果を利用してソーティングを行うことができるため、log(VC数)のオーダの処理時間で最優先に送信すべきVCを選び出すことができると述べられている。従来技術3を適用したトラヒックシェーピング装置では、必要メモリ量が低減され、送信すべきセルを選び出す処理時間が従来技術2によるトラヒックシェーピング装置よりも大幅に短縮される。
【0008】
【発明が解決しようとする課題】
ユーザが公衆ATM網を利用する際の契約単位として、上述のVC単位で契約する場合と、複数のVCを束ねたVP(Virtual Path)単位で契約する場合がある。このVP単位で帯域の契約を行う場合、通常、契約は通信相手である相手方拠点毎に行う。この様な網の例を図19に示す。図19では、公衆ATM網340に端末300、1901、1902、1903が接続されている様子を示している。例えば、端末300が各端末1901、1902、1903と通信を行うとき、VPの契約は端末間毎に契約する。すなわち、端末300−端末1901間はVP(0)210として90Mbpsの契約、端末300−端末1902間はVP(1)220として、30Mbpsの契約、端末300−端末1903間はVP(2)230として、30Mbpsの契約を行う。そして、VP(0)〜VP(2)を端末300−ATMスイッチ341との間を結んでいる150Mbpsの回線に束ねて送信する。
【0009】
図2は、図19における端末300−ATMスイッチ341間の回線とVP、VCの関係を示す概念図である。図2では、90MbpsのVP(0)210内に3本のVC211、212、213が、30MbpsのVP(1)220内に2本のVC221、222が、30MbpsのVP(2)230内に2本のVC231、232が束ねられている。
【0010】
VP単位で契約を行った場合には、網管理側としては、VP単位の帯域を守っているかという点のみを監視する。すなわち、公衆ATM網340の入口に位置しているATMスイッチ341において(図19)、VPに対しては上述のUPC機能により違反セルに対してはセルを廃棄したりするが、VP内に束ねられている個々のVCの帯域は監視しない。VPに対するUPC機能で違反セルと判定されてセルが廃棄されると上述の様に、転送遅延が大きくなったり、あるいは新たな輻輳の原因にもなるために、端末側(ユーザ側)が、契約帯域であるVPの帯域を守ってセルを送信するトラヒックシェーピング機能(以下、VPシェーピング)が必要となる。また、VP内の各VCの帯域は網側では監視されないからといって、例えば、トラヒックシェーピング装置が受信した順序(送信端末なら上位パケットが分割された順序(後述)、交換機なら交換機が受信した順序)でそのまま送信するといった方法でVCのセルを送信していると、網全体として音声・画像系トラヒックに対して一定の帯域を保証し、低遅延転送を実現することができなくなる。そこで、音声・画像系トラヒック(CBR、VBR)の低遅延転送を実現するためには、該VPに束ねられている各VCの帯域を制御し、かつ異なるサービスクラス間では優先制御を行うトラヒックシェーピング機能(以下、VCシェーピング)が重要となる。しかしながら、従来技術2および従来技術3に示されているトラヒックシェーピング装置では、VPシェーピングまたはVCシェーピングのみについて述べられており、両シェーピングを同時に行うトラヒックシェーピングを対象としていない。また、従来技術3においても、VPとVCの両方を考慮したトラヒックシェーピングについては述べていない。
【0011】
本発明の第1の目的は、VPの契約帯域を守りつつ、該VP内の各VCの帯域を制御することができ、該VP内、および回線の帯域を有効に利用し得る、トラヒックシェーピング機能を有する装置、ATM端末またはATM交換機を提供することである。
【0012】
本発明の第2の目的は、一つのトラヒックシェーピング装置で複数の出力回線のシェーピングを行うことができる装置、ATM端末、またはATM交換機を提供することである。
【0013】
本発明の第3の目的は、可変長パケットに対して網との間の契約帯域を守りつつ、該契約帯域内でパケット毎に帯域を制御することができ、該契約帯域内、および回線の帯域を有効に利用し得る、パケット送信端末またはパケット交換機向けのトラヒックシェーピング機能を有する装置、ATM端末またはATM交換機を提供することである。
【0014】
【課題を解決するための手段】
VPおよびVCに対する両方のトラヒックシェーピングを同時に行うためには、VPおよびVCに対するトラヒックシェーピング回路を備え、両方のトラヒックシェーピング回路がセルを送信してもよい状態(送信予定時刻に至っている)になっているかを監視することが必要となる。従来技術3に記述されている二分木構造で送信予定時刻を管理する方式を用いれば、全VPの中で最優先に送信すべきVPを選び出すこと、あるいは同一VP内の複数のVCの中で最優先で送信すべきVCを選び出すことを実現できる。しかしながら、独立に送信予定時刻を計算していると、VPが送信してもよい状態(送信予定時刻に至っている)でも、該VC内に送信してもよいVCが存在しない、という状況が起こり得る。この場合、自VPの帯域を減少させるか、あるいは他のVPの帯域を減少させることで、セルを送信することができるが、いずれの場合も通信路の帯域、および契約したVPの帯域を有効利用できていない。従って、VPとしての送信予定時刻とVCとしての送信予定時刻を連繋させて考えることが必要である。
【0015】
また、多数の低速回線に対してトラヒックシェーピングを行うとき、各回線インタフェース部毎にトラヒックシェーピング装置を設けることは、装置コストの増加の原因となる。そこで、一つのトラヒックシェーピング装置で複数の出力回線のトラヒックシェーピングを行うことができると、低コストで多数の回線のトラヒックシェーピングを行うことができる。
【0016】
また、上記課題は、固定長のATMセルに対するトラヒックシェーピングに特化した課題ではない。例えば、インターネット等の様に、共用回線を利用して複数の網を接続し、それらの網毎に共用回線を契約している場合を考える。図18にこの様な形態の網を示す。図18において、網A1810と網a1820はプロバイダAが所有し、端末1811、1821はプロバイダAのユーザとする。
【0017】
同様に、網B1830と網b1840はプロバイダBが所有し、端末1831、1841はプロバイダBのユーザとする。また、網A、網a、網B、網bはそれぞれルータによって網C1800に接続されている。プロバイダA、プロバイダBは、それぞれ網Cとの間に送信帯域を契約し、網Cの中では共用回線1801をプロバイダA、プロバイダBが共用で使用している。この様な網環境で、端末1811と端末1821が、また端末1831と端末1841が通信を行う場合には、共用回線1801の入口では、共用回線を契約した帯域を守りつつ(ATMでいうところのVPに相当)、該契約帯域内で転送されているパケット毎に優先度を設けて(例えば、TELNET用のパケットは、電子メール用のパケットよりも優先、等)、帯域を管理できる(ATMでいうところのVCに相当)ことが望ましい。以上の様な網形態は、プロバイダによる回線の共用のみではなく、複数の企業が長距離通信回線を共用する場合、あるいは同一企業内でも部課毎のトラヒックを管理したい場合等、様々な運用形態が考えられ、これに対応した形で実現する必要がある。
【0018】
上記考察から、目的を達成するために、通信装置に、コネクション毎に契約した帯域を元にセルを送信する第1セル送信予定時刻を計算する第1送信予定時刻計算部と、前記コネクションを複数纏めたコネクション束毎に契約した帯域を元に前記セルを送信する第2セル送信予定時刻を計算する第2送信予定時刻計算部と、及び、前記セルを送信するとき、前記第2セル送信予定時刻を用いるか前記第1セル送信予定時刻を用いるか選択する手段を設ける。必要に応じて第1セル送信予定時刻と第2セル送信予定時刻を用いることができるので、契約帯域を守ることができる。
【0019】
また、上記考察から、上記第1〜第3の目的を達成するために、本発明では、多段階にシェーピングするトラヒックシェーピング装置を提案する。すなわち、上記第1の目的を達成するために、ATM網に接続されている端末または交換スイッチ内にあり、受信したセルを一時的に蓄積するセルバッファ部と、VC毎に契約した帯域に従った送信間隔を守るセル第1送信予定時刻を計算する第1送信予定時刻計算部と、前記第1送信予定時刻計算部で計算されたセル第1送信予定時刻が最も早いVCを選択する第1ソーティング部と、前記第1ソーティング部で選択されたVCに属するセルを送信してもよいか否かを判定し、セルを送信してもよい場合にはセルバッファ部からセルを読み出して送信する送信制御部を備えたトラヒックシェーピング装置において、VP毎に契約した帯域に従った送信間隔を守るセル第2送信予定時刻を計算する第2送信予定時刻計算部と、前記第2送信予定時刻計算部で計算されたセル第2送信予定時刻が最も早いVPを選択する第2ソーティング部を備え、前記送信制御部に前記第2ソーティング部で選択されたVPに属するセルを送信してもよいか否かを判定し、セルを送信してもよい場合には第1ソーティング部で選択されたVCに属するセルを送信してもよいか否かを判定し、セルを送信してもよい場合にはセルバッファ部からセルを読み出して送信する機能を備える。
【0020】
また、VP内の複数のサービスクラス間で優先制御を行うために、前記トラヒックシェーピング装置において、各VP内のVCに対して優先度を設定し、前記第1ソーティング部が、各VP内の同一優先度をもつVCの集まりに対して、セル第1送信予定時刻が最も早いVCを選択する機能を備え、前記送信制御部は、前記第2ソーティング部で選択されたVPに属するセルを送信してもよいか否かを判定し、セルを送信してもよい場合には第1ソーティング部で各優先度毎に選択されたVCの中から、送信してもよい状態になっていて、かつ最も優先度が高いVCに属するセルを送信する機能を備える。
【0021】
更に、VC毎に、前記セルバッファ部内に送信待ちのセルが存在するか否かを示す判別ビットを備える。また、VP毎に、前記セルバッファ部内に送信待ちのセルが存在するか否かを示す判別ビットを備える。
【0022】
更に、前記第1ソーティング回路は、セル第1送信予定時刻、および前記セル存在判別ビットを二分木構造で管理する手段を備え、過去のソーティング結果を利用して最優先で送信すべきVCを選び出す。また、前記第2ソーティング回路は、セル第2送信予定時刻、および請求項4記載のセル存在判別ビットを二分木構造で管理する手段を備え、過去のソーティング結果を利用して最優先で送信すべきVPを選び出す。
【0023】
次に更に、前記第2送信予定時刻計算部に、第1ソーティング部で選択されたVCのセル第1送信予定時刻が、第2送信予定時刻計算部で計算されたセル第2送信予定時刻よりも未来であり、かつ第1ソーティング部で選択されたVCの前記セル存在判別ビットがセットされているときに、セル第2送信予定時刻としてセル第1送信予定時刻を用いる時刻修正回路を備えることで、VPの送信予定時刻とVCの送信予定時刻を適合させることができる。
【0024】
更にまた、VP内のサービスクラス間で優先制御を行っている場合には、前記第2送信予定時刻計算部に、第1ソーティング部で各優先度毎に選択されたVCであり、前記セル存在判別ビットがセットされているVCの中で、セル第1送信予定時刻が最も早いVCのセル第1送信予定時刻が、第2送信予定時刻計算部で計算されたセル第2送信予定時刻よりも未来であるときに、セル第2送信予定時刻としてセル第1送信予定時刻を用いて、第1ソーティング部で各優先度毎に選択されたVCのすべてに対して、前記セル存在判別ビットがセットされていないときには、セル第2送信予定時刻を変更しない時刻修正回路を備える。このとき、第2送信予定時刻計算部に、第1ソーティング部で或るVP内の各優先度毎に選択されたVCのすべてに対して、セル存在判別ビットがセットされていないときには、該VPに対するセル存在判別ビットをリセットし、第1ソーティング部で或るVP内の各優先度毎に選択されたVCのいずれかに対して、セル存在判別ビットがセットされているときには、該VPに対するセル存在判別ビットをセットする機能を備える。これにより、第2ソーティング回路で選択されたVP内のVCには、必ず送信待ちのセルが存在するという状況を作ることができる。
【0025】
また、第1ソーティング回路が行う処理と、第2ソーティング回路が行う処理を並行して行うこともできる。これにより、ソーティング処理に要する時間を短縮することができる。
【0026】
上記第2の目的は、交換スイッチに付したトランクとして本発明のトラヒックシェーピング装置を備え、上記VPを回線(低速回線)と読み替えることにより達成することができる。
【0027】
また、上記第3の目標を達成するために、本発明では、パケット送信端末またはパケット交換機に、パケット受信したパケットを一時的に蓄積するパケットバッファ部と、パケット優先度毎に決められた帯域に従った送信間隔を守るパケット第1送信予定時刻を計算する第1送信予定時刻計算部と、前記第1送信予定時刻計算部で計算されたパケット第1送信予定時刻が最も早いパケット優先度を選択する第1ソーティング部と、パケット転送先毎に契約した帯域に従った送信間隔を守るパケット第2送信予定時刻を計算する第2送信予定時刻計算部と、前記第2送信予定時刻計算部で計算されたパケット第2送信予定時刻が最も早いパケット転送先を選択する第2ソーティング部と、前記第2ソーティング部で選択されたパケット転送先に属するパケットを送信してもよいか否かを判定し、パケットを送信してもよい場合には第1ソーティング部で選択されたパケット優先度に属するパケットを送信してもよいか否かを判定し、パケットを送信してもよい場合にはパケットバッファ部からパケットを読み出して送信する送信制御部を備えたトラヒックシェーピング装置を備える。
【0028】
また、前記パケットバッファからパケットを読み出す際に、パケットのヘッダに記述してあるパケット長情報を抽出する機能を備え、前記第1送信予定時刻計算部において、前記パケット長情報に比例した送信間隔を用いてパケット第1送信予定時刻を計算し、第2送信予定時刻計算部において、前記パケット長情報に比例した送信間隔を用いてパケット第2送信予定時刻を計算する。
【0029】
また、該パケット送信端末またはパケット交換機向けのトラヒックシェーピング装置は、上述のATM送信端またはATM交換スイッチ向けのトラヒックシェーピング装置と同じ構造を備える。
【0030】
【発明の実施の形態】
以下では、本発明の一実施例として、本発明を適用したトラヒックシェーピング装置を詳細に説明する(実施例1)。以下に示す実施例は、ATM送信端末がVPシェーピングとVCシェーピングを同時に行い、VP内に四つのサービスクラス(CBR、VBR、ABR、UBR)を設け、クラス間の優先制御を行うトラヒックシェーピング装置の例である。
【0031】
図3は、公衆ATM網340に接続されているATM送信端末300のブロック図を示している。ATM送信端末300は、CPUとメモリから構成される上位層処理部360と、公衆網340に対する回線インタフェース部324から構成される。上位層処理部では、該ATM網を用いて情報を転送するための上位プロトコル(例えばIP(Internet Protocol))が動作し、上位プロトコルが認識し得る上位パケットを生成・終端する。
【0032】
回線インタフェース部324は、更に、以下の構成要素を備える。SAR(Segmentation And Reassembly)350は、上位層処理部360で生成された上位パケットとATMセル(53バイト固定長)の変換(分割・組立て)を行う部分である。従って、SARから上位層処理部側では上位パケットの形で処理が行われ、SARから公衆ATM網側ではATMセルの形で処理が行われる。変換はハードウェアによって行われる場合とソフトウェアによって行われる場合がある。
【0033】
トラヒックシェーピング部100は、公衆ATM網340と契約した帯域を守った送信間隔でセルを送信する。本願発明はこのトラヒックシェーピング部100に主に関係する。光モジュール374は、ATMセルを光ファイバ等の物理回線に対応した信号に変換して送受信する。尚、可変長パケットを用いる場合においては、SARは不要である。
【0034】
図1は、トラヒックシェーピング部100の構成を示すブロック図である。また、図4は、トラヒックシェーピング部100の動作フロー図であり、図5はそのタイムチャートである。
【0035】
本発明を適用したトラヒックシェーピング部100は、以下に示す構成要素を備える。トラヒックシェーピング部は、セルをVC毎のキューにキューイングするセルバッファ部110、VCの契約帯域に従った送信予定時刻を計算するVC送信予定時刻計算部130、同一VP内、同一サービスクラス内に属するVCの中で、最も優先して送信するVCを選び出すVCソーティング部135、VPの契約帯域に従い、かつVC送信予定時刻にも適合した送信予定時刻を計算するVP送信予定時刻計算部140、全VPの中で最も優先して送信するVPを選び出すVPソーティング部145、VPソーティング部145およびVCソーティング部135のソーティング結果を用いて最終的なセル送信を決定してセルバッファ部110に伝える送信制御部120から構成される。
【0036】
セルバッファ部110は、セルを一時的に蓄積しておくバッファであるセルバッファ111と、セルバッファ内でVC毎にATMセルのキューイングを実現するためのセルバッファアドレスを記憶し、また、VC毎、およびVP毎のキュー長の情報も記憶しておくバッファであるセルバッファアドレスメモリ112と、SAR350から受信したセルをセルバッファに書込む制御回路であるセルバッファ書込み制御回路113と、セルバッファから光モジュールへ送信すべきセルを読み出すセルバッファ読出し制御回路114とから構成される。
【0037】
VC送信予定時刻計算部130には、セル受信、またはセル送信が行われたVCの送信予定時刻を計算するVC予定時刻計算回路131が含まれる(具体的な計算方法は後述)。
【0038】
VCソーティング部135は、セル受信、または送信が行われたVCが属するVP、およびサービスクラス内で、最も優先して送信するVCを選び出すVC二分木ソート回路136を有する。更に、VC二分木ソート回路がソーティングを行うのに必要な情報(VC識別番号、VC送信予定時刻、VCのVLD(該VCに送信待ちセルが存在するか否かを示すフラグ)(以下、この三つをまとめてVCソーティング情報と呼ぶ))が記憶されているVCソーティング情報メモリ137を有する。このVPソーティング情報は二分木で管理されており、そのメモリマップを図7に示す(詳細は後述)。
【0039】
VP送信予定時刻計算部140は、セル受信、または送信が行われたVPの契約帯域に従った送信予定時刻を計算するVP予定時刻計算回路141と、VP予定時刻計算回路で計算されたVP送信予定時刻を、VCの送信予定時刻に適合する値に修正するVP時刻修正回路143から構成される(具体的な計算方法は後述)。
【0040】
VPソーティング部145は、全VPの中で最も優先して送信するVPを選び出すVP二分木ソート回路146を有する。更に、VP二分木ソート回路146がソーティングを行うのに必要な情報(VP識別番号、VP送信予定時刻、VPのVLD(該VPに送信待ちセルが存在するか否かを示すフラグ)(以下、この三つをまとめてVPソーティング情報と呼ぶ))が記憶されているVPソーティング情報メモリ147を有する。VPソーティング情報も二分木で管理されており、そのメモリマップを図6に示す(詳細は後述)。
【0041】
本発明を適用したトラヒックシェーピング部100は、1セル処理時間に次に示す6つの処理を繰り返すことによって、1セル処理時間内に一つのセルを受信し、一つのセルを送信する。ここで、1セル処理時間とは、トラヒックシェーピング装置が1セル(53バイト)送受信するために要する時間のことをいう。例えば、155.88Mbps(Bit Per Second)のシェーピング能力をもつトラヒックシェーピング装置では、1セル処理時間は2.72μ秒となる。
【0042】
(処理1)受信セル判定処理
(処理2)送信予定時刻計算(セル受信時)
(処理3)ソーティング処理(セル受信時)
(処理4)送信VC選択処理
(処理5)送信予定時刻計算(セル送信時)
(処理6)ソーティング処理(セル送信時)
以上6つの処理の内、(処理1)〜(処理3)はセル受信時の処理、(処理4)〜(処理6)はセル送信時の処理である。以下に、それぞれの処理を、図1、図4および図5を用いて詳細に説明する。また、以下では、複数のVPを識別するために、VP識別番号pを付して、VP(p)と表記する。同様に、VP(p)に属しているVCを識別するために、VC識別番号cを付して、VC(p,c)と表記する。
【0043】
(処理1)受信セル判定処理
この処理は、図5の500の時間に行われる処理である。尚、図5は、本発明を適用したトラヒックシェーピング部のタイムチャートを示す。
【0044】
トラヒックシェーピング部100に到着したセルは、VC毎のキューに一時的に蓄積される。具体的には、まず、セルバッファ書込み制御回路113は、受信したセルのヘッダ部に記述してあるVPを識別するVPI(Virtual Path Identifier)、およびVCを識別するVCI(Virtual Connection Identifier)を基に、該セルが属するVP、あるいはVCを判別する。次に、トラヒックシューピング部は、受信セルをVC毎のキューイングを行うために、未使用のセルバッファのアドレスをセルバッファアドレスメモリ112から読み出し、セルバッファ111内の該セルバッファアドレスが示す領域に受信セルを書込む(図4の400、401)。前記セルバッファアドレスは受信セルが記録されたセルバッファアドレスとしてセルバッファアドレスメモリ112に記憶される。
【0045】
以下では、該受信セルが属するVPをVP(r)、該受信セルが属するVCをVC(r,s)とする。セルバッファ書込み制御回路113は、セルを受信すると、セルを受信したことを示すセル受信信号99をVC送信予定時刻計算部のVC予定時刻計算回路131とVP送信予定時刻計算部のVP予定時刻計算回路141に通知する。セル受信信号99と同時に、VC予定時刻計算回路131に向けてはVC識別番号r,sを、VP予定時刻計算回路141に向けてはVP識別番号rを通知する。
【0046】
(処理2)送信予定時刻計算(セル受信時)
この処理は、図5の502−1、502−2の時間に行われる処理である。セル受信信号99を受けたVC送信予定時刻計算回路131は、VC(r,s)のVC送信予定時刻(単位は「1セル処理時間」)を計算する。計算結果は、VCソーティング情報メモリ137に記憶される。セル受信信号99を受けたVC送信予定時刻計算回路131は、該VCに送信待ちセルが存在するか否かを判定するために、VCソーティング部135のVCソーティング情報メモリ137から読み出されたVC(r,s)のVLDが‘0’であるか‘1’であるかを調べる(図4の402)。VLDが‘1’であるときは、既に該VCに送信待ちセルが存在していることを示しており、送信予定時刻を更新すると契約帯域を守ることができなくなるので、この場合は送信予定時刻を変更してはいけない。一方、VLDが‘0’であるときは、既に計算してあるVC送信予定時刻が現在時刻を規準としたときに未来である場合には送信予定時刻を更新すると契約帯域が守れなくなるので、送信予定時刻を更新してはいけないが、既に計算してあるVC送信予定時刻が現在時刻を規準として過去または現在時刻と同時刻である場合には、セルはいつでも送信してよい状態となっているので送信予定時刻を適当な時刻に更新してもよい。従って、VLDが‘0’であるときは、既に計算してあるVC送信予定時刻をVCソーティング情報メモリ137から読み出し、該時刻が現在時刻を規準としたときに未来となっているか、過去あるいは現在時刻と同じになっているかを調べる(図4の404)。前者(未来)の場合にはVC送信予定時刻を変更しない。後者(過去あるいは現在)の場合には、該VCのセルを最も早く送信させるために(実際に送信するかは分からない)、
VC送信予定時刻=現在時刻+1
と更新する(図4の405)。以上のいずれの場合にも、セル受信信号99を受けた場合には該VCのVLD=‘1’にセットする(図4の403)。
【0047】
また、同様に、セル受信信号99を受けたVP送信予定時刻計算回路140は、VP送信予定時刻を計算する。VP送信予定時刻の計算は、VC送信予定時刻の計算と全く同じ手順で計算する。すなわち、VP(r)のVLDをチェックし、VLDが‘0’であり、かつ既に計算してあるVP送信予定時刻が過去あるいは現在時刻と同時刻である場合にのみ、
VP送信予定時刻=現在時刻+1
と更新し、それ以外の場合には既に計算してあるVP送信予定時刻を更新しない。
【0048】
尚、VP送信予定時刻の計算は、VC送信予定時刻の計算と全く同じ手順で計算できるので、同一の回路で時系列に計算することもできるが、ここでは、VC送信予定時刻の計算とVP送信予定時刻の計算は、それぞれ、互いに独立の回路であるVC予定時刻計算回路とVP予定時刻計算回路を用いることで、時間的に平行して計算できるようにし、その計算時間を短縮している。図4では、VP送信予定時刻計算回路での計算ステップは示されていない。VP送信予定時刻計算回路が、図4のステップ402からステップ405と並行してVP送信予定時刻を計算する。
【0049】
(処理3)ソーティング処理(セル受信時)
この処理は、次の三つの処理に分けることができる。
【0050】
(処理3−1)VCソーティング処理(セル受信時)
(処理3−2)VP送信予定時刻修正(セル受信時)
(処理3−3)VPソーティング処理(セル受信時)
以下、順に説明する。
【0051】
(処理3−1)VCソーティング処理(セル受信時)
このVCソーティング処理は、図5で、時刻計算502の後の時間506に行われる処理である。VC(r,s)のVC送信予定時刻が更新されると、VP(r)の中で、かつVC(r,s)が属するサービスクラスの中で最も早くセルを送信すべきVC(以下、暫定送信VC)が変化している可能性があるので、VC二分木ソート回路136において暫定送信VCを求めるためのソーティングを行う(図4の406)。
【0052】
以下に、同一VP、同一サービスクラス内の暫定送信VCを選び出す方法について説明する。簡単のために8つのVC(VC(p,0)〜VC(p,7))の中から選び出す例を、図9、図10を用いて説明する。まず二分木の各要素に記憶されている情報の関係を説明する。以下では、図9において、二分木の頂点900を根、底辺930〜937を葉、任意の要素からみて根側にある要素を親、葉側にある二つの要素を子と呼ぶ。二分木の葉930〜937(VC識別番号順に並べておく)には各VCの送信予定時刻とVLD(括弧内の数値(0または1)がVLDを示す)が記憶してある。葉を除く他の要素には、VC識別番号、送信予定時刻、VLDが記憶され、最終的に以下の条件を満たすVCの情報が根に記憶される。
【0053】
(条件1)VLDが‘1’であること。(送信待ちセルがないVCよりも送信待ちセルがあるVCの方を優先して選択する)
(条件2)送信予定時刻が早いこと。(常時最優先で送信すべきVCを選択する)
根に記憶するVCとして上記(条件1)および(条件2)を満たすVCを選択するために、葉を除く他の要素は、以下の[1]〜[3]の規則に従って二つの子のいずれかの情報がそのまま記憶される。
【0054】
[1]子のVLDが共に‘1’のときは、上記(条件2)を満たすために、送信予定時刻がより過去である子を選択する。例えば二分木の要素920には、要素931の情報がそのまま記憶され、VC識別番号はVC(p,1)となる。時刻が同じ場合はどちらでもよい。
【0055】
[2]一方の子のVLDが‘1’、他方が‘0’のときは、上記(条件1)を満たすために、無条件にVLDが‘1’である方を選択する。例えば二分木の要素922には、送信予定時刻は要素934の方が過去であるにも関わらず、要素935が選択され、その情報がそのまま記憶される。
【0056】
[3]子のVLDが共に‘0’のときは、上記(条件2)を満たすために、送信予定時刻がより過去である子を選択する。例えば二分木の要素921には、要素932の情報がそのまま記憶され、VC識別子はVC(p,2)となる。時刻が同じ場合はどちらでもよい。
【0057】
この様な構造をもつ二分木が各VP毎に四つあり、CBR、VBR、ABR、UBRに割り当てられている。例えばCBR用の二分木の根には、CBRの中で最も優先して送信すべきVC(暫定送信VC)の識別番号、送信予定時刻、VLDが記憶されている。
【0058】
以上の規則に従って、二分木が構成されているが、セルを受信したときには送信予定時刻やVLDが変化するため、二分木の情報が変化し、暫定送信VCが変化することが考えられる。しかし、ここで、二分木のすべての情報が更新される訳ではない。例えば図9において、VC(p<4)(葉934に対応)のセルを受信し、該VCの送信予定時刻、VLDが更新された場合を考えると、二分木の要素が更新されるのは、該VCの情報が記憶してある要素934から根900に向かう経路にある要素のみである。本例の場合は922、911、900の要素の情報のみをこの順序で[1]〜[3]の規則に従って更新することで、最優先で送信すべきVCが二分木の根900に記憶され、かつ上述の二分木の構造は保たれている(図10)。
【0059】
以上の手順で同一VP内、同一サービスクラス内の暫定送信VCを選び出すことができる。尚、実際のVCソーティング情報メモリ137のアドレス割当て等に関しては後述とする。
【0060】
(処理3−2)VP送信予定時刻修正(セル受信時)
次に、VP予定時刻計算回路141で計算されたVP契約帯域に従ったVP送信予定時刻を、VP時刻修正回路142においてVC送信予定時刻に適合した値に修正する(図4の407)。この処理は、図5の507の時間に行われる処理である。
【0061】
図8は、VP時刻修正回路142の詳細なブロック図を示す。VP予定時刻計算回路141で計算されたVP送信予定時刻をそのまま用いてVPソーティングを行うと、VPとしては送信可能な状態になっていても、該VP内で最優先で送信すべきVCですら送信可能な状態になっていないというケースが生じる。この場合、自VPの帯域、他VPの帯域共に最大限に帯域を利用することができないため、上記のVP予定時刻修正処理が必要となる。具体的には、以下の処理を行う。尚、VC二分木ソート回路136によって選ばれたVP(r)の中のCBRの暫定送信VCをVC(r,c)、VBRの暫定送信VCをVC(r,v)、ABRの暫定送信VCをVC(r,a)、UBRの暫定送信VCをVC(r,u)とする。まず、図8の選択回路810が、VCソーティング情報メモリ137から読み出されたVC(r,c)、VC(r,v)、VC(r,a)およびVC(r,u)の送信予定時刻の中で、時間的に最も過去である時刻を暫定VC送信予定時刻とする計算を行う。但し、この時刻計算にはVLDが‘0’であるVCは含めない。VC(r,c)、VC(r,v)、VC(r,a)およびVC(r,u)のVLDがすべて‘0’である場合には、暫定VC送信予定時刻を現在時刻とする。この暫定VC送信予定時刻は、VP(r)に属する複数のVCの中で最も早く送信することができる時刻を示している。換言すれば、現在時刻が暫定VC送信予定時刻に至れば、VP(r)内の少なくとも一つのVCはセルを送信することができる(VP(r)の契約帯域を守っているか否かは別問題)。次に、図8の選択回路811が、VP予定時刻計算回路141で計算された時刻と選択回路810で得られた暫定VC送信予定時刻を比較し、より未来の時刻を選択して、VP(r)の送信予定時刻とする。これにより、選ばれたVP(r)の送信予定時刻は、VP(r)としての契約帯域も守り、かつVP(r)内に一つ以上の送信可能なVCが存在するような最も早い時刻を示している。換言すれば、現在時刻がVP(r)の送信予定時刻に至れば、VP(r)内の少なくとも一つのVCはセルを送信することができる(VP(r)の契約帯域も守っている)。一方、図8のOR回路820は、VCソーティング情報メモリ137から得られるVC(r,c)、VC(r,v)、VC(r,a)およびVC(r,u)のいずれかのVLDが‘1’であれば、該VPのVLDを‘1’にセットする。
【0062】
(処理3−3)VPソーティング処理(セル受信時)
この処理は、図5の508の時間に行われる処理である。上述の様に、各VPのVPソーティング情報も二分木によって管理している。VCの場合と同様に、VP(r)のVP送信予定時刻が更新されると、最も早くセルを送信すべきVP(以下、暫定送信VP)が変化している可能性があるので、VP二分木ソート回路146においてソーティングを行う(図4の408)。VP二分木ソート回路146の動作は、VC二分木ソート回路136の動作と同じであり、VP用二分木の根には、全VPの中で最優先で送信すべきVPのVP識別番号、送信予定時刻、VLDが記憶される。尚、実際のVPソーティング情報メモリ147のアドレス割当て等に関しては後述とする。
【0063】
(処理4)送信VC選択処理
この処理は、図5の509の時間に行われる処理である。以下では、現在時刻とVC送信予定時刻(あるいはVP送信予定時刻)を比較した結果、現在時刻を基準としてVC送信予定時刻(あるいはVP送信予定時刻)が過去または現在時刻と同時刻であるとき、該VC(あるいはVP)は送信可能状態と呼ぶことにする。VP二分木ソート回路146によって選ばれた暫定送信VPをVP(i)、およびVP(i)の各サービスクラスの暫定送信VCをVC(i,c)、VC(i,v)、VC(i,a)、およびVC(i,u)とする。
【0064】
送信制御回路(送信制御部)120は、常時VPソーティング情報メモリ147の根に対応するアドレスから、VLDと送信予定時刻を読み出し、VLD=‘1’かつ送信予定時刻と現在時刻と比較してVP(i)が送信可能状態になったか否かを監視し、送信可能状態であるセルを送信するために、セルバッファ読出し制御回路114へ送信許可信号95を送る。VP(i)が送信可能状態でないときは、いかなるセルも送信しない。VP(i)が送信可能状態であるとき、各サービスクラスの暫定送信VC、すなわちVC(i,c)、VC(i,v)、VC(i,a)、およびVC(i,u)の間で送信順序に関するクラス間優先制御を行う(図4の409、410)。クラス間優先制御は、例えば完全優先制御(Head of Line)や、重み付き順廻優先制御(Weighted Round Robin)等がある。完全優先制御とは、上位のクラスが完全に優先される優先制御の方法で、上位クラス(CBR>VBR>ABR>UBR)に送信待ちセルが存在していると、下位クラスのセルは送信されない。この場合、最上位クラスに属するVCのセルは最も小さい遅延で転送されるが、下位クラスのセルは、上位クラスのセルがなくなるまで送信されない。また、重み付き順廻優先制御とは、下位クラスにも一定の帯域を割当てる。
【0065】
例えば「上位クラス:下位クラス」のセル送信の比率(=送信帯域の比率)を2:1、あるいは4:1等に制御することができる。いずれの優先制御の場合も、VC(i,c)、VC(i,v)、VC(i,a)、およびVC(i,u)のVLDが‘0’であるVC、および送信可能状態になっていない(現在時刻を規準として送信予定時刻が未来にある)VCは、最終的に選ばれても送信するセルがないので、最も低優先度として扱う。VC(i,c)、VC(i,v)、VC(i,a)、およびVC(i,u)の中でクラス間優先制御を行った結果選ばれたVCをVC(i,j)とし、VC(i,j)のセルを送信する。
【0066】
具体的には、送信許可信号95がセルバッファ読出し制御回路114に送られる。送信許可信号95を受けたセルバッファ読出し制御回路114は、セルバッファアドレスメモリ112から読み出したセルバッファアドレスを用いて、セルバッファか110からセルを読み出す。そして、セルバッファ読出し制御回路114は、回線インタフェース部324にセルを送信する(図4の411)。セルを送信したVP(i)、VC(i,j)の次のセル送信予定時刻を修正するために、送信制御回路(送信制御部)120は、セル送信信号98をVC送信時刻計算回路130とVP送信時刻計算回路140に通知する。また、送信制御回路120は、セル送信信号98と同時に、VC予定時刻計算回路131に向けてはVC識別番号i,jを、VP予定時刻計算回路141に向けてはVP識別番号iを通知する。
【0067】
(処理5)送信予定時刻計算(セル送信時)
この処理は、図5の512−1、512−2の時間に行われる処理である。セル送信信号98を受けたVC送信時刻計算回路130およびVP送信時刻計算回路140は、契約帯域に従った次のセル送信予定時刻を計算する(図4の412)。
【0068】
次のセル送信予定時刻の計算は、例えばリーキーバケット方式を用いて行う。
【0069】
リーキーバケット方式に関しては、例えば“The ATM Forum TM4.0 Normative Annex C: Traffic Contract Related Algorithms and Procedures (P.71)”(従来技術3)に述べられている。
【0070】
あるいは、他のセル送信予定時刻の計算方法として、契約帯域に対応する送信間隔値を記憶しておき、以下の計算を行ってもよい。
【0071】
次のセル送信予定時刻=今回のセル送信予定時刻+送信間隔値
VC(i,j)のセルを送信しても、まだVC毎のキューにセルが残っている(送信待ちセルがある)場合に次の送信予定時刻を計算するのは当然であるが、セルを送信することによってVC毎のキューが空になった(送信待ちセルがない)場合にも次の送信予定時刻を計算する。これは、例えば次のセル受信タイミングでVC(i,j)のセルを受信した場合にも契約帯域を守ってセルを送信するために必要である。尚、UBRクラスのVCで送信帯域に関する契約を行わない場合には、いつでもセルを送信することができるようにするために、
次のセル送信予定時刻=今回のセル送信予定時刻+1
とすればよい。
【0072】
また、VLDは、VC毎のキューにセルが残っている場合には‘1’とし、VC毎のキューが空になった場合には‘0’とする。
【0073】
以上の送信予定時刻の計算は、VPに対しても全く同様である。
【0074】
(処理6)ソーティング処理(セル送信時)
(処理6−1)VCソーティング処理(セル送信時)
(処理6−2)VP送信予定時刻修正(セル送信時)
(処理6−3)VPソーティング処理(セル送信時)
この処理は、図5の513〜515の時間に行われる処理である。ソーティングの詳細は、セル受信時と全く同様である。セル送信予定時刻を修正した場合には、暫定送信VC、および暫定送信VPが変化している可能性があるので、VC二分木ソート回路136、およびVP二分木ソート回路146においてソーティングを行う(図4の413〜415)。
【0075】
以上の(処理1)〜(処理6)の処理が1セル処理時間内に行われ、再び(処理1)の処理から繰り返す。
【0076】
次に、VPソーティング情報メモリ147のVPソーティング情報、VCソーティング情報メモリ137のVCソーティング情報の管理方法について、図6、および図7を用いて説明する。以下では、サポートできるVP数をM(=2のm乗)、各VP内に束ねているVC数をN(=2のn乗)とする。
【0077】
図6は、VPソーティング情報メモリ147の記憶書式およびVP用二分木との関係を示す。VP用二分木の各要素と、VPソーティング情報メモリ147のアドレスの関係は、以下に示す通りである。以下では、アドレスは2進数(m+1ビット)で示すこととする。
【0078】
[1]二分木の根に対応するアドレスは、000…001番地である。
【0079】
[2]アドレス:xyy…yyz番地の要素の親のアドレスは0xy…yyy番地であり、二つの子のアドレスはyyy…yz0番地とyyy…yz1番地である。
【0080】
上記[1][2]の規則に従って情報を記憶していくと、二分木の葉に対応するアドレスは、100…000番地から111…111番地(全部で2のm乗=M個)に記憶される。以上の規則でメモリのアドレスを管理していると、ソーティング時に行うメモリアクセスのためのアドレス生成回路を簡単に構成することができる。すなわち、xyy…yyz番地の比較相手はxyy…yy(z)番地に記憶してある情報((z)はzの‘0’←→‘1’反転を示す)であり、その比較結果を書込むのは0xy…yyy番地である。
【0081】
従って、M個の要素のソーティングを、m回のシフト演算とm回の反転演算で行うことができる。例として、8VP(m=3)の場合のVPソーティング情報メモリ147のメモリマップを図6に示す。前述の様に、VPソーティング情報メモリ147には、VP識別番号600、VP送信予定時刻601、およびVPのVLD602が記憶されている。
【0082】
以上、図6を用いて、VPソーティング情報の管理方法について説明したが、VCソーティング情報の管理も、全く同様に行うことができる。図7は、2VP(m=1)内で四つのサービスクラスをサポートする場合のVCソーティング情報メモリ137のメモリマップを示す。VCソーティング情報メモリ137は、VPソーティング情報メモリ147と全く同じ方法で記憶するが、各VP、各サービスクラス毎に一つのVCが選び出された時点でソーティングを終了する点のみが異なっている(本例では8個のVCが選ばれた時点でソーティング終了)。
【0083】
上述の実施例では、自VPの契約帯域、回線の帯域を最大限に利用するために、VP送信予定時刻にVC送信予定時刻の情報を反映させたが(VP時刻修正回路143の動作による)、VP送信予定時刻とVC送信予定時刻を全く独立に計算することもできる。この場合、前述の様に、現在時刻がVP送信予定時刻には達しているが、VC送信予定時刻には達していない場合に、自VPの送信タイミングをスキップすることが考えられる(現在時刻がVC送信予定時刻に達するまで待つことは大幅に回線帯域の利用率が低下する)。これにより、自VPの送信帯域が若干低下するが、図11のタイムチャートに示す様に、VCソーティングとVPソーティングを並行して行うことができるため、ソーティングに要する処理時間を大幅に低減させることができる。サポートしているVP数(=M)、各VP内に束ねられているVC数(=N)がほぼ等しいときは、ソーティングに要する時間を最大で1/2にまで低減させることができる。
【0084】
また、上述の実施例では、本発明のトラヒックシェーピング装置をATM送信端末に適用した例を示したが、先に述べた様に、トラヒックシェーピング装置はATM送信端末の他にも、私設網から公衆網への中継点等の網内の要所に設置することがある。
【0085】
図12は、本発明のトラヒックシェーピング装置を公衆ATM網340に接続されているATM交換機301に適用した構成図を示す。ATM交換機301は、ATM端末330、331に対する回線インターフェース部320、321、スイッチ部310、公衆ATM網340に対する回線インタフェース部325、および公衆ATM網に対応したトラヒックシェーピング部100、および、光モジュール375により構成される。
【0086】
本発明の他の実施例として、複数回線のトラヒックシェーピングを一つのトラヒックシェーピング装置で行うトランク方式のトラヒックシェーピング装置について説明する(実施例2)。
【0087】
図13は、トランク方式のトラヒックシェーピング装置としてATM交換機を構成した例を示している。端末332、333で生成されたセル流は、ATM交換機302の回線インタフェース部322、323を介してスイッチ部311に入力される。スイッチ部311でいずれの出力先回線が決定された場合でも、セルは一時的にトラヒックシェーピング部101に転送される。トラヒックシェーピング部101では、実施例1のVPソーティングを回線ソーティングと考え、全く同じ動作を行う。トラヒックシェーピング部101の出力セルは、再びスイッチ部311を介して、各出力回線の回線インタフェース部326、327から公衆ATM網340に送信される。トラヒックシェーピング部101から出力されたセルがスイッチのセルバッファに蓄積されると、行ったトラヒックシェーピングが無意味なものとなってしまうために、トラヒックシェーピング部101から送信されたセルは最優先で網まで転送されなければならない。
【0088】
また、実施例1と実施例2のシェーピング装置を組み合わせた実施例として、トランク方式を用いたVPシェーピング装置を構成することができる(実施例3)。構造は図13のシェーピング装置と全く同じであるが、トラヒックシェーピング部101では、VC単位のシェーピング、VP単位のシェーピング、回線単位のシェーピングの3段階にトラヒックシェーピングを行う。VC単位、VP単位、回線単位のそれぞれに送信予定時刻計算回路とソーティング回路を備え、すべてが送信可能状態となった場合にセルを送信する。実施例2と同様に、トラヒックシェーピング部101の送信セルは最優先で公衆ATM網340に転送されなければならない。
【0089】
以上はATM網に対する本発明の実施例を示したが、本発明はATMに特化した発明ではなく、可変長のパケットに対しても同様にトラヒックシェーピングを行うことができる。次にIPパケットに対するトラヒックシェーピング装置について説明する(実施例4)。IPパケットのパケット長は、最大64kバイトである。
【0090】
図15は、ルータの構成の一例を示す図である。ルータ1500は、パケット転送網1(1550)、パケット転送網2(1551)に対応したネットワークインタフェース部1520、1530と、IPパケットのヘッダを参照して行き先を判別し、行き先毎のネットワークインタフェース部に送るルーティング部1510から構成される。更に、ネットワークインタフェース部1520、1530は、トラヒックシェーピング部1400と、パケットを光ファイバ等の物理回線に対応した信号に変換して送信する光モジュール1522から構成される。その逆変換も光モジュールで行われる。
【0091】
図14は、IPパケットに対する図15のトラヒックシェーピング部1400の構成を示すブロック図である。本発明を適用したIPパケット対応トラヒックシェーピング部1400は、図1に示したトラヒックシェーピング装置100のATMセルに対する処理をIPパケットに対する処理に変換した点、およびパケット読出制御回路1413がパケットバッファからIPパケットを読み出した際に、IPパケットヘッダに記述されているIPパケット長情報を識別するパケットパケット長識別回路1499を追加した点のみが異なる構成となっている。この識別されたパケット長は、第1送信予定時刻計算部1430の優先度予定時刻計算回路1431と、契約送信予定時刻計算部1440の契約予定時刻計算回路1441で、送信予定時刻を計算する際に使用される。
【0092】
図16は、IPパケットに対するトラヒックシェーピング部1400の帯域制御の概念を示している。受信したIPパケットは、優先度制御回路15210において転送先毎、パケットの優先度毎のキューに振り分けられ、パケットバッファ15211内にキューイングされる。パケット送信時には、第1の読み出し回路15213が送信してもよい状態にある転送先を選び(図16において複数の転送先候補から一つの転送先を選ぶ)、選ばれた転送先に対応する第2の読み出し回路15212では、パケット毎の送信順序に関する優先制御を行い、優先度の高いIPパケットをパケットバッファから読み出し、光モジュール1522へ転送する。このようにすることで、送信可能状態となっている転送先の中で、パケット毎の優先度が高いパケットから順に送信される。図16の各回路を図14の回路と対応させると、図16の優先度制御回路15210は図14のパケットバッファ書込み回路1413として、図16の第2の読み出し回路15212は図14の第1ソーティング部1435として、また図16の第1の読み出し回路15213は図14の契約ソーティング部1445として、それぞれ実現することができる。
【0093】
IPパケットの送受信を行うために、ATMセルと同様に次の(処理1)〜(処理6)の処理を行う。
【0094】
(処理1)受信パケット判定処理
(処理2)送信予定時刻計算(パケット受信時)
(処理3)ソーティング処理(パケット受信時)
(処理4)送信パケット選択処理
(処理5)送信予定時刻計算(パケット送信時)
(処理6)ソーティング処理(パケット送信時)
以上の処理の(処理2)〜(処理4)、および(処理6)はATMセル(固定長)に対する処理と同じである。以下に、(処理1)受信パケット判定処理、および(処理5)送信予定時刻計算について説明する。
【0095】
(処理1)受信パケット判定処理
上述のATMセルの場合は、各セルのヘッダ部にVPI(Virtual Path Identifier)、およびVCI(Virtual Connection Identifier)が記述してあるので、これらを基に該セルが属するVP、あるいはVCを判別する事ができた。一方、IPパケットの場合は、ユーザが網との間に契約を行っている単位(VPに相当)は、IPパケットヘッダに記述されている送信元アドレス、宛先アドレスから、対応付けることができる。また、パケットの優先度は(VCに相当)、同じくIPパケットヘッダ内のTOS(Type of Service)フィールド(0〜2ビット目)に記述されている。
【0096】
本発明を適用したトラヒックシェーピング装置においては、パケットバッファ書込み回路1413で、受信したIPパケットのヘッダを参照し、該受信パケットの、転送先、優先度を決定し、パケットバッファ1411内に転送先毎、かつ優先度毎に設けられたキューにキューイングされる。
【0097】
(処理5)送信予定時刻計算(パケット送信時)
パケット送信信号93を受けた優先度予定時刻計算回路1431および契約予定時刻計算回路1441では、ATMセルの場合と同様に契約帯域に従った次のパケット送信予定時刻を計算する。このとき、ATMセルの場合とは異なり、パケット長が可変であるので、固定値の送信間隔を用いることができない。
【0098】
図17は、固定値の送信間隔を用いたときに、(1)パケット長が短いパケット1700、1701、1702を連続して送信した場合と、(2)パケット長が長いパケット1710、1711、1712を連続して送信した場合の送信間隔を示している。(1)の場合と(2)の場合を比較すると、(2)の場合の方が送信バイト数が多くなることが分かる。従って、可変長パケットに対するトラヒックシェーピングを行う場合、パケット長に応じて送信間隔を可変にする処理が必要となる。
【0099】
本発明においては、パケット長を識別するパケット長識別回路1499を備え、パケットバッファ読出し回路1414がパケットバッファ1411からIPパケットを読み出したときに、IPパケットヘッダに記述されているパケット長情報を参照する。参照したパケット長情報91は、優先度予定時刻計算回路1431および契約予定時刻計算回路1441に伝えられる。パケット長情報91を受けた優先度予定時刻計算回路1431および契約予定時刻計算回路1441では、例えば以下の計算を行い、予定送信時刻計算に用いる送信間隔を決定する。
【0100】
送信間隔=(基準送信間隔)×(送信IPパケット長)
ここで、基準送信間隔とは、シェーピング帯域で1バイト送信するための時間である。また、送信IPパケット長の単位はバイト数である。このように計算することで、送信パケットのバイト数の違いによるゆらぎを吸収することができる。ATM用のシェーピング装置を利用する場合には、ATMセルの送信間隔を基準として次式のように計算すればよい。
【0101】
送信間隔=(契約帯域によるATMセルの送信間隔)×(送信IPパケット長)/53
ここで、IPパケット長はバイト単位で表している。
【0102】
この様に53バイトで正規化することで、パケット長が短いIPパケットを送信した場合には次のパケット送信までの時間は短く、パケット長が長いIPパケットを送信した場合には次のパケット送信までの時間を長く空けることができる。従って、パケット長に関係なく契約帯域に従ったパケット送信間隔を短くすることができ、かつ契約帯域内で効率的な転送が可能となる。
【0103】
尚、以上の例では、IPパケットの優先度に基づいて契約帯域内を優先制御していたが、前記TOSフィールドの低遅延要求(3ビット目)、高スループット要求(4ビット目)、高信頼性情報(5ビット目)等の情報を用いてもよい。
【0104】
以上の例では、2段階にシェーピングする実施例を示したが、シェーピングの段数は3段階以上でもよい。3段階のシェーピングは、例えばATMの場合、VC内に複数の優先クラスを設けたい場合のVP帯域(3段目)、VC帯域(2段目)、VC内優先クラスの帯域(1段目)として用いることができる。このような帯域制御を行うことによって、ユーザが同一VC内に複数の上位アプリケーションを束ねているような場合にVC内の帯域を細かく制御することができる。また、3段階シェーピングのもう1つの例として、複数のユーザが複数のVPを使用したい場合のユーザ帯域(3段目)、VP帯域(2段目)、VC帯域(1段目)として用いることができる。また、4段階シェーピングは、例えば、ユーザ帯域(4段目)、VP帯域(3段目)、VC帯域(2段目)、VC内優先クラスの帯域(1段目)等に用いる。
【0105】
一般にn段階シェーピング(n:自然数)を行う場合には、送信予定時刻計算部とソーティング部をn組ずつ備え、2段階シェーピングで説明した処理と全く同じ処理を行えばよい。すなわち、各送信予定時刻計算部とソーティング部は、独立に送信予定時刻の計算を行い、必要であれば下位概念(VP、VCの場合はVPが上位概念、VCが下位概念)の送信予定時刻によって送信予定時刻を修正し、送信予定時刻をソーティングする。送信制御部は、最上位概念に対するソーティング部のソーティング結果から順に参照していき、すべてのソーティング部が送信可能状態になっている場合にのみ該当VCからセルを送信する。
【0106】
【発明の効果】
以上に述べた様に、本発明によれば、公衆ATM網とVP単位で契約した場合に、VPの契約帯域を守りつつ、該VPの帯域を有効に利用することができ、かつ同一VP内の複数のVC間で優先制御を行うことができるトラヒックシェーピング装置を提供することができる。また、一つのトラヒックシェーピング装置で複数の出力回線のシェーピングを行うことができるトラヒックシェーピング装置を提供することができる。更に、本発明はATMに特化した発明ではなく、可変長パケットに対するトラヒックシェーピングも行うことができる。
【図面の簡単な説明】
【図1】本発明を適用したトラヒックシェーピング装置の一実施例の構成を示すブロック図である。
【図2】回線とVPとVCの概念を示す図である。
【図3】本発明を適用したトラヒックシェーピング装置をVPシェーピング装置としてATM送信端末に適用した場合の構成を示す図である。
【図4】本発明を適用したトラヒックシェーピング部のセル受信・送信動作のフロー図である。
【図5】本発明を適用したトラヒックシェーピング部のタイムチャートである。
【図6】VPソーティング情報メモリ147の記憶書式およびVP用二分木との関係を示す図である。
【図7】VCソーティング情報メモリ137の記憶書式およびVC用二分木との関係を示す図である。
【図8】VP時刻修正回路142の構造を示す詳細なブロック図である。
【図9】VC用の二分木の各要素に記憶されている情報の関係を示す図である。
【図10】VC用の二分木の各要素に記憶されている情報の関係を示す図である。
【図11】一組の送信予定時刻計算回路およびソーティング回路を時分割で利用した場合のトラヒックシェーピング部のタイムチャートである。
【図12】本発明を適用したトラヒックシェーピング装置をVPシェーピング装置としてATM交換機に適用した場合の構成を示す図である。
【図13】本発明を適用したトラヒックシェーピング装置をトランク方式のシェーピング装置としてATM交換機に適用した場合の装置の構成を示す図である。
【図14】本発明を適用したIPパケット用トラヒックシェーピング装置の一実施例の構成を示すブロック図である。
【図15】ルータの構成の一例を示すブロック図である。
【図16】IPパケット用トラヒックシェーピング部の帯域制御の概念を示す図である。
【図17】パケット長と送信間隔の関係を示す図である。
【図18】本発明の実施例4で示す網構成を示す図である。
【図19】VP単位の契約を行っている場合の網構成を示す図である。
【符号の説明】
100、101:トラヒックシェーピング部、110:セルバッファ部、120:送信制御部、130:VC送信予定時刻計算部、135:VCソーティング部、140:VP送信予定時刻計算部、142:VP時刻修正回路、145:VPソーティング部、300:ATM送信端末、301、302:ATM交換機、310、311:スイッチ部、320〜326:回線インタフェース部、330〜333ATM端末、340:公衆ATM網、350:SAR(上位パケット・ATMセル変換回路)、360:上位層処理部、1400:IPパケット対応トラヒックシェーピング装置、1499:パケット長識別回路。
Claims (2)
- 受信したセルを一時的に蓄積するバッファと、
VC(Virtual Connection)毎に、契約帯域に応じてデータ送信間隔を制御するVCシェーピング部と、
VP(Virtual Path)毎に、契約帯域に応じてデータ送信間隔を制御するVPシェーピング部と、
各VC内には複数の優先クラスが設けられており、各VCの優先クラス毎に、契約帯域に応じてデータ送信間隔を制御する優先クラス対応のシェーピング部と、 上記VCシェーピング部、上記VPシェーピング部、及び上記優先クラス対応のシェーピング部でセル送信可能状態になった後、上記バッファからセルを読み出し送信する制御部とを有するトラヒックシェーピング装置。 - 受信したセルを一時的に蓄積するバッファと、
VC(Virtual Connection)毎に、契約帯域に応じてデータ送信間隔を制御するVCシェーピング部と、
VP(Virtual Path)毎に、契約帯域に応じてデータ送信間隔を制御するVPシェーピング部と、
複数のユーザが複数のVPを使用する場合に、ユーザ毎に、データ送信間隔を制御するユーザ対応シェーピング部と、
上記VCシェーピング部、上記VPシェーピング部、及び上記ユーザ対応のシェーピング部でセル送信可能状態になった後、上記バッファからセルを読み出し送信する制御部とを有するトラヒックシェーピング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15900999A JP3714036B2 (ja) | 1999-06-07 | 1999-06-07 | 通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15900999A JP3714036B2 (ja) | 1999-06-07 | 1999-06-07 | 通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000349763A JP2000349763A (ja) | 2000-12-15 |
JP3714036B2 true JP3714036B2 (ja) | 2005-11-09 |
Family
ID=15684260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15900999A Expired - Lifetime JP3714036B2 (ja) | 1999-06-07 | 1999-06-07 | 通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3714036B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1482710A4 (en) * | 2002-04-08 | 2009-12-09 | Mitsubishi Electric Corp | APPARATUS AND METHOD FOR DATA TRANSMISSION |
JP4214919B2 (ja) | 2004-01-16 | 2009-01-28 | 株式会社日立製作所 | 帯域制御機能を有するストレージスイッチ |
JP4409401B2 (ja) | 2004-10-08 | 2010-02-03 | 株式会社日立製作所 | パケット転送装置及びストレージシステム |
JP2006262417A (ja) * | 2005-03-18 | 2006-09-28 | Fujitsu Ltd | 通信速度制御方法及びその装置 |
JP4404848B2 (ja) * | 2005-12-05 | 2010-01-27 | Necアクセステクニカ株式会社 | 帯域制限方法および装置、それを用いたネットワーク通信機器 |
JP4753909B2 (ja) * | 2007-04-12 | 2011-08-24 | アラクサラネットワークス株式会社 | トラヒックシェーピング回路、端末装置及びネットワークノード |
-
1999
- 1999-06-07 JP JP15900999A patent/JP3714036B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000349763A (ja) | 2000-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3711752B2 (ja) | パケット通信装置 | |
JP3733784B2 (ja) | パケット中継装置 | |
US7283532B2 (en) | Hierarchical scheduler architecture for use with an access node | |
US6389031B1 (en) | Methods and apparatus for fairly scheduling queued packets using a ram-based search engine | |
US5953318A (en) | Distributed telecommunications switching system and method | |
US6442164B1 (en) | Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic | |
US6097698A (en) | Cell loss balance system and method for digital network | |
US6370144B1 (en) | Methods and apparatus for shaping queued packets using a two-dimensional RAM-based search engine | |
EP1096735B1 (en) | Method and unit for control of communication | |
EP1414197B1 (en) | Multicasting system and method for use in an access node's ATM switch fabric | |
JP3714036B2 (ja) | 通信装置 | |
US8072885B2 (en) | Traffic shaping circuit, terminal device and network node | |
JP4123988B2 (ja) | 通信装置 | |
JP4135007B2 (ja) | Atmセル転送装置 | |
KR100478812B1 (ko) | 에이티엠 스위치 패브릭에서의 패킷 처리 제어 구조 및 방법 | |
JP5350433B2 (ja) | ネットワーク装置 | |
Lemercier et al. | A performance study of a new congestion management scheme in ATM broadband networks: the multiple push-out | |
Ng et al. | Incorporating priority scheme in IPv6 over ATM networks | |
JPH0795212A (ja) | Atm交換システムにおける輻輳制御方式 | |
JP2001168869A (ja) | 帯域共用制御方法 | |
JP2001007808A (ja) | トラヒックシェーピング装置 | |
JP2000286864A (ja) | 保証帯域付きatmスイッチング回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050526 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050815 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3714036 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080902 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090902 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100902 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110902 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120902 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130902 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |