(58)【調査した分野】(Int.Cl.,DB名)
前記低優先セル配置手段は、前記第2所定数の前記サブブロックの中に前記空きタイムスロットが存在しない空きなしサブブロックがあるとき前記第2所定数の前記サブブロックを前記空きなしサブブロックを除去して結合して新たなブロックとし、前記新たなブロックを前記第2所定数の前記サブブロックにタイムスロット単位で分割し、前記新たなブロックの前記サブブロック各々の前記空きタイムスロットに前記読出手段によって読み出された前記低優先セルを1つずつ配置することを特徴とする請求項1記載のセル多重化装置。
前記低優先セル配置手段は、前記ブロックの分割の際に前記ブロックが前記第2所定数で割り切れないで余りを生じる場合には前記第2所定数の前記サブブロックのうちの前記余りの数分の前記サブブロックのタイムスロット数を1タイムスロットをだけ増やすことを特徴とする請求項1又は2記載のセル多重化装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来のATMセルの多重化装置においては、高優先度のクラスのセル(高優先セル)をクラスキューから読み出して優先的に送出するので、時間的に競合する低優先度のクラスのセル(低優先セル)をクラスキューから予め定められた制限範囲内に取り出して送出することができないことが起きるために、セルが担う情報の再生品質を落とす原因となるセル遅延揺らぎが低優先セルについて生ずるという欠点があった。
【0006】
例えば、高優先セルが
図1(a)に示すように各制限範囲(16タイムスロット)においてタイムスロットに位置し、これに対して低優先セルがシェーピングの結果、
図1(b)に示すようにタイムスロットに位置しているとする。このような状態では、低優先セルは実際には高優先セルが存在しないタイムスロット(
図1(a)の「空き」)のタイミングで送出される。
図1(c)に示すように、高優先セルと時間的に競合しない低優先セルはそのままの適切なタイミングで送出されるが、高優先セルと時間的に競合した低優先セルは高優先セルが存在しないタイムスロットのタイミングで遅延されて送出されるので、低優先セルが属する制御範囲内にその低優先セルを送出できないことが起きる。
【0007】
また、低優先セルについてはシェーピングすることなく高優先セルの存在しないタイムスロットのタイミングで送出すると、クラスキューに多数の低優先セルが格納されている制限範囲では低優先セルが連続的に送出されてしまい、同様にセル遅延揺らぎが生ずるという欠点があった。
【0008】
例えば、高優先セルが
図2(a)に示すように各制限範囲においてタイムスロットに位置し、これに対して低優先セルが
図2(b)に示すように連続的にタイムスロットに位置している場合には、
図2(c)に示すように、高優先セルと時間的に競合しないタイムスロットのタイミングで低優先セルは連続的に送出される。
【0009】
そこで、本発明の目的は、低優先セルの遅延揺らぎの低減を図りつつ高優先セルと低優先セルとを多重化することができるセル多重化装置及びセル多重化方法を提供することである。
【課題を解決するための手段】
【0010】
本発明のセル多重化装置は、高優先セルと前記高優先セルより低い優先度を有する低優先セルとを多重化して送出するセル多重化装置であって、前記高優先セルを格納する第1格納手段と、前記低優先セルを格納する第2格納手段と、所定のスケジューリング周期毎に前記第1格納手段から送出すべき第1所定数の前記高優先セルを読み出し、当該読み出した前記高優先セル各々を前記所定のスケジューリング周期に対応した長さのタイムスロット列からなるブロックのうちの送出時点に対応したタイムスロットに格納するスケジューリング処理を行い、当該スケジューリング処理後の前記ブロックを出力するスケジューリング手段と、前記所定のスケジューリング周期毎に前記第2格納手段から送出すべき第2所定数の前記低優先セルを読み出す読出手段と、前記スケジューリング手段から出力された前記ブロックのうちの前記高優先セルが存在しない空きタイムスロットに前記読出手段によって読み出された前記低優先セルを配置し、当該低優先セルの配置後の前記ブロックを多重化出力とする低優先セル配置手段と、を含み、前記低優先セル配置手段は、前記スケジューリング手段から出力された前記ブロックを前記第2所定数のサブブロックにタイムスロット単位で分割し、前記サブブロック各々の前記空きタイムスロットに前記読出手段によって読み出された前記低優先セルを1つずつ配置することを特徴としている。
【0011】
本発明のセル多重化方法は、高優先セルと前記高優先セルより低い優先度を有する低優先セルとを多重化して送出するセル多重化装置のセル多重化方法であって、所定のスケジューリング周期毎に、前記高優先セルを格納した第1格納手段から送出すべき第1所定数の前記高優先セルを読み出し、当該読み出した前記高優先セル各々を前記所定のスケジューリング周期に対応した長さのタイムスロット列からなるブロックのうちの送出時点に対応したタイムスロットに格納するスケジューリング処理を行い、当該スケジューリング処理後の前記ブロックを出力するスケジューリングステップと、前記所定のスケジューリング周期毎に、前記低優先セルを格納した第2格納手段から送出すべき第2所定数の前記低優先セルを読み出す読出ステップと、前記スケジューリングステップにおいて出力された前記ブロックのうちの前記高優先セルが存在しない空きタイムスロットに前記読出ステップによって読み出された前記低優先セルを配置し、当該低優先セルの配置後の前記ブロックを多重化出力とする低優先セル配置ステップと、を含み、前記低優先セル配置ステップは、前記スケジューリングステップにおいて出力された前記ブロックを前記第2所定数のサブブロックにタイムスロット単位で分割し、前記サブブロック各々の前記空きタイムスロットに前記読出ステップにおいて読み出された前記低優先セルを1つずつ配置することを特徴としている。
【発明の効果】
【0012】
本発明のセル多重化装置及びセル多重化方法によれば、高優先セルについてスケジューリング処理によって生成されたブロックを第2所定数のサブブロックにタイムスロット単位で分割し、サブブロック各々の空きタイムスロットに低優先セルを1つずつ配置することが行われる。よって、ブロックにおいて高優先セルが配置されていないタイムスロットに低優先セルは分散配置されるので、高優先セルと低優先セルとの多重化の際に低優先セルの遅延揺らぎの低減を図ることができる。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を参照しつつ詳細に説明する。
【0015】
図3は本発明の実施例のATM多重化装置の概略的構成を示している。このATM多重化装置はクラスキュー10
1〜10
4及びスケジューリング部11
1〜11
4を有している。本実施例ではクラスを優先度が異なるC1〜C4の4種類として説明するので、クラスC1〜C4に対応して4つのクラスキュー10
1〜10
4及び4つのスケジューリング部11
1〜11
4が設けられている。クラスキュー10
1〜10
4各々はセルを入力順に格納してその順に出力するバッファである。クラスキュー10
1〜10
3は第1格納手段であり、高優先度のクラスのセル、すなわち高優先セルを格納する一方、クラスキュー10
4は第2格納手段であり、低優先度のクラスのセル、すなわち低優先セルを格納する
クラスキュー10
1〜10
4の出力には対応したスケジューリング部11
1〜11
4が接続されている。スケジューリング部11
1〜11
4各々はクラスC1〜C4毎の帯域にあったセル数のセルを対応するクラスキュー10
1〜10
4から読み出し、読み出したセル毎にそのセルを制限範囲内の送出時点のタイミングに出力する。制限範囲はスケジューリング部11
1〜11
4がスケジューリング処理を行う際の周期である所定のスケジューリング周期に対応し、後述するように、その制限範囲内に所定数のタイムスロット(タイムスロット列)が位置する。クラスC1〜C4ではC1が最も優先度が高く、C2,C3,C4の順に優先度が低くなるので、スケジューリング部11
1が最も高い頻度、すなわちシェーピング速度でセルを出力することができ、スケジューリング部11
2,11
3,11
4の順にシェーピング速度が低下する。
【0016】
優先制御部12はスケジューリング部11
1〜11
3の出力に接続されている。優先制御部12はスケジューリング部11
1〜11
3から個別に読み出された高優先セルを1つの出力から順に出力し、スケジューリング部11
1〜11
3から読み出された高優先セルが時間的に競合した場合にクラスC1〜C3の優先順に高優先セルを出力する。優先制御部12の出力には高優先セル配置保存部13が接続されている。
【0017】
高優先セル配置保存部13は優先制御部12から出力された順(送出順)に高優先セルを1つの制限範囲内に保存する。この1つの制限範囲で得られるセルの集合を1ブロックと称す。1ブロックは例えば、16タイムスロット分の大きさを有するセルデータである。
【0018】
なお、スケジューリング部11
1〜11
3、優先制御部12及び高優先セル配置保存部13が高優先セルについてのスケジューリング手段に相当し、それによってクラスC1〜C3の各帯域に対応した第1所定数の高優先セルが読み出されてスケジューリング処理される。また、スケジューリング部11
4が読出手段に相当し、それによってクラスC4の帯域に対応した第2所定数の低優先セルが読み出される。
【0019】
低優先セル配置手段である低優先セル配置部14は、スケジューリング部11
4の出力に接続されると共に、高優先セル配置保存部13の保持出力に接続されている。低優先セル配置部14はスケジューリング部11
4によって読み出されたクラスC4の低優先セルを、高優先セル配置保存部13の配置セル出力から得られる1ブロックのうちの空きタイムスロットに配置し、配置後のブロックをタイムスロット順に出力する。
【0020】
このような構成のATM多重化装置においては、クラスキュー10
1にはクラスC1のセルが供給され、クラスキュー10
2にはクラスC2のセルが供給され、クラスキュー10
3にはクラスC3のセルが供給され、クラスキュー10
4にはクラスC4のセルが供給される。このクラスキュー10
1〜10
4各々へのセル供給は図示しない振り分け手段によってセルを振り分けることによって行われても良い。例えば、ITU−T標準のサービスであれば、クラスキュー10
1にはクラスC1としてDBR(Deterministic Bit Rate transfer capacity) に係るセルを、クラスキュー10
2にはクラスC2としてSBR(Statistical Bit Rate)に係るセルを、クラスキュー10
3にはクラスC3としてGFR/ABR(Guaranteed Frame Rate/Available Bit Rate)に係るセルを、クラスキュー10
4にはクラスC4としてDBRのUクラスに係るセルを、各々振り分けることが可能である。上記したように、クラスC1〜C3のセルは高優先度のセル(高優先セル)であり、クラスC4のセルは低優先度のセル(低優先セル)である。
【0021】
これらのクラスキュー10
1〜10
4各々には同一クラスのセルが供給された順に格納される。クラスキュー10
1〜10
4に格納されたセルはスケジューリング部11
1〜11
4によってクラスC1〜C4各々で定まる帯域に合った頻度(シェーピング速度)で格納順(送出順)に読み出され、送出時点に対応したタイミングで優先制御部12に出力される。クラスC1〜C3についてスケジューリング部11
1〜11
3から出力された高優先セルは優先制御部12によって出力順に配置される。スケジューリング部11
1〜11
3から出力された高優先セルが時間的に競合した場合には優先制御部12はクラスC1〜C3の優先順にそれらの高優先セルを配置する。
【0022】
また、高優先セル配置保存部13では高優先セルの配置を上記した制限範囲内の時間的に対応するタイムスロットに保存する。高優先セルが供給されなかったタイミングに対応したタイムスロットにはセルが配置されない空きタイムスロットが生じる。高優先セル配置保存部13は1つの制限範囲の時間経過毎にその制限範囲内の空きタイムスロットを含む1ブロックの保存内容を低優先セル配置部14に出力する。
【0023】
低優先セル配置部14ではスケジューリング部11
4によって読み出されたクラスC4の低優先セルが供給され、その供給された低優先セルは1つ制限範囲内の対応する空きタイムスロットに配置される。低優先セル配置部14はその1つの制限範囲に供給されたクラスC4の低優先セルの数をmとして検出する。
【0024】
低優先セル配置部14はスケジューリング部11
4から供給された低優先セルを高優先セル配置保存部13から供給された高優先セル配置を示す1ブロックの空きタイムスロットに挿入する。低優先セル配置部14は、
図4に示すように、先ず、1ブロックのタイムスロットの数nを低優先セル数mで割ってm個のサブブロックを作る(ステップS1)。1つサブブロックはn/m又は(n/m)+1個のタイムスロットからなる。また、1つサブブロックは1ブロックの時間的に早いタイムスロットから順番に作られる。n/mの余りのタイムスロットについては1番目のサブブロックは余りの1タイムスロット分を追加するとして(n/m)+1のタイムスロットとされ、まだ余りのタイムスロットがあるならば、2番目のサブブロックは(n/m)+1のタイムスロットとされる。このように余りのタイムスロットの数分のサブブロックが(n/m)+1のタイムスロットを有する。
【0025】
次いで、低優先セル配置部14は、各サブブロックの空きタイムスロットの存在を検出する(ステップS2)。そして、全てのサブブロックに空きタイムスロットが存在するか否かを判別する(ステップS3)。全てのサブブロックに空きタイムスロットが存在する場合には、サブブロック毎の空きタイムスロットに1つの低優先セルを配置する(ステップS4)。一方、いずれかのサブブロックに空きタイムスロットが存在しない場合には、すなわち全てのタイムスロットが高優先セルで埋まったサブブロックが存在する場合には、空きタイムスロットが存在するサブブロックだけを時間順に結合して新たな1ブロックとする(ステップS5)。ステップS5では空きタイムスロットが存在するサブブロックの合計のサブブロック数n’を新たな1ブロックのタイムスロットの数nとすることが行われる。すなわち、新たな1ブロックのタイムスロットの数nは全てのタイムスロットが高優先セルで埋まったサブブロックのタイムスロットの数を除いた数である。
【0026】
低優先セル配置部14は、ステップS5の実行後にステップS1に戻って新たなm個のサブブロックを作り、上記の動作を繰り返す。
【0027】
低優先セル配置部14はステップS4でクラスC4のセルの配置が終了すると全てのタイムスロットがセルで埋まったサブブロックを元の位置に加えて初期値のn個のタイムスロットからなるブロックとしてそのブロックのセルを時間順に出力する(ステップS6)。この結果、低優先セル配置部14は高優先セル配置保存部13から1ブロックのセルデータを受けてから更に少なくとも1つの制限範囲の時間だけ経過した後にクラスC4のセルを挿入した1ブロックを出力する。
【0028】
次に、1ブロックのタイムスロットの数を16としてクラスC4の低優先セルの配置例を
図5〜
図7を用いて説明する。
【0029】
図5(a)は高優先セル配置保存部13から出力される1ブロック例を示している。この1ブロックはクラスC1〜C3のいずれかに属するセル(高優先セル)が存在するタイムスロット(
図5に「セル」と記載)と、セルが存在していないタイムスロット(
図5「空」と記載)とを有する。スケジューリング部11
4から供給された1制限範囲内のクラスC4の低優先セルの数mを4とすると、ブロックは
図5(b)に示すように4つのサブブロック1〜4に分割される。ステップS1で得られる4つのサブブロック1〜4各々のタイムスロット数はn/m=16/4=4である。この
図5(b)のサブブロック1〜4から分かるように、全てのサブブロック1〜4には空きタイムスロットが存在する。従って、ステップS3では全てのサブブロックに空きタイムスロットが存在することが判別されるので、ステップS4が実行される。スケジューリング部11
4から出力される低優先セルに対するスケジューリング結果が
図5(c)に示す如きであるとすると、ステップS4では
図5(d)に示すように、各サブブロック1〜4の1つの空きタイムスロットにクラスC4の低優先セル(
図5に「C4」と記載)が順番に配置される。このC4の低優先セルがサブブロック1〜4毎に挿入された1ブロックがステップS6で低優先セル配置部14から出力される。
【0030】
なお、この
図5(d)のC4の低優先セルの挿入において、スケジューリング部11
4から出力される低優先セルに対するスケジューリング結果が
図5(c)に示したように、タイムスロット9に対応した符号Aで
図5(c)に示す低優先セルが高優先セルと時間的に競合する場合には、そのセルは低優先セル配置部14の動作によってタイムスロット10に配置されることになる。
【0031】
図6(a)は高優先セル配置保存部13から出力される他の1ブロック例を示している。この1ブロックはクラスC1〜C3のいずれかに属する高優先セルが存在するタイムスロット(
図6に「セル」と記載)と、セルが存在していないタイムスロット(
図6「空」と記載)とを有する。スケジューリング部11
4から供給された1制限範囲内の低優先セルの数mを4とすると、ブロックは
図6(b)に示すように4つのサブブロック1〜4に分割される。ステップS1で得られる4つのサブブロック1〜4のタイムスロット数はn/m=16/4=4である。この
図6(b)のサブブロック1〜4から分かるように、サブブロック1,2,4には空きタイムスロットが存在し、サブブロック3には空きタイムスロットが存在しない。従って、ステップS3では空きタイムスロットが存在しないサブブロック3が判別されるので、ステップS5が実行される。
【0032】
ステップS5の処理により、
図6(c)に示すように、サブブロック3以外のサブブロック1,2,4が結合されて新たな1ブロックが形成される。この
図6(c)のブロックは12タイムスロットからなるので、
図6(d)に示すように再度のステップS1で得られる4つのサブブロック1〜4各々のタイムスロット数はn/m=12/4=3である。この
図6(d)のサブブロック1〜4から分かるように、サブブロック1〜4各々には空きタイムスロットが存在する。よって、ステップS4では
図6(e)に示すように、各サブブロック1〜4の1つの空きタイムスロットにクラスC4の低優先セル(
図6に「C4」と記載)が順番に配置される。この低優先セルがサブブロック1〜4毎に挿入された1ブロックがステップS6で
図6(f)に示すように再度形成され、その1ブロックが低優先セル配置部14から出力される。
【0033】
図6(d)では各サブブロック1〜4の先頭のタイムスロットが空きタイムスロットであるので、そこにクラスC4の低優先セルが配置されているが、必ずしも先頭のタイムスロットである必要はない。ただし、
図6(f)に示すように16タイムスロットからなるブロックに戻した場合にクラスC4の低優先セルが連続しないことが好ましい。
【0034】
図7(a)は高優先セル配置保存部13から出力される更に別の1ブロック例を示している。この1ブロックはクラスC1〜C3のいずれかに属する高優先セルが存在するタイムスロット(
図7に「セル」と記載)と、セルが存在していないタイムスロット(
図7「空」と記載)とを有する。スケジューリング部11
4から供給された1制限範囲内のクラスC4の低優先セルの数mを3とすると、ブロックは
図7(b)に示すように3つのサブブロック1〜3に分割される。ステップS1で得られる3つのサブブロック1〜3のタイムスロット数はn/m=16/3=5であり、余りは1である。よって、サブブロック1のタイムスロット数は余りの1を加えて6であり、サブブロック2,3のタイムスロット数は5である。この
図7(b)のサブブロック1〜3から分かるように、全てのサブブロック1〜3には空きタイムスロットが存在する。従って、ステップS3では全てのサブブロックに空きタイムスロットが存在することが判別されるので、ステップS4が実行される。よって、ステップS4では
図7(c)に示すように、各サブブロック1〜3の1つの空きタイムスロットにクラスC4の低優先セル(
図7に「C4」と記載)が順番に配置される。このクラスC4の低優先セルがサブブロック1〜3毎に挿入された1ブロックがステップS6で低優先セル配置部14から出力される。
【0035】
なお、上記の実施例では、1の余りに対応して若番サブブロックのサブブロック1のタイムスロット数が1だけ加算されたが、サブブロック1に代えてサブブロック2又は3のタイムスロット数を1だけ加算しても良い。また、余りが2の場合にはサブブロック1〜3のうちのいずれか2つのサブブロック各々のタイムスロット数を1だけ各々加算すれば良い。
【0036】
このように実施例のATM多重化装置においては、各ブロックのうちの高優先セルが配置されたタイムスロット以外の空きタイムスロットに低優先セルを効率よく分散配置することができる。よって、複数の低優先セルが固まって連続配置されたり、或いは低優先セルが属するべき制限範囲内に配置されないという不具合が防止されるので、低優先セルについてのセル遅延揺らぎを低減させることができる。
【0037】
また、上記した実施例においては、低優先セルのスケジューリングを行うスケジューリング部11
4が設けられているが、クラスキュー10
4からクラスC4の帯域に対応したセル数(第2所定数)を読出手段によって単に読み出し、読み出したセルをスケジューリング処理することなく低優先セル配置部14に供給するだけでも良い。
【0038】
なお、上記した実施例では本発明をATMセル多重化装置に適用した例を示したが、イーサパケット等を含む他のセルを多重化する装置に本発明を適用することができる。