(57)【特許請求の範囲】
【請求項１】
ルーティング情報を含むヘッダ部と転送情報を格納する情報部とから構成される固定長パケットをそのルーティング情報に従って自律的に交換するネットワークにおいて、そのネットワークで提供される通信サービスを複数の品質クラスに分類しそれら品質クラスの品質を制御する品質制御方式において、
品質クラス毎に設けられ、固定長パケットを格納する複数のバッファと、
上記複数のバッファの各々に対して設けられ、それぞれ所定の閾値が設定されている複数のカウンタと、
１つの固定長パケットを処理するための単位時間ごとに上記複数のカウンタの各カウンタ値をインクリメントするとともに、カウンタ値が閾値以上であるカウンタに対応するバッファから固定長パケットを読み出してそのカウンタのカウンタ値をその閾値だけカウントダウンする制御手段と、
上記複数の品質クラスの中のある品質クラスに対して空きタイムスロットを優先的に使用できる権利を設定する権利設定手段、を有し、
上記制御手段は、上記品質クラス以外の品質クラスにおいて対応するバッファから固定長パケットを読み出すべき条件が整っていない場合は、上記品質クラスにおいてカウンタ値が対応する閾値よりも小さい場合であっても固定長パケットを読み出して出力する
ことを特徴とする品質制御方式。
【請求項２】
上記制御手段は、カウンタ値が閾値以上であるカウンタに対応するバッファに固定長パケットが格納されていない場合には、そのカウンタのカウンタ値をインクリメントしないことを特徴とする請求項１に記載の品質制御方式。
【請求項３】
上記各カウンタに対して設定する閾値をＴi （ｉ＝１，２，３，．．．）、各品質クラスが要求する品質を保証できる帯域をＲＢi 、出線の物理帯域をＰＢとした場合、各閾値を下記（１）式で設定することを特徴とする請求項１に記載の品質制御方式。
Ｔi ＝ＰＢ／ＲＢi   ・・・（１）式
【請求項４】
上記複数の品質クラスの各々に対して競合優先度情報を設定しておき、２つ以上のバッファにおいて固定長パケットが格納されておりかつそれら２つ以上のバッファに対応するカウンタのカウンタ値がそれぞれその閾値以上である場合には、上記制御手段は、上記２つ以上のバッファのうち最も高い競合優先度が設定されている品質クラスのバッファから固定長パケットを読み出すことを特徴とする請求項１に記載の品質制御方式。
【請求項５】
上記制御手段は、上記最も高い競合優先度が設定されている品質クラス以外の品質クラスに対応する各カウンタのカウンタ値をそれぞれインクリメントすることを特徴とする請求項４に記載の品質制御方式。
【請求項６】
固定長パケットを読み出す状態にある品質クラスがなかったときには、上記制御手段は、上記権利が与えられている品質クラスのバッファから固定長パケットを読み出すことを特徴とする請求項１または４に記載の品質制御方式。
【請求項７】
上記権利設定手段は、空きタイムスロットを優先的に使用できる権利を予め複数の品質クラスに対して与えるとともに、それらの権利に優先順位を設定しておき、
固定長パケットを読み出す状態にある品質クラスがなかったときには、上記制御手段は、上記権利が与えられている複数の品質クラスに対応するバッファでありかつ固定長パケットを格納しているバッファの中で上記権利の優先順位が最も高い品質クラスに対応するバッファから固定長パケットを読み出すことを特徴とする請求項１または４に記載の品質制御方式。
【請求項８】
カウンタ値が閾値以上であるカウンタに対応するバッファに固定長パケットが格納されていなければ、上記制御手段は、上記権利が与えられている品質クラスのバッファから固定長パケットを読み出すことを特徴とする請求項１または４に記載の品質制御方式。
【請求項９】
上記制御手段は、上記権利が与えられている品質クラスのバッファから固定長パケットを読み出す処理に際して、その品質クラスのカウンタ値が閾値以下であった場合、そのカウンタ値をカウントダウンしないことを特徴とする請求項１に記載の品質制御方式。
【請求項１０】
上記制御手段は、上記権利が与えられている品質クラスのバッファから固定長パケットを読み出す処理に際して、その品質クラスのカウンタ値が閾値以下であった場合、そのカウンタ値を０にすることを特徴とする請求項１に記載の品質制御方式。
【請求項１１】
上記権利を品質クラス毎に設定できることを特徴とする請求項１に記載の品質制御方式。
【請求項１２】
品質クラス毎に、上記競合優先情報および上記空きタイムスロットを優先的に使用できる権利とを独立して設定できることを特徴とする請求項４に記載の品質制御方式。
【請求項１３】
ルーティング情報を含むヘッダ部と転送情報を格納する情報部とから構成される固定長パケットをそのルーティング情報に従って自律的に交換するネットワークにおいて、そのネットワークで提供される通信サービスを複数の品質クラスに分類しそれら品質クラスの品質を制御する品質制御方式において、
品質クラス毎に設けられ、固定長パケットを格納する複数のバッファと、
上記複数のバッファの各々に対して設けられ、それぞれ第１の閾値およびその第１の閾値よりも大きな第２の閾値が設定されている複数のカウンタと、
１つの固定長パケットを処理するための単位時間ごとに上記複数のカウンタの各カウンタ値をインクリメントし、カウンタ値が第１の閾値以上であるカウンタに対応するバッファに固定長パケットが格納されている場合には、その固定長パケットを読み出すとともにそのカウンタのカウンタ値を第１の閾値だけカウントダウンし、カウンタ値が第２の閾値以上であるカウンタに対応するバッファに固定長パケットが格納されていない場合には、そのカウンタのカウンタ値をインクリメントしないように制御する制御手段と、
上記複数の品質クラスの中のある品質クラスに対して空きタイムスロットを優先的に使用できる権利を設定する権利設定手段、を有し、
上記制御手段は、上記品質クラス以外の品質クラスにおいて対応するバッファから固定長パケットを読み出すべき条件が整っていない場合は、上記品質クラスにおいてカウンタ値が対応する第１の閾値よりも小さい場合であっても固定長パケットを読み出して出力する
ことを特徴とする品質制御方式。
【請求項１４】
ルーティング情報を含むヘッダ部と転送情報を格納する情報部とから構成される固定長パケットをそのルーティング情報に従って自律的に交換するネットワークにおいて、そのネットワークで提供される通信サービスを複数の品質クラスに分類しそれら品質クラスの品質を制御する品質制御方式において、
固定長パケットを格納する共通バッファと、
品質クラス毎に設けられ、固定長パケットを上記共通バッファへ書き込んだときの書込みアドレスを固定長パケットの品質クラスに応じて格納する複数のアドレスバッファと、
上記複数のアドレスバッファの各々に対して設けられ、それぞれ所定の閾値が設定されている複数のカウンタと、
１つの固定長パケットを処理するための単位時間ごとに上記複数のカウンタの各カウンタ値をインクリメントするとともに、カウンタ値が閾値以上であるカウンタに対応するアドレスバッファから書込みアドレスを取り出してその書込みアドレスを用いて上記共通バッファから固定長パケットを読み出し、そのカウンタのカウンタ値をその閾値だけカウントダウンする制御手段と、
上記複数の品質クラスの中のある品質クラスに対して空きタイムスロットを優先的に使用できる権利を設定する権利設定手段、を有し、
上記制御手段は、上記品質クラス以外の品質クラスにおいて対応するバッファから固定長パケットを読み出すべき条件が整っていない場合は、上記品質クラスにおいてカウンタ値が対応する閾値よりも小さい場合であっても固定長パケットを読み出して出力する
ことを特徴とする品質制御方式。
【請求項１５】
上記制御手段は、カウンタ値が閾値以上であるカウンタに対応するアドレスバッファに書込みアドレスが格納されていない場合には、そのカウンタのカウンタ値をインクリメントしないことを特徴とする請求項１４に記載の品質制御方式。
【請求項１６】
上記各カウンタに対して設定する閾値をＴi （ｉ＝１，２，３，．．．）、各品質クラスが要求する品質を保証できる帯域をＲＢi 、出線の物理帯域をＰＢとした場合、各閾値を下記（２）式で設定することを特徴とする請求項１４に記載の品質制御方式。
Ｔi ＝ＰＢ／ＲＢi   ・・・（２）式
【請求項１７】
上記複数の品質クラスの各々に対して競合優先度情報を設定しておき、２つ以上のアドレスバッファにおいて書込みアドレスが格納されておりかつそれら２つ以上のアドレスバッファに対応するカウンタのカウンタ値がそれぞれその閾値以上である場合には、上記制御手段は、上記２つ以上のアドレスバッファのうち最も高い競合優先度が設定されている品質クラスのアドレスバッファから書込みアドレスを取り出すことを特徴とする請求項１４に記載の品質制御方式。
【請求項１８】
上記制御手段は、上記最も高い競合優先度が設定されている品質クラス以外の品質クラスに対応する各カウンタのカウンタ値をそれぞれインクリメントすることを特徴とする請求項１７に記載の品質制御方式。
【請求項１９】
書込みアドレスを取り出すことができる状態にある品質クラスがなかったときには、上記制御手段は、上記権利が与えられている品質クラスのアドレスバッファから書込みアドレスを取り出すことを特徴とする請求項１４または１７に記載の品質制御方式。
【請求項２０】
上記権利設定手段は、空きタイムスロットを優先的に使用できる権利を予め複数の品質クラスに対して与えるとともに、それらの権利に優先順位を設定しておき、
書込みアドレスを取り出すことができる状態にある品質クラスがなかったときには、上記制御手段は、上記権利が与えられている複数の品質クラスに対応するアドレスバッファでありかつ書込みアドレスを格納しているアドレスバッファの中で上記権利の優先順位が最も高い品質クラスに対応するアドレスバッファから書込みアドレスを取り出すことを特徴とする請求項１４または１７に記載の品質制御方式。
【請求項２１】
カウンタ値が閾値以上であるカウンタに対応するアドレスバッファに書込みアドレスが格納されていなければ、上記制御手段は、上記権利が与えられている品質クラスのアドレスバッファから書込みアドレス取り出すことを特徴とする請求項１４または１７に記載の品質制御方式。
【請求項２２】
上記制御手段は、上記権利が与えられている品質クラスのアドレスバッファから書込みアドレスを取り出す処理に際して、その品質クラスのカウンタ値が閾値以下であった場合、そのカウンタ値をカウントダウンしないことを特徴とする請求項１４に記載の品質制御方式。
【請求項２３】
上記制御手段は、上記権利が与えられている品質クラスのアドレスバッファから書込みアドレスを取り出す処理に際して、その品質クラスのカウンタ値が閾値以下であった場合、そのカウンタ値を０にすることを特徴とする請求項１４に記載の品質制御方式。
【請求項２４】
上記権利を品質クラス毎に設定できることを特徴とする請求項１４に記載の品質制御方式。
【請求項２５】
品質クラス毎に、上記競合優先情報および上記空きタイムスロットを優先的に使用できる権利とを独立して設定できることを特徴とする請求項１７に記載の品質制御方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＡＴＭ  網における品質制御方式に係わり、特に、サービス毎に品質を制御する方式に関する。
【０００２】
【従来の技術】
従来、音声通信、データ通信、ビデオ通信といった通信サービスを提供する場合、それぞれ独立した網（たとえば、電話網、パケット通信網、ＣＡＴＶ網など）を設けていた。ところが、サービス毎に網を設ける方式では、網資源を有効に利用することが難しく、コスト的に望ましくない。このため、これらの様々なサービスを統合化した次世代の通信ネットワークとして広帯域ＩＳＤＮが研究・開発されている。そして、広帯域ＩＳＤＮの中核技術としてＡＴＭ  が実用段階に入りつつある。
【０００３】
ＡＴＭ  は、セルと呼ばれる５３バイトの固定長パケットを用いて情報を転送する通信方式である。ＡＴＭ  セルは、通信路を指定するＶＰＩ／ＶＣＩ  を含む５バイトのヘッダと、転送すべき情報を格納する４８バイト情報フィールドとから構成される。そして、ＡＴＭ  では、セルの再送等の機能を交換機で省くことによって高速通信を実現している。また、ＡＴＭ  は、転送するセル数を制御することによって可変速度通信を行うことができる。
【０００４】
ところで、上述のような各サービスは、網に対してそれぞれ異なったサービス品質を要求する。たとえば、音声通信では、セルの一部が損失しても音質の低下は僅かであるが、セルの転送が遅延すると音声が聞きづらくなるので、セル損失に関する品質要求は比較的緩いが、転送遅延に関する品質要求は厳しい。一方、データ通信では、セルの転送が遅延してもさほど問題にならないが、セル損失が発生すると正しいデータが得られなくなるので、転送遅延に関する品質要求は緩いが、セル損失に関する品質要求は厳しい。このように、ＡＴＭ  網は、様々な要求品質のサービスを収容することになる。
【０００５】
図１８は、ＡＴＭ  網における従来の品質管理方式を説明する図である。この方式は、セル廃棄制御方式と呼ばれている。すなわち、ＡＴＭ  交換機内にセルバッファを設け、そのセルバッファに対してキュー長（セル蓄積量）を指定する閾値を設定する。ＡＴＭ  交換機に入力するセルは、いったんこのセルバッファに書き込まれた後に所定のタイミングで読み出されるが、多数の加入者線などからＡＴＭ  交換機に入力するセルが増加すると、セルバッファ内のセル蓄積量は増加し、キュー長は伸びる。そして、このキュー長が閾値を越えると、低い優先度が設定されているセルは、もうそれ以上セルバッファには収容されずに廃棄され、高い優先度が設定されているセルのみをせるバッファに収容させる。セルの優先度は、ヘッダに設けられたＣＬＰ  （Ｃｅｌｌ  Ｌｏｓｓ  Ｐｒｉｏｒｉｔｙ）ビット、もしくは交換機内で使用されるタグ情報で判別する。
【０００６】
【発明が解決しようとする課題】
しかしながら、この方式では、サービスが多様化するにつれて各サービスが要求する品質を保証することが難しくなる。すなわち、閾値を大きく設定すれば、セル廃棄に関する保証は容易になるが、遅延が大きくなっていしまう。一方、遅延を小さくするために閾値を小さくすると、セル廃棄に関する要求を保証できなくなってしまう。
【０００７】
上記問題を解決するために、サービス毎にセルバッファを設ける方式が提案されている。この方式では、あるサービスのトラヒックが増加してそのサービスに対して設けられているセルバッファにおいてセル廃棄が発生したとしても、他のサービスの品質に影響を及ぼさない。しかしながら、各セルバッファに格納されているセルをどのような順序で読み出すかについては、現在検討中である。
【０００８】
読出し制御方式の一案としては、各セルバッファに対して予め読出し帯域を設定しておき、その帯域に従って時分割にセルを読み出す方式が考えられている。しかしながら、帯域を固定的に設定してしまうと、転送すべきセルが格納されていないセルバッファに対しても「読出し時間（読出しタイムスロット）」を割り当ててしまうので、その期間は、他のセルバッファにおいてセルが格納されていたとしても、そのセルは読み出されることはなく、セル転送の効率が低下してしまう。
【０００９】
このように、ＡＴＭ  は、様々な要求品質を持ったサービスを統合的に扱うため、その品質管理が難しい。本発明は、交換機および伝送路の使用効率を高めつつユーザのサービス品質を満足させる制御を提供することを課題とする。
【００１０】
【課題を解決するための手段】
図１を参照しながら、本発明の原理を説明する。
本発明は、ルーティング情報を含むヘッダ部と転送情報を格納する情報部とから構成される固定長パケットをそのルーティング情報に従って自律的に交換するネットワーク（たとえば、ＡＴＭ  網）を対象とする。そして、そのネットワークで提供される通信サービスを複数の品質クラスに分類してそれら品質クラスの品質を制御する方式を前提とする。
【００１１】
複数のバッファ１−１〜１−ｎは、品質クラス毎に設けられ、それぞれ対応する品質クラスの固定長パケットを格納する。共通バッファ構成とする場合には、固定長パケットを共通バッファに格納し、各固定長パケットの共通バッファへの書込みアドレスを、それら固定長パケットの品質クラスに応じて、品質クラス毎に設けた複数のバッファ１−１〜１−ｎに格納する。
【００１２】
複数のカウンタ２−１〜２ーｎは、複数のバッファ１−１〜１−ｎの各々に対して設けられ、それぞれ所定の閾値が設定される。
制御手段３は、１つの固定長パケットを処理するための単位時間（タイムスロット）毎に複数のカウンタ２−１〜２ーｎの各カウンタ値をインクリメントするとともに、カウンタ値が閾値以上であるカウンタに対応するバッファから固定長パケットを読み出してそのカウンタのカウンタ値をその閾値だけカウントダウンする。また、制御手段３は、カウンタ値が閾値以上であるカウンタに対応するバッファに固定長パケットが格納されていない場合には、そのカウンタのカウンタ値をインクリメントしないように制御する。
【００１３】
上記制御によれば、閾値は、各品質クラス毎の読出し間隔を規定する。また、各カウンタに対して設定する閾値をＴｉ  （ｉ＝１，２，３，．．．）、各品質クラスが要求する品質を保証できる帯域をＲＢｉ  、出線の物理帯域をＰＢとした場合、Ｔｉ  ＝ＰＢ／ＲＢｉ  となるように閾値を設定すれば、各品質クラスにおいて閾値によって規定されるセル読出し間隔（セル読出しレート）によって品質が保証される。
【００１４】
各品質クラスに対して競合優先度情報を設定しておく。そして、２つ以上の品質クラスにおいてセルを読み出せる状態になった場合（２つ以上のバッファにおいて固定長パケットが格納されておりかつそれら２つ以上のバッファに対応するカウンタのカウンタ値がそれぞれその閾値以上である場合）には、御手段３は、上記２つ以上のバッファのうち最も高い競合優先度が設定されている品質クラスのバッファから固定長パケットを読み出す。このことにより、品質クラス間の優先制御を行うことができる。
【００１５】
空きタイムスロットを優先的に使用できる権利を所定の品質クラスに対して与えておく。そして、固定長パケットを読み出す状態にあるバッファがなかった場合（カウンタ値が閾値以上である品質クラスがない場合、またはカウンタ値が閾値以上である品質クラスのバッファに固定長パケットが格納されていない場合）には、制御手段３は、上記権利が与えられている品質クラスのバッファから固定長パケットを読み出す。このことにより、帯域を効率よく利用できる。
【００１６】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照しながら説明する。本発明は、固定長パケットをその固定長パケットに設定されている制御情報に従って自律的にルーティングさせるネットワークを対象とする。以下では、ＡＴＭ  網を採り上げて説明するが、ＡＴＭ  の他に、たとえば、ＳＭＤＳ通信などにも適用できる。。
【００１７】
図２は、ＡＴＭ  網の構成図である。多数の加入者線から入力されるセルまたは他の交換機から転送されてくるセルは、多重化装置１１によって多重されてＡＴＭ  スイッチ１２に入力される。図２に示す例では、それぞれ１５０Ｍｂｐｓの帯域を持った１６本の加入者線を集線して、２．４Ｇｂｐｓの速度でＡＴＭ  スイッチ１２にセルを入力する構成である。ＡＴＭ  スイッチ１２は、各セルに設定されているルーティング情報に従ってそのセルを所定の出線に出力する。
【００１８】
加入者Ａから加入者Ｂへセルを転送するときには、加入者Ａは、加入者Ｂへのルートを指定するＶＰＩ／ＶＣＩ  をそのセルのヘッダに設定してＡＴＭ  スイッチ１２へ転送する。このとき、ＶＣＩ  変換テーブル１３が参照され、入力セルに設定されているＶＰＩ／ＶＣＩ  に従って、タグ情報および出力用ＶＰＩ／ＶＣＩ  が取り出される。そして、入力セルは、タグ情報が付与されるとともに入力セルに設定されていたＶＰＩ／ＶＣＩ  が出力用ＶＰＩ／ＶＣＩ  に書き換えられ、ＡＴＭ  スイッチ１２に入力される。ＡＴＭ  スイッチ１２は、タグ情報に従ってそのセルを交換し、加入者Ｂへ接続される出線にそのセルを出力する。
【００１９】
本発明の品質制御用バッファ６０または７０は、ＡＴＭ  スイッチ１２の入力側（多重集線部）またはＡＴＭ  スイッチ１２の出力側（多重分離部）に設けられる。また、本発明の品質制御用バッファを用いてＡＴＭ  スイッチ１２自体を構成することもできる。
【００２０】
上記ＡＴＭ  網は、音声通信、画像通信、データ通信等の様々なサービスを提供する。各サービスは、セル廃棄率や転送遅延等に関するサービス品質を要求する。本発明の品質制御用バッファは、このような様々なサービスの品質を保証するように制御を行う。
【００２１】
図３は、品質制御用バッファの概念を説明する図である。セルバッファ２１−１，２１−２，．．．，２１−ｎは、品質クラスごとに設けられる。品質クラスは、各サービスが交換機に要求する品質（ＱＯＳ  ：  Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）によって分類される。たとえば、ＡＴＭ  フォーラムにおいては、各サービスが申告する転送レートおよび転送遅延に関するパラメータ等に従って、それらのサービスを５つのカテゴリに分類している。即ち、ＣＢＲ  （Ｃｏｎｔｉｎｕｏｕｓ  Ｂｉｔ  Ｒａｔｅ）  、ｒｔ−ＶＢＲ  （ｒｅａｌｔｉｍｅ  Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ）  、ｎｒｔ−ＶＢＲ  （ｎｏｎ  ｒｅａｌ  ｔｉｍｅ  Ｖａｒｉａｂｌｅ  Ｂｉｔ  Ｒａｔｅ）、      ＡＢＲ  （Ａｖａｉｌａｂｌｅ  Ｂｉｔ  Ｒａｔｅ）、ＵＢＲ  （Ｕｎｓｐｅｃｉｆｉｅｄ  Ｂｉｔ  Ｒａｔｅ）に分類している。セルバッファ２１−１，２１−２，．．．，２１−ｎは、例えば、これらの５つのカテゴリに対応してそれぞれ設けられる。
【００２２】
なお、品質クラスは、上述の分類に限定されるものではなく、用途に応じて任意に設定することができる。すなわち、たとえば、セル損失率（廃棄率）の許容値に従って品質クラスを設定してもよい。
【００２３】
品質クラスフィルタ２２−１，２２−２，．．．，２２−ｎは、それぞれセルバッファ２１−１，２１−２，．．．，２１−ｎに対して設けられる。各品質クラスフィルタ２２−１，２２−２，．．．，２２−ｎは、それぞれ特定の品質クラスのセルのみを通過させる。たとえば、品質クラスフィルタ２２−１は、品質クラス１が設定されているセルのみを取り込んで、そのセルをセルバッファ２１−１へ書き込む。
【００２４】
読出しスケジューラ２３は、後述詳しく説明する手順に従って、セルバッファ２１−１，２１−２，．．．，２１−ｎに格納されているセルを読み出して出線に出力する。
【００２５】
次に、各セルに対して品質クラスを設定する方法を説明する。ＡＴＭ  では、呼を確立する際に、シグナリングによって、サービスの種類、セル転送レート、転送先情報などを申告する。交換機は、ＣＡＣ  （Ｃａｌｌ  Ａｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ）により、この申告値を受け入れることができるかどうかを判断する。受け入れることができる場合には、未使用のＶＰＩ／ＶＣＩ  を確保し、呼を設定しようとする加入者にその確保したＶＰＩ／ＶＣＩ  を通知する。このとき、ＶＣＩ  変換テーブル１３において、上記ＶＰＩ／ＶＣＩ  に対応づけて、出力ＶＰＩ／ＶＣＩ  およびタグ情報を設定する。上記ＶＰＩ／ＶＣＩ  を受け取った加入者は、各セルにそのＶＰＩ／ＶＣＩ  を設定してそれらのセルを交換機へ転送する。
【００２６】
図４（ａ）  は、回線上でのセルのフォーマットである。回線上でのセルは、５バイトのヘッダと４８バイトの情報フィールド（ペイロード）とから構成される。ヘッダは、ＶＰＩ／ＶＣＩ  、ペイロードの種別を識別するＰＴＩ  、セル損失の優先度を示すＣＬＰ  、およびヘッダ部の誤り検出とセル同期に用いられるＨＥＣ  によって構成される。
【００２７】
図５は、ＶＣＩ  変換テーブル１３を模式的に示した図である。ＶＣＩ  変換テーブル１３には、入力セルのＶＰＩ／ＶＣＩ  に対応づけて、出力ＶＰＩ／ＶＣＩ  およびタグ情報が設定されている。
【００２８】
図４（ａ）  に示すセルが交換機に入力するとき、ＶＣＩ  変換テーブル１３がアクセスされる。すなわち、入力セルのヘッダに設定されているＶＰＩ／ＶＣＩ  を用いてＶＣＩ  変換テーブル１３が検索され、そのＶＰＩ／ＶＣＩ  に対応する出力ＶＰＩ／ＶＣＩ  及びタグ情報が取り出される。そして、入力セルに設定されていたＶＰＩ／ＶＣＩ  が出力ＶＰＩ／ＶＣＩ  に書き換えられるとともにタグ情報が付与される。ＶＰＩ／ＶＣＩ  が書き換えられタグ情報が付与されたセルは、交換機（ＡＴＭ  スイッチ１２）に入力される。
【００２９】
図４（ｂ）  は、交換機内でのセルのフォーマットの一実施形態である。交換機内でのセルは、その先頭に２バイトのタグ情報が付加されており、そのタグ情報に続いてヘッダおよび情報フィールド（ペイロード）が格納される。タグ情報は、ＶＣＩ  変換テーブル１３から読み出したものである。
【００３０】
属性表示タグは、当該セルが、ポイント対ポイント通信であるのかポイント対マルチポイント通信であるのかを表示するビット等からなる。スイッチタグは、ＡＴＭ  スイッチ１２内でセルが通過するルート（パス）を指定する。品質制御タグは、品質クラスを指定する。品質クラスの分類として、たとえば、ＡＴＭ  フォーラムで提案されている５つのカテゴリを用いれば、品質制御タグは、３ビットの情報とすればよい。回線タグは、出力回線を指定する。
【００３１】
このように、セルが交換機に入力されるときに付与されるタグ情報には、品質クラスを指定する品質制御タグ（品質クラス番号）が設定されている。したがって、入力セルのタグ情報を検出すれば、そのセルの品質クラスを認識できる。図３において、品質クラスフィルタ２２−１，２２−２，．．．，２２−ｎは、入力セルのタグ情報を検出し、そのセルを通過させるか否かを判断する。このことにより、各セルを、そのセルの品質クラスに対応するセルバッファ２１−１，２１−２，．．．，２１−ｎに書き込むことができる。
【００３２】
図６は、品質制御用バッファのブロック図である。なお、図６においては、図３に示す品質クラスフィルタ２２−１，２２−２，．．．，２２−ｎの後段の構成を示している。
【００３３】
品質制御用バッファは、品質クラス毎に設けられる個別部とすべての品質クラスに共通に設けられる共通部とからなる。各品質クラスの個別部の構成は、互いに同じであるので、ここでは、品質クラス１について説明する。
【００３４】
品質クラスフィルタ２２−１を通過したセルは、セルバッファ２１−１に書き込まれる。バッファ長計測カウンタ３１−１は、セルバッファ２１−１のバッファ長（セルバッファ２１−１に格納されているセル数）を計測する。バッファ長計測カウンタ３１−１は、セルバッファ２１−１にセルが書き込まれたときにカウンタ値をインクリメントし、読出し３５−１がセルバッファ２１−１からセルを読み出したときにそのカウンタ値をデクリメントする。
【００３５】
閾値設定部３２−１は、ソフトウェアにより品質クラス１の閾値を設定する。閾値の決定方法については後述する。セルカウンタ３３−１は、時間経過、および品質クラス１のセルの入出力に従って計数動作するカウンタである。セルカウンタ３３−１の動作については後述詳しく説明する。比較器３４−１は、セルカウンタ３３−１のカウンタ値と閾値設定部３２−１に設定されている閾値とを比較し、その比較結果を読出し部３５−１に通知する。読出し部３５−１は、時間経過および各種制御信号に従ってセルバッファ２１−１からセルを読み出す。
【００３６】
共通部としては、オーバライド指定部４１、オーバライド制御部４２および競合制御部４３を設ける。オーバライド指定部４１は、オーバライド指定をするか否かを品質クラス毎に設定する。複数の品質クラスに対してオーバライド指定をする場合には、その優先順位も設定する。
【００３７】
図７は、オーバライド指定部４１の設定例である。同図に示す例では、品質クラスを５つに分類しており、品質クラス３〜５に対してオーバライド指定を設定している。また、品質クラス５に対して最も高いオーバライド優先権を与えている。
【００３８】
オーバライド制御部４２は、セルバッファ２１−１，２１−２，．．．，２１−ｎのバッファ長およびオーバライド指定部４１に設定されている情報に従って所定の品質クラスの読出し部に対して読出し制御信号を転送する。
【００３９】
競合制御部４３は、競合優先情報を格納している。競合優先情報は、複数の品質クラスにおいてセルを読み出すことができる状態になったときに、どのセルバッファからセルを読み出すかを指定する情報である。この情報は、ソフトウェアが予め設定しておく。そして、競合制御部４３は、各品質クラスのバッファ長計測カウンタ３１−１，３１−２，．．．，３１−ｎのカウンタ値および比較器３４−１，３４−２，．．．，３４−ｎの比較結果を受け取り、複数の品質クラスにおいてセルを読み出すことができる状態になったことを認識すると、競合優先情報に従って所定の品質クラスの読出し部に読出し制御信号を転送する。
【００４０】
なお、図６においては、読出し部３５−１，３５−２，．．．，３５−ｎを品質クラス毎に独立に示しているが、すべての品質クラスに対して共通に設けるようにしてもよい。
【００４１】
図８は、品質制御用バッファの基本動作を説明する図である。ここでは、１つの品質クラス（品質クラス１とする）について説明する。
品質クラス１に対する閾値Ｔ１  は、３．２５に設定されている。閾値Ｔ１  は、下記（１）  式を用いて決定する。
閾値Ｔ１  ＝    帯域ＰＢ／帯域ＲＢ１      ・・・（１）  式
帯域ＰＢは、出線の物理帯域である。ここで説明する品質制御用バッファを図２に示すＡＴＭ  スイッチ１２の入力側（多重集線部）に設ける品質制御用バッファ６０とすると、出線の物理帯域は、２．４Ｇｂｐｓである。帯域ＲＢ１  は、品質クラス１が要求する品質を保証するために必要な帯域である。各品質クラスが要求する品質（セル廃棄率など）は、予め設定してある。また、各呼を確立するときに申告される転送レートは、ＣＡＣ  が管理している。したがって、これらの情報を参照することにより、各品質クラスが要求する品質を保証するために必要な帯域を知ることができる。この例では、帯域ＲＢ１  ＝０．７３８５Ｇｂｐｓである。
よって、閾値Ｔ１  ＝２．４／０．７３８５＝３．２５が得られる。
【００４２】
セルカウンタ３３−１のカウンタ値Ｃ１  は、基本的に、下記の規則（ａ）  〜（ｃ）  に従って変化する。ただし、後述する競合制御およびオーバライド制御においては、下記規則が適用されない場合もある。
（ａ）  １タイムスロット毎にインクリメント（１カウントアップ）
（ｂ）  あるタイムスロットにおいてセルバッファ２２−１からセルを読み出したときには、インクリメントすることなく、閾値Ｔ１  （３．２５）だけカウントダウンする
（ｃ）  カウンタ値Ｃ１  が閾値Ｔ１  以上であれば、上記（ａ）  のインクリメントを行わない
次に、セル読出しアルゴリズムを具体的に説明する。図８では、セル５１〜５６がセルバッファ２２−１に書き込まれたときのカウンタ値Ｃ１  および読出し動作を示している。なお、ここでは、タイムスロット０においてカウンタ値Ｃ１  が０であるとする。１タイムスロット時間は、出線の物理帯域を２．４Ｇｂｐｓとすると、たとえば、約１８０ｎｓｅｃである。
【００４３】
セルバッファ２２−１からセルを読み出すための条件としては、以下の２つが設定されている。ただし、条件（ａ）  は、後述するオーバライド制御において無視される場合もある。
（ａ）  カウンタ値Ｃ１  が閾値Ｔ１  以上である
（ｂ）  セルバッファ２２−１にセルが格納されている
上記条件（ａ）  を満たすとき、品質クラス１に対してセル読み出す権利が与えられる。また、上記（ａ）  および（ｂ）  を満たすとき、品質クラス１が「セルを読み出すことができる状態」になる。換言すれば、上記条件（ａ）  または（ｂ）  の少なくとも一方が満たされない場合、品質クラス１は「セルを読み出すことができきない状態」となる。なお、複数の品質クラスが同時に「セルを読み出すことができる状態」となった場合は、後述する競合制御において説明する。
【００４４】
カウンタ値Ｃ１  は、１タイムスロット時間が経過するごとに１ずつカウントアップされ、タイムスロット４において閾値Ｔ１  よりも大きな値となる。これにより、読出し部３５−１は、タイムスロット４において、セルバッファ２２−１からセルを読み出す権利が与えられる。このとき、セルバッファ２２−１にはセル５１が格納されているので、読出し部３５−１は、セル５１を読み出して出線に出力する。同時に、カウンタ値Ｃ１  が閾値Ｔ１  だけカウントダウンされる。すなわち、タイムスロット４において、カウンタ値Ｃ１  は０．７５（４−３．２５＝０．７５）となる。
【００４５】
以降、同様の動作を繰り返す。すなわち、タイムスロット毎にカウンタ値Ｃ１  を１ずつカウントアップし、カウンタ値Ｃ１  が閾値Ｔ１  以上となったときにセルバッファ２２−１にセルが格納されていれば、そのセルを読み出して出線に出力するとともに、カウンタ値Ｃ１  を閾値Ｔ１  だけカウントダウンする。
【００４６】
カウンタ値Ｃ１  が閾値Ｔ１  以上となったとき（タイムスロット４、７、１０、１３）に、セルバッファ２２−１に常にセルが格納されているとすると、セルを読み出す間隔は閾値Ｔ１  に一致する。図８に示す例では、タイムスロット０〜タイムスロット１３の期間に４個のセルを読み出している。したがって、セルを読み出す間隔の平均値は、１３／４＝３．２５となり、閾値Ｔ１  と一致する。
【００４７】
タイムスロット１７においてセル５５を読み出した後、カウンタ値Ｃ１  はカウントアップされていく。そして、タイムスロット２０において、カウンタ値Ｃ１  は閾値Ｔ１  以上となり、読出し部３５−１は、セルバッファ２２−１からセルを読み出す権利が与えられる。しかし、このとき、セルバッファ２２−１にはセルが格納されていないので、セルを読み出すことができない。このように、カウンタ値Ｃ１  が閾値Ｔ１  以上であるときに、セルバッファ２２−１にセルが格納されていない場合には、カウンタ値Ｃ１  はインクリメントされずにそのままの値が保持される。
【００４８】
この後、カウンタ値Ｃ１  は、セルバッファ２２−１にセルが書き込まれるまでその値が保持されるが、保持される値は閾値Ｔ１  以上であるので、読出し部３５−１は、常にセルバッファ２２−１からセルを読み出す権利が与えられた状態となっている。したがって、セルバッファ２２−１にセル５６が書き込まれると、セル５６は即座に読み出される。
【００４９】
カウンタ値Ｃ１  が閾値Ｔ１  以上であり、かつ、セルバッファ２２−１にセルが格納されていない場合に、カウンタ値Ｃ１  をインクリメントしない理由は以下の通りである。すなわち、もし、カウンタ値Ｃ１  が閾値Ｔ１  以上であり、かつ、セルバッファ２２−１にセルが格納されていない場合にカウンタ値Ｃ１  をタイムスロット毎にインクリメントすると、セル入力がなければ、カウンタ値Ｃ１  は大きな値となってしまう。一例として、カウンタ値Ｃ１  が４０にまでカウントアップされた状態を想定する。
【００５０】
この状態において、多量のセルがバースト的に入力されてセルバッファ２２−１に書き込まれると、カウンタ値Ｃ１  は閾値Ｔ１  以上であるので、セルバッファ２２−１からセルが１つ読み出されるとともに、カウンタ値Ｃ１  が閾値Ｔ１  だけカウントダウンされる。このことにより、カウンタ値Ｃ１  は３６．７５（４０−３．２５＝３６．７５）となる。次タイムスロットにおいても、カウンタ値Ｃ１  は閾値Ｔ１  以上であるので、セルバッファ２２−１からセルが１つ読み出され、カウンタ値Ｃ１  は閾値Ｔ１  だけカウントダウンされて、３３．５（３６．７５−３．２５＝３３．５）になる。以降、カウンタ値Ｃ１  が閾値Ｔ１  よりも小さくなるまで連続してセルバッファ２２−１からセルが読み出される。この例では、１２タイムスロット連続してセルバッファ２２−１からセルが読み出されることになる。
【００５１】
このように、ある品質クラスにおいて連続してセルが読み出されると、その品質クラスのセル転送に使用される帯域が、その品質クラスの要求する品質を保証するために必要な帯域を越えてしまう。この場合、この品質制御用バッファから出力されるセルを受信する装置（たとえば、ＡＴＭ  スイッチ）においてセル廃棄が発生する可能性が高くなる。
【００５２】
カウンタ値Ｃ１  が閾値Ｔ１  以上であり、かつ、セルバッファ２２−１にセルが格納されていない場合に、カウンタ値Ｃ１  をインクリメントしない理由は、上述のようなセル廃棄を回避するためである。
【００５３】
本実施形態の品質制御用バッファは、上述のようなカウンタ値の制御により、各品質クラスのセル転送レートを閾値によって規定している。このため、上述のようなセル廃棄を防ぐことができる。ただし、後述する競合が発生した場合は、カウンタ値の制御方法が異なる。
【００５４】
次に、競合制御について説明する。本実施形態の品質制御用バッファは、複数の品質クラスのそれぞれに対してセルバッファを設け、所定の条件に従って、それらセルバッファからセルを読み出す構成である。しかしながら、１タイムスロットにおいて読み出すことができるセルは、１つのみであるので、２つ以上の品質クラスにおいてセルバッファからセルを読み出せる状態となると、品質クラス間で競合が発生する。
【００５５】
図９は、競合制御を説明する図である。図９では、２つの品質クラスの間の競合を説明する。品質クラス１および品質クラス２は、それぞれ閾値として、Ｔ１  ＝３．２５およびＴ２  ＝３．０が設定されている。また、各品質クラスに対しては、予め競合優先情報が設定されている。ここでは、品質クラス１に対して高い競合優先権が与えられており、品質クラス１と品質クラス２との間で競合が発生した場合、品質クラス１のセルを読み出すものとする。なお、品質クラス１および品質クラス２に対してそれぞれ設けられるセルカウンタのカウンタ値をそれぞれＣ１  およびＣ２  とする。
【００５６】
競合が発生していないときには、品質クラス１および品質クラス２において、それぞれ図８を参照しながら説明した動作でセルを読み出して出線に出力する。すなわち、１タイムスロット毎に各カウンタ値Ｃ１  およびＣ２  を１ずつカウントアップ（インクリメント）し、カウンタ値Ｃ１  が閾値Ｔ１  以上となったときにセルバッファ２２−１にセルが格納されていればそのセルを読み出し、カウンタ値Ｃ２  が閾値Ｔ２  以上となったときにセルバッファ２２−２にセルが格納されていればそのセルを読み出す。
【００５７】
品質クラス１と品質クラス２との間で競合が発生した場合は、高い競合優先権が与えられている品質クラス１のセルを読み出す。たとえば、タイムスロット１７では、カウンタ値Ｃ１  およびＣ２  がそれぞれ閾値Ｔ１  およびＴ２  以上となっており、かつ、セルバッファ２２−１および２２−２にそれぞれセルが格納されている。すなわち、品質クラス１および品質クラス２が共に「セルを読み出すことができる状態」になっており、競合が発生している。この場合、セルバッファ２２−１に格納されているセルを読み出す。
【００５８】
タイムスロット１７において、セルバッファ２２−１に格納されているセルを読み出すと、カウンタ値Ｃ１  は閾値Ｔ１  だけカウントダウンされる。一方、品質クラス２においては、セルは読み出されず、カウンタ値Ｃ２  は１だけカウントアップされる。
【００５９】
競合が発生していないときには、図７を参照しながら説明したように、ある品質クラスのカウンタ値が閾値以上であれば、そのカウンタ値は時間経過によってカウントアップされることはない。ところが、競合が発生し、その競合によってセルを読み出すことができなかった品質クラスにおいては、そのセルを読み出すことができなかったタイムスロットにおいて、カウンタ値を１カウントアップする。
【００６０】
このように、競合によってセルを読み出すことができなかった品質クラスにおいて、そのタイムスロットでカウンタ値をカウントアップすれば、セルを読み出す間隔の平均値を閾値に従うように制御できる。たとえば、品質クラス２では、タイムスロット１７においてカウンタ値Ｃ２  を３から４へカウントアップしている。タイムスロット１８では、セルバッファ２２−２からセルが読み出され、カウンタ値Ｃ２  は閾値Ｔ２  だけカウントダウンされて１になる。この後、カウンタ値Ｃ２  はタイムスロット毎に１ずつカウントアップされ、タイムスロット２０において３になる。ここで、閾値Ｔ２  は３であるので、カウンタ値Ｃ２  が閾値Ｔ２  以上（「以上」は、「一致」を含む）となるので、セルバッファ２２−２に格納されているセルが読み出される。この結果、品質クラス２においては、タイムスロット１４〜２０において、２つのセルを読み出したことになる。この期間のセルの読出し間隔を平均化すれば、３タイムスロット毎に１つのセルを読み出すことになり、閾値Ｔ２  に一致する。
【００６１】
上記読出し動作を競合がなかった場合の動作と比較する。競合がなかったとすると、品質クラス２では、タイムスロット１７においてセルバッファ２２−２からセルが読み出され、カウンタ値Ｃ２  が０にカウントダウン（点線で示す）される。この後、カウンタ値Ｃ２  はタイムスロット毎に１ずつカウントアップされ、タイムスロット２０において３になる。そして、タイムスロット２０においてセルバッファ２２−２から次のセルが読み出される。このように、競合がない場合においても、タイムスロット１４〜２０に２つのセルを読み出すことになり、競合が発生した場合と同じになる。
【００６２】
このように、競合によって品質クラス２セルを読み出すことができなかった場合には、品質クラス１のセルが読み出されないタイムスロットまで品質クラス２の読出し処理が待たされるが、平均化すれば、品質クラス２の読出し速度の上限は、閾値Ｔ２  によって規定される値となる。
【００６３】
次に、オーバライド制御について説明する。上述の説明では、ある品質クラスのセルカウンタのカウンタ値がその品質クラスに対して設定されている閾値以上となった場合に、その品質クラスに対してセルを読み出す権利が与えられる方式を示した。しかしながら、この方式では、いくつかの品質クラスにおいてセルバッファにセルが格納されていても、それらの品質クラスのカウンタ値が閾値よりも小さければ、それらのセルは読み出されない。
【００６４】
オーバライド制御は、セルを読み出すことができる状態にある品質クラスがないときに、指定された品質クラスにおいて、セルカウンタのカウンタ値とは無関係にセルを読み出せるようにした方式である。すなわち、ある指定された品質クラスにおいて、セルカウンタのカウンタ値が閾値よりも小さいにもかかわらずセルバッファからセルを読み出せるようにした方式を「オーバライド読出し」と呼ぶ。
【００６５】
図１０は、オーバライド制御を説明する図である。図１０において、品質クラス１および２については図９と同じ動作をしており、ここでは、セル出力のみを示している。品質クラス３に対する閾値は、Ｔ３  ＝５．０が設定されている。また、品質クラス３に対して設けられるセルカウンタのカウンタ値をＣ３  とする。さらに、品質クラス１に対して最も高い競合優先権が与えられており、品質クラス３の競合優先権が最も低く設定されている。
【００６６】
品質クラス３に対しては、「オーバライド読出し」が設定されている。この設定は、図６に示すオーバライド指定部４１に記憶される。品質クラス３に対して「オーバライド読出し」が設定されると、品質クラス１および２においてセル読出しが行われないタイムスロット（空きタイムスロット）では、カウンタ値Ｃ３  が閾値Ｔ３  よりも小さくても品質クラス３のセルを読み出すことができる。
【００６７】
以下、図１０を参照しながらオーバライド制御について具体的に説明する。タイムスロット１および６では、カウンタ値Ｃ３  が閾値Ｔ３  以上となり、図８を参照しながら説明した方式と同様に、品質クラス３のセルが読み出される。また、タイムスロット４および７では、品質クラス１のセルが読み出され、タイムスロット２、５、および８では、品質クラス２のセルが読み出される。
【００６８】
ところが、タイムスロット３および９において、品質クラス１および２では、上述した条件（ａ）  または（ｂ）  を満たしていないため、セルは読み出されない。また、このとき、品質クラス３のカウンタ値Ｃ３  はＴ３  よりも小さい。このため、オーバライド読み出しを行わないとすると、タイムスロット３および９は空きタイムスロットとなる。オーバライド読出しは、このような空きタイムスロットを利用する。すなわち、タイムスロット３または９において、品質クラス３のセルバッファにセルが格納されていれば、そのセルが読み出されて空きタイムスロットに出力される。
【００６９】
タイムスロット３では、品質クラス３のオーバライド読出しを行うことができるが、セルバッファにセルが格納されていないので、セルは出力されない。タイムスロット９では、品質クラス３のセルバッファにセルが格納されているので、そのセルが読み出されて出力される。
【００７０】
図８または図９を参照しながら説明した通常のセル読出し処理（オーバライド読出し以外のセル読出し）を行う場合は、上述したように、セルカウンタのカウンタ値を閾値だけカウントダウンする。ところが、オーバライド読出しを行ったときには、カウンタ値を閾値だけカウントダウンする処理は行わず、（１）  カウンタ値を１だけカウントアップする、（２）  カウンタ値をそのまま保持する、（３）  カウンタ値を０にする、のいずれか１つを行う。図１０では、カウンタ値を１だけカウントアップする方式を示している。
【００７１】
オーバライド読み出しを指定するサービスとしては、たとえば、コンピュータ間のデータ通信などが有効である。このようなデータ通信は、転送遅延に関する品質の要求は厳しくないので、競合優先権を低く設定するとともにオーバライドライド読出しを指定する。このような設定とすれば、上記データ通信において転送されるセルは、競合優先権を高く設定したサービス（たとえば、音声通信や動画通信）のセル読出しが無いときに限って、閾値で規定する読出し間隔よりも短い間隔で読み出すことができる。したがって、空き帯域を利用してデータを効率よく送ることができる。
【００７２】
図１０に示す例では、１つの品質クラスに対してオーバライド読み出しを指定しているが、複数の品質クラスに対して指定することもできる。この場合、オーバライド読出しを指定した複数の品質クラスに対して、オーバライド優先権を設定する。図７に示す例では、５つの品質クラスを有する品質クラス制御用バッファにおいて品質クラス３〜５に対してオーバライド指定を設定しており、品質クラス５、４、３という順番に高いオーバライド優先権を与えている。
【００７３】
このような設定がされている場合、オーバライド読出しを行うときには、品質クラス５のセルを読み出す。品質クラス５にセルが格納されていなければ、品質クラス４のセルを読み出す。品質クラス５および４にセルが格納されていなければ、品質クラス３のセルを読み出す。
【００７４】
図１１は、品質制御用バッファにおける遅延に関するシミュレーション結果である。このシミュレーションでは、品質クラス数を２とし、出線の物理帯域を１４９．７６Ｍｂｐｓ（３５３２０７セル／秒）としている。また、各品質クラスのセルバッファにおいてオーバーフローが発生しないものとしている。品質クラス１および２の伝送路使用率は、ともに９０パーセントである。また、品質クラス１および２の読出し速度は、それぞれ１０Ｍｂｐｓ、１３９．７６Ｍｂｐｓである。これらの読出し速度は、上記（１）  式の帯域ＲＢに相当する。
【００７５】
方式１は、単一のセルバッファに品質クラス１および２のセルを格納する方式である。方式２は、品質クラス１用のセルバッファおよび品質クラス２用のセルバッファに対して固定的に読出し帯域を割り当てる方式である。方式３−１は、品質クラス１に対して高い競合優先権を与えるとともに、品質クラス１をオーバライド指定する方式である。方式３−２は、品質クラス１に対して高い競合優先権を与えるとともに、品質クラス２をオーバライド指定する方式である。
【００７６】
図１１に示すように、オーバライド制御を導入することにより、全体の遅延を小さくすることができ、効率的に品質制御を行うことができる。
図１２は、セル読出し処理の動作フローチャートである。このフローチャートは、１タイムスロット内での動作を示す。ここでは、品質クラス１に対して最も高い競合優先権を与えており、以下、順番に品質クラス２，３，．．．に対して競合優先権に関する優先度を下げていく。
【００７７】
ステップＳ１では、品質クラスとして「ｉ＝１」を指定する。ステップＳ２では、品質クラスｉのカウンタ値Ｃｉ  が閾値Ｔｉ  以上か否かを調べる。カウンタ値Ｃｉ  が閾値Ｔｉ  よりも小さければ、ステップＳ３においてカウンタ値Ｃｉ  をインクリメントしてステップＳ５へ進む。また、カウンタ値Ｃｉ  が閾値Ｔｉ  以上であれば、ステップＳ４において品質クラスｉにセルが格納されていないと判断されると、ステップＳ５へ進む。
【００７８】
ステップＳ５では、すべての品質クラスに対して上記Ｓ２〜Ｓ４の処理を実行したか否かを調べ、上記処理を実行していない品質クラスがあれば、ステップＳ６において「ｉ＝ｉ＋１」としてステップＳ２へ戻り、すべての品質クラスに対して上記処理を実行していれば、ステップＳ２１へ進む。
【００７９】
ステップＳ４において、品質クラスｉにセルが格納されていたと判断された場合には、ステップＳ１１において、そのセルを読み出すとともに、ステップＳ１２において、カウンタＣｉ  を閾値Ｔｉ  だけカウントダウンする。
【００８０】
ステップＳ１３では、品質クラスｉよりも競合優先権が高い品質クラスついては、カウンタ値Ｃｊ  が閾値Ｔｊ  よりも小さい場合のみ、カウンタ値Ｃｊ  をインクリメントする。一方、品質クラスｉよりも競合優先権が低い品質クラスについては、カウンタ値Ｃｊ  が閾値Ｔｊ  よりも小さい場合にカウンタ値Ｃｊ  をインクリメントするとともに、セルバッファにセルが格納されている場合には、カウンタ値Ｃｊ  が閾値Ｔｊ  以上であってもカウンタ値Ｃｊ  をインクリメントする。
【００８１】
ステップＳ２１では、オーバライド読出しが指定されている品質クラスがあるか否かを調べる。オーバライド読出しが指定されている品質クラスがなければ、このタイムスロットの処理を終了する。この場合、このタイムスロットではセルは読み出されない。オーバライド読出しが指定されている品質クラスがあれば、オーバライドモードに移り、ステップＳ２２において、最も高いオーバライド優先権が与えられている品質クラスｎを検出する。
【００８２】
ステップＳ２３では、品質クラスｎにセルが格納されているか否かを判断し、格納されていれば、ステップＳ２４でそのセルを読み出してこのタイムスロットの処理を終了する。
【００８３】
品質クラスｎにセルが格納されていない場合には、ステップＳ２５において、オーバライド読出しが指定されているすべての品質クラスに対して上記ステップＳ２３以降の処理を行ったか否かを調べる。すべての品質クラスに対して上記処理が実行されていれば、このタイムスロットの処理を終了する。一方、上記処理が実行されていないオーバライド読出しが指定された品質クラスがあれば、ステップＳ２６において、オーバライド読出しが指定されている他の品質クラスを検出してステップＳ２３へ戻る。
【００８４】
図１３は、品質制御用バッファをＡＴＭ  スイッチの入力側（多重集線部）に設けた構成を示す図である。図２に示す品質制御用バッファ６０に対応する。
多重部６１は、ｎ本の入線から入力されるセルを多重化し、フィルタ６２−１〜６２−ｎへ転送する。フィルタ６２−１〜６２−ｎは、各入力セルのタグ情報を参照し、それぞれ品質クラス１〜ｎのセルを通過させる。セルバッファ６３−１〜６３−ｎは、それぞれフィルタ６２−１〜６２−ｎを通過したセルを格納する。読出し部６４は、図１２を用いて説明した方式により、セルバッファ６３−１〜６３−ｎからセルを読み出して出線に出力する。なお、読出し部６４は、図６に示すバッファ長計測カウンタ３１、閾値設定部３２、セルカウンタ３３、比較器３４、読出し部３５、オーバライド指定部４１、オーバライド制御部４２、競合制御部４３を含む。
【００８５】
読出し部６４は、出線の物理帯域（図１３では、Ｖと記しているが、例えば、２．４Ｇｂｐｓ）に対して各品質クラスの読出し帯域を割り当てる。品質クラス毎の読出し帯域は、各品質クラスが要求する遅延やセル廃棄率などの品質を保証する帯域とする。
【００８６】
ところで、呼を確立するときは、使用帯域およびサービス種別が申告される。このサービス種別によって品質クラスが決まるので、その呼に対する遅延やセル廃棄率などの品質が認識される。そして、申告された使用帯域を用いて、その呼が要求するサービスの品質を保証できる帯域を計算する。ここで、すべての呼に関する情報はＣＡＣ  によって管理されているので、各品質クラスが要求する品質を保証する帯域を算出することができる。
【００８７】
たとえば、品質制御用バッファの出線の物理帯域を２．４Ｇｂｐｓ、品質クラス数を３とする。ここで、品質クラス１〜３の読出し帯域を、それぞれ０．９Ｇｂｐｓ、０．３Ｇｂｐｓ、０．９Ｇｂｐｓとすると、品質クラス１〜３の閾値Ｔ１  〜Ｔ３  は、それぞれ２．６７、８．０、２．６７となる。このようにして閾値が設定されると、品質クラス１〜３の読出し間隔の平均値は、それぞれ２．６７タイムスロット、８．０タイムスロット、２．６７タイムスロットに制限される。
【００８８】
図１４は、品質制御用バッファを用いてＡＴＭ  スイッチを構成した例を示す図である。同図に示すＡＴＭ  スイッチは、ｎ×ｎスイッチであり、図１４に示す品質制御用バッファ６０をｎ個設けることによって構成することができる。
【００８９】
図１５は、品質制御用バッファをＡＴＭ  スイッチの出力側（多重分離部）に設けた構成を示す図である。同図においては、ＡＴＭ  スイッチ１２の出力をｍ本の出線に分離する構成を示している。品質制御用バッファ７０−１〜７０−ｍは、基本的には、図１３に示した多重集線部の品質制御用バッファ６０と同じである。
【００９０】
出線１用フィルタ７１は、ＡＴＭ  スイッチ１２から出力されたセルのうち、そのタグ情報によって出線１が指定されているセルのみを通過させる。セルバッファ７２−１〜７２−ｎは、それぞれ品質クラス１〜ｎのセルを格納する。ここで、図１３に示したフィルタ６２−１〜６２ーｎを省略している。読出し部７３は、図１２を用いて説明した方式により、セルバッファ７２−１〜７２−ｎからセルを読み出して出線に出力する。
【００９１】
図１６は、セル間隔のゆらぎを吸収する品質制御用バッファの動作を説明する図である。セル入力タイミングは、図８に示した例と同じである。
この方式では、各品質クラスに対して閾値を２つ設定する。図１６に示す例では、閾値Ｔ１１＝３．２５および閾値Ｔ１２＝４．２５を設定している。
【００９２】
タイムスロット毎にカウンタ値Ｃ１  が１ずつカウントアップされる。カウンタ値Ｃ１  が閾値Ｔ１１以上になったときにセルバッファ２２−１にセルが格納されていれば、そのセルを読み出すとともに、カウンタ値Ｃ１  を閾値Ｔ１１だけカウントダウンする。この動作は、図８に示したものと同じである。
【００９３】
カウンタ値Ｃ１  が閾値Ｔ１１以上になったタイムスロットにおいて、セルバッファ２２−１にセルが格納されていなければ、カウンタ値Ｃ１  と閾値Ｔ１２とを比較する。たとえば、タイムスロット２０に示すように、カウンタ値Ｃ１  が閾値Ｔ１２よりも小さければ、カウンタ値Ｃ１  を１だけカウントアップする。一方、タイムスロット２１に示すように、カウンタ値Ｃ１  が閾値Ｔ１２以上であれば、カウンタ値Ｃ１  をそのまま保持する。この後、タイムスロット２２において、セル５６がセルバッファ２２−１に格納された状態になると、そのセル５６を読み出すとともに、カウンタ値Ｃ１  を閾値Ｔ１１だけカウントダウンする。
【００９４】
図８と図１６とを比較する。図８においては、セル５６を読み出した後、３タイムスロット後にカウンタ値Ｃ１  が閾値Ｔ１  以上となるのに対し、図１６では、セル５６を読み出してから２タイムスロット後にカウンタ値Ｃ１  が閾値Ｔ１１以上となる。すなわち、図１６に示す方式では、図８に示す方式と比べて、１タイムスロットだけ早くセルを読み出すことができる状態になる。したがって、図１６に示す方式では、品質制御用バッファに入力されるセルの間隔にゆらぎが生じた場合、図８に示す方式と比べて、そのゆらぎを１タイムスロットだけ多く吸収できる。
【００９５】
図１７は、共通バッファを用いた品質制御用バッファの構成図である。上述した構成においては、品質クラス毎にセルバッファを設け、入力セルをその品質クラスに応じて所定のセルバッファに格納していた。これに対して、図１７に示す共通バッファ構成では、入力セルをすべて共通バッファに格納し、その共通バッファへの書込みアドレスを品質クラス毎に管理する。
【００９６】
共通バッファ８１は、入線から入力されるセルを格納し、その格納アドレスをアドレスバッファ部８３へ通知する。品質クラス検出部８２は、入力セルの品質クラスを検出し、その結果をアドレスバッファ部８３へ通知する。
【００９７】
アドレスバッファ部８３は、品質クラス毎に設けられたアドレスバッファ８４−１〜８４−ｎを有する。そして、共通バッファ８１に書き込まれたセルの書込みアドレスを、そのセルの品質クラスに従って所定のアドレスバッファ８４−１〜８４−ｎに格納する。たとえば、品質クラス１のセルが入力されると、そのセルの共通バッファ８１への書込みアドレスがアドレスバッファ８４−１に格納される。
【００９８】
読み出し制御部８５は、図１２に示す方式に従って、アドレスバッファ８４−１〜８４−ｎから書込みアドレスを取り出し、その書込みアドレスを用いて共通バッファ８１からセルを読み出す。
【００９９】
上述のような共通バッファ構成とすれば、セルを格納するためのメモリ容量を小さくすることができる。
【０１００】
【発明の効果】
様々な通信サービスを統合的に扱うネットワークにおいて、各通信サービスが要求する品質を保証するための制御方式を提供することにより、ユーザに快適な通信サービスを提供する。また、各品質クラスの品質を保証しながら、特定の品質クラスのセルを空きタイムスロットを利用して転送できるようにしたので、交換機および伝送路の使用効率を高めることができる。
【図面の簡単な説明】
【図１】本発明の原理を説明する図である。
【図２】ＡＴＭ  網の構成図である。
【図３】品質制御用バッファの概念を説明する図である。
【図４】（ａ）  は、回線上でのセルのフォーマットであり、（ｂ）  は、交換機内でのセルのフォーマットである。
【図５】ＶＣＩ  変換テーブルを模式的に示した図である。
【図６】品質制御用バッファのブロック図である。
【図７】オーバライド指定部の設定例である。
【図８】品質制御用バッファの基本動作を説明する図である。
【図９】競合制御を説明する図である。
【図１０】オーバライド制御を説明する図である。
【図１１】品質制御用バッファにおける遅延に関するシミュレーション結果である。
【図１２】セル読出し処理の動作フローチャートである。
【図１３】品質制御用バッファをＡＴＭ  スイッチの入力側（多重集線部）に設けた構成を示す図である。
【図１４】品質制御用バッファを用いてＡＴＭ  スイッチを構成した例を示す図である。
【図１５】品質制御用バッファをＡＴＭ  スイッチの出力側（多重分離部）に設けた構成を示す図である。
【図１６】入力セル間隔のゆらぎを吸収する品質制御用バッファの動作を説明する図である。
【図１７】共通バッファを用いた品質制御用バッファの構成図である。
【図１８】ＡＴＭ  網における従来の品質管理方式を説明する図である。
【符号の説明】
１２                                ＡＴＭ  スイッチ
１３                                ＶＣＩ  変換テーブル
２１−１〜２１−ｎ    セルバッファ
２２−１〜２２−ｎ    品質クラスフィルタ
２３                                読出しスケジューラ
３１−１〜３１−ｎ    バッファ長計測カウンタ
３２−１〜３２−ｎ    閾値設定部
３３−１〜３３−ｎ    セルカウンタ
３４−１〜３４−ｎ    比較器
３５−１〜３５−ｎ    読出し部
４１                                オーバライド指定部
４２                                オーバライド制御部
４３                                競合制御部
６０、７０                    品質制御用バッファ
８１                                共通バッファ
８２                                品質クラス検出部
８３                                アドレスバッファ部
８４−１〜８４ーｎ    アドレスバッファ
８５                                読出し制御部
【図１】
0003545110.tif 000002
【図２】
0003545110.tif 000003
【図３】
0003545110.tif 000004
【図４】
0003545110.tif 000005
【図５】
0003545110.tif 000006
【図６】
0003545110.tif 000007
【図７】
0003545110.tif 000008
【図８】
0003545110.tif 000009
【図９】
0003545110.tif 000010
【図１０】
0003545110.tif 000011
【図１１】
0003545110.tif 000012
【図１２】
0003545110.tif 000013
【図１３】
0003545110.tif 000014
【図１４】
0003545110.tif 000015
【図１５】
0003545110.tif 000016
【図１６】
0003545110.tif 000017
【図１７】
0003545110.tif 000018
【図１８】
0003545110.tif 000019