(57)【特許請求の範囲】
【請求項１】
セルの出力帯域を、セル送出間隔の規定を用いて規制するセル出力帯域規制装置において、
セル到着毎に当該セルの送出予定時刻を、セル出力帯域を規定するパラメータに基づいて算出する送出予定時刻手段と、
算出された送出予定時刻単位に全コネクションのセルをキューイングし、セル送出予定時刻に達した時点で、当該時刻にキューイングされているセルを１セルずつ送出していくセル送出手段と、
送出予定時刻単位のセルのキューイング過程において、キューイングされているセル数の計数を送出予定時刻毎に行ない、送出予定時刻算出手段へ計数した送出予定時刻単位のセル数を与える送出予定時刻セル数計数手段と、
送出予定時刻毎のセル数を用いて、到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、送信予定時刻から遅れて送出されるセル数を反映するように補正する変数補正手段と
を具備したことを特徴とするセル出力帯域規制装置。
【請求項２】
セルの出力帯域を、セル送出間隔の規定を用いて規制するセル出力帯域規制装置において、
セル到着毎に当該セルの送出予定時刻を、セル出力帯域を規定するパラメータに基づいて算出する送出予定時刻手段と、
算出された送出予定時刻単位に全コネクションのセルをキューイングし、セル送出予定時刻に達した時点で、当該時刻にキューイングされているセルを１セルずつ送出していくセル送出手段と、
規制対象の全コネクションについて、キューイング中のセルをコネクション単位に計数すると共に、そのコネクションの最新のセル送出時刻を記録、保持するコネクション情報管理手段と、
セル送出時に、送出セルが属するコネクション番号を検出し、そのコネクションについてのキューイング中のセル計数値と最新セル送出時刻の更新処理を行なうコネクション情報更新手段と、
コネクション毎のキューイング中の計数値と最新セル送出時刻とに基づく所定ピークレートを満たす直近の送出予定時刻と、到着セルの送出予定時刻とを比較し、到着セルの送出予定時刻が直近の送出予定時刻以上である場合、到着セルの送出予定時刻を直近の送出予定時刻に補正し、次回到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、到着セルの送出予定時刻からの遅延時間を反映させるように補正する補正手段と
を具備したことを特徴とするセル出力帯域規制装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、非同期転送モード型の通信網において、各交換／伝送装置からのセル送出速度が申告値通りになるよう制御するセル出力帯域規制装置に関するものである。
【０００２】
【従来の技術】
近年、情報通信の分野においては、通信ニーズの多様化、情報交換／伝送技術の高度化、デバイス技術の発展等に伴い、ユーザ情報を高速、広帯域で交換、伝送可能な高速広帯域サービス統合デジタル網（以下、Ｂ−ＩＳＤＮ）の実用化が急速に進められている。
【０００３】
このＢ−ＩＳＤＮにおいては、情報転送方式として非同期転送モード（以下、ＡＴＭと呼ぶ）が採用されている。このＡＴＭ通信においては、情報はセルと呼ばれる固定長のパケットで転送、交換される。この場合、セルの転送先は各セル毎に付与される相手先アドレス情報に基づいて識別される。従って、従来の時分割方式の回線交換とは異なり、各端末は空いている時間軸上のスロットの任意位置にセルを送出することができ、網内でも伝送路上の任意位置へのセル多重が可能となる。
【０００４】
このため、ＡＴＭ通信では、予め使用するセル通信帯域（例えば、ピークセルレートや平均セルレート）を各端末に通信開始前に申告させ、網側では、その申告情報に基づいて帯域管理が行なわれる。この網内帯域管理機能の１つにセル出力帯域規制機能（以下、シェイパーと呼ぶ）がある。シェイパー機能は、網内での多重、交換処理の際、同時刻に同一方路へと向かう複数のセルが到着した場合に、出力待ち合わせによって発生するセル遅延ゆらぎ（以下、ＣＤＶと略する）を吸収し、ユーザ申告値に従ってセルを出力回線へと送出させる機能である。
【０００５】
従来、シェイパー機能の実現方式としていくつか提案されている。そのうちの１つとして、スペーシングポリサー（Ｓｐａｃｉｎｇ  Ｐｏｌｉｃｅｒ  ）方式がある。この方式は、到着セル毎に申告値を満足する送出予定時刻を算出し、その送出予定時刻毎にキューイングされたセルを順次１セルずつ読み出して送出していくことにより、網内で発生するＣＤＶの軽減やユーザ申告値を満足するセル送出の実現を図っている。
【０００６】
図２は、このようなシェイパー機能を実現するシェイパー装置の基本構成を示すブロック図である。
【０００７】
図２において、シェイパー装置２０１は、到着セル毎に送出予定時刻τを算出する送出予定時刻算出部２０２と、到着セルを一旦格納し送出予定時刻τに従ってセル送出のスケジューリングを行なうセルスケジューラ部２０３と、送出予定時刻算出部２０２及びセルスケジューラ部２０３へ現在時刻情報ＣＴを与える時計２０４とから構成されている。ここで、送出予定時刻算出部２０２は、通信中の全コネクションについてユーザ申告値情報や後述する各種パラメータを保持している。また、時計２０４は１セル時間に１ずつ現在時刻ＣＴをインクリメントするものである。
【０００８】
セル２０５がシェイパー装置２０１に到着すると、送出予定時刻算出部２０２は、そのセルが属するコネクションの情報から、当該セルをセルスケジューラ部２０３内でどれほど遅延されれば申告値を満足するかを規定する所要遅延時間を求め、それを元に送出予定時刻τを算出し、セルスケジューラ部２０３へ提供する。セルスケジューラ部２０３では、受け取った送出予定時刻τに基づき、セルを送出予定時刻毎にキューイングされたセルバッファ部の最後尾に格納し、時計２０４からの現在時刻情報ＣＴの経過に従って、その現在時刻ＣＴに対応したセル２０６を送出していく。
【０００９】
図３は、従来の送出予定時刻算出部２０２による処理を示すフローチャートである。なお、図３における「：＝」は、その左側のパラメータの値や状態値を、右側の値や状態値に設定することを意味しており、後述する他のフローチャートでも同様である。
【００１０】
図３に示す処理方法は、到着セルが出力されるまでの時間を、漏れ孔を有するバケツに今回流入した液体（単位）が漏れ孔から流出するまでの時間と対応させている手法であるので、一般にリーキーバケットと呼ばれており、同一コネクション内の連続するセルの最小送出間隔を満足するように送出予定時刻τを決定することで、セル流のピークレートを規制するものである。
【００１１】
このリーキーバケット手法に使用されるパラメータ及び変数としては、リーキーバケット容量Ｃ、リーキーバケット内蓄積量カウンタ値Ｓ、リークレートＬ、１セル分に対応したカウンタ増加幅Ｆ、セル所要遅延時間Ｄ、及び、前セル到着時刻ＬＡＴである。これらのパラメータは通信中の各コネクション毎に送出予定時刻算出部２０２に格納されており、セル到着時に、そのセルに係るコネクションのパラメータが読み出されて使用、更新、再格納される。また、上記パラメータにより、ピークセルレートはＬ／Ｆに制限されることになる。なお、各ステップでの処理の意味合いは、後述する実施形態での説明を参照されたい。
【００１２】
当該シェイパー装置２０１が起動されると、セル到着の有無が監視され（ステップ３０１）、到着が確認されると以降の処理が行なわれる。まず、現在時刻ＣＴと前セル到着時刻ＬＡＴとの時刻差Δｔが算出された後（ステップ３０３）、前セル到着時刻ＬＡＴを現在時刻ＣＴに更新する（ステップ３０４）。続いて、蓄積量カウンタ値Ｓと、Δｔ時間分のカウンタ減算量Δｔ・Ｌとが比較される（ステップ３０５）。
【００１３】
Ｓ≦Δｔ・Ｌの場合には、所要遅延時間Ｄ及び蓄積量カウンタ値Ｓは共に０にセットされる（ステップ３０６及び３０７）。一方、Ｓ＞Δｔ・Ｌの場合は、カウンタ値Ｓは、Δｔ時間分のカウンタ減算量Δｔ・Ｌだけ減少され（ステップ３０８）、続いて、蓄積量カウンタ値Ｓは、バケット容量Ｃとカウンタ増加幅Ｆとの差分Ｃ−Ｆと比較される（ステップ３０９）。
【００１４】
Ｓ＞Ｃ−Ｆの場合（Ｓ＋Ｆ＞Ｃの場合）には、、到着セルは廃棄処理され、送出予定時刻算出部２０２からセルスケジューラ部２０３へ与えられる送出予定時刻τを無効情報にする（ステップ３１０）。これに対して、Ｓ≦Ｃ−Ｆの場合には、所要遅延時間Ｄは商Ｓ／Ｌの整数値として算出され（バケツ内の最も上の流体部分が漏れ孔から出るまでに要するの時間として算出され）、カウンタ値Ｓは増加幅Ｆだけインクリメントされる（ステップ３１１、３１２）。最後に、廃棄処分以外のセルについて、送出予定時刻τを、現在時刻ＣＴ及び所要遅延時間Ｄの和（ＣＴ＋Ｄ）に対する時計周期Ｔｍａｘでのモジュロ値として算出し、セルスケジューラ部２０３へ引き渡す（ステップ３１３）。
【００１５】
図４は、このようにして算出された今回の到着セルについての送出予定時刻τが与えられる、従来のセルスケジューラ部２０３（図４においては４０１を付与している）の構成を示すブロック図である。
【００１６】
セルスケジューラ部４０１は、到着セルを格納するセルメモリ（ＣＭ）４０２と、セルメモリ４０２のアドレス情報を司るポインタ群４０７〜４０９とで構成される。セルメモリ４０２は、１セル単位のエレメント４０６の一群で構成されている。
【００１７】
図５はエレメントの１つを拡大したものであり、１セル分の情報を格納するセル格納フィールド（ＣＢＦ）５０２と、同一送出予定時刻に係る他のエレメントを指し示すアドレスポインタ（ＡＰｔｒ）５０１からなる。このＡＰｔｒポインタを用いることで、エレメントは他のエレメントと数珠つなぎに連結できる。
【００１８】
セルメモリ４０２はまた、未使用エレメントを管理するフリーリスト（ＦＬ）４０３と、待ち合わせ中のセルが送出予定時刻毎に連結されて格納されているカレンダーキュー（ＣＱ）４０４と、出力待ち状態にあるセルを管理するアウトプットリスト（ＯＬ）４０５とに論理的に分割されている。
【００１９】
フリーリスト４０３は、セルメモリ４０２内の全ての未使用エレメントを連結しており、その先頭エレメント及び最終エレメントのアドレスは、フリーリスト用ポインタ４０７のフリーリストヘッダポインタ（以下、ＦＬＨポインタと呼ぶ）とフリーリストテイルポインタ（以下、ＦＬＴポインタと呼ぶ）によりそれぞれ格納されている。
【００２０】
カレンダーキュー４０４は、時計周期Ｔｍａｘ分の送出予定時刻毎に到着セルを連結させて格納しており、それぞれの連結セル群はフリーリスト４０３と同様に、カレンダーキュー用ポインタ群４０８のカレンダーキューヘッダ（以下、ＣＱＨポインタと呼ぶ）とカレンダーキューテイル（以下、ＣＱＴポインタと呼ぶ）により、先頭エレメントと最終エレメントが示されている。送出予定時刻に１つもセルが連結されていなければ、そのＣＱＨポインタ及びＣＱＴポインタは何も示さず無効情報となっている。
【００２１】
アウトプットリスト４０５には、現在時刻ＣＴが送出予定時刻と一致したセル群が移動してきて格納されており、アウトプットリスト用ポインタ４０９のアウトプットリストヘッダ（以下、ＯＬＨポインタと呼ぶ）とアウトプットリストテイル（以下、ＯＬＴポインタと呼ぶ）とにより先頭エレメント及び最終エレメントが指し示されている。アウトプットリスト４０５に蓄積されたセルは、先頭セルから順次１セル時間に１セルずつ出力回線４１２に送出されていく。セルが送出された後の空きエレメントは再びフリーリスト４０３の最後尾に連結されて、以降の到着セルの格納に使用されていく。
【００２２】
ここで、セルメモリ４０２は、論理的にフリーリスト４０３、カレンダーキュー４０４及びアウトプットリスト４０５に分割されてはいるが、物理的には１つの共有型のメモリで実現されており、フリーリスト４０３からカレンダーキュー４０４へ、さらにアウトプットリスト４０５へのセルの移動は全てポインタ処理によって行なわれ、各エレメント内のセル情報自体が移動するものではない。
【００２３】
【発明が解決しようとする課題】
上述したように、従来は、到着セル毎にユーザ申告値を満足するような送出予定時刻を前セル到着時刻に基づいて算出し、その送出予定時刻単位に到着セルをセルスケジューラ部２０３（４０１）内に一旦格納し、時計２０４が送出予定時刻になった時点で、その時刻列に格納されているセル群を送出待ちキュー（アウトプットリスト）に移動し、先頭セルから順次送出することで、セル出力帯域規制を実現していた。
【００２４】
しかしながら、このような従来の構成では、ＡＴＭ通信においてはユーザ申告値、すなわち最小セル間隔の異なる複数のコネクションを規制対象とする必要があるため、送出予定時刻が同一となる可能性がある。このような場合、セルスケジューラ部内の送出予定時刻単位のカレンダーキューに複数のセルが連結され、結果として、ＣＤＶを生じてユーザ申告値を満足しないことも生じる。
【００２５】
図６を用いて、この問題について具体的に説明する。図６は従来のシェイパー装置における、セル到着例６０１、送出予定時刻算出部内リーキーバケット蓄積量カウンタ値Ｓの遷移６０２、カレンダーキュー内のセル待ち合わせ状況６０３、シェイパー装置からのセル送出過程６０４、及び送出セル間隔６０５の一例を示すタイムチャートである。図中、Ａｉ（ｉ＝１〜８）、Ｂｊ（ｊ＝１〜６）、Ｃｋ（ｋ＝１〜７）はセルを表わしており、３種類のコネクションＡ〜Ｃが１つの回線上に多重されてシェイパー装置で各々帯域規制される様子を示している。ここで、コネクションＡのユーザ申告値はＣ＝１５、Ｆ＝７、Ｌ＝２と仮定され、同様にコネクションＢはＣ＝１５、Ｆ＝５、Ｌ＝１、コネクションＣはＣ＝１５、Ｆ＝４、Ｌ＝１とする。また、時計の周期Ｔｍａｘは９を仮定している。
【００２６】
タイムチャート６０１に示すように、各コネクションのセルはシェイパー装置に到着する前にＣＤＶを受けており、最小セル間隔の規定が満足されていない。タイムチャート６０２に示すリーキーバケット蓄積量カウンタ値Ｓに従って、各到着セルは送出予定時刻が算出され、タイムチャート６０３のようにカレンダーキュー内に送出予定時刻毎に蓄積されていく。異なるコネクションに属するセルＢ４、Ａ５及びＣ５は、前セル到着時刻より算出した送出予定時刻が一致しているために、カレンダーキュー内で同時刻列に連結されてキューイングされる。同様に、セルＡ４とＣ４、セルＢ６とＡ８についても送出予定時刻が重なっている。この結果、シェイパー装置からの実際の出力過程はタイムチャート６０４が示すように、セルＣ４、Ａ５、Ｃ５及びＡ８が予定送出時刻より遅れて送出されることになる。
【００２７】
しかし、同一コネクションの次の到着セルに対する送出予定時刻の算出には、このような予定より遅れた実際のセル送出時刻は考慮されない。タイムチャート６０５は、コネクションＡ〜Ｃの実際のセル送出間隔を示している。上述した複数コネクション間でのセル送出予定時刻の重なりのために（予定より遅れたセル送出のために）、各コネクションの最小セル間隔の規定（ユーザ申告値）は達成できていない。例えば、コネクションＡ（最小セル間隔３．５セル）のセルＡ５とＡ６の間、コネクションＣ（最小セル間隔４セル）のセルＣ５とＣ６の間等である。
【００２８】
従って、ユーザ申告値をより一段と満足させることができるセル出力帯域規制装置が求められている。
【００２９】
【課題を解決するための手段】
かかる課題を解決するため、第１の本発明においては、セルの出力帯域を、セル送出間隔の規定を用いて規制するセル出力帯域規制装置において、以下の手段を具備することを特徴とする。
【００３０】
すなわち、(1)セル到着毎に当該セルの送出予定時刻を、セル出力帯域を規定するパラメータに基づいて算出する送出予定時刻手段と、(2)算出された送出予定時刻単位に全コネクションのセルをキューイングし、セル送出予定時刻に達した時点で、当該時刻にキューイングされているセルを１セルずつ送出していくセル送出手段と、(3)送出予定時刻単位のセルのキューイング過程において、キューイングされているセル数の計数を送出予定時刻毎に行ない、送出予定時刻算出手段へ計数した送出予定時刻単位のセル数を与える送出予定時刻セル数計数手段と、(4)送出予定時刻毎のセル数を用いて、到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、送信予定時刻から遅れて送出されるセル数を反映するように補正する変数補正手段とを具備したことを特徴とする。
【００３１】
この第１の本発明においては、異なるコネクションのセルの送出予定時刻が重なって、送出予定時刻通りにセル送出が実行されないコネクションがあっても、実際のセル時刻と送出予定時刻との差をそれ以降の送出予定時刻の算出に反映させるように、送出予定時刻単位のセル数を用いて、到着セルの送出予定時刻算出に用いる変数を補正することとしたので、セル送出間隔の規定を満たすと共に、ＣＤＶを押さえることができるようになる。
【００３２】
また、上記課題を解決するため、第２の本発明においては、セルの出力帯域を、セル送出間隔の規定を用いて規制するセル出力帯域規制装置において、以下の手段を具備することを特徴とする。
【００３３】
すなわち、(1)セル到着毎に当該セルの送出予定時刻を、セル出力帯域を規定するパラメータに基づいて算出する送出予定時刻手段と、(2)算出された送出予定時刻単位に全コネクションのセルをキューイングし、セル送出予定時刻に達した時点で、当該時刻にキューイングされているセルを１セルずつ送出していくセル送出手段と、(3)規制対象の全コネクションについて、キューイング中のセルをコネクション単位に計数すると共に、そのコネクションの最新のセル送出時刻を記録、保持するコネクション情報管理手段と、(4)セル送出時に、送出セルが属するコネクション番号を検出し、そのコネクションについてのキューイング中のセル計数値と最新セル送出時刻の更新処理を行なうコネクション情報更新手段と、(5)コネクション毎のキューイング中の計数値と最新セル送出時刻とに基づく所定ピークレートを満たす直近の送出予定時刻と、到着セルの送出予定時刻とを比較し、到着セルの送出予定時刻が直近の送出予定時刻以上である場合、到着セルの送出予定時刻を直近の送出予定時刻に補正し、次回到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、到着セルの送出予定時刻からの遅延時間を反映させるように補正する補正手段とを具備したことを特徴とする。
【００３４】
この第２の本発明においては、異なるコネクションのセルの送出予定時刻が重なって、送出予定時刻通りにセル送出が実行されないコネクションがあっても、実際のセル時刻と送出予定時刻との差を、それ以降の送出予定時刻の算出等に反映させるように、コネクション毎のキューイング中のセル計数値と最新セル送出時刻情報とを用いて、到着セルの送出予定時刻とその算出に用いる変数の補正の必要性を判定して、補正が必要なときに補正することとしたので、セル送出間隔の規定をほぼ満たすと共に、ＣＤＶを押さえることができるようになる。
【００３５】
【発明の実施の形態】
（Ａ）第１の実施形態
以下、本発明によるセル出力帯域規制装置の第１の実施形態を図面を参照しながら詳述する。
【００３６】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態のセル出力帯域規制装置の構成を示すブロック図である。
【００３７】
このセル出力帯域規制装置も、大きくは、送出予定時刻算出部１０１、セルスケジューラ部１０２、及び、時計１０３によって構成されている。
【００３８】
この実施形態の送出予定時刻算出部１０１も、通信中で出力帯域規制の対象である全コネクションについて、各種帯域規制パラメータや変数を保有しており、到着セル毎に送出予定時刻τを算出してセルスケジューラ部１０２へ提供するものである。
【００３９】
しかし、これらのパラメータ及び変数、並びに、時計１０３からの現在時刻情報ＣＴだけでなく、セルスケジューラ部１０２から与えられる送出予定時刻毎の待ち合わせセル数Ｎ（τ）も、到着セル毎の送出予定時刻τの算出に用いる点が従来とは異なっている。
【００４０】
この実施形態のセルスケジューラ部１０２は、到着セルを一旦格納し、送出予定時刻算出部１０１からの送出予定時刻τを元にセル送出のスケジューリングを行なう点は従来と同様であるが、送出予定時刻τ毎に送出の待ち合わせ中のセルを計数し、その計数値Ｎ（τ）を送出予定時刻算出部１０１へフィードバックする点が従来とは異なっている。
【００４１】
すなわち、この実施形態のセルスケジューラ部１０２は、到着セルを格納するセルメモリ（ＣＭ）１０４、及び、このセルメモリ１０４のアドレス情報を司るポインタ群１０９〜１１１を備えるだけでなく、待ち合わせ中のセルを計数するセル計数カウンタ１１２を備えている。
【００４２】
なお、セルメモリ１０４が、１セル単位の既述した図５に示すエレメント１０８の一群で構成されていると共に、未使用エレメントを管理するフリーリスト（ＦＬ）１０５と、待ち合わせ中のセルが送出予定時刻毎に連結されて格納されているカレンダーキュー（ＣＱ）１０６と、出力待ち状態にあるセルを管理するアウトプットリスト（ＯＬ）１０７に論理的に分割されている点は、従来と同様である。また、フリーリスト１０５の先頭エレメント及び最終エレメントのアドレスを規定するＦＬＨポインタ及びＦＬＴポインタ１０９、カレンダーキュー１０６の各送出時刻の先頭エレメント及び最終エレメントのアドレスを規定するＣＱＨポインタ及びＣＱＴポインタ１１０、並びに、アウトプットリスト１０７の先頭エレメント及び最終エレメントのアドレスを規定するＯＬＨポインタ及びＯＬＴポインタ１１１が、セルスケジューラ部１０２に格納されている点も、従来と同様である。
【００４３】
この第１の実施形態で新たに設けられたセル計数カウンタ１１２は、カレンダーキュー１０６内で待ち合わせ中のセル数Ｎ（τ）を送出予定時刻単位に計数するものであり、待ち合わせ中のセル数Ｎ（τ）を、送出予定時刻算出部１０１に与えるものである。
【００４４】
時計１０３は、例えば従来と同様に、１セル時間毎にインクリメントされるアップカウンタであり、そのカウンタ出力が現在時刻情報ＣＴとして、送出予定時刻算出部１０１及びセルスケジューラ部１０２へ提供される。時計１０３の最大値はＴｍａｘ−１であり、最大値Ｔｍａｘ−１までカウントアップされた後は０に戻り、再び１ずつインクリメントされていくものである。従って、時計１０３の周期はＴｍａｘである。
【００４５】
図７は、概念的には図１に示す構成を有するセルスケジューラ部１０２（７０１）について、より具体的なレベルで構成を示したブロック図である。
【００４６】
図７において、セルスケジューラ部７０１は、セルメモリ（ＣＭ）７０２、送出時刻パラメータメモリ（ＭＥＭ）７０３、２個のレジスタ（ＲＥＧ）７０４及び７０５、２個の選択回路（ＳＥＬ）７０６及び７０７、加算回路（ＡＤＤ）７３２、並びに、制御回路７０８から構成されている。また、このセルスケジューラ部７０１は、外部とのインタフェース（信号線等）部として、セル入力部７０９、セル出力部７１０、送出予定時刻算出部１０１からの送出予定時刻（τ）入力部７１１、送出予定時刻算出部１０１への待ち合わせセル数情報（Ｎ（τ））出力部７３３、及び、時計１０３からの現在時刻情報（ＣＴ）入力部７１２を有している。
【００４７】
セルメモリ７０２は、図５にも示したように、連結先アドレスを示すアドレスポインタ（ＡＰｔｒ）及び到着セルを格納するセル格納フィールド（ＣＢＦ）を１エレメントとするメモリであり、図１におけるフリーリスト１０５、カレンダーキュー１０６、及び、アウトプットリスト１０７を実現するものである。このセルメモリ７０２の読み出し、書き込みは、制御線７３０を介して制御回路７０８により制御される。
【００４８】
メモリ７０３は、カレンダーキュー内に送出予定時刻単位に連結して蓄積されているセルエレメントについて、先頭エレメントアドレスを示すＣＱＨポインタ、最終エレメントを示すＣＱＴポインタ、及び、送出予定時刻毎の蓄積セル数Ｎ（τ）を、時計周期分（０〜Ｔｍａｘ−１）格納しているものである。メモリ７０３の読み出し、書き込みも、制御線７３１を介して制御回路７０８により制御される。
【００４９】
レジスタ７０４は、フリーリストに連結されているセルメモリ７０２内の未使用エレメントの先頭エレメントアドレスを示すＦＬＨポインタと、最終エレメントアドレスを示すＦＬＴポインタを保持している。レジスタ７０５は、アウトプットリストに連結されているセルメモリ７０２内の出力待ちセルエレメントの先頭エレメントアドレスを示すＯＬＨポインタと、最終エレメントアドレスを示すＯＬＴポインタを保持しているものである。これらレジスタ７０４及び７０５への書き込みは、制御線７３５を介して制御回路７０８により制御される。また、少なくともレジスタ７０４は、新旧（最新及びその直前）のポインタを保持し得るようになされている。
【００５０】
選択回路７０６及び７０７はそれぞれ、対応するセルメモリ７０２、メモリ７０３の読み出し、書き込みを行なう際のアドレス情報７１７、７１９の選択を行なうものであり、両者の選択動作は制御線７１８、７２０を介して制御回路７０８により制御される。セルメモリ７０２へのアドレス情報としては、レジスタ７０４、７０５やメモリ０３から出力されたＦＬＨポインタあるいはＦＬＴポインタ（７１３）、ＣＱＨポインタあるいはＣＱＴポインタ（７１４）、又は、ＯＬＨポインタあるいはＯＬＴポインタ（７１５）のいずれかが選択される。メモリ７０３へのアドレス情報としては、送出予定時刻算出部１０１からの送出予定時刻τ（７１１）、あるいは時計１０３からの現在時刻情報ＣＴ（７１２）のいずれかが選択される。
【００５１】
加算回路７３２は、メモリ７０３内に保持されている送出予定時刻毎の待ち合わせ中セル数Ｎ（τ）の更新処理を行なうものである。加算回路７３２は、到着セルの送出予定時刻τを送出予定時刻算出部１０１から受信すると、当該時刻のセル数Ｎ（τ）を送出予定時刻算出部１０１へフィードバック（信号線７３３）した後、１インクリメントする。加算回路７３２の動作もまた、制御線７３６を介して制御回路７０８によって制御される。
【００５２】
制御回路７０８は、セルスケジューラ部７０１全体の制御を司っており、セルメモリ７０２及びメモリ７０３の書き込み、読み出し、レジスタ７０４及び７０５のラッチタイミング、選択回路７０６及び７０７の選択処理動作、加算回路７３２の加算処理動作等を制御する。
【００５３】
（Ａ−２）第１の実施形態の動作
以下、この第１実施形態のシェイパー装置の動作を、送出予定時刻算出部１０１及びセルスケジューラ部１０２の動作の順に詳細に説明する。
【００５４】
ここで、時計１０３は、帯域規制対象のセル到着の有無にかかわらず、常に１セル時間に１ずつ時刻をインクリメントし、送出予定時刻算出部１０１及びセルスケジューラ部１０２に現在時刻情報ＣＴを供給しているとする。また、送出予定時刻算出部１０１内には、監視対象の全コネクションについてのパラメータや変数が一括して格納され、監視対象セルの到着毎に、該当するコネクションのパラメータ及び変数を内部の記憶部から取出して送出予定時刻の算出処理を行ない、かつ処理終了後には更新された変数を再び格納場所へ格納するものとする。
【００５５】
（Ａ−２−１）送出予定時刻算出部１０１の動作
図８は、この第１の実施形態の送出予定時刻算出部１０１の処理を示すフローチャートであり、上述した従来装置に係る図３との同一処理ステップには同一符号を付して示している。この実施形態の送出予定時刻算出部１０１の処理も、一般にリーキーバケットと呼ばれる手法を踏襲したものであり、同一コネクション内の連続するセルの最小送出間隔を満足するように送出予定時刻τを決定することで、ピークセルレートを規制するものである。
【００５６】
なお、この第１の実施形態の送出予定時刻算出部１０１は、パラメータ及び変数としては、従来と同様な、リーキーバケット容量Ｃ、リーキーバケット内蓄積量カウンタ値Ｓ、リークレートＬ、カウンタ増加幅Ｆ、セル所要遅延時間Ｄ、前セル到着時刻ＬＡＴ及び時計周期Ｔｍａｘを用いるだけでなく、送出予定時刻τにおける待ち合わせ中セル数Ｎ（τ）をも利用して、監視対象コネクションをピークセルレートＬ／Ｆに制限するような処理を行なう。
【００５７】
この実施形態の送出予定時刻算出部１０１も、当該シェイパー装置が起動されるとセル到着の有無を監視し、セルの到着が確認されると、現在時刻ＣＴと前セル到着時刻ＬＡＴとの時刻差Δｔ、すなわちそのコネクションの今回の到着間隔を算出すると共に、前セル到着時刻ＬＡＴを次回の到着のために現在時刻ＣＴに更新し、その後、リーキーバケットの更新前のカウンタ値Ｓと、Δｔ時間分のカウンタ減算量Δｔ・Ｌの比較を行なう（ステップ３０２〜３０５）。
【００５８】
Ｓ≦Δｔ・Ｌの場合は、前回の到着時にリーキーバケットに残存していた流体（セル）が今回のセル到着前に既になくなっていることに相当し、そこで、今回の到着セルを直ちに送出可能とすべく所要遅延時間Ｄを０にセットすると共に、蓄積量カウンタ値Ｓも０にセットする（ステップ３０６、３０７）。
【００５９】
一方、Ｓ＞Δｔ・Ｌの場合は、前回の到着時にリーキーバケットに残存していた流体（セル）ＳがリークレートＬずつ到着間隔Δｔの間漏れても今回のセル到着時にリーキーバケットに流体（セル）が残存していることに相当し、そこで、今回のセル到着時点でのリーキーバケットの残存量に、すなわち、Ｓ−Δｔ・Ｌに蓄積量カウンタ値Ｓを更新する（ステップ３０８）。
【００６０】
その後、更新されたカウンタ値Ｓと、バケット容量Ｃとカウンタ増加幅Ｆとの差分Ｃ−Ｆとを比較する（ステップ３０９）。この比較は、今回のセル到着時点でのリーキーバケットの残存量（Ｓ）に、今回のセル到着による流体量（Ｆ）を加えた場合に、その量（Ｓ＋Ｆ）がバケット容量Ｃを越えて、リーキーバケットの上縁からオーバーフローするか否かの判定を行なっていることに相当する。
【００６１】
Ｓ＞Ｃ−Ｆの場合（Ｓ＋Ｆ＞Ｃの場合）は、今回のセル到着を有効としたときにリーキーバケットの上縁からオーバーフローするので、到着セルを廃棄させるために、無効な送出予定時刻τをセルスケジューラ部１０２に出力して今回の到着セルに対する処理を終了する（ステップ３１０）。
【００６２】
これに対して、Ｓ≦Ｃ−Ｆの場合（Ｓ＋Ｆ≦Ｃの場合）には、所要遅延時間Ｄを商Ｓ／Ｌの整数値ｉｎｔ［Ｓ／Ｌ］として算出する（ステップ３１１）。このステップ処理は、今回の到着セルが送出されるのは、今回のセル到着時点で残存していた全てのセル対応の蓄積量（Ｓ）が漏れ出た後であり、リークレートがＬであるので、残存していた全てのセル（Ｓ）が送出されるのに要する時間、すなわち今回の到着セルが送出されるまでの時間はＳ／Ｌであり、この例の場合、時刻は１を単位として変化するので、その整数部分が今回の到着セルが送出されるまでの遅延時間になるという考え方に従っている。
【００６３】
今回のセル到着時点でのリーキーバケットの残存量（Ｓ）がない場合であろうと、到着セルの廃棄がなされない程度に存在する場合であろうと、その残存量に対応した蓄積量カウンタ値Ｓ及び所要遅延時間Ｄが求められた場合には、今回の到着セルの送出予定時刻τを算出し、セルスケジューラ部１０２に出力する（ステップ８１２、図３のステップ３１３と同様）。現在時刻ＣＴと所要遅延時間Ｄとから、単純には、これらの和ＣＴ＋Ｄとして送出予定時刻τが求められるが、時計１０３として周期がＴｍａｘのものを適用しているので、和ＣＴ＋Ｄが時計周期Ｔｍａｘより大きくなることを考慮し、上述した和ＣＴ＋Ｄを時計周期Ｔｍａｘで除算した際のモジュロ値として送出予定時刻τを求めている。
【００６４】
最後に、セルスケジューラ部１０２から受信した、ステップ８１２で求めた送出予定時刻τの列に蓄積されている待ち合わせ中のセル数Ｎ（τ）（今回の到着セル分を計数していない値）をも考慮して、リーキーバケットの蓄積量カウンタ値Ｓを更新して、今回の到着セルに対する一連の処理を終了する（ステップ８１３）。
【００６５】
処理終了時点の蓄積量カウンタ値Ｓは、他のコネクションを考慮しなければ、今回のセル到着時の蓄積量カウンタ値Ｓ（ステップ３０７又は３０８による算出値）に、今回のセル到着による増加分Ｆを加算して求めれば良い（従来に係るステップ３１２参照）。しかし、他のコネクションを考慮しない従来は、上述したような課題を生じている。そのため、この第１の実施形態は、他のコネクションの状況をも反映させるべく、送出予定時刻τの列に蓄積されている待ち合わせ中のセル数Ｎ（τ）も処理終了時点の蓄積量カウンタ値Ｓの算出に利用し、処理終了時点の蓄積量カウンタ値Ｓを、今回のセル到着時の蓄積量カウンタ値Ｓに、Ｆ＋Ｌ・Ｎ（τ）を加えた値とすることとした。
【００６６】
この算出式Ｓ：＝Ｓ＋Ｆ＋Ｌ・Ｎ（τ）における右辺のＳ＋Ｆは、従来同様に、到着セルのコネクションだけを考慮し、今回のセル到着時の蓄積量カウンタ値Ｓ（ステップ３０７又は３０８による算出値）に、今回のセル到着による増加分Ｆを加算した成分である。右辺のＬ・Ｎ（τ）は、以下の考え方に従って、加算することとしたものである。
【００６７】
ステップ８１２で求めた送出予定時刻τを予定時刻とする既に到着している他のコネクションのセルが存在する場合には、今回の到着セルは、同一の送出予定時刻τの他の全て（個数はＮ（τ））のセルが出力された後でなければ送出されず、送出は予定時刻τより遅れる。実際上、このように遅れた時刻で送出される今回の到着セルから、ユーザ申告値で定まる最小のセル間隔を守って次回の到着セルの送出予定時刻を決定する場合、今回の到着セルが送出予定時刻から遅れる分を考慮しなければならず、次回の到着セルに対して決定される送出予定時刻に、今回の到着セルが送出予定時刻から遅れる時間を反映させるために、今回のセル到着時の蓄積量カウンタ値Ｓ（ステップ３０７又は３０８による算出値）と、今回のセル到着による増加分Ｆとの和Ｓ＋ＦにさらにＬ・Ｎ（τ）を加算することとした。
【００６８】
これにより次回のステップ３１１の処理では、Ｌ・Ｎ（τ）の成分はＮ（τ）となり、次回のセル到着時の送出予定時刻が、同一コネクションだけを考慮した場合よりＮ（τ）だけ遅くなり、今回の到着セルに対する実際の送出時刻が予定送出時刻τより遅れても、その分、次回の到着セルの送出予定時刻も遅れて、相前後するセルの出力間隔が他のコネクションの影響を受けずに、ＣＤＶを吸収でき、ユーザ申告値を満足するようになる。
【００６９】
（Ａ−２−２）セルスケジューラ部１０２の動作
次に、第１の実施形態のセルスケジューラ部１０２の動作を、到着セル処理とセル送出処理との順に、図７の構成ブロック図を参照しながら説明する。
【００７０】
［セルスケジューラ部１０２の到着セル処理］
帯域規制対象のセルが到着すると、その到着セルはまず、レジスタ７０４のＦＬＨポインタで示されるセルメモリ７０２内の先頭位置の未使用エレメントのセル格納フィールドＣＢＦに一旦格納される。この際、選択回路７０６は、レジスタ７０４のＦＬＨポインタの格納部から読み出されたＦＬＨポインタ（７１３）を選択出力し、セルメモリ７０２のアドレス入力としている。
【００７１】
ここで、送出予定時刻算出部１０１から受信する当該セルの送出予定時刻τが、無効情報でない限り以降の処理が行なわれる。なお、無効情報である場合は当該セルは廃棄扱いとなり、以降の処理は何も行なわれない。また、フリーリスト内に未使用エレメントがない場合にも、到着セルは同様に廃棄扱いとなる。
【００７２】
送出予定時刻τが有効である場合、これまで、レジスタ７０４のＦＬＨポインタで示されていた未使用エレメントが到着セルへと割り当てられて使用エレメントに変化するので、ＦＬＨポインタの更新が必要となる。すなわち、これまでＦＬＨポインタで示されていた当該到着セルを格納したエレメントのＡＰｔｒポインタで示される連結先の未使用エレメントが、次の先頭未使用エレメントとなるので、制御回路７０８は、前記ＡＰｔｒポインタ値を、信号線７２２を介して、レジスタ７０４のＦＬＨポインタの格納エリアに与えて新ＦＬＨポインタとして格納させる。
【００７３】
このとき、残りの未使用エレメントが１つになる場合には、最終エレメントを規定するＦＬＴポインタもまた先頭エレメントを規定するＦＬＨポインタと同じ未使用エレメントを指し示すことになるため、信号線７２２はＦＬＴポインタ７０４へも接続されている。さらに、当該到着セルが最後の未使用エレメントに格納された場合には、残りの未使用エレメントはなくなり、ＦＬＨ及びＦＬＴポインタは、制御回路７０８により無効とされる。
【００７４】
次に、到着セルを格納した当該エレメントは、送出予定時刻算出部１０１からの送出予定時刻τに基づいた以下のようなポインタ処理によりフリーリストからカレンダーキュー内のその時刻τに対応する待ち合わせセル列に移動される。
【００７５】
この到着セルに対する処理においては、選択回路７０７は送出予定時刻τを選択するように制御されており、この選択回路７０７で選択された送出予定時刻τをアドレスとするメモリ７０３内のＣＱＴポインタを読み出して、選択回路７０６を介してセルメモリ７０２にアドレスとして与えて、到着セルが格納されたセルメモリ７０２のエレメントのＡＰｔｒポインタに旧ＦＬＨポインタを書き込むと共に（信号線７２３）、メモリ７０３のその送出予定時刻τのＣＱＴポインタにも旧ＦＬＨポインタを書き込む（信号線７２７）。なお、送出予定時刻τに相当する連結エレメント列（セル）が何も存在していなかった場合には、旧ＦＬＨポインタがそのままＣＱＨ及びＣＱＴポインタとしてメモリ７０３に書き込まれる（信号線７２７）。
【００７６】
また、このような到着セルに係るエレメントのカレンダーキュー内への移動処理のときに、当該送出予定時刻τの待ち合わせセル数Ｎ（τ）がメモリ７０３から読み出されて送出予定時刻算出部１０１へと受け渡される（信号線７３３）と共に、インクリメント処理が加算回路７３２によって行なわれ、メモリ７０３内へ再格納される（信号線７３４）。
【００７７】
以上のようにして、セルが到着すると、そのときのＦＬＨポインタが示すフリーリストの先頭エレメントにその到着セルが格納され、その先頭エレメントの連結ポインタが示すエレメントがフリーリストの先頭エレメントに変更されると共に、有効な到着予定時刻τが与えられると、カレンダーキュー内のその時刻τのエレメント列の最後尾に今回の到着セルに係る未使用エレメントから使用エレメントに変化したエレメントが連結され、また、その送出予定時刻τにかかる今回の到着セルを含めないセル数Ｎ（τ）を送出予定時刻算出部１０１に出力された後、そのセル数Ｎ（τ）が１インクリメントされる。
【００７８】
［セルスケジューラ部１０２のセル送出処理］
次に、セルスケジューラ部１０２におけるセル送出処理、すなわち、送出予定時刻というスケジュールに従って、バッファリングしているセルを送出する処理を説明する。
【００７９】
時計１０３からの現在時刻情報ＣＴを信号線７１２より受信したセルスケジューラ部７０１は、まず、この現在時刻ＣＴに相当するカレンダーキュー内の連結エレメント（セル）群をアウトプットリストに移動させる以下のような処理を行なう。
【００８０】
最初に、選択回路７０７で選択されるアドレス情報７１９が、時計１０３からの現在時刻ＣＴに設定される。
【００８１】
この現在時刻ＣＴをアドレスとして、その時刻ＣＴの連結エレメント列の先頭及び最終エレメントを規定するＣＱＨポインタ及びＣＱＴポインタをそれぞれメモリ７０３から読み出し、アウトプットリストが空の場合には、それぞれをレジスタ７０５にＯＬＨポインタ及びＯＬＴポインタとして格納する（信号線７２８及び７２９）。この際、アウトプットリストに移動するエレメント（セル）が１つだけの場合には、読み出されたＣＱＨポインタ値をＯＬＨポインタ及びＯＬＴポインタとして格納される。
【００８２】
また、アウトプットリスト内に既にエレメント（セル）がある場合には、メモリ７０３から読出したＣＱＨポインタとＣＱＴポインタの示すエレメント群をその最後尾に連結させる。すなわち、レジスタ７０５のアウトプットリスト内の最終エレメントを規定するＯＬＴポインタに、メモリ７０３から読み出されたＣＱＴポインタ値を格納し（信号線７２９）、旧ＯＬＴポインタをアドレスとするセルメモリ７０２内のエレメントのＡＰｔｒポインタ（連結先ポインタ）の格納エリアに、メモリ７０３から読み出されたＣＱＨポインタを格納する。ここで、移動するエレメントが１つだけの場合には、更新されるＡＰｔｒポインタ及びＯＬＴポインタは共に、メモリ７０３から読み出されたＣＱＨポインタ値になる。
【００８３】
次に、制御回路７０８は、アウトプットリストに移動された現在時刻ＣＴを送出予定時刻としているエレメント（セル）列に相当するセル計数値Ｎ（τ）を０クリアする。
【００８４】
以上のようにして、現在時刻ＣＴを送出予定時刻としているカレンダーキュー内のエレメント（セル）列がアウトプットリストの後半に連結される。
【００８５】
アウトプットリストに移動されたセル群は、以下のようにして、１セル時間に１セルずつ順次出力線７１０から送出されていく。
【００８６】
制御回路７０８は、現在時刻ＣＴが更新されて上述したアウトプットリストへの移動処理が終了すると、レジスタ７０５のＯＬＨポインタを選択回路７０６を介してセルメモリ７０２にアドレスとして与え、そのアドレスを有するエレメント、すなわち、アウトプットリスト内の先頭エレメントのセル格納フィールドＣＢＦにあるセル情報を、出力線７１０から送出させる。
【００８７】
これにより、このエレメントのＡＰｔｒポインタの指し示すエレメントが、次の時刻でのアウトプットリスト内の先頭エレメントになるので、このＡＰｔｒポインタ値をセルメモリ７０２から読み出してレジスタ７０５のＯＬＨポインタのエリアに格納させる（信号線７２４）。なお、今回のセル送出により、アウトプットリスト内の残存セル（エレメント）が１セルとなった場合には、セルメモリ７０２から読出したＡＰｔｒポインタ値を、レジスタ７０５のＯＬＨポインタのエリアだけでなく、ＯＬＴポインタのエリアにも格納させる。また、セル送出によりアウトプットリスト内の残存セルがなくなった場合には、レジスタ７０５のＯＬＨポインタ及びＯＬＴポインタのエリアを無効とする。
【００８８】
セルが送出されたアウトプットリスト内の旧先頭エレメントは、未使用状態となるので、以下のようにして再びフリーリストに移動される。
【００８９】
レジスタ７０４からＦＬＴポインタを読み出して、選択回路７０６を介してセルメモリ７０２にアドレスとして与え、そのアドレスのエレメント、すなわち、フリーリスト内の最後尾エレメントのＡＰｔｒポインタに、レジスタ７０５に格納されている旧ＯＬＨポインタ値を格納させると共に、この旧ＯＬＨポインタ値をレジスタ７０４のＦＬＴポインタに書き込む。なお、フリーリスト内に未使用エレメントが１つもなかった場合には、レジスタ７０４のＦＬＨポインタにも合わせて旧ＯＬＨポインタ値が格納される。
【００９０】
以上のようにして、現在時刻が変更される毎に、アウトプットリスト内の先頭エレメントに格納されているセルが出力されると共に、そのエレメントがフレーリストの最後尾に移動される。
【００９１】
次に、上述した構成を有して上述した動作を行なう第１の実施形態のシェイパー装置の具体的な動作例を図９を用いて説明する。
【００９２】
なお、図９は、従来の課題の説明で用いた図６と同様なセルの到着状況及びユーザ申告条件での動作例を示すタイムチャートである。すなわち、ユーザ申告値がＣ＝１５、Ｆ＝７、Ｌ＝２であるコネクションＡ、ユーザ申告値がＣ＝１５、Ｆ＝５、Ｌ＝１であるコネクションＢ、ユーザ申告値がＣ＝１５、Ｆ＝４、Ｌ＝１であるコネクションＣのセルが、タイムチャート９０１のように当該シェイパー装置の到着以前においてＣＤＶを受けて最小セル間隔の規定が必ずしも満足されていない状態で到着した際の、送出予定時刻算出部１０１内のリーキーバケット蓄積量カウンタ値Ｓの遷移９０２、カレンダーキュー内のセル待ち合わせ状況９０３、当該シェイパー装置からのセル送出過程９０４、及び、送出セル間隔９０５を示している。
【００９３】
この第１の実施形態においても、タイムチャート９０２に示すリーキーバケット蓄積量カウンタ値Ｓが算出され、このカウンタ値Ｓに従って、各到着セルは送出予定時刻τが算出され、タイムチャート９０３のようにカレンダーキュー内に送出予定時刻毎に蓄積されていく。この第１の実施形態でも、異なるコネクションに属するセルについては、同一の送出予定時刻が算出されることがある。セルＡ４とＣ４、Ｂ４とＡ５、Ｂ５とＣ６、及び、Ｂ６とＣ６はそれぞれ、前セル到着時刻より算出した送出予定時刻が一致しているために、カレンダーキュー内で同時刻列に連結キューイングされたものである。
【００９４】
しかし、この第１の実施形態においては、到着セル分を含めた蓄積量カウンタ値Ｓは、その送出予定時刻でのセル数Ｎ（τ）も反映されているので、蓄積量カウンタ値Ｓは従来より高い値をとることも生じ、送出予定時刻τが従来より遅くなるセルが多くなる。タイムチャート６０３及び９０３の比較から明らかなように、セルＣ５、Ａ６、Ｃ６、Ａ７、Ｃ７及びＡ８の送出予定時刻は従来より遅く決定されている。すなわち、同一の送出予定時刻に後で決定されたセルＣ４、Ａ５、Ｃ６及びＣ７は、送出予定時刻より遅れて実際には出力され、他のコネクションのセルの存在によってこのようにセル送出が遅れた分については待ち合わせセル数Ｎ（τ）を用いて蓄積量カウンタ値Ｓを補正処理して次回の送出予定時刻の決定に反映させているため、その後の同一コネクションの到着セルに送出予定時刻は前回に決定された同一コネクションについての送出予定時刻よりはむしろだ実際の送出時刻を基準として決定しているということができ、図６と比べても明らかなようにＣＤＶを押さえることができる。
【００９５】
具体的には、セルＡ５とＡ６との間のセル間隔は従来では２セル時間であったものがこの第１の実施形態では３セル時間になり、また、セルＣ５とＣ６との間のセル間隔は従来ではが２セル時間であったものがこの第１の実施形態では４セル時間になっている。すなわち、最小セル間隔の規定を、従来とは異なって、満足させるようにできている。
【００９６】
（Ａ−３）第１の実施形態の効果
上述した第１の実施形態のシェイパー装置によれば、以下のような効果を得ることができる。
【００９７】
（１）  異なるコネクション間で同一時刻にセル送出予定が重なって予定時刻より出力が遅れるセルが発生した場合においても、その出力が待ち合わせされるコネクションについては、待ち合わせ分だけセル送出予定時刻算出処理の変数を補正するようにしたので、そのコネクションの後続するセルとの間でＣＤＶ発生を防ぐことができ、所要の最小セル送出間隔を満足させることができる。
【００９８】
この最小セル間隔の保証は、ＡＴＭネットワークの帯域管理においては最も重要なファクターであり、上記効果の意義は大きい。
【００９９】
（２）  上記セル送出予定時刻算出処理の変数の補正処理を、送出予定時刻単位の待ち合わせセル数の計数という簡易な機能追加で対処しているので、回路規模の増大を招くことがない。
【０１００】
因に、従来装置であっても、実際上、送出予定時刻毎の待ち合わせセルの計数機能を具備することが一般的であり、この第１の実施形態はその機能とパラメータを拡張利用し、送出予定時刻算出部へとフィードバックしているだけであるので、送出予定時刻算出部での積和演算機能部を１つ付加のみであり、回路規模の増加はほとんどない。
【０１０１】
このように従来装置に比較すると、送出予定時刻算出部での積和演算機能の追加が必要となるが、この演算部は既に送出予定時刻算出部に含まれており、同じ演算部を切り替えて利用することで、回路規模の増加をさらに抑えることができる。
【０１０２】
（３）  この第１の実施形態が使用しているスペーシングポリサー（Ｓｐａｃｉｎｇ  Ｐｏｌｉｃｅｒ  ）方式の最大の特徴は、膨大な数のコネクションを同時に帯域規制可能な点にあるが、各種処理をセル到着時とセル送出時にのみ実行しているので、この第１の実施形態の実現上でも、その特徴は何ら損なわれず、装置が許容するコネクション数が制限されることはない。
【０１０３】
（Ｂ）第２の実施形態
次に、本発明によるセル出力帯域規制装置の第２の実施形態を図面を参照しながら詳述する。
【０１０４】
（Ｂ−１）第２の実施形態の構成
図１０は、第２の実施形態のセル出力帯域規制装置の構成を示すブロック図であり、第１の実施形態に係る図１との同一、対応部分には同一符号を付して示している。
【０１０５】
このセル出力帯域規制装置も、大きくは、送出予定時刻算出部１０１、セルスケジューラ部１０２、及び、時計１０３によって構成されている。時計１０３は、第１の実施形態のものと同様である。
【０１０６】
この第２の実施形態の送出予定時刻算出部１０１は、セルスケジューラ部１０２から送出されたセルのコネクション番号ｍをも利用して、到着セル毎に送出予定時刻τを算出してセルスケジューラ部１０２へ提供するものであり、コネクション番号ｍをも利用する点が第１の実施形態とは異なっている。
【０１０７】
この第２の実施形態のセルスケジューラ部１０２は、各送出予定時刻毎の待ち合わせセル数Ｎ（τ）の格納部を備えていない点（備えていても良いが第２の実施形態の特徴とは無関係である）、及び、送出予定時刻算出部１０１に当該セルスケジューラ部１０２から送出されたセルのコネクション番号ｍをフィードバックする点が、第１の実施形態とは異なっている。
【０１０８】
図１１は、概念的には図１０に示す構成を有する第２の実施形態のセルスケジューラ部１０２（７０１）について、より具体的なレベルで内部構成を示したブロック図であり、上述した図７との同一、対応部分には同一符号を付して示している。
【０１０９】
このようなレベルでセルスケジューラ部７０１の構成を見た場合、以下の点が、第１の実施形態の構成と異なっており、これ以外の構成は第１の実施形態と同様である。
【０１１０】
（１）  送出予定時刻τのセル数Ｎ（τ）を１インクリメントするための加算回路（図７の符号７３２参照）が設けられていない点、（２）  送出時刻毎のパラメータメモリ（ＭＥＭ）７０３にセル数Ｎ（τ）のエリアが設けられておらず、セル数Ｎ（τ）の送出予定時刻算出部１０１へのフィードバック線がない点、（３）  制御回路７０８が出力セルのコネクション番号ｍを取り込んで送出予定時刻算出部１０１へフィードバックするようになされている点が、第１の実施形態の構成と異なっている。
【０１１１】
（Ｂ−２）第２の実施形態の動作
以下、この第２の実施形態のシェイパー装置の動作を、送出予定時刻算出部１０１及びセルスケジューラ部１０２の動作の順に詳細に説明する。ここで、時計１０３は、帯域規制対象のセル到着の有無にかかわらず、常に１セル時間に１ずつ時刻をインクリメントし、送出予定時刻算出部１０１及びセルスケジューラ部１０２に現在時刻情報ＣＴを供給しているとする。また、送出予定時刻算出部１０１内には、監視対象の全コネクションについてのパラメータや変数が一括して格納され、監視対象セルの到着毎に、また、セルを外部に出力する毎に、該当するコネクションのパラメータ及び変数を内部の記憶部から取出して送出予定時刻の算出処理等を行ない、かつ処理終了後には更新された変数を再び格納場所へ格納するものとする。
【０１１２】
（Ｂ−２−１）送出予定時刻算出部１０１の動作
この第２の実施形態の送出予定時刻算出部１０１の処理も、一般にリーキーバケットと呼ばれる手法を踏襲したものであり、同一コネクション内の連続するセルの最小送出間隔を満足するように送出予定時刻τを決定することで、ピークセルレートを規制するものである。しかし、この第２の実施形態の場合、送出予定時刻算出部１０１の動作は、当該シェイパー装置にセルが到着した際に実行される動作と、当該シェイパー装置からセルを送出した際に実行される動作とに分けられる。
【０１１３】
なお、この第２の実施形態の送出予定時刻算出部１０１は、従来と同様なリーキーバケット容量Ｃ、リーキーバケット内蓄積量カウンタ値Ｓ、リークレートＬ、カウンタ増加幅Ｆ、セル所要遅延時間Ｄ、前セル到着時刻ＬＡＴ及び時計周期Ｔｍａｘだけでなく、到着セルのコネクション（コネクション番号をｋとする）のセルスケジューラ部１０２内の蓄積セル数（未送出の到着セル数）Ｎ（ｋ）、及び、そのコネクションの最新（直前）のセル送出時刻ＲＤＴ（ｋ）をも利用して、監視対象コネクションをピークセルレートＬ／Ｆに制限する。
【０１１４】
まず、図１２のフローチャートを参照しながら、送出予定時刻算出部１０１のセル到着時の動作を説明する。なお、図１２において、従来装置に係る図３及び第１の実施形態に係る図８との同一、対応ステップには同一符号を付して示している。また、図１２においては、従来と同様な変数、パラメータについては、到着セルのコネクション番号ｋを規定する（ｋ）を省略しているが、正しくは、Ｓ（ｋ）、Ｌ（ｋ）、Ｆ（ｋ）、Ｄ（ｋ）及びＬＡＴ（ｋ）と記載すべきものである。
【０１１５】
当該シェイパー装置が起動されて処理を開始し、ステップ３１３の処理を実行するまでは、従来装置と同様な処理を行なうので、その説明は省略する。なお、これらのステップ処理において、利用する蓄積量カウンタ値Ｓは後述するステップ１２１８で算出されたものとなっていることもあり、この点では、従来装置と同様でないということもできる。
【０１１６】
到着セルが有効であって、ステップ３１２において、到着時の蓄積量カウンタ値Ｓを今回の到着セルに相当する量（Ｆ）だけ増加すると共に、ステップ３１３において、現在時刻ＣＴと、到着時の蓄積量カウンタ値Ｓに基づいて得た今回の到着セルを出力するまでの遅延時間Ｄとから送出予定時刻τを算出すると、更新した蓄積量カウンタ値Ｓ及び算出した送出予定時刻τが、妥当なものか否かを以下のようにして見直す。すなわち、セルスケジューラ部１０２におけるそのコネクションｋの待機しているセル数Ｎ（ｋ）や、このコネクションｋの前回の実際の送出時刻ＲＤＴ（ｋ）からみて妥当なものであるか否かを見直す。
【０１１７】
この一連の見直し処理では、まず、到着セルのコネクションｋの未送出セル数Ｎ（ｋ）を今回の到着セルを含むように１インクリメントし（ステップ１２１４）、その後、ピークセルレートＦ／Ｌを満たす当該到着セルの直近の送出予定時刻τ０を算出する（ステップ１２１５）。ピークセルレートＦ／Ｌを満たす直近の送出予定時刻τ０は、単純には、前回の実際の送出時刻ＲＤＴ（ｋ）に、ピークセルレートＦ／Ｌで未送出のＮ（ｋ）個のセルを送出するのに要する時間ｉｎｔ［Ｎ（ｋ）・Ｆ／Ｌ］を加算することで求まるが（整数化ｉｎｔは時刻の更新が１ずつなされるために行なわれている）、時計１０３がＴｍａｘを一巡周期としているため、その加算値を、この時計周期Ｔｍａｘて割ったモジュロ値として算出する。
【０１１８】
このようにして、ピークセルレートＦ／Ｌを満たす当該到着セルの直近の送出予定時刻τ０を得ると、到着時の蓄積量カウンタ値Ｓを基準として求めた今回の到着セルの送出予定時刻τを、ピークセルレートを考慮した直近の送出予定時刻τ０と比較する（ステップ１２１６）。
【０１１９】
τ≧τ０の場合には、送出予定時刻τがピークセルレートＦ／Ｌを満たすとみなして良いので、ステップ３１２で得られた到着セル分を含めた蓄積量カウンタ値Ｓ、及び、ステップ３１３で求めた送出予定時刻τを変更することなく、セル到着時の一連の処理を終了する。
【０１２０】
一方、τ＜τ０の場合には、送出予定時刻τがピークセルレートＦ／Ｌを満たさないので、ステップ３１２及び３１３で得られた蓄積量カウンタ値Ｓ及び送出予定時刻τを、以下の値に変更させてセル到着時の一連の処理を終了する（ステップ１２１７、１２１８）。すなわち、今回の到着セルの送出予定時刻τを、そのコネクションのピークセルレートＦ／Ｌを満たすと考えられる最も早い時刻τ０まで遅延させてセットし直す（ステップ１２１８）。このように到着時の蓄積量カウンタ値Ｓから求めた送出予定時刻τを時間τ０−τ分だけ遅らせるように更新するので、このコネクションの次回の到着セルの送出予定時刻の算出にも、かかる遅延時間を反映させるように、ステップ３１２で求めた蓄積量カウンタ値Ｓも、その遅延時間の相当分Ｌ・（τ０−τ）だけ増加させる（ステップ１２１７）。
【０１２１】
以上のような一旦求めた送出予定時刻に対するピークセルレートを考慮した確認、補正処理によって、当該到着セルだけでなくこの到着セル以降の到着セルについて、より最小セル送出間隔の規定値を満足するシェイパー動作を実現することができるようになる。
【０１２２】
次に、図１３のフローチャートを参照しながら、当該シェイパー装置からのセル送出時における送出予定時刻算出部１０１の動作を説明する。
【０１２３】
送出予定時刻算出部１０１は、セルスケジューラ部１０２からセル送出がなされたか否かを確認しており（ステップ１３０２）、セル送出が成されると、当該セルのコネクション番号ｍをセルスケジューラ部１０２から受信する（ステップ１３０３）。そして、送出予定時刻算出部１０１は、当該コネクションｍについての内部管理している蓄積セル数Ｎ（ｍ）を１デクリメントすると共に、当該コネクションｍの最新セル送出時刻ＲＤＴ（ｍ）を、時計１０３からの現在時刻ＣＴにセットして、一連のセル送出時の処理を終了する（ステップ１３０４、１３０５）する。
【０１２４】
このようなセル送出時の処理によって適宜更新される蓄積セル数Ｎ（ｍ）及び最新セル送出時刻ＲＤＴ（ｍ）を、上述したセル到着時に活用することにより、到着時の蓄積量カウンタ値Ｓに基づいて求めた到着セル分だけ更新された蓄積量カウンタ値Ｓ及び送出予定時刻τに対し、ピークセルレートを反映させた見直すを実行することができるようになる。
【０１２５】
（Ｂ−２−２）セルスケジューラ部１０２の動作
次に、第２の実施形態のセルスケジューラ部１０２の動作を、到着セル処理とセル送出処理との順に、図１１の構成ブロック図を参照しながら説明する。
【０１２６】
［セルスケジューラ部１０２の到着セル処理］
この第２の実施形態におけるセル到着時のセルスケジューラ部１０２の動作は、第１の実施形態とほぼ同様である。
【０１２７】
すなわち、到着セルを最終の未使用エレメントのセル格納フィールドに格納すると共に、最終の未使用エレメントを規定するＦＬＨポインタを更新する動作は、第１の実施形態と同様である。また、到着セルを格納した当該エレメントを、送出予定時刻算出部１０１からの送出予定時刻τに基づいたポインタ処理により、フリーリストからカレンダーキュー内のその時刻τに対応する待ち合わせセル列に移動する動作も、第１の実施形態と同様である。従って、これらの動作の詳述は省略する。
【０１２８】
しかし、この第２の実施形態の場合、到着セルを格納したエレメントをフリーリストからカレンダーキュー内の送出予定時刻τに対応する待ち合わせセル列に移動しても、その時刻τ対応の蓄積セル数Ｎ（τ）を更新する動作を実行しない点が、第１の実施形態と異なっている。
【０１２９】
［セルスケジューラ部１０２のセル送出処理］
次に、セルスケジューラ部１０２におけるセル送出処理、すなわち、送出予定時刻というスケジュールに従って、バッファリングしているセルを送出する処理を説明する。
【０１３０】
時計１０３からの現在時刻情報ＣＴに基づいて、この現在時刻ＣＴに相当するカレンダーキュー内の連結エレメント（セル）群をアウトプットリストに移動させる動作は、第１の実施形態とほぼ同様であるので、その詳細説明は省略する。なお、この第２の実施形態の場合、このような移動時において、アウトプットリストに移動された現在時刻ＣＴを送出予定時刻としているエレメント（セル）列に相当するセル計数値Ｎ（τ）を０クリアする動作は実行されず、この点は、第１の実施形態と異なっている。
【０１３１】
この移動処理後に実行される、アウトプットリストに移動されたセル群を、１セル時間に１セルずつ順次出力線７１０から送出すると共に、その送出によって未使用エレメントに変化したエレメントをフリーリストに移動する動作も、第１の実施形態とほぼ同様であるので、その詳細説明は省略する。
【０１３２】
なお、この第２の実施形態の場合は、アウトプットリストから出力線７１０に出力されたセルのコネクション番号ｍを制御回路７０８が取り込み、送出予定時刻算出部１０１に出力するようにしている点は、第１の実施形態と異なっている。このコネクション番号ｍが、送出予定時刻算出部１０１による上述した図１３に示す動作に用いられる。
【０１３３】
次に、上述した構成を有して上述した動作を行なう第２の実施形態のシェイパー装置の具体的な動作例を図１４を用いて説明する。
【０１３４】
なお、図１４は、従来の課題の説明で用いた図６と同様なセルの到着状況及びユーザ申告条件での動作例を示すタイムチャートである。すなわち、ユーザ申告値がＣ＝１５、Ｆ＝７、Ｌ＝２であるコネクションＡ、ユーザ申告値がＣ＝１５、Ｆ＝５、Ｌ＝１であるコネクションＢ、ユーザ申告値がＣ＝１５、Ｆ＝４、Ｌ＝１であるコネクションＣのセルが、タイムチャート１４０１のように当該シェイパー装置の到着以前においてＣＤＶを受けて最小セル間隔の規定が必ずしも満足されていない状態で到着した際の、送出予定時刻算出部１０１内のリーキーバケット蓄積量カウンタ値Ｓの遷移１４０２、カレンダーキュー内のセル待ち合わせ状況１４０３、当該シェイパー装置からのセル送出過程１４０４、及び、送出セル間隔１４０５を示している。
【０１３５】
この第２の実施形態においても、タイムチャート１４０２に示すリーキーバケット蓄積量カウンタ値Ｓが算出され、このカウンタ値Ｓに従って、各到着セルは送出予定時刻τが算出され、タイムチャート１４０３のようにカレンダーキュー内に送出予定時刻毎に蓄積されていく。この第１の実施形態でも、異なるコネクションに属するセルについては、同一の送出予定時刻が算出されることがある。セルＡ４とＣ４、Ｂ４とＡ５とＣ５、Ｂ５とＣ６、及び、Ｃ７とＡ８はそれぞれ、前セル到着時刻より算出した送出予定時刻が一致しているために、カレンダーキュー内で同時刻列に連結キューイングされたものである。
【０１３６】
しかし、この第２の実施形態においては、到着セル分を含めた蓄積量カウンタ値Ｓは、そのコネクションでのセル数Ｎ（ｋ）や最新送出時刻ＲＤＴ（ｋ）も反映されているので、蓄積量カウンタ値Ｓは従来より高い値をとることも生じ、送出予定時刻τが従来より遅くなるセルが多くなる。また、コネクションでのセル数Ｎ（ｋ）や最新送出時刻ＲＤＴ（ｋ）を考慮して送出予定時刻τを見直しているので、送出予定時刻τが従来より遅くなるセルが多くなる。タイムチャート６０３及び１４０３の比較から明らかなように、セルＣ６、Ａ７、Ｃ７及びＡ８の送出予定時刻は従来より遅く決定されている。
【０１３７】
すなわち、異なるコネクションに属するセルＡ４とＣ４、Ｂ４とＡ５とＣ５、Ｂ５とＣ６、及び、Ｃ７とＡ８は、それぞれ前セル到着時刻より算出した送出予定時刻が一致しているために、カレンダーキュー内で同時刻列に連結キューイングされ、前記セルＣ４、Ａ５、Ｃ５、Ｃ６及びＡ８は、送出予定時刻より遅れて実際には出力され、このセル送出の遅れた分については、上述したように、コネクション単位のカレンダーキュー内待ち合わせセル数ｍを用いて補正処理をしているために、その後の同一コネクションの到着セルに送出予定時刻は前回に決定された同一コネクションについての送出予定時刻よりはむしろだ実際の送出時刻を基準として決定しているということができ、図６と比べても明らかなようにＣＤＶを押さえることができる。
【０１３８】
具体的には、セルＡ５とＡ６との間のセル間隔は従来装置と同じ２セルのままであるが、その後に続くセルＡ６とＡ７との間が４セルから５セルへと広がり、最小セル間隔を満足していないセルＡ５、Ａ６間の影響を、後続セルを遅らせることで緩和している。またセルＣ５とＣ６との間は２セルから４セルへと、従来装置と比べて広がっており、最小セル間隔の規定を満足している。
【０１３９】
（Ｂ−３）第２の実施形態の効果
上述した第２の実施形態のシェイパー装置によれば、以下のような効果を得ることができる。
【０１４０】
（１）  異なるコネクション間で同一時刻にセル送出予定が重なって、待ち合わせを受けるセルが発生した場合においても、待ち合わせを受けるコネクションについて、待ち合わせ分だけセル送出予定時刻算出処理の変数を補正することにより、後続するセルとの間でのＣＤＶ発生を抑制し、所要最小セル送出間隔を満足できないことの影響を緩和することができる。
【０１４１】
上述したように、この最小セル間隔の保証は、ＡＴＭネットワークの帯域管理においては最も重要なファクターであり、上記効果の意義は大きい。
【０１４２】
（２）  上記セル送出予定時刻算出処理の変数の補正処理を、コネクション単位での待ち合わせセル数の計数という簡易な機能追加で対処しているので、回路規模の増大を招くことがない。
【０１４３】
また、送出予定時刻算出部では第２実施形態の実現のために、積和演算や除算演算、モジュロ演算等機能の追加が必要となるが、これらの演算部は既に送出予定時刻算出部に含まれており、同じ演算部を切り替えて利用することで、回路規模の増加はさらに抑えられる。
【０１４４】
（３）  この第２の実施形態が使用しているスペーシングポリサー（Ｓｐａｃｉｎｇ  Ｐｏｌｉｃｅｒ  ）方式の最大の特徴は、膨大な数のコネクションを同時に帯域規制可能な点にあるが、各種処理をセル到着時とセル送出時にのみ実行しているので、この第２の実施形態の実現上でも、その特徴は何ら損なわれず、装置が許容するコネクション数が制限されることはない。
【０１４５】
（Ｃ）他の実施形態
以上、本発明を、２つの実施形態につき詳細に説明したが、本発明は上述した実施形態に限定されるものではない。
【０１４６】
（１）  両実施形態におけるセル送出予定時刻算出部１０１は、上述したフローチャートに示す処理を実行できるものであれば、ハードウェア的に構成されていても良く、また、ＤＳＰ等を利用してソフトウェア的に構成されているものであっても良い。
【０１４７】
（２）  第１実施形態において、送出予定時刻毎の蓄積セル数Ｎ（τ）の計数処理及び保持を、セルスケジューラ部側で行なう例を示したが、送出予定時刻算出部側で保持、管理しても良い。
【０１４８】
（３）  第２実施形態におけるコネクション毎の蓄積セル数Ｎ（ｋ）や最新送出時刻ＲＤＴ（ｋ）の更新処理や保持を、セルスケジューラ部側で実行し、送出予定時刻算出部へとその都度受け渡しても良い。
【０１４９】
（４）  到着セルをバッファリングするセルメモリは、物理的に１つのメモリでなくても良く、フリーリスト、カレンダーキュー、アウトプットリストのそれぞれを個別のメモリで実現しても良い。
【０１５０】
（５）  両実施形態では、到着セル毎の送出予定時刻算出にリーキーバケット型の手法を用いているが、本発明はリーキーバケット型に限らず、その他の手法、例えばある一定の時間幅内を通過するセル数によって規定するウィンドウ型と呼ばれる手法等を適用しても、その実現性には全く問題は生じない。要は、送出予定時刻を決定するための変数やパラメータを、実際のセル送出時刻の情報を反映させる形で補正できる形式の手法であれば良い。
【０１５１】
【発明の効果】
以上のように、第１の本発明によれば、送出予定時刻単位のセルのキューイング過程において、キューイングされているセル数の計数を送出予定時刻毎に行ない、送出予定時刻算出手段へ計数した送出予定時刻単位のセル数を与える送出予定時刻セル数計数手段と、送出予定時刻毎のセル数を用いて、到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、送信予定時刻から遅れて送出されるセル数を反映するように補正する変数補正手段とを具備したので、異なるコネクションのセルの送出予定時刻が同一になった前後においても、セル送出間隔の規定を満たすことができ、かつＣＤＶを押さえることができる。
【０１５２】
また、第２の本発明によれば、規制対象の全コネクションについて、キューイング中のセルをコネクション単位に計数すると共に、そのコネクションの最新のセル送出時刻を記録、保持するコネクション情報管理手段と、セル送出時に、送出セルが属するコネクション番号を検出し、そのコネクションについてのキューイング中のセル計数値と最新セル送出時刻の更新処理を行なうコネクション情報更新手段と、コネクション毎のキューイング中の計数値と最新セル送出時刻とに基づく所定ピークレートを満たす直近の送出予定時刻と、到着セルの送出予定時刻とを比較し、到着セルの送出予定時刻が直近の送出予定時刻以上である場合、到着セルの送出予定時刻を直近の送出予定時刻に補正し、次回到着セルの送出予定時刻の算出に用いるリーキーバケット蓄積量カウンタ値を、到着セルの送出予定時刻からの遅延時間を反映させるように補正する補正手段とを具備したので、異なるコネクションのセルの送出予定時刻が同一になった前後においても、セル送出間隔の規定を満たすことができ、かつＣＤＶを押さえることができる。
【図面の簡単な説明】
【図１】第１の実施形態の概略構成を示すブロック図である。
【図２】シェイパー装置の一般的構成を示すブロック図である。
【図３】従来の送出予定時刻算出部の処理フローチャートである。
【図４】従来のセルスケジューラ部の概念的構成を示す機能ブロック図である。
【図５】エレメントの構成を示す説明図である。
【図６】従来の課題説明用のタイムチャートである。
【図７】第１の実施形態のセルスケジューラ部の構成例を示すブロック図である。
【図８】第１の実施形態の送出予定時刻算出部の処理フローチャートである。
【図９】第１の実施形態の効果説明用のタイムチャートである。
【図１０】第２の実施形態の概略構成を示すブロック図である。
【図１１】第２の実施形態のセルスケジューラ部の構成例を示すブロック図である。
【図１２】第１の実施形態の送出予定時刻算出部のセル到着時の処理フローチャートである。
【図１３】第１の実施形態の送出予定時刻算出部のセル送出時の処理フローチャートである。
【図１４】第２の実施形態の効果説明用のタイムチャートである。
【符号の説明】
１０１…送出予定時刻算出部、１０２…セルスケジューラ部、１０３…時計、Ｎ（τ）…送出予定時刻単位の送出待ち合わせセル数、ｋ…到着セルのコネクション番号、Ｎ（ｋ）…コネクションｋの送出待ち合わせセル数、ＲＤＴ（ｋ）…コネクションｋの最新送出時刻。
【図１】
0003565629.tif 000002
【図２】
0003565629.tif 000003
【図３】
0003565629.tif 000004
【図４】
0003565629.tif 000005
【図５】
0003565629.tif 000006
【図６】
0003565629.tif 000007
【図７】
0003565629.tif 000008
【図８】
0003565629.tif 000009
【図９】
0003565629.tif 000010
【図１０】
0003565629.tif 000011
【図１１】
0003565629.tif 000012
【図１２】
0003565629.tif 000013
【図１３】
0003565629.tif 000014
【図１４】
0003565629.tif 000015