JP3623907B2 - セルシェーピング装置 - Google Patents
セルシェーピング装置 Download PDFInfo
- Publication number
- JP3623907B2 JP3623907B2 JP2000082691A JP2000082691A JP3623907B2 JP 3623907 B2 JP3623907 B2 JP 3623907B2 JP 2000082691 A JP2000082691 A JP 2000082691A JP 2000082691 A JP2000082691 A JP 2000082691A JP 3623907 B2 JP3623907 B2 JP 3623907B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- time
- parameter value
- tet
- tat
- 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 - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、ATMセル等の固定長パケット(セル)に対するセルシェーピング装置に関し、特に、GCRA(Generic Cell Rate Algorithm)方式で実現されたセルシェーピング装置に適用して有効な技術である。
【0002】
【従来の技術】
セルシェーピング装置とは、コネクション毎に定められたトラヒック特性値に適合する様に、必要に応じてセルに遅延時間を付与する装置のことである。
【0003】
従来の、シェーパの実現方式には、原理的に異なる2つの方式が存在する。一つはトークン方式、もう一つはGCRA方式である。
【0004】
従来のトークン方式によるセルシェーピング装置(以下、シェーパと記す)100の実現例を図14に示す。従来のトークン方式によるシェーパ100は、図14に示すように、入力手段101、キュー102,103、送信タイミング生成手段104,105、調停手段106から構成される。
【0005】
この図14に示す実現例において、従来のトークン方式によるシェーパ100の動作を説明する。シェーパに到着したセルは、入力手段101によってセルが所属するコネクションに対応したキュー102,103等に格納される。ここで、コネクションとはセルヘッダに含まれるVPI及びVCIフィールドの一部、あるいは全部によって識別される仮想的なパスやチャネルを意味する。
【0006】
キュー102,103は、先頭から到着順にセルを格納するもので、コネクション対応に存在する。
【0007】
送信タイミング生成手段104,105は、各々キュー102,103等の先頭のセルが送信可能となったことを示すタイミング信号を生成するもので、コネクションに対応したキュー毎に存在する。また、送信タイミング生成手段104,105は、コネクション毎のトラヒック特性値に応じて、クロック信号を分周することによってタイミング信号を生成する方式で実現できる。このことは、特願平10−18457号や特願平10−281500号の明細書に開示されている。
【0008】
調停手段106は、セルが送信可能となったことを示すタイミング信号が生成されたキューの先頭から、セルを取り出して回線に送信する。この際に、セルが送信可能となったキューが複数存在する場合、調停手段106は、キュー間に予め設定された固定優先度、ラウンドロビン、ランダムやこれらの組み合わせ等の調停規則に基づいてセルを取り出すキューを選択する。
【0009】
次に、従来のGCRA方式によるシェーパ200の実現例を図15に示す。
【0010】
従来のGCRA方式によるシェーパ200は、図15に示すように、トラヒック特性値,パラメータ値を記憶する記憶手段201、時計手段202、スケジューリング手段203、セル送信手段204から構成される。
【0011】
この図15に示す実現例において、従来のGCRA方式によるセルシェーピング装置(シェーパ)200の動作を説明する。
【0012】
記憶手段201は、コネクション毎のトラヒック特性値,パラメータ値を記憶する手段で、コネクションの識別子の値でアドレッシングされる配列で構成される。ここで、コネクションとはセルヘッダに含まれるVPI及びVCIフィールドの一部、あるいは全部によって識別される仮想的なパスやチャネルを意味する。
【0013】
図15に示すように、セルがシェーパに到着した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶手段201から、到着したセルのコネクションに対応したこれらの値がスケジューリング手段203に入力される。
【0014】
スケジューリング手段203は、入力されたトラヒック特性値,パラメータ値、及び時計手段202が計数する現在時刻に基づいて、到着したセルの送信可能時刻を決定してセル送信手段204に出力する。
【0015】
同時に、スケジューリング手段203は、パラメータ値の更新値を決定して、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶手段201に出力し、記憶されているパラメータ値を更新する。
【0016】
セル送信手段204は、シェーパにセルが到着した際に、到着したセルとスケジューリング手段203によって決定したセルの送信可能時刻を対で記憶する。
【0017】
セル送信手段204は、時計手段202が計数する現在時刻に基づいて、記憶されているセルの中から送信可能時刻が現在時刻以前となるセルを検出して、そのセルを回線に送信する。
【0018】
次に、従来のGCRA方式によるシェーパ200のスケジューリング手段203の動作例について説明する。図16は、図15に示すスケジューリング手段203の動作例を示すフローチャートである。このスケジューリング手段203の動作については、例えば、Kan Toyoshima、”CDV Reduction Shaping Algorithm in ATM Networks、” IEICE Trans. Commun., Vol. E79−B、 No. 4、 Apr. 1996に開示されている。
【0019】
この図16に示すフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をTET、セルの送信可能時刻をtsとしている。
【0020】
従来のGCRA方式によるシェーパのスケジューリング手段203は、まず、セルがシェーパ200に到着した際に、このセルが所属するコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TETの入力を受ける。
【0021】
スケジューリング手段203は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TET、及び時計手段が202が計数する現在時刻taに基づいて、図16のフローチャートに示された動作を開始する。
【0022】
ta≦TETの関係が成立する場合は、セルの送信可能時刻tsをTETとし、パラメータの値TETをTET+Tに更新する(ステップ301、303、306)。
【0023】
ta>TETの関係が成立する場合は、セルの送信可能時刻tsをtaとする(ステップ301、302)。この場合、さらにta≦TET+τ、の関係が成立する場合は、パラメータの値TETをTET+Tに更新する(ステップ304、306)。
【0024】
ta>TET+τの関係が成立する場合は、パラメータの値TETをta−τ+Tに更新する(ステップ304、305、306)。
【0025】
このように決定したセルの送信可能時刻tsは、セル送信手段204に出力される。また、更新されたパラメータの値TETは、コネクション毎のトラヒック特性値,パラメータを記憶する記憶手段201に出力され、記憶されているパラメータ値が更新される。
【0026】
次に、従来のGCRA方式によるシェーパのセル送信手段204の動作例につい説明する。図17は、図15のセル送信手段204の実現例を示した図であり、一般に、リングバッファ方式と呼ばれる。このことについては、例えば、Pierre Boyer、 Fabrice Guillemin、 Michel Servel、Jean−Pierre Coudreuse、”Speceing Cells Protects and Enhances Utilization of ATM Network Links” IEEE Network、Vol.6、No.5、Sep.1992.の文献に開示されている。
【0027】
図17に示す401は現在時刻に対応するバッファを示すポインタ、402,403,404はセルを格納するバッファ1,2,Nである。
【0028】
図17を用いて、従来のGCRA方式によるシェーパ200のセル送信手段204の動作をリングバッファ方式によって説明する。
【0029】
リングバッファ方式とは、回線上で1セルの転送に要する時間(STM−1/STS−3c回線で約2.7μ秒)を1タイムスロットとし、図17に示すように、タイムスロットに対応するセルを格納するバッファを環状に並べ、現在時刻に対応するタイムスロットのセルを順次送信する方式である。
【0030】
具体的には、図17において、現在時刻に対応するバッファを示すポインタ401が示すバッファは、現在時刻のタイムスロットに対応するセルを格納する。ここで、1タイムスロットに要する時間で正規化された時刻、即ち(時刻/1タイムスロットに要する時間)を正規化時刻と呼ぶものとし、図17における正規化された現在時刻をt、バッファの数をNとすると、このバッファの右隣のバッファは送信可能時刻が正規化時刻t+1、左隣のバッファは正規化時刻t+N−1となるセルを格納する。
【0031】
また、現在時刻に対応するバッファを示すポインタ401は、時計手段202が計数する時刻に基づいて更新される。
【0032】
リングバッファは、シェーパにセルが到着した際に、スケジューリング手段203によって決定したセルの送信可能時刻に対応するタイムスロットのバッファに到着セルを格納することによって、到着したセルと送信可能時刻を対で記憶する。但し、送信可能時刻に対応するタイムスロットのバッファに既に他のセルが格納されている場合は、時刻順に空きのバッファを検索して、最も近い空きのバッファにセルを格納する。リングバッファは、現在時刻に対応するバッファを示すポインタ401によって示されるバッファのセルを回線に送信することによって、リングバッファに格納されているセルの中から送信可能時刻が現在時刻以前となるセルを検出して回線に送信する。
【0033】
従来のGCRA方式によるシェーパのセル送信手段204の第2の動作例について説明する。図18は、図15に示すセル送信手段204の実現例を示した図であり、一般にカレンダ方式と呼ばれる。このことについては、例えば、Eugen Wallmeier、 Tom Worster、 ”The spacing Policser、 An Algorithm for Efficient Peak Bit Rate Control in ATM Networks,”ISS 1992、Oct.1992.の文献に開示されている。
【0034】
図18に示す501は現在時刻に対応するリストを示すポインタ、502,503,504は各々セルを格納するリストである。ここに示すリストとは、順序関係のある要素を記憶する際に用いられるデータ構造のことで、リストの先頭の要素を示すポインタ、後尾の要素を示すポインタ、リストに記憶される要素から成り、更に、各要素は格納される情報、及び次の要素を示すポインタから成る。例えば、505はリスト1(502)の後尾の要素、506はリスト1(502)の先頭の要素である。
【0035】
また、図18では、リストに格納される要素の情報はセルとなる。507は送信可能時刻に達したセルを格納する送信リストである。
【0036】
従来のGCRA方式によるシェーパ200のセル送信手段204の動作をカレンダ方式によって説明する。
【0037】
カレンダ方式とは、回線上で数セルの転送に要する時間を1タイムスロットとし、図18に示すように、タイムスロットに対応するセルを格納するリストを環状に並べ、送信可能時刻に達したタイムスロットに対応するリストに格納された全てのセルを送信リストの後尾に移動する方式である。具体的には、図18において、現在時刻に対応するリストを示すポインタ501が示すリストは、現在時刻のタイムスロットに対応するセルを格納する。ここで、1タイムスロットに要する時間で正規化された時刻、即ち(時刻/1タイムスロットに要する時間)を正規化時刻と呼ぶものとし、図18における正規化された現在時刻をt、リストの数をNとすると、このリストの右隣のリストは送信可能時刻が正規化時刻t+1、左隣のリストは正規化時刻t+N−1となるセルを格納する。
【0038】
また、現在時刻に対応するリストを示すポインタ501は、時計手段202が計数する時刻に基づいて更新される。カレンダは、シェーパ200にセルが到着した際に、スケジューリング手段203によって決定したセルの送信可能時刻に対応するタイムスロットのリストの最後尾に、到着したセルをリストの要素として順次付け加えて格納することによって、到着したセルと送信可能時刻を対で記憶する。
【0039】
カレンダは、現在時刻に対応するリストを示すポインタ501によって示される、送信可能時刻に達したタイムスロットに対応するリストに格納された全てのセルを送信リストの後尾に移動し、送信リストに格納されたセルを、先頭から順に回線に送信することによって、カレンダに格納されているセルの中から送信可能時刻が現在時刻以前となるセルを検出して送信可能時刻が最も早いセルから送信可能時刻順に回線に送信する。
【0040】
従来のGCRA方式によるシェーパ200のセル送信手段204の第3の動作例について説明する。図19は、図15のセル送信手段204の実現例を示した図であり、一般にシーケンサ方式と呼ばれる。このことについては、例えば、Jonathan Chao、 ”A General Architecture for Link−Layer Congestion Control in ATM Networks、” ISS 1992、Oct.1992.の文献に開示されている。
【0041】
図19に示す601,602はセルを格納するバッファ、603はセルを格納するバッファヘのポインタ、604はセルの送信可能時刻に対応するタイムスロット値、605はポインタとタイムスロット値を要素とする配列構造、606は到着したセルを格納するバッファ、607は到着したセルを格納するバッファへのポインタ、608は到着したセルの送信可能時刻に対応するタイムスロット値、609はブロードキャストバスである。
【0042】
従来のGCRA方式によるシェーパ200のセル送信手段204の動作をシーケンサ方式によって説明する。シーケンサ方式とは、回線上で1セルの転送に要する時間を1タイムスロットとし、図19に示すように、送信可能時刻の決定したセルをバッファに格納し、セルを格納するバッファヘのポインタとそのセルの送信可能時刻に対応するタイムスロット値から成る要素をタイムスロット値の順にソートする方式である。
【0043】
シーケンサ方式では、主にポインタとタイムスロット値を要素とする配列構造で構成され、図19に示す例では右側から送信可能時刻順に要素がソートされている。具体的には、図19において、ポインタとタイムスロット値を要素とする配列構造605の各要素は隣の要素にシフトすることが可能な構造となっている。シーケンサは、シェーパ200にセルが到着した際に、到着したセルを格納するバッファ606にセルを格納し、このバッファを示すように到着したセルを格納するバッファヘのポインタ607を設定し、スケジューリング手段203によって決定したセルの送信可能時刻に対応するタイムスロットの値を、到着したセルの送信可能時刻に対応するタイムスロット値608に設定することによって、到着したセルと送信可能時刻を対で記憶する。
【0044】
次に、シーケンサ方式では、到着したセルの送信可能時刻に対応するタイムスロット値608を、ブロードキャストバス609を用いてポインタとタイムスロット値を要素とする配列構造605内の各要素のタイムスロット値と並列に比較し、配列構造605内の各要素のタイムスロット値が、到着したセルの送信可能時刻に対応するタイムスロット値608以降となる最初の要素の位置を挿入位置として、それ以降の全ての要素を左側にシフトし、到着したセルを格納するバッファへのポインタ607と到着したセルの送信可能時刻に対応するタイムスロット値608を挿入位置に格納することによって、要素を送信可能時刻順にソートする。
【0045】
シーケンサ方式では、配列構造605の最も右の要素のタイムスロット値と、時計手段202が計数する時刻に対応するタイムスロット値を比較し、後者の値が前者の値以前となる場合は、最も右の要素のポインタが示すバッファに格納されたセルを回線に送信し、最も右の要素を配列構造605から削除し、残りの要素を右側にシフトすることによって、シーケンスに格納されているセルの中から送信可能時刻が現在時刻以前となるセルを検出して送信可能時刻が最も早いセルから送信可能時刻順に回線に送信する。
【0046】
以上から明らかな通リ、従来のトークン方式によるシェーパ100の送信タイミング生成手段104,105は、コネクション毎のトラヒック特性値に基づいたクロック信号によって、キューの先頭のセルが送信可能となったことを示すタイミング信号を生成していた。
【0047】
また、従来のGCRA式によるシェーパ200のスケジューリング手段204は、シェーパにセルが到着した際にコネクションに応じた送信可能時刻を決定し、決定された送信可能時刻に基づいてパラメータの更新を行っていた。
【0048】
このため、従来のトークン方式のシェーパ100には、複数のコネクションが送信可能となるタイミングや時刻が同一となった場合、キューの先頭のセルが送信可能となったことを示すタイミング信号の生成から実際にセルが送信されるタイミングに対して遅延時間が発生する可能性がある。
【0049】
また、従来のGCRA方式のシェーパ200では、セルの送信可能時刻から実際にセルが送信される時刻に対して遅延時間が発生する可能性があり、多数のコネクションに対してシェーピングを行う場合、これらの遅延時間が無視し得ない値となる可能性がある。例えば、4096コネクションに対するシェーピングを行っているシェーパにおいて、512コネクションの送信タイミングや送信可能時刻が同一となった場合、発生する遅延時間の最悪値は511セル時間となる。ここで、1セル時間とは、回線上で1セルの転送に要する時間(STM−1/STS−3c回線で約2.7μ秒)とする。
【0050】
一方、従来のトークン方式によるシェーパ100の送信タイミング生成手段104,105は、キューの先頭のセルが送信可能となったことを示すタイミング信号の生成から、実際にセルが送信されるタイミングにおける遅延時間に係わらず、コネクション毎のトラヒック特性値に基づいたクロック信号に基づいて、タイミング信号を生成している。
【0051】
また、従来のGCRA方式によるシェーパ200のスケジューリング手段203は、シェーパにセルが到着した際にコネクションに応じた送信可能時刻を決定し、セルの送信可能時刻からセルが実際に送信される時刻の間の遅延時間に係わらず、決定された送信可能時刻に基づいてパラメータの更新を行っている。
【0052】
以上をまとめると、従来のシェーパには、あるコネクションに属するセルが送信可能となるタイミングや時刻から、実際にセルが送信されるタイミングや時刻の間に遅延時間が発生する可能性があるにも係わらず、送信タイミング生成手段やスケジューリング手段がこの遅延時間を考慮しない方式となっている。
【0053】
このため、遅延時間が発生したコネクションに引き続き送信可能となるタイミングや時刻を待っているセルが存在する場合、遅延が生じたセルとこのセルの送信間隔は、遅延が生じなかった場合と比較して短くなり、セル遅延時間のゆらぎが許容値を越える可能性があるという問題点がある。例えば、4096コネクションに対するシェーピングを行っているシェーパにおいて、512コネクションの送信タイミングや送信可能時刻が同一となった場合、これらのコネクションにおける遅延時間は0から511セル時間となる。
【0054】
一方、コネクションにおいて許容されるセル遅延時間のゆらぎの値が256セル時間であった場合、遅延時間が発生したコネクションに引き続き送信可能となるタイミングや時刻を待っているセルが存在すれば、セル遅延時間のゆらぎが許容値を越える可能性がある。この問題はシェーパにおけるクランピングの問題点として知られている。
【0055】
従来のGCRA方式によるシェーパ200のスケジューリング手段203におけるクランピングの解決方法について説明する。図20は、図15のスケジューリング手段203の動作例を示すフローチャートであり、セル送信手段204としてリングバッファ方式を用いることを前提としている。このことについては、例えば、Fabrice Guillemin、 Pierre Boyer、 Luc Romoeuf、 ”The Spacer−Controller: Architecture and First Assesments、” Proc. of the IFIP TC6 Workshop on Broadband Communications、Jan.1992の文献に開示されている。
【0056】
この図20に示すフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をLRT、セルの送信可能時刻をts、リングバッファにおいてセルが格納されたバッファのタイムスロットに対応する時刻をteとしている。
【0057】
従来のGCRA方式によるシェーパ200のスケジューリング手段203は、図20に示すように、まず、セルがシェーパに到着した際に、このセルが所属するコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値LRTの入力を受ける。
【0058】
スケジューリング手段203は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値LRT、及び時計手段202が計数する現在時刻taに基づいて、図20のフローチャートに示された動作を開始する。
【0059】
最初にtsの値をLRT+Tとする(ステップ701)。次に、ts<taの関係が成立する場合は、tsの値をtaとし(ステップ702、703)、ts<taの関係が成立しない場合で、ts>ta+τの関係が成立する場合は、セルを廃棄し(ステップ702、704、705)、ts<taの関係が成立しない場合で、ts>ta+τの関係も成立しない場合は、tsの値は変更しない(ステップ702、704)。
【0060】
決定したセルの送信可能時刻tsは、リングバッファ方式で実現されたセル送信手段204に出力される。
【0061】
リングバッファ方式で実現きれたセル送信手段204は、tsに対応するタイムスロットのバッファが空きの場合はそのバッファに、tsに対応するタイムスロットのバッファに既に他のセルが格納されている場合は、それ以降のタイムスロットのバッファにセルを格納し、セルが格納されたバッファのタイムスロットに対応する時刻teをスケジューリング手段203に返し、LRTの値をteに更新する(ステップ706)。更新されたパラメータの値LRTは、コネクション毎のトラヒック特性値,パラメータ値を記憶する手段201に出力され、記憶されているパラメータ値が更新される。
【0062】
以上のアルゴリズムに基づくスケジューリング手段203は、パラメータの値をセルが実際に送信される時刻に基づいて更新することによって、セルの送信可能時刻から実際にセルが送信される時刻の間の遅延時間を考慮しているため、従来のGCRA方式によるシェーパにおけるクランピングの問題を解決することができる。
【0063】
しかし、このスケジューリング手段203は、リングバッファ方式における、セルの格納時にセルが実際に送信される時刻が決定される性質を利用しているため、カレンダ方式やシーケンサ方式等の、セルの格納時にはセルが実際に送信される時刻が決定されない性質を持つセル送信手段とは組み合わせて使用することができない。
【0064】
リングバッファ方式では、セルを送信するタイムスロットを、送信可能時刻以降の最初の空きスロットに決定するため、リングバッファに先に到着した送信可能時刻が遅い時刻のセルが、後に到着した送信可能時刻の早いセルの前のタイムスロットに格納される可能性があり、実際に送信されるセルが必ずしも送信可能時刻順とはならず、セルの送信順序が逆転する可能性がある。
【0065】
一方、カレンダ方式によるセル送信手段204は、送信可能時刻に対応するタイムスロットのリストの最後尾に順次セルを付け加えて格納する。
【0066】
また、シーケンサ方式によるセル送信手段204は、セルを格納するバッファへのポインタとそのセルの送信可能時刻から成る要素を送信可能時刻順にソートするため、これらのセル送信手段では実際に送信されるセルは必ず送信可能時刻順となり、セルの送信順序が逆転する可能性は存在しない。
【0067】
このため、以上のアルゴリズムに基づくスケジューリング手段203は、セル送信手段204としてリングバッファ方式を用いることを前提としているため、セルの送信順序が逆転する可能性がある。
【0068】
従来のトークン方式のシェーパ100の送信タイミング生成手段104,105におけるクランピングの解決方法は例えば、特開平9−130398号公報に開示されている。図14に示された、従来のトークン方式のシェーパ100の実現例における送信タイミング生成手段104、105は上記公報におけるセル送出要求手段、及びコネクション管理手段に相当する。
【0069】
また、調停手段106は上記公報におけるセル多重化制御手段、及びセル送出手段に相当する。上記公報におけるセル多重化制御手段は、セル送出要求信号の選択又は非選択を表す競合結果情報を、該当するセル送出要求手段に返送する競合結果送信部を備えている。
【0070】
また、セル送出要求手段は、送信された競合結果情報が自己が送出したセル送信要求信号の競合制御での負けを表している場合に、次セル送信要求タイミングをセル転送間隔だけ遅らせるようにセル送信カウント時間の値を操作する手段を備えている。
【0071】
このため、上記公報におけるトークン方式のシェーパ100の実現例では、複数のコネクションが送信可能となるタイミングが同一となり、同時に複数のセル送出要求手段からセル送出要求信号がセル多重化制御手段に入力され、競合制御の結果セル送出要求信号の発生から実際にセルが送出されるタイミングの間に遅延時間が発生しても、セル送出要求手段は次セル送信要求タイミングをセル転送間隔だけ遅らせることによって遅延時間を考慮することができる。
【0072】
【発明が解決しようとする課題】
上記従来のGCRA方式で実現されたシェーパにおけるクランピングの解決方法では、セル送信手段としてリングバッファ方式を用いることを前提としていた。
【0073】
しかし、リングバッファ方式では、セルを送信するタイムスロットを、送信可能時刻以降の最初の空きスロットに決定するため、リングバッファに先に到着した送信可能時刻が遅い時刻のセルが、後に到着した送信可能時刻の早いセルの前のタイムスロットに格納される可能性があり、実際に送信されるセルが必ずしも送信可能時刻順とはならず、セルの送信順序が逆転するという問題点があった。
【0074】
また、従来のGCRA方式で実現されたシェーパにおけるクランピングの解決方法では、セルの格納時にセルが実際に送信される時刻が決定されるリングバッファ方式の性質を利用しているため、セル送信順序の逆転を抑止できるカレンダ方式やシーケンサ方式等を用いた、セルの格納時にセルが実際に送信される時刻が決定されない性質を持つセル送信手段とは組み合わせて使用することができない。
【0075】
上記従来のトークン方式によるシェーパでは、セルの送信順序の逆転が生じることなく、クランピングの問題を解決することができるが、上記従来技術で述べた通り、個々のコネクション毎にセルの送信が可能となるタイミングを生成することによってシェーパを実現するトークン方式と、個々のコネクション毎にセルの送信可能時刻を計算し、時計手段が計数する現在時刻に基づいて送信可能時刻が現在時刻以前となるセルを検出して、そのセルを回線に送信するGCRA方式は、根本的に動作原理が異なる方式である。
【0076】
このため、トークン方式のシェーパにおけるクランピング問題の解決方法は、GCRA方式によるシェーパには適用できない。
【0077】
以上のことから、従来のGCRA方式で実現されたシェーパでは、クランピング問題の解決と、セルの送信順序の逆転を抑止を同時に満足することができなかったという問題点があった。
【0078】
本発明は、この問題点を解決するために成されたものであり、その目的は、クランピング問題を解決し、かつセルの送信順序の逆転を抑止するGCRA方式のシェーピング装置を提供することにある。
【0079】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【0080】
【課題を解決するための手段】
本願において開示される発明の概要を簡単に説明すれば、下記のとおりである。
【0081】
(1)コネクション毎のトラヒック特性値及びパラメータ値を記憶する記憶手段と、現在時刻を計数する時計手段と、到着したセルが所属するコネクションに対応した前記トラヒック特性値、前記パラメータ値、及び時計手段が計数する現在時刻に基づいて、前記セルの送信可能時刻を決定し、前記パラメータ値の更新を行うスケジューリング手段と、前記スケジューリング手段によって送信可能時刻が決定されたセルから、前記時計手段が計数する現在時刻に基づいて、前記送信可能時刻が現在時刻以前となるセルを検出し、前記セルを回線に送信するセル送信手段とを備えたセルシェーピング装置であって、前記各コネクション毎に設けられ、先頭から到着順にセルを格納するキューと、到着したセルを前記セルが所属するコネクションに対応したキューに格納する入力手段とを備え、前記スケジューリング手段は、前記キューに格納されたセルが前記キューの先頭に達した際に、前記セルの送信可能時刻を計算して決定する手段と、前記セル送信手段がセルを回線に送信する際に、前記セルが所属するコネクションに対応するパラメータ値を更新する手段とを備え、前記セル送信手段は、前記スケジューリング手段が決定した送信可能時刻が現在時刻以前となるセルを検出し、前記送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信する手段を備える。
【0082】
(2)(1)のセルシェーピング装置において、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTAT、前記セルの送信可能時刻をtsとすると、前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、ta<TAT−τの関係が成立する場合に、セルの送信可能時刻tsをTAT−τとし、TAT−τ≦taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TATを更新する際に、te<TATの関係が成立する場合に、パラメータの値TATをTAT+Tに更新し、TAT≦teの関係が成立する場合に、パラメータの値TATをte+Tに更新する手段を有する。
【0083】
(3)(1)のセルシェーピング装置において、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTAT、前記セルの送信可能時刻をtsとすると、前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、ta≦TAT−τの関係が成立する場合に、セルの送信可能時刻tsをTAT−τとし、TAT−τ<taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TATを更新する際に、te≦TATの関係が成立する場合に、パラメータの値TATをTAT+Tに更新し、TAT<teの関係が成立する場合に、パラメータの値TATをte+Tに更新する手段を有する。
【0084】
(4)(1)のセルシェーピング装置において、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTET、前記セルの送信可能時刻をtsとすると、前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、ta<TETの関係が成立する場合に、セルの送信可能時刻tsをTETとし、TET≦taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TETを更新する際に、te<TET+τの関係が成立する場合に、パラメータの値TETをTET+Tに更新し、TET+τ≦teの関係が成立する場合に、パラメータの値TETをte−τ+Tに更新する手段を有する。
【0085】
(5)(1)のセルシェーピング装置において、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTET、前記セルの送信可能時刻をtsとすると、前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、ta≦TETの関係が成立する場合に、セルの送信可能時刻tsをTETとし、TET<taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TETを更新する際に、te≦TET+τの関係が成立する場合に、パラメータの値TETをTET+Tに更新し、TET+τ<teの関係が成立する場合に、パラメータの値TETをte−τ+Tに更新する手段を有する。
【0086】
このように、上記本発明のセルシェーピング装置では、先頭から到着順にセルを格納するキューをコネクション毎に有し、到着したセルをそのセルが所属するコネクションに対応したキューに格納する入力手段を有し、キューに格納されたセルがそのキューの先頭に達した際に、スケジューリング手段がそのセルの送信可能時刻を決定し、セル送信手段が送信可能時刻が現在時刻以前となるセルを検出した際に、その送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信し、セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新するため、あるコネクションに属するセルが送信可能となる時刻から、実際にセルが送信される時刻の間に遅延時間が発生した場合であっても、パラメータの値をセルが実際に送信される時刻に基づいて更新することにより、セルの送信可能時刻から実際にセルが送信される時刻の間の遅延時間を考慮しており、クランピングの問題を解決することが可能となる。
【0087】
かつ、キューに格納されたセルがそのキューの先頭に達した際に、スケジューリング手段がそのセルの送信可能時刻を決定し、セル送信手段が送信可能時刻が現在時刻以前となるセルを検出した際に、その送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信し、セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新することにより、セルがキューに格納される際に、セルが実際に送信される時刻を決定しないので、セル送信手段はセルを送信可能時刻順に送信することができ、セルが送信可能順にソートされないことによって生じるセルの送信順序の逆転を抑止することが可能になる。
【0088】
【発明の実施の形態】
以下に、本発明の実施の形態を図面を参照して説明する。
【0089】
図1は、本発明の一実施形態にかかるセルシェーピング装置(シェーパ)の構成を説明するための図である。
【0090】
図1に示すように、本発明の実施形態にかかるシェーパ800は、トラヒック特性値,パラメータ値を記憶する記憶部801と、現在時刻を計数する時計部802と、セルの送信可能時刻の決定及びパラメータ値の更新を行うスケジューリング部803と、セルの送信を行うセル送信部804と、セルを送信するコネクション毎に設けられたキュー805,806、コネクションからセルをキュー805,806に入力する入力部807とを備える。
【0091】
次に本実施形態のシェーパ800の動作について詳細に説明する。
【0092】
記憶部801はコネクション毎のトラヒック特性値,パラメータ値を記憶する記憶手段であり、コネクションの識別子の値でアドレッシングされる配列で構成される。ここで、コネクションとはセルヘッダに含まれるVPI及びVCIフィールドの一部、あるいは全部によって識別される仮想的なパスやチャネルを意味する。
【0093】
図1に示すように、シェーパ800に到着したセルは、入力部807によってセルが所属するコネクションに対応したキュー805,806等に格納される。
【0094】
キュー805、806は、先頭から到着順にセルを格納するもので、各コネクション毎にそれぞれ独立して設けられる。セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したこれらの値がスケジューリング部803に入力される。
【0095】
スケジューリング部803は、入力されたトラヒック特性値,パラメータ値、及び時計部802が計数する現在時刻に基づいて、キューの先頭に達したセルの送信可能時刻を決定してセル送信部804に出力する。
【0096】
セル送信部804は、キューの先頭のセルへのポインタ情報とスケジューリング部803によって決定したセルの送信可能時刻を対で記憶する。
【0097】
セル送信部804は、時計部802が計数する現在時刻に基づいて、送信可能時刻が現在時刻以前となるセルのポインタ情報を検出して、ポインタで示されるセルをキューの先頭から送信可能時刻順に取り出して回線に送信する。セルを回線に送信する際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、送信するセルのコネクションに対応したこれらの値がスケジューリング部803に入力される。
【0098】
スケジューリング部803は、入力されたトラヒック特性値,パラメータ値、及び時計部802が計数する現在時刻に基づいて、パラメータ値の更新値を決定して、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力し、記憶されているパラメータ値を更新する。
【0099】
なお、トラヒック特性値,パラメータ値を記憶する記憶部801、時計部802は、従来のGCRA方式によるシェーパのパラメータ値を記憶する記憶手段、及び時計手段を用い、また、キュー805,806、入力部807は、従来のトークン方式によるシェーパのキュー、及び入力手段を用いるので、その動作に関する説明は省略する。
【0100】
次に、本実施形態のスケジューリング部803の動作を図2及び図3を用いて説明する。図2及び図3はスケジューリング部の動作例を示すフローチャートである。
【0101】
まず、セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したこれらの値がスケジューリング部803に入力されると、その入力されたトラヒック特性値,パラメータ値、及び時計部802が計数する現在時刻に基づいて、図2のフローチャートに示された以下の動作を開始する。
【0102】
スケジューリング部803は、従来のGCRA方式によるシェーパのスケジューリング手段の動作に従って、セルの送信可能時刻を決定し(ステップ901)、その決定したセルの送信可能時刻は、セル送信部804に出力される。
【0103】
セルが回線に送信される際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、送信するセルのコネクションに対応したこれらの値がスケジューリング部803に入力される。
【0104】
スケジューリング部803は、入力されたトラヒック特性値,パラメータ値、及び時計部802が計数する現在時刻に基づいて、図3のフローチャートに示された以下の動作を開始する。
【0105】
スケジューリング部803は、従来のGCRA方式によるシェーパのスケジューリング手段の動作に従って、パラメータ値の更新値を決定し(ステップ1001)、その決定したパラメータ値の更新値は、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力され、記憶されているパラメータ値が更新される。
【0106】
次に、本実施形態のセル送信部804について説明する。図4は、従来のカレンダ方式によるセル送信手段を、本実施形態のシェーパ800のセル送信部804として適用するために、リストに格納される要素の情報を、キューの先頭のセルへのポインタとしたものである。
【0107】
図4において、1101は現在時刻に対応するリストを示すポインタ、1102,1103,1104は各々キューの先頭のセルへのポインタを格納するリストである。1107は送信可能時刻に達したキューの先頭のセルへのポインタを格納する送信リストである。
【0108】
セル送信部804は、図4に示すように、回線上で数セルの転送に要する時間を1タイムスロットとし、タイムスロットに対応するセルへのポインタを格納するリストを環状に並べ、送信可能時刻に達したタイムスロットに対応するリストに格納された全てのセルへのポインタを送信リストの後尾に移動させる。
【0109】
具体的には、図4において、現在時刻に対応するリストを示すポインタ1101が示すリストは、現在時刻のタイムスロットに対応するセルヘのポインタを格納する。
【0110】
また、現在時刻に対応するリストを示すポインタ1101は、時計部802が計数する時刻に基づいて更新される。
【0111】
セル送信部804は、図4に示すように、セルがキューの先頭に達した際に、スケジューリング部803によって決定したセルの送信可能時刻に対応するタイムスロットのリストの最後尾に、キューの先頭のセルへのポインタをリストの要素として順次付け加えて格納することによって、キューの先頭のセルヘのポインタと送信可能時刻を対で記憶する。
【0112】
セル送信部804は、図4に示すように、現在時刻に対応するリストを示すポインタ1101によって示される、送信可能時刻に達したタイムスロットに対応するリストに格納されたセルヘのポインタを全て送信リストの後尾に移動し、送信リストに格納されたセルへのポインタで示されるセルを、キューの先頭から取り出して順に回線に送信することによって、格納されているセルへのポインタの中から送信可能時刻が現在時刻以前となるセルへのポインタを検出して、ポインタが示すセルを送信可能時刻が最も早いセルから送信可能時刻順に回線に送信する。
【0113】
次に、上述した実施形態のセル送信部804の第2の実現例について図5を用いて説明する。この第2の実現例では、従来のシーケンサ方式によるセル送信手段を、シェーピング装置800のセル送信部804として適用するために、セルを格納するバッファヘのポインタをキューの先頭のセルへのポインタとしたものである。
【0114】
図5において、1201,1202はキュー、1203はキューの先頭のセルへのポインタ、1204はキューの先頭のセルの送信可能時刻に対応するタイムスロット値、1205はポインタとタイムスロット値を要素とする配列構造、1206はキュー、1207はキューの先頭に達したセルヘのポインタ、1208はキューの先頭に達したセルの送信可能時刻に対応するタイムスロット値、1209はブロードキャストバスをそれぞれ示す。
【0115】
セル送信部804の第2の実現例では、図5に示すように、回線上で1セルの転送に要する時間を1タイムスロットとし、送信可能時刻が決定したキューの先頭のセルへのポインタと、そのセルの送信可能時刻に対応するタイムスロット値から成る要素をタイムスロット値の順にソートする。
【0116】
具体的には、図5において、ポインタとタイムスロット値を要素とする配列構造1205の各要素は隣の要素にシフトすることが可能な構造となっている。
【0117】
図5に示すセル送信部804の第2の実現例では、セルがキュー1206の先頭に達した際に、このキューの先頭を示すようにキューの先頭に達したセルへのポインタ1207を設定し、スケジューリング部803によって決定したセルの送信可能時刻に対応するタイムスロットの値を、1208のキューの先頭に達したセルの送信可能時刻に対応するタイムスロット値に設定することによって、キューの先頭のセルヘのポインタと送信可能時刻を対で記憶する。
【0118】
次に、図5に示すセル送信部804の第2の実現例では、キューの先頭に達したセルの送信可能時刻に対応するタイムスロット値1208を、ブロードキャストバス1209を用いてポインタとタイムスロット値を要素とする配列構造1205内の各要素のタイムスロット値と並列に比較し、配列構造1205内の各要素のタイムスロット値が、キューの先頭に達したセルの送信可能時刻に対応するタイムスロット値1208以降となる最初の要素の位置を挿入位置として、それ以降の全ての要素を左側にシフトし、キューの先頭に達したセルヘのポインタ1207とキューの先頭に達したセルの送信可能時刻に対応するタイムスロット値1208を挿入位置に格納することによって、要素を送信可能時刻順にソートする。
【0119】
図5に示すセル送信部804の第2の実現例では、配列構造1205の最も右の要素のタイムスロット値と、時計手段802が計数する時刻に対応するタイムスロット値を比較し、後者の値が前者の値以前となる場合は、最も右の要素のポインタが示すキューの先頭に格納されたセルを回線に送信し、最も右の要素を配列構造1205から削除し、残りの要素を右側にシフトすることによって、格納されているセルへのポインタの中から送信可能時刻が現在時刻以前となるセルへのポインタを検出して、ポインタが示すセルを送信可能時刻が最も早いセルから送信可能時刻順に回線に送信する。
【0120】
次に、上述の実施形態1のシェーピング装置800におけるスケジューリング部803の処理は、従来のGCRA方式のスケジューリング手段における処理を適用してきたが、本発明はこれに限定されるものではなく、例えば、以下の各実施例に示す処理でスケジューリング部803を実現してもよい。
【0121】
(実施例1)
図6及び図7は本実施例1のスケジューリング部803の処理を示すフローチャートである。以下、これら図6及び図7のフローチャートを用いて本実施例1のスケジューリング部803の動作について説明する。
【0122】
なお、これらのフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をTAT、セルの送信可能時刻をtsとしている。
【0123】
本実施例1のスケジューリング部803は、セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TATが入力されると、その入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TAT、及び時計部802が計数する現在時刻taに基づいて、図6のフローチャートに示された以下の動作を開始する。
【0124】
ta<TAT−τの関係が成立する場合は、セルの送信可能時刻tsをTAT−τとする(ステップ1301、1303)。
【0125】
TAT−τ≦taの関係が成立する場合は、セルの送信可能時刻tsをtaとする(ステップ1301、1302)。決定したセルの送信可能時刻tsは、セル送信部804に出力される。
【0126】
セルが回線に送信される際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TATが本実施例1のスケジューリング部803に入力される。
【0127】
本実施例1のスケジューリング部803は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TAT、及び時計部802が計数する現在時刻teに基づいて、図7のフローチャートに示された以下の動作を開始する。
【0128】
te<TATの関係が成立する場合は、パラメータの値TATをTAT+Tに更新する(ステップ1401、1403)。
【0129】
TAT≦teの関係が成立する場合は、パラメータの値TATをte+Tに更新する(ステップ1401、1402)。決定したパラメータ値の更新値TATは、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力され、記憶されているパラメータ値が更新される。
【0130】
なお、本実施例1のスケジューリング部803は、上記のアルゴリズムにおけるセル遅延時間のゆらぎの値τを0もしくは定数等の固定的な値に置き換えることによって、トラヒック特性値としてセル間隔の値のみを用いるシェーパにも適応可能である。
【0131】
(実施例2)
図8及び図9は本実施例2のスケジューリング部803の処理を示すフローチャートである。以下、これら図8及び図9のフローチャートを用いて本実施例2のスケジューリング部803の動作について説明する。
【0132】
なお、本実施例2のスケジューリング部803は、上述の実施例1のスケジューリング部803と異なる手段であるが、論理的には同一の動作を行うものである。
【0133】
なお、これらのフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をTAT、セルの送信可能時刻をtsとしている。
【0134】
本実施例2のスケジューリング部803は、セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TATが入力されると、その入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TAT、及び時計部802が計数する現在時刻taに基づいて、図8のフローチャートに示された以下の動作を開始する。
【0135】
ta≦TAT−τの関係が成立する場合は、セルの送信可能時刻tsをTAT−τとする(ステップ1501、1503)。
【0136】
TAT−τ<taの関係が成立する場合は、セルの送信可能時刻tsをtaとする(ステップ1501、1502)。決定したセルの送信可能時刻tsは、セル送信部804に出力される。
【0137】
セルが回線に送信される際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TATが本実施例2のスケジューリング部803に入力される。
【0138】
本実施例2のスケジューリング部803は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TAT、及び時計部802が計数する現在時刻teに基づいて、図9のフローチャートに示された以下の動作を開始する。
【0139】
te≦TATの関係が成立する場合は、パラメータの値TATをTAT+Tに更新する(ステップ1601、1603)。
【0140】
TAT<teの関係が成立する場合は、パラメータの値TATをte+Tに更新する(ステップ1601、1602)。決定したパラメータ値の更新値TATは、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力され、記憶されているパラメータ値が更新される。
【0141】
なお、本実施例2のスケジューリング部803も、上記のアルゴリズムにおけるセル遅延時間のゆらぎの値τを0もしくは定数等の固定的な値に置き換えることによって、トラヒック特性値としてセル間隔の値のみを用いるシェーパにも適応可能である。
【0142】
(実施例3)
図10及び図11は本実施例3のスケジューリング部803の処理を示すフローチャートである。以下、これら図10及び図11のフローチャートを用いて本実施例3のスケジューリング部803の動作について説明する。
【0143】
なお、本実施例3のスケジューリング部803は、上述の実施例1のスケジューリング部803と異なる手段であるが、論理的には同一の動作を行うものである。
【0144】
なお、これらのフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をTET、セルの送信可能時刻をtsとしている。
【0145】
本実施例3のスケジューリング部803は、セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TETが入力されると、その入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TET、及び時計部802が計数する現在時刻taに基づいて、図10のフローチャートに示された以下の動作を開始する。
【0146】
ta<TETの関係が成立する場合は、セルの送信可能時刻tsをTETとする(ステップ1701、1703)。
【0147】
TET≦taの関係が成立する場合は、セルの送信可能時刻tsをtaとする(ステップ1701、1702)。決定したセルの送信可能時刻tsは、セル送信部804に出力される。
【0148】
セルが回線に送信される際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎの値τ、パラメータ値TETが本実施例3のスケジューリング部803に入力される。
【0149】
本実施例3のスケジューリング部803は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TET、及び時計部802が計数する現在時刻teに基づいて、図11のフローチャートに示された以下の動作を開始する。
【0150】
te<TET+τの関係が成立する場合は、パラメータの値TETをTET+Tに更新する(ステップ1801、1803)。
【0151】
TET+τ≦teの関係が成立する場合は、パラメータの値TETをte−τ+Tに更新する(ステップ1801、1802)。決定したパラメータ値の更新値TETは、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力され、記憶されているパラメータ値が更新される。
【0152】
なお、本実施例3のスケジューリング部803も、上記のアルゴリズムにおけるセル遅延時間のゆらぎの値τを0もしくは定数等の固定的な値に置き換えることによって、トラヒック特性値としてセル間隔の値のみを用いるシェーパにも適応可能である。
【0153】
(実施例4)
図12、図13は本実施例4のスケジューリング部803の処理を示すフローチャートである。以下、これら図12、図13のフローチャートを用いて本実施例3のスケジューリング部803の動作について説明する。
【0154】
なお、本実施例4のスケジューリング部803は、上述の実施例1のスケジューリング部803と異なる手段であるが、論理的には同一の動作を行うものである。
【0155】
なお、これらのフローチャートでは、トラヒック特性値としてセル間隔の値と許容されるセル遅延時間のゆらぎを用い、セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、セルが所属するコネクションに対応したパラメータ値をTET、セルの送信可能時刻をtsとしている。
【0156】
本実施例4のスケジューリング部803は、セルがキューの先頭に達した際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TETが入力されると、その入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TET、及び時計部802が計数する現在時刻taに基づいて、図12のフローチャートに示された以下の動作を開始する。
【0157】
ta≦TETの関係が成立する場合は、セルの送信可能時刻tsをTETとする(ステップ1901、1903)。
【0158】
TET<taの関係が成立する場合は、セルの送信可能時刻tsをtaとする(ステップ1901、1902)。決定したセルの送信可能時刻tsは、セル送信部804に出力される。
【0159】
セルが回線に送信される際に、コネクション毎のトラヒック特性値,パラメータ値を記憶する部801から、キューの先頭に達したセルのコネクションに対応したトラヒック特性値であるセル間隔の値Tと許容されるセル遅延時間のゆらぎτ、パラメータ値TETが本実施例4のスケジューリング部803に入力される。
【0160】
本実施例3のスケジューリング部803は、入力されたセル間隔の値T、許容されるセル遅延時間のゆらぎτ、パラメータ値TET、及び時計部802が計数する現在時刻teに基づいて、図13のフローチャートに示された以下の動作を開始する。
【0161】
te≦TET+τの関係が成立する場合は、パラメータの値TETをTET+Tに更新する(ステップ2001、2003)。
【0162】
TET+τ<teの関係が成立する場合は、パラメータの値TETをte−τ+Tに更新する(ステップ2001、2002)。決定したパラメータ値の更新値TETは、コネクション毎のトラヒック特性値,パラメータ値を記憶する記憶部801に出力され、記憶されているパラメータ値が更新される。
【0163】
なお、本実施例4のスケジューリング部803も、上記のアルゴリズムにおけるセル遅延時間のゆらぎの値τを0もしくは定数等の固定的な値に置き換えることによって、トラヒック特性値としてセル間隔の値のみを用いるシェーパにも適応可能である。
【0164】
以上、説明してきたように、本実施形態及び実施例1〜4のセルシェーピング装置は、先頭から到着順にセルを格納するキューをコネクション毎に有し、到着したセルをそのセルが所属するコネクションに対応したキューに格納する入力手段を有し、キューに格納されたセルがそのキューの先頭に達した際に、スケジューリング手段がそのセルの送信可能時刻を決定し、セル送信手段が送信可能時刻が現在時刻以前となるセルを検出した際に、その送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信し、セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新するため、あるコネクションに属するセルが送信可能となる時刻から、実際にセルが送信される時刻の間に遅延時間が発生した場合であっても、パラメータの値をセルが実際に送信される時刻に基づいて更新することにより、セルの送信可能時刻から実際にセルが送信される時刻の間の遅延時間を考慮しており、クランピングの問題を解決することが可能となる。
【0165】
また同時に、キューに格納されたセルがそのキューの先頭に達した際に、スケジューリング手段がそのセルの送信可能時刻を決定し、セル送信手段が送信可能時刻が現在時刻以前となるセルを検出した際に、その送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信し、セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新するため、セルがキューに格納される際に、セルが実際に送信される時刻を決定しないので、セル送信手段はセルを送信可能時刻順に送信することができ、セルが送信可能順にソートされないことによって生じるセルの送信順序の逆転を抑止することが可能になる。
【0166】
また、セル送信手段へのセルの格納時にセルが実際に送信される時刻が決定されるという、リングバッファ方式に固有の性質を利用しておらず、カレンダ方式やシーケンサ方式等の、セルの格納時にはセルが実際に送信される時刻が決定されない性質を持つセル送信手段を実現手段として使用することが可能である。
【0167】
以上、本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態及び各実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【0168】
【発明の効果】
本願において開示される発明によって得られる効果を簡単に説明すれば、下記のとおりである。
【0169】
セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新するため、あるコネクションに属するセルが送信可能となる時刻から、実際にセルが送信される時刻の間に遅延時間が発生した場合であっても、パラメータの値をセルが実際に送信される時刻に基づいて更新することにより、セルの送信可能時刻から実際にセルが送信される時刻の間の遅延時間を考慮しており、クランピングの問題を解決することが可能となる。
【0170】
また、セル送信手段がセルを回線に送信する際に、スケジューリング手段が前記セルが所属するコネクションに対応するパラメータ値を更新するため、セルがキューに格納される際に、セルが実際に送信される時刻を決定しないので、セル送信手段はセルを送信可能時刻順に送信することができ、セルが送信可能順にソートされないことによって生じるセルの送信順序の逆転を抑止することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるセルシェーピング装置の構成を説明するための図である。
【図2】本実施形態のスケジューリング手段の動作を示すフローチャートである。
【図3】本実施形態のスケジューリング手段の動作を示すフローチャートである。
【図4】本実施形態のセル送信手段の構成を説明するための図である。
【図5】本実施形態の第2のセル送信手段の構成を説明するための図である。
【図6】本実施例1のスケジューリング手段の動作を示すフローチャートである。
【図7】本実施例1のスケジューリング手段の動作を示すフローチャートである。
【図8】本実施例2のスケジューリング手段の動作を示すフローチャートである。
【図9】本実施例2のスケジューリング手段の動作を示すフローチャートである。
【図10】本実施例3のスケジューリング手段の動作を示すフローチャートである。
【図11】本実施例3のスケジューリング手段の動作を示すフローチャートである。
【図12】本実施例4のスケジューリング手段の動作を示すフローチャートである。
【図13】本実施例4のスケジューリング手段の動作を示すフローチャートである。
【図14】従来のトークン方式によるシェーパの構成を説明するための図である。
【図15】従来のGCRA方式によるシェーパの構成を説明するための図である。
【図16】従来のGCRA方式によるシェーパのスケジューリング手段の動作を示すフローチャートである。
【図17】リングバッファ方式によるセル送信手段を説明するための図である。
【図18】カレンダ方式によるセル送信手段を説明するための図である。
【図19】シーケンサ方式によるセル送信手段を説明するための図である。
【図20】従来のGCRA方式によるシェーパのクランピング問題を解決するスケジューリング手段の動作を示すフローチャートである。
【符号の説明】
101…入力手段、102,103…キュー、104,105…送信タイミング生成手段、106…調停手段、201…トラヒック特性値,パラメータ値を記憶する記憶手段、202…時計手段、203…スケジューリング手段、204…セル送信手段、801…トラヒック特性値,パラメータ値を記憶する記憶部、802…時計部、803…スケジューリング部、804…セル送信部、805,806…キュー、807…入力部。
Claims (5)
- コネクション毎のトラヒック特性値及びパラメータ値を記憶する記憶手段と、現在時刻を計数する時計手段と、到着した固定長パケットであるセルが所属するコネクションに対応した前記トラヒック特性値、前記パラメータ値、及び時計手段が計数する現在時刻に基づいて、前記セルの送信可能時刻を決定し、前記パラメータ値の更新を行うスケジューリング手段と、前記スケジューリング手段によって送信可能時刻が決定されたセルから、前記時計手段が計数する現在時刻に基づいて、前記送信可能時刻が現在時刻以前となるセルを検出し、前記セルを回線に送信するセル送信手段とを備えたセルシェーピング装置であって、
前記各コネクション毎に設けられ、先頭から到着順にセルを格納するキューと、
到着したセルを前記セルが所属するコネクションに対応したキューに格納する入力手段とを有し、
前記スケジューリング手段は、前記キューに格納されたセルが前記キューの先頭に達した際に、前記セルの送信可能時刻を計算して決定する手段と、前記セル送信手段がセルを回線に送信する際に、前記セルが所属するコネクションに対応するパラメータ値を更新する手段とを有し、
前記セル送信手段は、前記スケジューリング手段が決定した送信可能時刻が現在時刻以前となるセルを検出し、前記送信可能時刻が最も早いセルをキューの先頭から取り出して回線に送信する手段を備えたことを特徴とするセルシェーピング装置。 - 前記請求項1に記載のセルシェーピング装置において、
セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTAT、前記セルの送信可能時刻をtsとすると、
前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、
ta<TAT−τの関係が成立する場合に、セルの送信可能時刻tsをTAT−τとし、
TAT−τ≦taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TATを更新する際に、
te<TATの関係が成立する場合に、パラメータの値TATをTAT+Tに更新し、
TAT≦teの関係が成立する場合に、パラメータの値TATをte+Tに更新する手段を有することを特徴とするセルシェーピング装置。 - 前記請求項1に記載のセルシェーピング装置において、
セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTAT、前記セルの送信可能時刻をtsとすると、
前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、
ta≦TAT−τの関係が成立する場合に、セルの送信可能時刻tsをTAT−τとし、
TAT−τ<taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TATを更新する際に、
te≦TATの関係が成立する場合に、パラメータの値TATをTAT+Tに更新し、
TAT<teの関係が成立する場合に、パラメータの値TATをte+Tに更新する手段を有することを特徴とするセルシェーピング装置。 - 前記請求項1に記載のセルシェーピング装置において、
セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTET、前記セルの送信可能時刻をtsとすると、
前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、
ta<TETの関係が成立する場合に、セルの送信可能時刻tsをTETとし、
TET≦taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TETを更新する際に、
te<TET+τの関係が成立する場合に、パラメータの値TETをTET+Tに更新し、
TET+τ≦teの関係が成立する場合に、パラメータの値TETをte−τ+Tに更新する手段を有することを特徴とするセルシェーピング装置。 - 前記請求項1に記載のセルシェーピング装置において、
セルの送信可能時刻を計算する際の現在時刻をta、パラメータ値を更新する際の現在時刻をte、前記セルが所属するコネクションに対応したトラヒック特性値のセル間隔の値をT、許容されるセル遅延時間のゆらぎの値をτ、前記セルが所属するコネクションに対応したパラメータ値をTET、前記セルの送信可能時刻をtsとすると、
前記スケジューリング手段は、セルの送信可能時間tsを計算する際に、
ta≦TETの関係が成立する場合に、セルの送信可能時刻tsをTETとし、
TET<taの関係が成立する場合に、セルの送信可能時刻tsをtaとして決定し、パラメータ値TETを更新する際に、
te≦TET+τの関係が成立する場合に、パラメータの値TETをTET+Tに更新し、
TET+τ<teの関係が成立する場合に、パラメータの値TETをte−τ+Tに更新する手段を有することを特徴とするセルシェーピング装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000082691A JP3623907B2 (ja) | 2000-03-23 | 2000-03-23 | セルシェーピング装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000082691A JP3623907B2 (ja) | 2000-03-23 | 2000-03-23 | セルシェーピング装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001274795A JP2001274795A (ja) | 2001-10-05 |
JP3623907B2 true JP3623907B2 (ja) | 2005-02-23 |
Family
ID=18599459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000082691A Expired - Fee Related JP3623907B2 (ja) | 2000-03-23 | 2000-03-23 | セルシェーピング装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3623907B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100667700B1 (ko) | 2004-12-02 | 2007-01-12 | 한국전자통신연구원 | 휴대 인터넷 시스템의 단말 장치와 단말 장치에서의 상향데이터 전송 방법 |
JP2014003525A (ja) * | 2012-06-20 | 2014-01-09 | Nec Commun Syst Ltd | ネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラム |
JP2015073210A (ja) * | 2013-10-03 | 2015-04-16 | 株式会社日立製作所 | 転送装置 |
-
2000
- 2000-03-23 JP JP2000082691A patent/JP3623907B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001274795A (ja) | 2001-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5859835A (en) | Traffic scheduling system and method for packet-switched networks | |
JP3359499B2 (ja) | 送出トラヒック制御装置 | |
KR100334922B1 (ko) | 효율적인출력요구패킷스위치와방법 | |
JP3859864B2 (ja) | キュー管理システム | |
EP1009189B1 (en) | RRGS-round-robin greedy scheduling for input/output buffered terabit switches | |
JP3115546B2 (ja) | Atmセルを最適に伝送する方法 | |
JPH07321823A (ja) | マルチキャスティング機能を備えた装置 | |
JPH11508749A (ja) | Atmのスロットリング | |
JP3034683B2 (ja) | 伝送ビットレートの監視方法 | |
CN100490383C (zh) | 一种支持多优先级的高速Crossbar调度方法 | |
JPH07504547A (ja) | チャネル分割データ・パケット伝送の監視方法及び装置 | |
JP3623907B2 (ja) | セルシェーピング装置 | |
US6490640B1 (en) | Packet data switching apparatus | |
JP2795257B2 (ja) | トラフィックシェーパのセル出力競合制御方式 | |
KR100468946B1 (ko) | 간단한 파이프라인 방식을 이용한 입력 버퍼형 스위치 및그 경합 방법 | |
JP3602893B2 (ja) | Atmインタフェースおよびシェーピング方法 | |
EP1119136A2 (en) | Method and apparatus for per connection queuing of multicast transmissions | |
JPH10135957A (ja) | トラヒックシェイパー装置 | |
EP0604538B1 (en) | Method and apparatus for asynchronous transfer mode (atm) network | |
Altman et al. | Discrete time queues with delayed information | |
JP3742348B2 (ja) | セルシェーピング装置 | |
JP3804940B2 (ja) | セルスケジューリング方法 | |
JP3681661B2 (ja) | セルスケジューリング方法 | |
JP2899609B2 (ja) | セル送出装置 | |
JP3439333B2 (ja) | Atmシェイピングメモリ探索処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041018 |
|
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: 20041124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041126 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071203 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |