(57)【特許請求の範囲】
【請求項１】
所定の伝送媒体に挿入すべき同一挿入優先順位をもった複数種のデータをデータ種別毎に保持するための複数のバッファ部と、
該複数種のデータの中に含まれる所定の許容挿入遅延時間内に挿入すべきデータを、当該許容挿入遅延時間内に該伝送媒体に挿入すべく、データ種別毎の蓄積量に上限値を設定し、該複数種のデータの各バッファ部に対する書き込み処理順序に基づいて該複数種のデータの各バッファ部に対する読み出し処理順序を制御することにより、該伝送媒体へのデータ挿入順序を調停する調停制御部とをそなえていることを特徴とする、調停機能付バッファ装置。
【請求項２】
該調停制御部が、
該書き込み処理時に該書き込み処理順序についてのリンクデータを生成し、該リンクデータに従って該複数種のデータの読み出し処理を行なうことにより、該複数種のデータを該書き込み処理順序で各バッファ部から読み出すように構成されていることを特徴とする、請求項１記載の調停機能付バッファ装置。
【請求項３】
該バッファ部と同一のアドレス構成を有する第１リンクメモリを該複数のバッファ部に対応して複数そなえるとともに、
該調停制御部が、
前回書き込み処理を行なったバッファ部に対応する第１リンクメモリの同一アドレスに、今回書き込み処理を行なったデータ種別を書き込むことにより、該リンクデータを生成するように構成されていることを特徴とする、請求項２記載の調停機能付バッファ装置。
【請求項４】
該伝送媒体が該データの挿入対象として複数の回線を扱う場合に、該バッファ部が、それぞれ、各回線用のデータを保持しうるように構成されるとともに、
該バッファ部と同一のアドレス構成を有し同じバッファ部内での該データの書き込み処理順序についてのリンクデータを記憶する第２リンクメモリを該複数のバッファ部に対応して複数そなえ、
該第１リンクメモリと該第２リンクメモリとが共通化されていることを特徴とする、請求項３記載の調停機能付バッファ装置。
【請求項５】
該第１リンクメモリと該バッファ部とが共通化されていることを特徴とする、請求項３記載の調停機能付バッファ装置。
【請求項６】
該伝送媒体が該データの挿入対象として１回線を扱う場合に、該第１リンクメモリ及び該バッファ部が、ＦＩＦＯ型の共通メモリとして構成されていることを特徴とする、請求項５記載の調停機能付バッファ装置。
【請求項７】
該複数のバッファ部に、全バッファ部に固有のグローバルアドレスが割り当てられるとともに、
該バッファ部と同一のアドレス構成を有する第３リンクメモリを該複数のバッファ部に対応して複数そなえ、且つ、
該調停制御部が、
前回書き込み処理を行なったバッファ部に対応する第３リンクメモリの同一アドレスに、今回書き込み処理を行なったバッファ部のグローバルアドレスを書き込むことにより、該リンクデータを生成するように構成されていることを特徴とする、請求項２記載の調停機能付バッファ装置。
【請求項８】
該グローバルアドレスが、データ種別情報と各バッファに固有のアドレスとの組から成ることを特徴とする、請求項７記載の調停機能付バッファ装置。
【請求項９】
該伝送媒体が該データの挿入対象として１回線を扱う場合に、該バッファ部が、それぞれ、ＦＩＦＯメモリとして構成されるとともに、
各ＦＩＦＯメモリに共通の調停バッファメモリをそなえ、且つ、
該調停制御部が、該ＦＩＦＯメモリへのデータの書き込み処理順を該調停バッファメモリに書き込むことにより、該リンクデータを生成するように構成されていることを特徴とする、請求項２記載の調停機能付バッファ装置。
【請求項１０】
該複数のバッファ部が、
該複数種のデータの各データ量の最大公約数を基本としたアドレス構成を有する共通バッファ部として構成されるとともに、
該調停制御部が、
該複数種のデータの該共通バッファ部への書き込み処理順序についてのリンクデータを生成し、該リンクデータに従って該複数種のデータの読み出し処理を行なうことにより、該複数種のデータを該書き込み処理順序で該共通バッファ部から読み出すように構成されていることを特徴とする、請求項１記載の調停機能付バッファ装置。
【請求項１１】
該調停制御部が、
該複数種のデータ毎の該共通バッファ部への蓄積量を監視し、該蓄積量が所定値を超えた種別のデータについては書き込み処理を行なわないように構成されていることを特徴とする、請求項１０記載の調停機能付バッファ装置。
【請求項１２】
該伝送媒体が該データの挿入対象として複数の回線を扱う場合に、該バッファ部が、それぞれ、各回線用のデータを保持しうるように構成されるとともに、
該調停制御部が、
該挿入順序の調停を該回線毎に行なうように構成されていることを特徴とする、請求項１記載の調停機能付バッファ装置。
【請求項１３】
該調停制御部が、
該回線毎に該複数のバッファ部への該回線用のデータの総蓄積量を監視し、該総蓄積量が所定値を超えた回線用のデータについては該バッファ部への書き込み処理を行なわないように構成されていることを特徴とする、請求項１２記載の調停機能付バッファ装置。
【請求項１４】
所定の伝送媒体へ挿入すべき同一挿入優先順位をもった複数種のデータのバッファ部への蓄積順序及びデータ種別毎の蓄積量を管理しておき、
該複数種のデータの中に含まれる所定の許容挿入遅延時間内に挿入すべきデータを、当該許容挿入遅延時間内に該伝送媒体に挿入すべく、該データ種別毎の蓄積量に上限値を設定し、該蓄積順序に基づいて該複数種のデータの該伝送媒体へのデータ挿入順序を調停することを特徴とする、挿入データ調停方法。
【請求項１５】
所定の伝送媒体に挿入すべき同一挿入優先順位をもった複数種のデータをデータ種別毎に保持するための複数のバッファ部と、
該複数のバッファ部に共通で該データを該バッファ部から受けて該伝送媒体へ挿入する共通データ挿入部と、
該複数種のデータの中に含まれる所定の許容挿入遅延時間内に挿入すべきデータを、当該許容挿入遅延時間内に該伝送媒体に挿入すべく、データ種別毎の蓄積量に上限値を設定し、該複数種のデータの各バッファ部に対する書き込み処理順序に基づいて該複数種のデータの各バッファ部に対する読み出し処理順序を制御することにより、該共通データ挿入部へのデータ出力順序を調停する調停制御部とをそなえていることを特徴とする、調停機能付データ挿入装置。
【発明の詳細な説明】
（目次）
発明の属する技術分野
従来の技術（図２７〜図２９）
発明が解決しようとする課題
課題を解決するための手段（図１）
発明の実施の形態
（Ａ）一実施形態の説明（図２〜図１６）
（Ｂ）第１変形例の説明（図１７〜図１９）
（Ｃ）第２変形例の説明（図２０〜図２２）
（Ｄ）第３変形例の説明（図２３）
（Ｅ）第４変形例の説明（図２４〜図２６）
（Ｆ）その他
発明の効果
【０００１】
【発明の属する技術分野】
本発明は、挿入データ調停機能付バッファ装置および挿入データ調停方法に関し、特に、広帯域ＩＳＤＮの１通信方式であるＡＴＭ(Asynchronous Transfer Mode)で使用される複数種の保守・管理・制御（ＯＡＭ:Operation,Administration and Maintenance)用のセルの伝送媒体への挿入処理に用いて好適な、調停機能付バッファ装置および挿入データ調停方法並びに調停機能付データ挿入装置に関する。
【０００２】
【従来の技術】
周知のように、ＡＴＭ通信ネットワークでは、ネットワークの保守・管理・制御のために用途に応じたＡＴＭセル（ＯＡＭセル）の生成が行なわれるが、生成したセルをＡＴＭ通信ハイウェイ（伝送媒体）に挿入する場合は、ユーザの通信セル（ユーザセル）に上書きしないために、挿入可能な空きセルを待ち合わせるバッファが使用される。
【０００３】
ここで、生成される（挿入すべき）ＡＴＭセルの種類が複数〔例えば、警報（ＡＩＳ:Alarm Indication Signal) セル，ＦＥＲＦ(Far End Receive Failure) セル，ＲＤＩ(Remote Defect Indication)セル，ＬＢ(Loop Back) セル等〕ある場合、例えば図２７に示すように、各セル種＃１〜＃ｎ（ｎは２以上の自然数で、現状ではｎ≦１０程度）毎の挿入バッファ２０−１〜２０−ｎをＡＴＭ通信ハイウェイ５に対して並列に接続することにより、各セルの挿入を行なう方法が考えられる。
【０００４】
なお、この図２７において、６−１〜６−ｎはセル種（ＯＡＭセル種）＃１〜＃ｎ用の情報（以下、セル生成情報という）を生成するセル情報生成部であり、７′−１〜７′−ｎはセル情報生成部６−１〜６−ｎで生成され挿入バッファ２０−１〜２０−ｎに一旦保持された情報からセル種＃１〜＃ｎのセルを組み立てて、ＡＴＭ通信ハイウェイ５上のセル流の空き部分に挿入するセル組立挿入部である。
【０００５】
ここで、より詳細に、この図２７に示す装置（バッファ装置）の動作を説明すると、まず、セル組立挿入部７′−ｉ（ただし、ｉ＝１〜ｎ）が、ＡＴＭ通信ハイウェイ５上で空きセル（挿入可能スロット）があるかどうかを監視しており、空きセルを見つけると、対応する挿入バッファ２０−ｉに対してその旨（挿入可能情報）を通知する。
【０００６】
この通知を受けた挿入バッファ２０−ｉは、挿入待ちのセル生成情報を保持していれば、通知を受けたセル組立挿入部７′−ｉに対して次に挿入すべきセル種＃ｉのセル生成情報（以下、セル生成情報＃ｉと表記する）を転送する。セル組立挿入部７′−ｉは、このように挿入バッファ２０−ｉから受け取ったセル生成情報＃ｉからセル種＃ｉのＡＴＭ（ＯＡＭ）セル（以下、セル＃ｉと表記することもある）を組み立て、空きセルを組み立てたセル＃ｉに書き換えることにより、ＡＴＭ通信ハイウェイ５へのセル挿入を行なう。
【０００７】
つまり、この図２７に示す装置では、ＡＴＭ通信ハイウェイ５の上流側（図２７の左方向）から順にセル組立挿入部＃ｉによるセルの挿入が行なわれるのである。
次に、上記の挿入バッファ２０−ｉの構成について詳述する。まず、入力される（蓄積される）セル種（セル生成情報）＃ｉが１種類で出力回線数〔ＡＴＭ通信ハイウェイ５が扱う（例えばＡＴＭ交換機が収容する）物理回線数〕が１回線のみである場合、挿入バッファ２０−ｉは、それぞれ、例えば図２８に示すように、リード／ライトポインタの単純なインクリメントによってライト／リードアドレスが管理されるＦＩＦＯ(First-In First-Out)型のメモリ２０１を用いて構成される。
【０００８】
この挿入バッファ２０−ｉでは、セル情報生成部６−ｉからセル生成情報＃ｉが入力されると、そのセル生成情報＃ｉをライトポインタが指すアドレス領域（図２８ではａ６）に書き込んでライトポインタをインクリメントする一方、セル組立挿入部７′−ｉから空きセル（挿入可能）情報を受けると、リードポインタが指すアドレス領域（図２８ではａ２）の内容（セル生成情報＃ｉ）を読み出してセル組立挿入部７′−ｉへ転送するとともに、リードポインタのインクリメントを行なう。これにより、古く書き込まれたものから順に情報が読み出されてセル組立挿入部７′−ｉへ転送されてゆく。
【０００９】
一方、入力セル種（セル生成情報）＃ｉが１種類で出力回線数が複数（Ｌ）回線（Ｌは２以上の自然数）の場合は、各回線毎に帯域を管理しなければならないため、挿入バッファ２０−ｉは各回線毎に独立に動作しなければならないが、図２８により上述したメモリ２０１を各回線毎に設けるのではメモリ量が膨大になるので、回線多重効果を期待して、例えば図２９に示すように、挿入バッファメモリ２０２を各回線で共有する共通バッファ型の構成をとるのが一般的である。
【００１０】
なお、この図２９において、２０３は空きアドレス管理部、２０４はポインタチェーンメモリ、２０５はバッファ制御部で、この場合、少なくとも、ポインタチェーンメモリ２０４は挿入バッファメモリ２０２と同一のアドレス構成を有している。また、バッファ制御部２０５では、このポインタチェーンメモリ２０４を用いたポインタチェーン方式により挿入バッファメモリ２０２の入出力を制御している。
【００１１】
以下、この挿入バッファメモリ２０２への書き込み動作を説明すると、例えば、セル情報生成部６−ｉから回線番号＝１のセル生成情報＃ｉが入力されると、バッファ制御部２０５は、空きアドレス管理部から現在「空き」状態となっているアドレス（例えば、ａ０）を受け取り、そのアドレスａ０の領域に受け取ったセル生成情報＃ｉを書き込む。このとき、使用したアドレスａ０は空きアドレス管理部２０３で「使用中」状態となる。
【００１２】
次に、バッファ制御部２０５は、回線番号＝１のセルの蓄積数が４（≠０）であるから、テイル(tail)ポインタ（図２９ではａ９）に対応するポインタチェーンメモリ２０４のアドレス（ａ９）に対して現書き込みアドレス（ａ０）を書き込み、蓄積数をインクリメント（４→５）するとともに、テイルポインタを現書き込みアドレス（ａ０）に変更することにより、ポインタチェーンのテイル側を更新する。
【００１３】
つまり、バッファ制御部２０５は、挿入バッファメモリ２０２の或るアドレス領域にセル生成情報＃ｉを書き込むと、前回書き込みを行なった挿入バッファメモリ２０２のアドレス領域と同じポインタチェーンメモリ２０４のアドレス領域に、今回セル生成情報＃ｉの書き込みを行なった挿入バッファメモリ２０２のアドレス（現書き込みアドレス）を書き込んでゆくことにより、同じ挿入バッファメモリ２０２内でのセル生成情報＃ｉの書き込み位置を指すポインタ（アドレス）を鎖状にリンクさせたポインタチェーンを作成するのである。
【００１４】
なお、セル蓄積数が０の場合は、現書き込みアドレスがポインタチェーンの起点になるので、バッファ制御部２０５は、ヘッドポインタ／テイルポインタの両方を現書き込みアドレスに変更し、セル蓄積数を１とする。また、空きアドレス管理部２０３で「空き」状態のアドレスが無くなった場合は、書き込み動作は行なわない。
【００１５】
一方、読み出し動作は、次のようになる。即ち、例えば、セル組立挿入部７′−ｉから回線番号＝２の空きセル情報が入力されたとすると、バッファ制御部２０５は、回線番号＝２のセル蓄積数＝３（≠０）であるから、ヘッドポインタの指すアドレス（図２９ではａ２）の内容（セル生成情報＃ｉ）を挿入バッファメモリ２０２から読み出してセル組立挿入部７′−ｉへ転送する。読み出しを行なったアドレス（ａ２）は、空きアドレス管理部２０３に通知され「空き」状態となる。
【００１６】
そして、バッファ制御部２０５は、ヘッドポインタ（ａ２）に対応するポインタチェーンメモリ２０４のデータ（図２９ではａ６）を参照してそのデータを新しいヘッドポインタとし、セル蓄積数をデクリメント（３→２）することにより、ポインタチェーンのヘッド側を更新する。なお、空きセル情報に対応する回線のセル蓄積数が０の場合は読み出し動作は行なわない。
【００１７】
このように、挿入バッファメモリ２０２を回線共通にすることで、出力回線数が複数回線の場合でも、メモリ量を必要最小限に抑えながら、各回線毎に独立してセルの挿入を行なうことができる。
なお、挿入バッファメモリ２０２を回線共通にすると、ＡＴＭ通信ハイウェイ５が或る回線に対してのみ輻輳していた場合に、輻輳回線のセル生成情報＃ｉに挿入バッファメモリ２０２が占有され、回線毎の平等性を保てない可能性がある。このような現象を回避するには、回線毎にセル蓄積数の上限値を設け、各回線のセル蓄積数が上限値を超えた場合は、書き込み処理を行なわないようにすればよい。
【００１８】
【発明が解決しようとする課題】
しかしながら、図２７により上述した装置では、ＡＴＭ通信ハイウェイ５上の空きセルが上流側から消費されてゆくため、自己よりも上流側のセル組立挿入部７′−ｉによるセル挿入があまりにも多く行なわれると、自己よりも上流側の挿入バッファ２０−ｉが空（セル蓄積数＝０）にならない限り、挿入可能な空きセルが流れてこないことになる。
【００１９】
つまり、図２７に示すような構成をとると、たとえ各セル種＃ｉのＡＴＭ通信ハイウェイ５への挿入優先順位が同一であっても、結果的に、上流側のセル種＃ｉほど（セル種＃１に最も）高い優先順位が強制的に設定されることになるのである。このような優先順位付けは、ＡＴＭ通信ハイウェイ５が輻輳していなければ、どのセル種＃ｉについても、セル生成情報の挿入バッファ２０−ｉへの書き込み後に短時間で挿入可能な空きセルが到着するので問題ないが、ＡＴＭ通信ハイウェイ５が輻輳してくると、挿入可能な空きセルが上流側のセル種＃ｉのために消費されてしまうので、下流側の挿入バッファ２０−ｉからはセル挿入を行なうことができず、その挿入バッファ２０−ｉがオーバーフローしてしまうという事態を引き起こす可能性がある。
【００２０】
ところで、セル種＃ｉにＰＭセルが含まれる場合、ＰＭセルの挿入ブロックが、通常、最後（図２７においてセル種＃ｎのブロック）に配置される。これは、ＰＭセルが規定数のセルを受信したコネクションに対して挿入されるセルで、受信側において実際に到着（受信）したセル数とＰＭセル内の情報との比較により、ビット誤り率やセル損失，誤挿入数等の統計情報を収集するという処理が行なわれるため、ＰＭセルの挿入を途中で行なうと、次段以降で他のＯＡＭセルが挿入されるので受信側で誤ったエラー検出を行なうおそれがあるからである。
【００２１】
この場合、通常、他のほとんどのＯＡＭセルが１秒周期で生成されることから、サポートコネクション数〔ＡＴＭ通信ハイウェイ５で扱うＶＣ(Virtual Channel) 数〕が少なければ、上述したようにＰＭセルの挿入ブロックを最後に配置しても、Ｍ≦受信セル数≦Ｍ＋Ｍ／２（Ｍは自然数で、例えば２５６，５１２等）で規定される期間内、即ち、或るコネクション（ＶＣＩ：Virtual Channel Identifier) のセルをＭ個受信したのちさらに同じコネクションのセルをＭ／２個受信するまでに、ほぼ完全にＰＭセルを挿入することができ、実用上問題無かった。
【００２２】
しかし、インターネット等に代表されるように近年の情報化社会の急速な発展により通信情報量が増大して、上記のサポートコネクション数が増えるにつれて、ＡＴＭ通信ハイウェイ５上の空きセルが上流側から消費されてゆく、図２７に示すような構成では、上流側での空きセルの書き換え数が多くなり書き換え処理時間が長くなるので、規定のＰＭセル許容挿入遅延（＝Ｍ／２）を保証することが極めて困難になる。
【００２３】
本発明は、このような課題に鑑み創案されたもので、同一挿入優先順位をもった複数種のデータ（セル）の伝送媒体への挿入順序をバッファへの書き込み順序に基づいて調停することで、常に、最小限の遅延時間で確実なデータ挿入を行なえるようにした、調停機能付バッファ装置および挿入データ調停方法並びに調停機能付データ挿入装置を提供することを目的とする。
【００２４】
【課題を解決するための手段】
図１は本発明の原理ブロック図で、この図１に示す本発明の挿入データ調停機能付バッファ装置１は、複数のバッファ部２−１〜２−ｎ（ｎは２以上の整数）と、調停制御部３とをそなえて構成されている。
ここで、バッファ部２−ｉ（ただし、ｉ＝１〜ｎ）は、それぞれ、所定の伝送媒体５に挿入すべき同一挿入優先順位をもった複数種＃ｉのデータ（以下、データ＃ｉと表記することがある）をデータ種別＃ｉ毎に保持するためのものであり、調停制御部３は、複数種＃ｉのデータの中に含まれる所定の許容挿入遅延時間内に挿入すべきデータを、当該許容挿入遅延時間内に伝送媒体５に挿入すべく、データ種別＃ｉ毎の蓄積量に上限値を設定し、データ＃ｉの各バッファ部２−ｉに対する書き込み処理順序に基づいてデータ＃ｉの各バッファ部２−ｉに対する読み出し処理順序を制御することにより、伝送媒体５へのデータ挿入順序を調停するものである。
【００２５】
上述のごとく構成された本発明の挿入データ調停機能付バッファ装置１（以下、単に「バッファ装置１」という）では、調停制御部３により、所定の許容挿入遅延時間内に挿入すべきデータを当該許容挿入遅延時間内に伝送媒体５に挿入すべく、データ種別毎の蓄積量に上限値を設定し、データ＃ｉの書き込み処理（蓄積）順序に基づいて伝送媒体５へ挿入すべきデータの挿入順序が調停されるので、各バッファ部２−ｉのデータ蓄積量に関わらず、全データ種別＃１〜＃ｎについて蓄積データが有ればそのデータ＃ｉを蓄積時期に応じた時間で必ず伝送媒体５に挿入することができる（請求項１，１４）。
【００２６】
ここで、上記の調停制御部３は、例えば、複数種のデータ＃ｉの書き込み処理時にその書き込み処理順序についてのリンクデータを生成し、このリンクデータに従って各種データ＃ｉの読み出し処理を行なうことにより、各種データ＃ｉを上記の書き込み処理順序で各バッファ部２−ｉから読み出すように構成されるのがよい。
【００２７】
これにより、各種データ＃ｉは、必ず書き込み処理が行なわれた順序で順番に各バッファ部２−ｉから読み出されて伝送媒体５へ挿入されてゆくので、一部のデータ＃ｉがいつまで経っても伝送媒体５に挿入されないといった事態を確実に回避することができる（請求項２）。
また、本バッファ装置１は、上記のバッファ部２−ｉと同一のアドレス構成を有する第１リンクメモリを各バッファ部２−ｉに対応して複数そなえていてもよく、この場合、調停制御部３は、前回書き込み処理を行なったバッファ部２−ｉに対応する第１リンクメモリの同一アドレスに、今回書き込み処理を行なったデータ種別＃ｉを書き込むことにより、上記のリンクデータを生成するように構成されるのがよい。
【００２８】
これにより、調停制御部３は、リンクデータのためのアドレス管理とバッファ部２−ｉのアドレス管理とが同じになり、バッファ部２−ｉに書き込まれた或るデータ＃ｉのアドレスで第１リンクメモリを参照すると、そのデータ＃ｉの次に書き込まれたデータ＃ｉの種別を認識することができる（請求項３）。
さらに、本バッファ装置１は、上記の伝送媒体５がデータ＃ｉの挿入対象として複数の回線を扱う場合に、上記のバッファ部２−ｉが、それぞれ、各回線用のデータ＃ｉを保持しうるように構成され、バッファ部２−ｉと同一のアドレス構成を有し同じバッファ部２−ｉ内でのデータ＃ｉの書き込み処理順序についてのリンクデータを記憶する第２リンクメモリを各バッファ部２−ｉに対応して複数そなえている場合、上記の第１リンクメモリと第２リンクメモリとは共通化してもよい。
【００２９】
これにより、調停制御部３は、各バッファ部２−ｉに対する書き込み処理順序についてのリンクデータと同じバッファ部２−ｉ内でのデータ＃ｉの書き込み処理順序についてのリンクデータとを同じメモリで管理することができるので、リンクデータを参照するためのメモリへのアクセス回数を削減することができるとともに、本バッファ装置内のメモリブロック数を削減することができる（請求項４）。
【００３０】
また、上記の第１リンクメモリとバッファ部２−ｉとを共通化してもよく、これにより、調停制御部３は、バッファ部２−ｉのデータ＃ｉと各バッファ部２−ｉに対する書き込み処理順序とを同じメモリで管理することができるので、この場合も、リンクデータを参照するためのメモリへのアクセス回数を削減することができるとともに、本バッファ装置内のメモリブロック数を削減することができる（請求項５）。
【００３１】
さらに、上記の伝送媒体５がデータ＃ｉの挿入対象として１回線を扱う場合に、上記の第１リンクメモリ及びバッファ部２−ｉが、ＦＩＦＯ型の共通メモリとして構成されていてもよい。これにより、調停制御部３は、少なくとも同じバッファ部２−ｉ内でのデータ＃ｉの書き込み処理順序については管理する必要が無いので、そのためのメモリが不要になる（請求項６）。
【００３２】
また、本バッファ装置１は、上記の各バッファ部２−ｉに、全バッファ部２−ｉに固有のグローバルアドレスを割り当てるとともに、各バッファ部２−ｉと同一のアドレス構成を有する第３リンクメモリを各バッファ部２−ｉに対応して複数そなえ、且つ、調停制御部３が、前回書き込み処理を行なったバッファ部２−ｉに対応する第３リンクメモリの同一アドレスに、今回書き込み処理を行なったバッファ部２−ｉのグローバルアドレスを書き込むことにより、上記のリンクデータを生成するように構成されていてもよい。
【００３３】
これにより、第３リンクメモリのみで各バッファ部２−ｉに対する書き込み処理順序と同じバッファ部２−ｉ内での書き込み処理順序とを管理することができる。即ち、調停制御部３は、バッファ部２−ｉの或るデータ＃ｉのアドレスで第３リンクメモリを参照するだけで、そのデータ＃ｉの次にデータ＃ｉの書き込まれたバッファ部２−ｉ（データ種別＃ｉ）とそのバッファ部２−ｉ内でのそのデータ＃ｉの書き込み位置とを認識することができる（請求項７）。
【００３４】
ここで、上記のグローバルアドレスを、データ種別情報と各バッファ部２−ｉに固有のアドレスとの組から成るようにすれば、簡便に、全バッファ部２−ｉに固有の（異なる）アドレスを割り当てることができる（請求項８）。
また、本バッファ装置１は、上記の伝送媒体５がデータ＃ｉの挿入対象として１回線を扱う場合に、各バッファ部２−ｉが、それぞれ、ＦＩＦＯメモリとして構成されるとともに、これらの各ＦＩＦＯメモリに共通の調停バッファメモリをそなえ、且つ、調停制御部３が、これらのＦＩＦＯメモリ２−ｉへのデータの書き込み処理順を上記の調停バッファメモリに書き込むことにより、上記のリンクデータを生成するように構成されていてもよい。
【００３５】
これにより、調停制御部３は、同じバッファ部（ＦＩＦＯメモリ）２−ｉ内でのデータ＃ｉの書き込み処理順序を管理することなく、単純に各ＦＩＦＯメモリ２−ｉに対する書き込み処理順序を管理するだけでよいので、制御が簡素になる（請求項９）。
また、上記の各バッファ部２−ｉは、各種データ＃ｉの各データ量の最大公約数を基本としたアドレス構成を有する共通バッファ部として構成されてもよく、この場合、調停制御部３は、各種データ＃ｉのこの共通バッファ部への書き込み処理順序についてのリンクデータを生成し、このリンクデータに従って各種データ＃ｉの読み出し処理を行なうことにより、各種データ＃ｉを書き込み処理順序で上記の共通バッファ部から読み出すように構成されるのがよい。
【００３６】
これにより、本バッファ装置内のメモリブロック数がさらに削減される（請求項１０）。
なお、この場合、調停制御部３は、各種データ＃ｉ毎の共通バッファ部への蓄積量を監視し、蓄積量が所定値を超えた種別のデータ＃ｉについては書き込み処理を行なわないように構成されるのがよい。これにより、共通バッファ部においても各データ種別＃ｉ毎にバッファ部２−ｉをそなえる場合と同等の動作を保証することができる（請求項１１）。
【００３７】
さらに、上記の伝送媒体５がデータ＃ｉの挿入対象として複数の回線を扱う場合に、各バッファ部２−ｉを、それぞれ、各回線用のデータを保持しうるように構成し、調停制御部３を、上記の挿入順序の調停を回線毎に行なうように構成してもよい。これにより、調停制御部３は、各回線用にバッファ部２−ｉを用意することなく、各回線毎のデータ＃ｉの挿入調停を各回線毎に独立して行なうことができる（請求項１２）。
【００３８】
この場合、調停制御部３は、各回線毎に各バッファ部２−ｉへの各回線用のデータの総蓄積量を監視し、総蓄積量が所定値を超えた回線用のデータについてはバッファ部２−ｉへの書き込み処理を行なわないように構成するのがよい。これにより、一部の回線用のデータでバッファ部２−ｉの容量が占有されてしまうことを防止することができる（請求項１３）。
【００３９】
次に、図１に示すように、本発明の調停機能付データ挿入装置１Ａは、複数のバッファ部２−ｉと共通データ挿入部４と調停制御部３とをそなえて構成されている。
ここで、バッファ部２−ｉは、この場合も、所定の伝送媒体５に挿入すべき同一挿入優先順位をもった複数種＃ｉのデータをデータ種別＃ｉ毎に保持するためのものである。また、共通データ挿入部４は、これらの各バッファ部２−ｉに共通でデータ＃ｉをバッファ部２−ｉから受けて伝送媒体５へ挿入するものであり、調停制御部３は、複数種＃ｉのデータの中に含まれる所定の許容挿入遅延時間内に挿入すべきデータを、当該許容挿入遅延時間内に伝送媒体５に挿入すべく、データ種別毎の蓄積量に上限値を設定し、各データ＃ｉの各バッファ部２−ｉに対する書き込み処理順序に基づいて各データ＃ｉの各バッファ部２−ｉに対する読み出し処理順序を制御することにより、共通データ挿入部４へのデータ出力順序を調停するものである。
【００４０】
上述のごとく構成された本発明の調停機能付データ挿入装置１Ａでは、調停制御部３により、所定の許容挿入遅延時間内に挿入すべきデータを当該許容挿入遅延時間内に伝送媒体５に挿入すべく、データ種別毎の蓄積量に上限値を設定し、データ＃ｉの書き込み処理（蓄積）順序に基づいて共通データ挿入部４へのデータの出力順序が調停されるので、各バッファ部２−ｉのデータ蓄積量に関わらず、全データ種別＃１〜＃ｎについて蓄積データが有ればそのデータ＃ｉを蓄積時期に応じた時間で必ず伝送媒体５に挿入することができるほか、この場合は、データ挿入ブロックが共通データ挿入部４として各データ＃ｉに対して共通化されているので、各データ＃ｉに専用のデータ挿入ブロックを容易する必要が無い（請求項１５）。
【００４１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
（Ａ）一実施形態の説明
図２は本発明の一実施形態を示すブロック図で、この図２において、１Ａはセル挿入装置（調停機能付データ挿入装置）、１はバッファ装置（調停機能付バッファ装置）、２−１〜２−ｎ（ｎは２以上の整数）はそれぞれ挿入バッファ（メモリ）、３はバッファ制御部（調停制御部）、５はＡＴＭ通信ハイウェイ（伝送媒体）、６−１〜６−ｎはそれぞれセル情報生成部、７−１〜７−ｎはそれぞれセル組立部、８はセル挿入部である。
【００４２】
ここで、セル情報生成部６−ｉ（ｉ＝１〜ｎ）は、それぞれ、図２７により前述したものと同様に、互いに同じＡＴＭ通信ハイウェイ５への挿入優先順位をもったセル種（ＯＡＭセル種）＃ｉ用の情報（セル生成情報：データ）を生成するものであり、挿入バッファ（バッファ部）２−ｉは、それぞれ、対応するセル情報生成部６−ｉで生成されたセル種＃ｉのセル生成情報（以下、セル生成情報＃ｉと表記することもある）を保持するものである。
【００４３】
また、セル組立部７−ｉは、それぞれ、対応する挿入バッファ２−ｉで一旦保持されたセル生成情報＃ｉを基に、５バイトのヘッダ部分と４８バイトのデータ部分とから成る５３バイトのＡＴＭ（ＯＡＭ）セルを組み立てる（生成する）ものであり、セル挿入部８は、これらの各セル組立部７−ｉで生成されたＡＴＭセルを各挿入バッファ２−ｉに共通でＡＴＭ通信ハイウェイ５の空きスロットに挿入するものである。つまり、このセル挿入部８は、複数の挿入バッファ２−ｉに共通でセル（セル生成情報＃ｉ）を挿入バッファ２−ｉから受けてＡＴＭ通信ハイウェイ５へ挿入する共通データ挿入部としての機能を果たしている。
【００４４】
このため、本セル挿入部８は、例えば図３に示すように、空きセルハント部８１とヘッダ書き換え部８２とをそなえて構成されており、空きセルハント部８１でハント（捕捉）したＡＴＭ通信ハイウェイ５を流れてくる空きセルを、書き換え部８２にて、セル組立部７−ｉから受信されるＡＴＭセルに書き換えることで、ＡＴＭ通信ハイウェイ５へのセル挿入を行なうようになっている。
【００４５】
なお、本実施形態では、セル挿入部８には複数のセル組立部７−ｉからのセルが同時に入力されることは無く、必ず、１つの空きセルに対して１度の読み出し指示（空きセル情報）が空きセルハント部８１からバッファ制御部３へ出力されて、バッファ制御部３が挿入バッファ２−ｉのいずれかから１つセル生成情報＃ｉを読み出すことにより、１つのＡＴＭセルがセル組立部７−ｉのいずれかから入力されるようになっている。
【００４６】
即ち、バッファ制御部（調停制御部）３は、基本的に、各挿入バッファ２−ｉに対する書き込み処理及び読み出し処理を制御するものであるが、本実施形態では、各セル生成情報＃ｉの各挿入バッファ２−ｉに対する書き込み処理順序に基づいて各セル生成情報＃ｉの各挿入バッファ２−ｉに対する読み出し処理順序を制御することにより、セル挿入部８へのセル出力順序を調停してＡＴＭ通信ハイウェイ５へのセル挿入順序を調停するようになっている。
【００４７】
このため、調停制御部３は、例えば図４に示すように、セル種＃ｉ毎に、ヘッドポインタ＃ｉ，テイルポインタ＃ｉ及び蓄積数情報＃ｉの組から成る管理データ３０と、ＮＥＸＴ挿入セル種別情報（ＮＥＸＴバッファ情報）３１と、ＬＡＳＴ挿入セル種別情報（ＬＡＳＴバッファ情報）３２とを有しており、空きアドレス管理部２Ａ−ｉ，ポインタチェーンメモリ２Ｂ−ｉ及び挿入セル種チェーンメモリ２Ｃ−ｉに適宜にアクセスすることにより、これらと協動して上記のセル挿入順序の調停を行なうように構成されている。
【００４８】
ただし、本実施形態では、この図４中に示すように、ＡＴＭ通信ハイウェイ５がセル挿入対象の回線（回線番号＝１〜Ｌ：Ｌは自然数）を複数扱うことを想定して、上記の管理データ３０，ＮＥＸＴ挿入セル種別情報３１及びＬＡＳＴ挿入セル種別情報３２をさらに各回線毎に有しており、上記のセル挿入順序の調停を回線毎に行なえるようにもなっている。なお、どの回線のセル生成情報＃ｉを読み出すかについては例えばポーリング等により順次決定するものとする。
【００４９】
ここで、上記の空きアドレス管理部２Ａ−ｉは、それぞれ、対応する挿入バッファ２−ｉの「空き」状態となっているアドレス領域および「使用中」状態となっているアドレス領域を管理するものであり、ポインタチェーンメモリ（第２リンクメモリ）２Ｂ−ｉは、それぞれ、挿入バッファ２−ｉと同一のアドレス構成（番号）を有しており、調停制御部３により、前回書き込み処理が行なわれた挿入バッファ２−ｉのアドレス（番号）と同じアドレスの領域に、挿入バッファ２−ｉの現書き込み（ライト）アドレスが書き込まれてゆくことで、同じ挿入バッファ２−ｉ内でのセル生成情報＃ｉの書き込み位置を指すポインタ（アドレス）を鎖状にリンクさせたポインタチェーン（書き込み処理順序を表すリンクデータ）を形成・記憶するものである。
【００５０】
そして、挿入セル種チェーンメモリ（第１リンクメモリ）２Ｃ−ｉも、それぞれ、挿入バッファ２−ｉと同一のアドレス構成を有しており、調停制御部３により、前回書き込み処理が行なわれた挿入バッファ２−ｉのアドレス（番号）と同じアドレスの領域に、挿入バッファ２−ｉへの現書き込みセル種＃ｉ（＝挿入バッファ２−ｉの番号）が書き込まれてゆくことで、セル種＃ｉ（挿入バッファ２−ｉ）の書き込み順序（セル生成情報＃ｉの生成順序）を表すポインタチェーン（挿入セル種チェーン）が形成・記憶されるようになっている。
【００５１】
これにより、調停制御部３は、挿入セル種チェーンメモリ２Ｃ−ｉを参照することでセル種＃ｉの書き込み順序〔つまり、書き込みを行なった挿入バッファ２−ｉの順序：本実施形態ではこの順序が読み出し（挿入）処理順序になる〕を認識し、さらに、ポインタチェーンメモリ２Ｂ−ｉを参照することで挿入バッファ部２−ｉ内でのセルの書き込み順序（同様に、読み出し順序になる）を認識することができる。
【００５２】
つまり、挿入セル種チェーンメモリ２Ｃ−ｉは、調停制御部３が、次にどのセル種＃ｉのセルを挿入バッファ２−ｉから読み出してＡＴＭ通信ハイウェイ５へ挿入すべきかを特定するための情報（次挿入セル種別）を保持し、ポインタチェーンメモリ２Ｂ−ｉは、特定したセル種＃ｉのセルを挿入バッファ２−ｉどの位置（アドレス）から読み出すべきかを特定するための情報（次挿入セルアドレス）を保持しているのである。
【００５３】
また、各セル種＃ｉ用の管理データ３０において、ヘッドポインタ＃ｉは、次に読み出し処理を行なうべきセル種＃ｉ用の挿入バッファ２−ｉのアドレスを指すポインタで、調停制御部３による読み出し処理毎に、ポインタチェーンメモリ２Ｂ−ｉの同じアドレス領域に格納されている次挿入セルアドレスが設定されて更新されるようになっている。
【００５４】
一方、テイルポインタ＃ｉは、最後に読み出し処理を行なうべき（つまり、最後に書き込み処理を行なった）セル種＃ｉ（挿入バッファ２−ｉ）のアドレスを指すポインタで、調停制御部３による書き込み処理毎に、挿入バッファ２−ｉの現書き込みアドレスが設定されて更新されるようになっている。また蓄積数情報＃ｉは、対応する挿入バッファ２−ｉのセル蓄積数を表示するためのもので、書き込み処理毎にインクリメントされ、読み出し処理毎にデクリメントされる。
【００５５】
そして、ＮＥＸＴ挿入セル種別情報３１は、次に挿入処理（読み出し処理）を行なうべきセル種＃ｉ（つまり、挿入バッファ２−ｉ）を表示する情報で、調停制御部３による読み出し処理毎に、読み出し処理を行なった挿入バッファ２−ｉのアドレスと同じ挿入セル種チェーンメモリ２Ｃ−ｉのアドレスに格納されている次挿入セル種別が設定されて更新されるようになっている。
【００５６】
一方、ＬＡＳＴ挿入セル種別情報３２は、最後に読み出し処理を行なうべき（つまり、最後に書き込み処理を行なった）セル種＃ｉ（挿入バッファ２−ｉ）を表示する情報で、調停制御部３による書き込み処理毎に、書き込みを行なったセル種＃ｉが設定されて更新されるようになっている。
なお、調停制御部３は、一部の回線のセル生成情報＃ｉで挿入バッファ２−ｉの容量が占有されてしまうことを避けるために、図４に示すように、回線毎の全セル生成情報＃ｉについての蓄積数（情報）３３も計測・監視するようになっており、蓄積数３３が所定の上限値を超えた回線のセル生成情報＃ｉについては新たな書き込み処理を行なわないようになっている。
【００５７】
以下、上述のごとく構成された本実施形態のセル挿入装置１Ａ（バッファ装置１）の動作について詳述する。
まず、バッファ装置１での書き込み動作について図５を参照しながら説明する。例えば、或る回線のセル種＃１のセル生成情報＃１がセル情報生成部６−１で生成されて挿入バッファ２−１に入力されてくると、調停制御部３は、空きアドレス管理部２Ａ−１から通知される挿入バッファ２−１の空きアドレスを現書き込みアドレスとして捕捉する（ステップＷ１）。このとき、空きアドレス管理部２Ａ−１では、通知したアドレスを「空き」状態から「使用中」状態にする。
【００５８】
そして、調停制御部３は、捕捉した現書き込みアドレスに上記のセル生成情報＃１を書き込むとともに（ステップＷ２）、ＬＡＳＴ挿入セル種別情報３２（例えば、セル種＃２であったとする）を参照し、セル種＃２用の管理データ３０のテイルポインタ＃２を参照する（ステップＷ３）。さらに、調停制御部３は、セル種＃２用の挿入セル種チェーンメモリ２Ｃ−２のテイルポインタ＃２が指すアドレス領域に今回書き込み処理を行なったセル種別＃１を書き込むことにより、挿入セル種チェーンのテイル側を更新し（ステップＷ４）、ＬＡＳＴ挿入セル種別情報３２をセル種＃１に更新する（ステップＷ５）。
【００５９】
次に、調停制御部３は、セル種別＃１用のテイルポインタ＃１が指すポインタチェーンメモリ２Ｂ−１のアドレス領域に現書き込みアドレスを書き込むことにより、ポインタチェーンのテイル側を更新し（ステップＷ６）、セル種＃１の蓄積数情報＃１をインクリメント（＋１）する（ステップＷ７）。なお、回線毎の蓄積数３３が上限値を超えた回線のセル生成情報＃ｉについては、調停制御部３は、新たな書き込み処理を禁止して、一部の回線のセル生成情報＃ｉで挿入バッファ２−ｉの容量が占有されてしまうことを避ける。これにより、セル種＃ｉの読み出し処理（挿入調停）が各回線毎に平等に行なわれることになる。
【００６０】
一方、バッファ装置１での読み出し動作は次のようになる。即ち、調停制御部３は、セル挿入部８の空きセルハント部８１から空きセル情報が入力されると、例えば図６に示すように、まず、ＮＥＸＴ挿入セル種別情報３１を参照し（セル種＃２となっていたとする）、そのセル種＃２のヘッドポインタ＃２を参照して、次に読み出すべきセル種＃２（挿入バッファ２−２）のアドレス（現リードアドレス）を捕捉（決定）する（ステップＲ１）。
【００６１】
そして、調停制御部３は、捕捉したアドレスからセル生成情報＃２を読み出し（ステップＲ２）、空きアドレス管理部２Ａ−２の現リードアドレスに対応するアドレスを「空き」状態に更新する（ステップＲ３）。また、このとき、調停制御部３は、セル種＃２用のポインタチェーンメモリ２Ｂ−２及び挿入セル種チェーンメモリ２Ｃ−２のヘッドポインタ＃２が指すアドレス領域をそれぞれ参照する（ステップＲ４）。
【００６２】
そして、調停制御部３は、ポインタチェーンメモリ２Ｂ−２のアドレス領域に設定されている次挿入セルアドレスをヘッドポインタ＃２に設定して、ポインタチェーンのヘッド側を更新するとともに、蓄積数情報＃２をデクリメント（−１）する（ステップＲ５）一方、挿入セル種チェーンメモリ２Ｃ−２のアドレス領域に設定されている次挿入セル種別をＮＥＸＴ挿入セル種別情報３２に設定してＮＥＸＴ挿入セル種別情報３２を更新する（ステップＲ６）。
【００６３】
なお、全セル種＃ｉの蓄積数＃ｉが０の回線については上述したような読み出し動作は行なわれない。また、全回線の全セル種＃ｉの蓄積数＃ｉが０の場合も読み出し動作は行なわれない。
以上のようにして、調停制御部３は、挿入バッファ２−ｉに対する書き込み処理時に上記のポインタチェーン及び挿入セル種チェーンを作成してセル種＃ｉの書き込み順序（生成順序）を回線毎に管理しておき、その順序に従って、セル挿入部８（空きセルハント部８１）からの１回の空きセル情報に対して１個のセル生成情報＃ｉを該当挿入バッファ２−ｉの該当アドレスから読み出して、セル組立部７−ｉへ出力させる。
【００６４】
セル組立部７−ｉでは、受け取ったセル生成情報＃ｉからＡＴＭ（ＯＡＭ）セルを組み立てて、そのセルをセル挿入部８へ出力し、セル挿入部８では、ヘッダ書き換え部８２において空きセルハント部８１で捕捉した空きセルを、セル組立部７−ｉから受け取ったＯＡＭセルに書き換えることで、ＡＴＭ通信ハイウェイ５へのセル挿入を行なう。
【００６５】
ここで、上述したような書き込み動作および読み出し動作について、例えば、セル生成情報＃ｉが＃１→＃２→＃１→＃２→＃２の順序で生成されて挿入バッファ２−ｉに書き込まれる場合を例に、図７〜図１６を参照しながら、より詳細に説明する。
まず、セル生成情報＃１がセル情報生成部６−１で生成されると、調停制御部３は、図７に示すように、空きアドレス管理部２Ａ−１から例えば空きアドレスａ０を受けて（ステップＷ１１）、そのアドレスａ０を挿入バッファ２−１への現書き込みアドレスとしてセル生成情報＃１を挿入バッファ２−１に書き込む（ステップＷ１２）。なお、空きアドレス管理部２Ａ−１においてアドレスａ０は「空き」状態から「使用中」状態に変更される（ステップＷ１３）。
【００６６】
このとき、セル種＃１のセル生成情報＃１の蓄積数情報（以下、単に「蓄積数」ということもある）＃１が０だとすると、調停制御部３は、この現書き込みアドレスａ０がポインタチェーンの起点となるので、セル種＃１用の管理データ３０のヘッドポインタ＃１及びテイルポインタ＃１にそれぞれアドレスａ０を書き込んで（ステップＷ１４）、蓄積数＃１をインクリメントして１にする（ステップＷ１５）。また、書き込んだセル生成情報＃１のセル種＃１が挿入セル種チェーンの起点となるので、ＮＥＸＴ挿入セル種別情報３１及びＬＡＳＴ挿入セル種別情報３２にそれぞれセル種＃１を書き込む（ステップＷ１６）。
【００６７】
次に、セル生成情報＃２がセル情報生成部６−２で生成されると、調停制御部３は、図８に示すように、空きアドレス管理部２Ａ−２から例えば空きアドレスａ１を受けて（ステップＷ１７）、そのアドレスａ１を挿入バッファ２−２への現書き込みアドレスとしてセル生成情報＃２を挿入バッファ２−２に書き込む（ステップＷ１８）。このとき、空きアドレス管理部２Ａ−２のアドレスａ１は「使用中」状態に変更される（ステップＷ１９）。
【００６８】
そして、この場合も、調停制御部３は、セル種＃２のセル生成情報＃２の蓄積数＃２が０だとすると、現書き込みアドレスａ１がポインタチェーンの起点となるので、セル種＃２用の管理データ３０のヘッドポインタ＃２及びテイルポインタ＃２にそれぞれアドレスａ１を書き込んで（ステップＷ２０）、蓄積数＃２をインクリメントして１にする（ステップＷ２１）。
【００６９】
さらに、調停制御部３は、ＬＡＳＴ挿入セル種別情報３２を参照し（現時点では、セル種＃１になっている）、セル種＃１用のテイルポインタ＃１を参照し（アドレスａ０）、セル種＃１用の挿入セル種チェーンメモリ２Ｃ−１のアドレスａ０（前書き込みアドレス）に現書き込みセル種＃２を書き込んだのち（ステップＷ２２）、ＬＡＳＴ挿入セル種別情報３２をセル種＃２に更新する（ステップＷ２３）。
【００７０】
これにより、調停制御部３は、挿入セル種チェーンメモリ２Ｃ−１を参照すれば、挿入バッファ２−１のアドレスａ０に書き込まれたセル生成情報＃１の次に書き込みが行なわれたセル種が＃２（挿入バッファ２−２）であることを知ることができる。
次に、さらにセル生成情報＃１がセル情報生成部６−１で生成されると、調停制御部３は、図９に示すように、空きアドレス管理部２Ａ−１から例えば空きアドレスａ２を受けて（ステップＷ２４）、そのアドレスａ２を挿入バッファ２−１への現書き込みアドレスとしてセル生成情報＃１を挿入バッファ２−１に書き込む（ステップＷ２５）。このとき、空きアドレス管理部２Ａ−１のアドレスａ２は「使用中」状態に変更される（ステップＷ２６）。
【００７１】
そして、調停制御部３は、セル種＃１のセル生成情報＃１の蓄積数＃１が１（≠０）であるので、テイルポインタ＃１（この時点でアドレスａ０）を参照して、セル種＃１用のポインタチェーンメモリ２Ｂ−１のアドレスａ０（同じ挿入バッファ２−１内での前書き込みアドレス）に挿入バッファ２−１の現書き込みアドレスａ２を書き込む（ステップＷ２７）。
【００７２】
これにより、調停制御部３は、ポインタチェーンメモリ２Ｂ−１を参照すれば、挿入バッファ２−１のアドレスａ０に書き込まれたセル生成情報＃１の次に挿入バッファ２−１に書き込まれたアドレスがａ２であることを知ることができる。
また、このとき調停制御部３は、ＬＡＳＴ挿入セル種別情報３２を参照し（現時点では、セル種＃２になっている）、セル種＃２用のテイルポインタ＃２を参照し（アドレスａ１）、セル種＃２用の挿入セル種チェーンメモリ２Ｃ−２のアドレスａ１（前書き込みアドレス）に現書き込みセル種＃１を書き込む（ステップＷ２８）。
【００７３】
そして、調停制御部３は、テイルポインタ＃１をアドレスａ２に更新する（ステップＷ２９）とともに、蓄積数＃１をインクリメントして２に更新し（ステップＷ３０）、且つ、ＬＡＳＴ挿入セル種別情報３２をセル種＃１に更新する（ステップＷ３１）。
次に、さらにセル生成情報＃２がセル情報生成部６−２で生成されると、調停制御部３は、図１０に示すように、空きアドレス管理部２Ａ−２から例えば空きアドレスａ３を受けて（ステップＷ３２）、そのアドレスａ３を挿入バッファ２−２への現書き込みアドレスとしてセル生成情報＃２を挿入バッファ２−２に書き込む（ステップＷ３３）。このとき、空きアドレス管理部２Ａ−２のアドレスａ３は「使用中」状態に変更される（ステップＷ３４）。
【００７４】
そして、調停制御部３は、セル種＃２のセル生成情報＃２の蓄積数＃２が１（≠０）であるので、テイルポインタ＃２（この時点でアドレスａ１）を参照して、セル種＃２用のポインタチェーンメモリ２Ｂ−２のアドレスａ１（同じ挿入バッファ２−２内での前書き込みアドレス）に挿入バッファ２−２の現書き込みアドレスａ３を書き込む（ステップＷ３５）。
【００７５】
また、このとき、調停制御部３は、ＬＡＳＴ挿入セル種別情報３２を参照し（現時点では、セル種＃１になっている）、セル種＃１用のテイルポインタ＃１を参照し（アドレスａ２）、セル種＃１用の挿入セル種チェーンメモリ２Ｃ−１のアドレスａ２（前書き込みアドレス）に現書き込みセル種＃２を書き込む（ステップＷ３６）。
【００７６】
そして、調停制御部３は、テイルポインタ＃２をアドレスａ３に更新する（ステップＷ３７）とともに、蓄積数＃２をインクリメントして２に更新し（ステップＷ３８）、且つ、ＬＡＳＴ挿入セル種別情報３２をセル種＃２に更新する（ステップＷ３９）。
次に、さらにセル生成情報＃２がセル情報生成部６−２で生成されると、調停制御部３は、図１１に示すように、空きアドレス管理部２Ａ−２から例えば空きアドレスａ０を受けて（ステップＷ４０）、そのアドレスａ０を挿入バッファ２−２への現書き込みアドレスとしてセル生成情報＃２を挿入バッファ２−２に書き込む（ステップＷ４１）。このとき、空きアドレス管理部２Ａ−２のアドレスａ０は「使用中」状態に変更される（ステップＷ４２）。
【００７７】
そして、調停制御部３は、セル種＃２のセル生成情報＃２の蓄積数＃２が２（≠０）であるので、テイルポインタ＃２（この時点でアドレスａ３）を参照して、セル種＃２用のポインタチェーンメモリ２Ｂ−２のアドレスａ３（同じ挿入バッファ２−２内での前書き込みアドレス）に挿入バッファ２−２の現書き込みアドレスａ０を書き込む（ステップＷ４３）。
【００７８】
また、このとき、調停制御部３は、ＬＡＳＴ挿入セル種別情報３２を参照し（現時点では、セル種＃２になっている）、セル種＃２用のテイルポインタ＃２を参照し（アドレスａ３）、セル種＃２用の挿入セル種チェーンメモリ２Ｃ−２のアドレスａ３（前書き込みアドレス）に現書き込みセル種＃２を書き込む（ステップＷ４４）。
【００７９】
そして、調停制御部３は、テイルポインタ＃２をアドレスａ０に更新する（ステップＷ４５）とともに、蓄積数＃２をインクリメントして３に更新し（ステップＷ４６）、且つ、ＬＡＳＴ挿入セル種別情報３２をセル種＃２に更新（維持）する（ステップＷ４７）。
次に、上述のごとく＃１→＃２→＃１→＃２→＃２の順にセルの書き込みが行なわれた後の読み出し動作について説明する。まず、セル挿入部８の空きセルハント部８１から空きセル情報が通知されると、調停制御部２３は、図１２に示すように、まず、ＮＥＸＴ挿入セル種別情報３１を参照して、次に挿入すべき（読み出すべき）セル種（この場合は＃１）を取得する（ステップＲ１１）。
【００８０】
そして、調停制御部３は、セル種＃１用のヘッドポインタ＃１を参照し（ステップＲ１２）、記録されているアドレスａ０を読み出しアドレスとして挿入バッファ２−１のアドレスａ０からセルを読み出して（ステップＲ１３）、読み出したセルをセル組立部７−ｉへ出力させる。このとき、空きアドレス管理部２Ａ−１のアドレスａ０は「使用中」状態から「空き」状態となる（ステップＲ１４）。
【００８１】
その後、調停制御部３は、セルを読み出した挿入バッファ２−１に対応するポインタチェーンメモリ２Ｂ−１及び挿入セル種チェーンメモリ２Ｃ−１の同じアドレスａ０をそれぞれ参照し（ステップＲ１５）、セル種＃１用のヘッドポインタ＃１をポインタチェーンメモリ２Ｂ−１のアドレスａ０に記録されているアドレスａ２に更新する（ステップＲ１６）とともに、蓄積数＃１をデクリメントして２から１に更新し（ステップＲ１７）、且つ、ＮＥＸＴ挿入セル種別情報３１を挿入セル種チェーンメモリ２Ｃ−１のアドレスａ０に記録されているセル種＃２に更新する（ステップＲ１８）。
【００８２】
次に、さらにセル挿入部８の空きセルハント部８１から空きセル情報が通知されると、調停制御部２３は、図１３に示すように、ＮＥＸＴ挿入セル種別情報３１を参照して、次に挿入すべき（読み出すべき）セル種（この場合は＃２）を取得して（ステップＲ１９）、セル種＃２用のヘッドポインタ＃２を参照し（ステップＲ２０）、記録されているアドレスａ１を読み出しアドレスとして挿入バッファ２−２のアドレスａ１からセルを読み出して（ステップＲ２１）、読み出したセルをセル組立部７−ｉへ出力させる。このとき、空きアドレス管理部２Ａ−２のアドレスａ１は「使用中」状態から「空き」状態となる（ステップＲ２２）。
【００８３】
その後、調停制御部３は、セルを読み出した挿入バッファ２−２に対応するポインタチェーンメモリ２Ｂ−２及び挿入セル種チェーンメモリ２Ｃ−２の同じアドレスａ１をそれぞれ参照し（ステップＲ２３）、セル種＃２用のヘッドポインタ＃２をポインタチェーンメモリ２Ｂ−２のアドレスａ１に記録されているアドレスａ３に更新する（ステップＲ２４）とともに、蓄積数＃２をデクリメントして３から２に更新し（ステップＲ２５）、且つ、ＮＥＸＴ挿入セル種別情報３１を挿入セル種チェーンメモリ２Ｃ−２のアドレスａ１に記録されているセル種＃１に更新する（ステップＲ２６）。
【００８４】
以降、上記と同様にして、セル挿入部８の空きセルハント部８１から空きセル情報が通知される毎に、調停制御部２３は、図１４〜図１６中のステップＲ２７〜Ｒ４６に示すように、ポインタチェーン及び挿入セル種チェーンのヘッド側を更新しながら蓄積数＃ｉがそれぞれ０になるまでセルの読み出しを行なうことにより、＃１→＃２→＃２の順（書き込み処理が行なわれた順）に各セル種の読み出しを行なう。
【００８５】
なお、蓄積数＃ｉが０になったセル種＃ｉについてはヘッドポインタ＃ｉ，テイルポインタ＃ｉ，チェーンポインタ２Ｂ−ｉ及び挿入セル種チェーン２Ｃ−ｉに記録されている各情報は「Don't care(Dc)」状態となり、全てのセル種２−ｉの蓄積数＃ｉが０になると、ＮＥＸＴ挿入セル種別情報３１及びＬＡＳＴ挿入セル種別情報３２も「Dc」状態になる（図１６参照）。
【００８６】
以上のように、本実施形態のセル挿入装置１Ａ（バッファ装置１）によれば、複数のセル種＃ｉのセル（セル生成情報＃ｉ）の書き込み処理（蓄積）順序（つまり、セル情報生成部６−ｉでの生成順序）を管理しておき、その順序に基づいてＡＴＭ通信ハイウェイ５へ挿入すべきセルの挿入順序を調停するので、前段のセル種＃ｉ毎の挿入バッファ２−ｉのセル蓄積数に関わらず、全セル種＃ｉについて蓄積セルが有ればそのセルを蓄積時期に応じた時間で必ずＡＴＭ通信ハイウェイ５に挿入することができる。
【００８７】
特に、本実施形態では、上記の挿入セル種チェーンに従って各セル種＃ｉの読み出し処理を行なうことにより、各セル種＃ｉのセル生成情報＃ｉをその書き込み処理順序で各挿入バッファ２−ｉから読み出すので、必ず書き込み処理が行なわれた順序（セル生成順序）で順番に各セル種＃ｉのセル生成情報＃ｉが各挿入バッファ２−ｉから読み出されて（セル化後に）ＡＴＭ通信ハイウェイ５へ挿入されてゆく。
【００８８】
これにより、一部のセル種＃ｉのセルがいつまで経ってもＡＴＭ通信ハイウェイ５に挿入されないといった事態を確実に回避することができ、確実に、セル挿入の遅延時間を最小限に抑えることができる。従って、前述したように、たとえＰＭセルの挿入ブロックがＡＴＭ通信ハイウェイ５の最下流側に配置されていたとしても、また、サポートコネクション数が増えても、確実に、ＰＭセルの規定遅延時間（Ｍ／２）を保証することができる。
【００８９】
例えば、全セル情報生成部６−１〜６−ｎでセル種＃１〜＃ｎのセル生成情報＃１〜＃ｎが同時に生成された場合でも、本バッファ装置１では、最大でもｎセル分（現状では１０セル分以下程度）の挿入遅延が生じるだけであるので、例えば、ＰＭセルの許容挿入遅延（＝Ｍ／２セル：現状ではＭ＝２５６セル以上）を十分に保証することが可能である。
【００９０】
また、本実施形態では、セル挿入部８が各挿入バッファ２−ｉに対して共通化されているので、図２７により前述したように各セル種＃ｉのセル毎に専用の挿入ブロック（セル組立挿入部７′−ｉ）を用意する必要が無く、装置規模の小型にも大いに寄与している。
さらに、本実施形態では、上記の挿入セル種チェーンを、前回書き込み処理を行なった挿入バッファ２−ｉに対応する挿入セル種チェーンメモリ２Ｃ−ｉの同一アドレスに、今回書き込み処理を行なったセル種＃ｉを書き込むことにより生成するので、挿入セル種チェーンメモリ２Ｃ−ｉと挿入バッファ２−ｉとで同じアドレスで挿入セル種チェーンと蓄積セル生成情報＃ｉとを管理することができる。つまり、挿入セル種チェーンメモリ２Ｃ−ｉのための新たなアドレス管理は必要無い。
【００９１】
従って、挿入バッファ２−ｉに書き込まれた或るセル生成情報＃ｉのアドレスで挿入セル種チェーンメモリ２Ｃ−ｉを参照すれば、そのセル生成情報＃ｉの次に書き込まれたセル生成情報＃ｉの種別を認識することができるので、極めて正確に、且つ、迅速に、次に読み出すべきセル生成情報＃ｉを特定して読み出し処理（挿入処理）を実施することができる。
【００９２】
また、本実施形態では、上記の挿入順序の調停を回線毎に行なうので、各回線用に挿入バッファを用意することなく、各回線毎のセル挿入調停を各回線毎に独立して行なうことができるので、ＡＴＭ通信ハイウェイ５が複数回線を扱う場合でも最小限の装置規模（メモリ容量）で、上記の挿入調停を実施することができている。
【００９３】
（Ｂ）第１変形例の説明
なお、上記の挿入セル種チェーンメモリ２Ｃ−ｉは、ポインタチェーンメモリ２Ｂ−ｉや挿入バッファ２−ｉと同一のアドレス構成を有しているので、例えば図１７に示すように、ポインタ／挿入セル種チェーンメモリ２Ｄ−ｉとしてセル種＃ｉ毎にポインタチェーンメモリ２Ｂ−ｉと共通化してもよいし、例えば図１８に示すように、挿入バッファ／挿入セル種チェーンメモリ２′−ｉとしてセル種＃ｉ毎に挿入バッファ２−ｉ自体と共通化してもよい。
【００９４】
いずれの場合も、バッファ装置１（セル挿入装置１Ａ）内のメモリブロック数を削減することができるので、集積度の向上による回路（装置）規模の削減が期待できる。また、図１７に示す構成では、ポインタチェーンと挿入セル種チェーンとを同じメモリ２Ｄ−ｉで管理するので、ポインタチェーンと挿入セル種チェーンの読み出しを１度に行なうことができる。従って、図４に示す構成に比して、ポインタチェーン及び挿入セル種チェーンの読み出しアクセス回数を削減して、本バッファ装置１の消費電力を低減化することもできる。
【００９５】
一方、図１８に示す構成では、セル生成情報＃ｉと挿入セル種チェーンとを同じメモリ２′−ｉで管理するので、セル生成情報＃ｉと挿入セル種チェーンの読み出しを１度に行なうことができる。従って、この場合も、図４に示す構成に比して、ポインタチェーン及び挿入セル種チェーンの読み出しアクセス回数を削減して、本バッファ装置１の消費電力を低減化することができる。
【００９６】
なお、このようにポインタチェーンと挿入セル種チェーンとを同じメモリ２′−ｉで管理する場合は、出力回線数が１回線であれば、より簡素な構成でバッファ装置１を実現することができる。即ち、出力回線数が１回線の場合は、セル種＃ｉ毎に１回線分のセル生成情報＃ｉしか入力されてこないので、例えば図１９に示すように、各挿入バッファ２−ｉをそれぞれＦＩＦＯメモリとして構成することができ、これにより、同じ挿入バッファ２−ｉ内での書き込み処理順序を管理する必要が無くなり、上記のポインタチェーンメモリ２Ｂ−ｉが不要になる〔調停制御部３では、単純にインクリメントされるライトアドレス（ポインタ）及びリードアドレス（ポインタ）をセル種＃ｉ毎に管理するだけでよい〕。
【００９７】
従って、この場合は、さらに本バッファ装置１の装置規模、ひいてはセル挿入装置１Ａの装置規模を削減することが可能である。なお、図１７〜図１９に示すいずれの構成の場合も、書き込み動作及び読み出し動作は、アクセスするメモリが共通化されているか否かの違いだけで、基本的に図５〜図１６により前述した動作と同様である。
【００９８】
なお、出力回線数が複数ある場合（図１７及び図１８に示す構成の場合）、調停制御部３は、上述した実施形態と同様に、回線毎の蓄積数３３を計測・監視して、所定の上限値を超えた回線のセル生成情報＃ｉについては新たな書き込み処理を禁止することで、回線毎の挿入調停を平等に行なうことが可能である。
（Ｃ）第２変形例の説明
図２０は前述した実施形態の第２変形例を示すブロック図で、この図２０に示すバッファ装置１も、図２に示すセル挿入装置１Ａの同一部分に適用されて、セル情報生成部６−ｉ（図２参照）で生成されるセル生成情報＃ｉをセル種＃ｉ毎に一旦保持し、各挿入バッファ２−ｉに共通のセル挿入部８からの空きセル情報に応じて保持したセル生成情報＃ｉをセル組立部７−ｉを通じてセル挿入部８へ転送するものであるが、本第２変形例では、図４に示すものに比して、次の点が主に異なる。
【００９９】
即ち、本第２変形例では、各挿入バッファ２−ｉのアドレスとして全挿入バッファ２−ｉ（全セル種＃ｉ）に固有のアドレス（グローバルアドレス）がそれぞれ割り当てられ、空きアドレス管理部２Ａ−ｉ及びポインタチェーンメモリ２Ｂ′−ｉがそれぞれこのグローバルアドレスにより（挿入バッファ２−ｉとそれぞれ同じグローバルアドレス構成で）挿入バッファ２−ｉの空きアドレス及びポインタチェーン（挿入セル種チェーン）を管理するようになっている。
【０１００】
ここで、上記のグローバルアドレスは、例えば、セル種別ＩＤ（バッファ識別情報）＋セル種＃ｉ毎のバッファアドレスとすれば容易に実現でき、前半のセル種別ＩＤ部分の違いにより異なる挿入バッファ２−ｉを表示し、後半のバッファアドレス部分の違いにより１つの挿入バッファ２−ｉ内での異なるアドレス領域を表示することができる。
【０１０１】
具体的には、例えば、セル種＃ｉ（挿入バッファ２−ｉ）の数＝４（ｉ＝１〜４），各セル種＃ｉ毎の挿入バッファメモリ２−ｉの深さ（容量）を３２セル分と仮定すると、２2 ＋２5 ＝７ビットとなり、上位２ビット分でセル種＃ｉ（挿入バッファ２−ｉ）を、下位５ビット分で同じセル種＃ｉのセル生成情報＃ｉの格納領域を表示することができる。
【０１０２】
従って、ポインタチェーンメモリ（第３リンクメモリ）２Ｂ′−ｉでは、上記のグローバルアドレスを用いて第１実施形態と同様にしてポインタチェーンを管理することで、同一セル種＃ｉ内での書き込み処理順序（読み出し処理順序）と、各セル種＃ｉ（挿入バッファ２−ｉ）間の書き込み処理順序（読み出し処理順序）とをそれぞれ管理することができる。
【０１０３】
このため、本第２変形例の調停制御部３は、前回書き込み処理を行なった挿入バッファ２−ｉに対応するポインタチェーンメモリ２Ｂ′−ｉの同一アドレスに、今回書き込み処理を行なった挿入バッファ２−ｉのグローバルアドレスを書き込むことにより、セル種＃ｉ（挿入バッファ２−ｉ）間の識別情報をも含んだポインタチェーンを生成するようになっている。つまり、本変形例では、グローバルアドレスを用いることで複数の挿入バッファ２−ｉ（空きアドレス管理部２Ａ−ｉ，ポインタチェーンメモリ２Ｂ′−ｉ）を仮想的に１つのメモリとして扱えるようになっているのである。
【０１０４】
従って、本第２変形例の調停制御部（バッファ制御部）３では、第１実施形態にて前述した挿入セル種チェーンメモリ２Ｃ−ｉで挿入セル種チェーンを個別に管理する必要が無く、また、第１実施形態のように各セル種＃ｉ毎にヘッドポインタ３４及びテイルポインタ３５を管理する必要も無くなっている。
以下、上述のごとく構成された本第２変形例のバッファ装置１の動作について図２１及び図２２を参照しながら詳述する。なお、以下では、ｉ＝１〜４の場合を想定し、各セル種＃１〜＃４のセル種ＩＤをそれぞれ"00"〜"11"と仮定する。
【０１０５】
まず、書き込み動作について図２１を参照しながら説明する。例えば、セル情報生成部６−１から或る回線（回線番号＝１の回線と仮定する）についてセル種＃１のセル生成情報＃１が入力されてくると、調停制御部３は、空きアドレス管理部＃１から空きアドレス（グローバルアドレス：例えば、"0000010")を受け取り（ステップＷ５１）、そのアドレス"0000010" を現書き込みアドレスとして挿入バッファ２−１にセル生成情報＃１を書き込む（ステップＷ５２）。
【０１０６】
そして、調停制御部３は、回線番号＝１のテイルポインタ３５〔前回の書き込みアドレス（グローバルアドレス）：例えば、前回の書き込み処理でセル種＃２（セル種ＩＤ＝"01"）のセル生成情報＃２が挿入バッファ２−２のアドレス"00100" に書き込まれたと仮定して"0100100" 〕が指すポインタチェーンメモリ２Ｂ′−２のアドレス領域に現書き込みアドレス（"0000010" ）を書き込んで（ステップＷ５３）、テイルポインタ３５を現書き込みアドレス（"0000010" ）に更新するとともに、セル種＃１の蓄積数＃１をインクリメントする（ステップＷ５４）。
【０１０７】
調停制御部３は、このような書き込み動作を各セル種＃ｉについて行なうことによって、グローバルアドレスを用いたポインタチェーンを作成・更新しながら（つまり、セル生成情報＃ｉの書き込み順序を管理しながら）、各セル種＃ｉのセル生成情報＃ｉを対応する挿入バッファ２−ｉへ書き込んでゆく。なお、書き込み対象の回線の蓄積数＃ｉの全てが０である場合は、調停制御部３は、ポインタチェーンの起点としてヘッドポインタ３４に現書き込みアドレスを書き込む。
【０１０８】
次に、読み出し動作について図２２を用いて説明する。まず、セル挿入部８から或る回線（例えば、回線番号＝１の回線）についての空きセル情報が入力されると、調停制御部３は、回線番号＝１のヘッドポインタ（グローバルアドレス）３４を参照して、そのポインタ３４（例えば、"0000001")を現リードアドレス（グローバルアドレス）として挿入バッファ２−１（セル種ＩＤ＝"00") のアドレス（"00001" ）領域からセル生成情報＃１を読み出す（ステップＲ５１）。
【０１０９】
そして、調停制御部３は、空きアドレス管理部２Ａ−１のアドレス（"00001" ）領域を「空き」状態に更新し（ステップＲ５２）、ヘッドポインタ３４（"0000001")が指すポインタチェーンメモリ２Ｂ′−１のアドレス（"00001" ）領域を参照し（ステップＲ５３）、そこに書き込まれているグローバルアドレスを新ヘッドポインタ３４とする（ステップＲ５４）。
【０１１０】
以降、調停制御部３は、セル挿入部８から空きセル情報が入力される毎に、上記と同様に、グローバルアドレスを用いたポインタチェーンを更新しながら、ポインタチェーンに従ってセル生成情報＃ｉの読み出し処理を行なうことにより、各セル種＃ｉのセル生成情報＃ｉを書き込み処理順で読み出してゆく。なお、全セル種＃ｉの蓄積数＃ｉが０の回線については読み出し処理は行なわれない。
【０１１１】
以上のように、本第２変形例のバッファ装置１（セル挿入装置１Ａ）によれば、上述のごとくグローバルアドレスを用いることで、挿入バッファ２−ｉの或るセル生成情報＃ｉのアドレスでポインタチェーンメモリ２Ｂ′−ｉを参照するだけで、そのセル生成情報＃ｉの次にセル生成情報＃ｉを書き込まれた挿入バッファ２−ｉ（セル種＃ｉ）とその挿入バッファ２−ｉ内でのそのセル生成情報＃ｉの書き込み位置とを認識することができる。
【０１１２】
つまり、セルの挿入順序を規定・管理するリンクがポインタチェーンのみなので、上述した実施形態に比べて、メモリブロック数及びメモリアクセス回数がともに少なくなるととともに、調停制御部３においてセル種＃ｉ毎にヘッドポインタ３４，テイルポインタ３５を保持しなくても良くなり制御が簡素化される。従って、装置規模を削減しつつ、極めて正確且つ迅速にセル生成情報＃ｉの読み出し処理を実施することができる。
【０１１３】
なお、上述したような方式は、セル種＃ｉ（挿入バッファ２−ｉ）間のバッファ長（容量）が大きく異なると、セル種＃ｉ毎のバッファアドレスのビット数が異なるため、グローバルアドレスで管理するポインタチェーンメモリ２Ｂ′−ｉに無駄なビットができる。そのため、できるだけセル種＃ｉ（挿入バッファ２−ｉ）間のバッファ長は同じである方が効率が良い。
【０１１４】
また、本変形例でも、調停制御部３は、図４に示したような回線毎の蓄積数３３を計測・監視して、所定の上限値を超えた回線のセル生成情報＃ｉについては新たな書き込み処理を禁止することで、回線毎の挿入調停を平等に行なうことが可能である。
（Ｄ）第３変形例の説明
図２３は前述した実施形態の第３変形例を示すブロック図であるが、この図２３に示すバッファ装置１も、図２に示すセル挿入装置１Ａの同一部分に適用されるものであるが、図４に示すものに比して、挿入バッファメモリ２−ｉ，空きアドレス管理部２Ａ−ｉ及びポインタチェーンメモリ２Ｂ−ｉがそれぞれ各セル種＃ｉに共通の挿入バッファ（共通バッファ部）２，空きアドレス管理部２Ａ及びポインタチェーンメモリ２Ｂとして構成されるとともに、挿入セル種チェーンメモリ２Ｃ−ｉが省略されている点が主に異なる。
【０１１５】
つまり、本第３変形例のバッファ装置１は、前記の挿入バッファメモリ２−ｉを１個のメモリで管理するようになっているのである。ただし、各セル情報生成部７−ｉ（図２参照）で生成されるセル生成情報＃ｉの情報量（ワード数）がセル種＃ｉ毎に異なる場合は、各セル種＃ｉの情報量の最大公約数を単位にアドレス管理を行なう。
【０１１６】
具体的に、図２３では、例としてセル種＃１とセル種＃ｎのセル生成情報＃１，＃ｎがそれぞれ１ワード分、セル種＃２のセル生成情報＃２が２ワード分の場合のメモリ内容を表しており、この場合、調停制御部３は、１ワードと２ワードの最大公約数である１ワード単位で各メモリ２，２Ａ，２Ｂのアドレスを管理することになる。
【０１１７】
このように、挿入バッファ２が各セル種＃ｉの各セル生成情報＃ｉのワード数の最大公約数を基本としたアドレス構成を有する共通バッファ部として構成することにより、メモリブロック数をさらに削減することができ、この場合も、集積度の向上による回路規模の削減が期待できる。
なお、管理するアドレスの深さＭは各セル種＃ｉのバッファ長がＮi 、各セル種＃ｉの１セル分の生成情報がαi ワードとして、Ｍ＝Σ（Ｎi ×αi ）（ただし、Σはｉ＝１〜ｎについての総和を表す）であるが、元々のポインタチェーンメモリ２Ｂ−ｉのワード数がΣＮi であることを考えると、この方式は、ほとんどのセル種でαi ＝１の場合に有効な方式と考えられる。
【０１１８】
そして、この場合も、調停制御部３は、管理すべきアドレスが各セル種＃ｉに共通となっているので、図２３中に示すように、セル種＃ｉ毎にヘッドポインタ３４，テイルポインタ３５を保持しなくても良い構成になっているが、次のような制御を行なうことが特殊になっている。
▲１▼或るセル種＃ｉについて複数ワード分のセル生成情報＃ｉが入力されると、空きアドレス管理部２Ｂから必要なワード数分の空きアドレスを受け取る。
【０１１９】
▲２▼挿入バッファ２に書き込んだワード数分のポインタチェーンを作成する。
▲３▼必要ワード数分の空きアドレスが無い場合は、書き込み処理を行なわない。
▲４▼書き込みを行なう回線の蓄積数＃１〜＃ｎが全て０の場合はポインタチェーンの起点として現書き込みアドレスをヘッドポインタ３４に書き込む。
また、本変形例の調停制御部３は、１セル種による挿入バッファ２の占有を避けるため、図２３中に示すように、セル種＃ｉ毎に全回線トータルの蓄積数（情報）３６を計測し、セル種＃ｉ毎の蓄積上限値を設けることで、挿入バッファ２がセル種＃ｉ毎の挿入バッファ２−ｉとして分割されている場合と同等の動作を保証している。
【０１２０】
従って、一部のセル種＃ｉのセル生成情報＃ｉによって挿入バッファ２の容量が占有されてしまうようなことが無く、各セル種＃ｉのセル生成情報＃ｉの読み出しを平等に行なうことができる。なお、本変形例でも、調停制御部３は、図４に示すような回線毎の蓄積数３３を計測・監視して、所定の上限値を超えた回線のセル生成情報＃ｉについては新たな書き込み処理を禁止することで、回線毎の挿入調停を平等に行なうことが可能である。
【０１２１】
（Ｅ）第４変形例の説明
図２４は前述した実施形態の第４変形例を示すブロック図であるが、この図２４に示すバッファ装置１も、図２に示すセル挿入装置１Ａの同一部分に適用されるものであるが、この場合は、出力回線数が１回線で、各セル種＃ｉ用の挿入バッファ２−ｉがそれぞれＦＩＦＯメモリとして構成されるとともに、各挿入バッファ２−ｉに共通の調停バッファメモリ２Ｅと調停制御部（バッファ制御部）３とをそなえて構成されている。
【０１２２】
ここで、調停バッファメモリ２Ｅは、セル種＃ｉ（挿入バッファ２−ｉ）の識別情報を記憶するＦＩＦＯメモリで、調停制御部３により、書き込み処理が行なわれたセル種＃ｉ（挿入バッファ２−ｉ）の識別情報が順に書き込まれてゆくことで、セル種＃ｉの書き込み処理順序についての情報（リンクデータ）を保持・管理するようになっている。なお、この調停バッファメモリ２Ｅのワード数は、前記のポインタチェーンメモリ２Ｂ−ｉと同様にΣＮi でよい。
【０１２３】
そして、本第４変形例の調停制御部３は、この調停バッファメモリ（ＦＩＦＯメモリ）２Ｅの記憶内容を、読み出し処理毎に単純にインクリメントされるリードポインタ３８を用いて参照することで、セル種＃ｉの書き込み処理順序を識別し、その書き込み処理順序で読み出し処理対象の挿入バッファ２−ｉを選択してセル種＃ｉの挿入調停を行なうようになっている。
【０１２４】
つまり、本第４変形例のバッファ装置１は、出力回線数が１回線の場合は調停を行なうためにセル種＃ｉの順番を保持するだけで良いため、書き込み処理が行なわれたセル種＃ｉの順番を保持するＦＩＦＯメモリ２Ｅを個別に設けて、挿入バッファ２−ｉへのセル生成情報＃ｉの書き込み処理順をこの調停バッファメモリ２Ｅに書き込むことにより、書き込み処理順序を表すリンクデータを生成するようになっている。
【０１２５】
なお、挿入バッファ２−ｉへの書き込み位置及び読み出し位置の管理については、挿入バッファ２−ｉがそれぞれＦＩＦＯメモリとして構成されているので、上記のポインタ３７，３８と同様に単純にインクリメントされるライトポインタ３９，リードポインタ４０をセル種＃ｉ毎に保持するだけでよい。
以下、上述のごとく構成された本第４変形例のバッファ装置１の動作について図２５及び図２６を参照しながら詳述する。
【０１２６】
まず、例えば、セル情報生成部６−１でセル種＃１のセル生成情報＃１が生成されると、調停制御部３は、図２５に示すように、セル種＃ｉ用のライトポインタ３９が指す挿入バッファ２−ｉのアドレス領域に、そのセル生成情報＃１を書き込み（ステップＷ６１）、現ライトポインタ３９を次のアドレスを指すようにインクリメントして更新する（ステップＷ６２）。
【０１２７】
そして、調停制御部３は、調停バッファメモリ２Ｅ用のライトポインタ３７が指すアドレス領域（斜線部参照）に今回書き込んだセル種＃１（挿入バッファ２−１）の識別情報を書き込んで（ステップＷ６３）、ライトポインタ３７を次のアドレスを指すようにインクリメントして更新する（ステップＷ６４）。以上のような書き込み処理をセル生成情報＃ｉの生成毎に行なうことにより、調停制御部３は、セル種＃ｉの書き込み順序を管理しながらセル生成情報＃ｉを対応する挿入バッファ２−ｉへ書き込んでゆく。
【０１２８】
次に、セル挿入部８（図２参照）から空きセル情報が入力されると、調停制御部３は、図２６に示すように、まず、リードポインタ３８が指す調停バッファメモリ２Ｅのアドレス領域を参照して、次に読み出し処理を行なうべきセル種＃ｉ（例えば、図２６中に斜線部で示すようにセル種＃１であったとする）を識別する（ステップＲ６１）。
【０１２９】
そして、調停制御部３は、セル種＃１用の挿入バッファ２−１を読み出し処理対象のバッファとして決定（選択）し、セル種＃１用のリードポインタ４０が指す挿入バッファ２−１のアドレス領域に保持されているセル生成情報＃１を読み出す（ステップＲ６２）。その後、調停制御部３は、リードポインタ４０及びリードポインタ３８をそれぞれ次のアドレスを指すようにインクリメントして更新する（ステップＲ６３，Ｒ６４）。
【０１３０】
以降、同様に、セル挿入部８から空きセル情報が入力される毎に、調停バッファメモリ２Ｅで管理されているセル種＃ｉの書き込み順序に従って読み出し処理対象のセル種＃ｉ（挿入バッファ２−ｉ）を決定して、その挿入バッファ２−ｉに対する読み出し処理を行なうことで、セル種＃ｉのセル生成情報＃ｉを挿入バッファ２−ｉへの書き込み順序で読み出してゆくことができる。
【０１３１】
このように、出力回線数が１回線の場合は、調停バッファメモリ２Ｅにセル種＃ｉの書き込み処理順序を書き込んでゆくという単純な制御でセル種＃ｉの書き込み処理順序（読み出し処理順序）を管理して、セル種＃ｉの挿入調停を行なうことができるので、装置規模を大幅に小型化することができる。
（Ｆ）その他
なお、上述した実施形態及び各変形例では、本発明がＡＴＭネットワークに適用されてＡＴＭセルを扱う場合を例にして説明したが、本発明はこれに限定されず、ＡＴＭセル以外の同一挿入優先順位を有する複数種のデータを扱うネットワークに適用されてその複数種のデータの伝送媒体への挿入調停を行なう必要があるものであれば、同様に適用され、上述した実施形態及び各変形例と同様の作用効果が得られる。
【０１３２】
また、上述した実施形態及び各変形例では、いずれもセル挿入部８が各挿入バッファ２−ｉ（２′−ｉ）に対して共通化されている場合について説明したが、本発明はこれに限定されず、少なくともセルのＡＴＭ通信ハイウェイ５へのセル挿入順序が各挿入バッファ２−ｉへの書き込み順序に基づいて調停されれば共通化されていなくてもよい。
【０１３３】
そして、本発明は上述した実施形態及び各変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１３４】
【発明の効果】
以上詳述したように、本発明によれば、所定の許容挿入遅延時間内に挿入すべきデータを当該許容挿入遅延時間内に伝送媒体に挿入すべく、データ種別毎の蓄積量に上限値を設定し、複数種のデータの書き込み処理（蓄積）順序に基づいて伝送媒体へ挿入すべきデータの挿入順序を調停するので、データ種別毎のバッファ部のデータ蓄積量に関わらず、全データ種別について蓄積データが有ればそのデータを蓄積時期に応じた時間で必ず伝送媒体に挿入することができ、これにより、常に、最小限の遅延時間で確実なデータ挿入を行なうことが可能になる（請求項１，１４）。
【０１３５】
ここで、上記の挿入調停は、例えば、書き込み処理順序についてのリンクデータに従って各種データの読み出し処理を行なうことにより、各種データを上記の書き込み処理順序で各バッファ部から読み出すことによって行なえば、必ず書き込み処理が行なわれた順序で順番に各種データが各バッファ部から読み出されて伝送媒体へ挿入されてゆくので、一部のデータがいつまで経っても伝送媒体に挿入されないといった事態を確実に回避することができる。従って、より確実にデータ挿入の遅延時間を最小限に抑えることができる（請求項２）。
【０１３６】
また、上記のリンクデータを、前回書き込み処理を行なったバッファ部に対応する、上記のバッファ部と同一のアドレス構成を有する第１リンクメモリの同一アドレスに、今回書き込み処理を行なったデータ種別を書き込むことにより生成すれば、リンクデータのためのアドレス管理とバッファ部のアドレス管理とが同じになる。これにより、バッファ部に書き込まれた或るデータのアドレスで第１リンクメモリを参照すると、そのデータの次に書き込まれたデータの種別を認識することができるので、極めて正確に、且つ、迅速に、次に読み出すべきデータを特定して読み出し処理（挿入処理）を実施することができる（請求項３）。
【０１３７】
さらに、バッファ部と同一のアドレス構成を有し同じバッファ部内でのデータの書き込み処理順序についてのリンクデータを記憶する第２リンクメモリを各バッファ部に対応して複数そなえている場合、上記の各リンクメモリを共通化すれば、上記の各リンクデータを同じメモリで管理することができるので、リンクデータを参照するためのメモリへのアクセス回数と本バッファ装置内のメモリブロック数とをそれぞれ削減することができる。従って、本バッファ装置の消費電力の低減と装置規模の削減とを図ることができる（請求項４）。
【０１３８】
また、上記の第１リンクメモリとバッファ部とを共通化すれば、バッファ部のデータと各バッファ部に対する書き込み処理順序とを同じメモリで管理することができるので、この場合も、リンクデータを参照するためのメモリへのアクセス回数と本バッファ装置内のメモリブロック数とをそれぞれ削減することができ、この場合も、本バッファ装置の消費電力の低減と装置規模の削減とを図ることができる（請求項５）。
【０１３９】
さらに、上記の伝送媒体がデータの挿入対象として１回線を扱う場合に、上記の第１リンクメモリ及びバッファ部を、ＦＩＦＯ型の共通メモリとして構成すれば、少なくとも同じバッファ部内でのデータの書き込み処理順序については管理する必要が無いので、そのためのメモリが不要になり、これにより、さらに本バッファ装置の装置規模を削減することができる（請求項６）。
【０１４０】
また、上記の各バッファ部に、全バッファ部に固有のグローバルアドレスを割り当てておき、このアドレスを用いてリンクデータを生成するようにすれば、１つのリンクメモリ（第３リンクメモリ）のみで各バッファ部に対する書き込み処理順序と同じバッファ部内での書き込み処理順序とを管理することができる。即ち、バッファ部の或るデータのアドレスで第３リンクメモリを参照するだけで、そのデータの次にデータの書き込まれたバッファ部（データ種別）とそのバッファ部内でのそのデータの書き込み位置とを認識することができるので、メモリブロック数を削減して装置規模を削減しつつ、極めて正確且つ迅速にデータ読み出し処理（データ挿入処理）を実施することができる（請求項７）。
【０１４１】
ここで、上記のグローバルアドレスを、データ種別情報と各バッファ部に固有のアドレスとの組から成るようにすれば、簡便に、全バッファ部に固有の（異なる）アドレスを割り当てることができるので、極めて容易に上記の処理を実現することができる（請求項８）。
また、上記の伝送媒体がデータの挿入対象として１回線を扱う場合に、各バッファ部が、それぞれ、ＦＩＦＯメモリとして構成された場合、これらの各ＦＩＦＯメモリに共通の調停バッファメモリに、各ＦＩＦＯメモリへのデータの書き込み処理順を書き込んでリンクデータを生成すれば、同じバッファ部（ＦＩＦＯメモリ）内でのデータの書き込み処理順序を管理することなく、単純に各ＦＩＦＯメモリに対する書き込み処理順序を管理するだけでよいので、制御が単純になり、装置規模の削減に大いに寄与する（請求項９）。
【０１４２】
また、上記の各バッファ部を、各種データの各データ量の最大公約数を基本としたアドレス構成を有する共通バッファ部として構成した場合、各種データのこの共通バッファ部への書き込み処理順序についてのリンクデータに従って各種データの読み出し処理を行なうようにすれば、本バッファ装置内のメモリブロック数がさらに削減されるので、さらなる装置規模の削減を図ることができる（請求項１０）。
【０１４３】
なお、この場合、各種データ毎の共通バッファ部への蓄積量を監視し、蓄積量が所定値を超えた種別のデータについては書き込み処理を行なわないようにすれば、共通バッファ部においても各データ種別毎にバッファ部をそなえる場合と同等の動作を保証することができるので、一部の種別のデータによって共通バッファが占有されてしまうようなことが無く、各種別のデータの読み出しを平等に行なうことができる（請求項１１）。
【０１４４】
また、上記の伝送媒体がデータの挿入対象として複数の回線を扱う場合、各バッファ部を、それぞれ、各回線用のデータを保持しうるように構成し、上記の挿入順序の調停を回線毎に行なうようにすれば、各回線用にバッファ部を用意することなく、各回線毎のデータの挿入調停を各回線毎に独立して行なうことができるので、伝送媒体が複数回線を扱う場合でも最小限の装置規模（メモリ容量）で、上記の挿入調停を実施することができる（請求項１２）。
【０１４５】
この場合、各回線毎に各バッファ部への各回線用のデータの総蓄積量を監視し、総蓄積量が所定値を超えた回線用のデータについてはバッファ部への書き込み処理を行なわないようにすれば、一部の回線用のデータでバッファ部の容量が占有されてしまうことを防止することができるので、各回線毎のデータ挿入を平等に行なうことができる（請求項１３）。
【０１４６】
次に、本発明の調停機能付データ挿入装置によれば、所定の許容挿入遅延時間内に挿入すべきデータを当該許容挿入遅延時間内に伝送媒体に挿入すべく、データ種別毎の蓄積量に上限値を設定し、複数種のデータの書き込み処理（蓄積）順序に基づいて共通セル挿入部へのデータ出力順序を調停することにより伝送媒体へ挿入すべきデータの挿入順序を調停するので、この場合も、全データ種別について各データを蓄積時期に応じた時間で必ず伝送媒体に挿入することができ、常に、最小限の遅延時間で確実なデータ挿入を行なうことが可能になる。また、データ挿入ブロックが共通データ挿入部として複数種のデータに対して共通化されているので、各データに専用のデータ挿入ブロックを用意する必要が無く、装置規模の小型にも大いに寄与する（請求項１５）。
【図面の簡単な説明】
【図１】本発明の原理ブロック図である。
【図２】本発明の一実施形態を示すブロック図である。
【図３】本実施形態におけるセル挿入部の構成を示すブロック図である。
【図４】本実施形態の調停機能付バッファ装置の詳細構成を示すブロック図である。
【図５】本実施形態の調停機能付バッファ装置の書き込み動作を説明するための図である。
【図６】本実施形態の調停機能付バッファ装置の読み出し動作を説明するための図である。
【図７】本実施形態の調停機能付バッファ装置の書き込み動作を詳細に説明するための図である。
【図８】本実施形態の調停機能付バッファ装置の書き込み動作を詳細に説明するための図である。
【図９】本実施形態の調停機能付バッファ装置の書き込み動作を詳細に説明するための図である。
【図１０】本実施形態の調停機能付バッファ装置の書き込み動作を詳細に説明するための図である。
【図１１】本実施形態の調停機能付バッファ装置の書き込み動作を詳細に説明するための図である。
【図１２】本実施形態の調停機能付バッファ装置の読み出し動作を詳細に説明するための図である。
【図１３】本実施形態の調停機能付バッファ装置の読み出し動作を詳細に説明するための図である。
【図１４】本実施形態の調停機能付バッファ装置の読み出し動作を詳細に説明するための図である。
【図１５】本実施形態の調停機能付バッファ装置の読み出し動作を詳細に説明するための図である。
【図１６】本実施形態の調停機能付バッファ装置の読み出し動作を詳細に説明するための図である。
【図１７】本実施形態の調停機能付バッファ装置の第１変形例を示すブロック図である。
【図１８】本実施形態の調停機能付バッファ装置の第１変形例を示すブロック図である。
【図１９】本実施形態の調停機能付バッファ装置の第１変形例を示すブロック図である。
【図２０】本実施形態の調停機能付バッファ装置の第２変形例を示すブロック図である。
【図２１】第２変形例の調停機能付バッファ装置の書き込み動作を説明するための図である。
【図２２】第２変形例の調停機能付バッファ装置の読み出し動作を説明するための図である。
【図２３】本実施形態の調停機能付バッファ装置の第３変形例を示すブロック図である。
【図２４】本実施形態の調停機能付バッファ装置の第４変形例を示すブロック図である。
【図２５】第４変形例の調停機能付バッファ装置の書き込み動作を説明するための図である。
【図２６】第４変形例の調停機能付バッファ装置の読み出し動作を説明するための図である。
【図２７】セル挿入調停方式を説明するためのブロック図である。
【図２８】出力回線数が１回線のときの挿入バッファの構成例を示すブロック図である。
【図２９】出力回線数が複数回線のときの挿入バッファの構成例を示すブロック図である。
【符号の説明】
１  調停機能付バッファ装置
１Ａ  セル挿入装置（調停機能付データ挿入装置）
２  挿入バッファ（メモリ）（共通バッファ部）
２−１〜２−ｎ  挿入バッファ（メモリ）（バッファ部）
２′−１〜２′−ｎ  挿入バッファ／挿入セル種チェーンメモリ
２Ａ，２Ａ−１〜２Ａ−ｎ  空きアドレス管理部
２Ｂ  ポインタチェーンメモリ
２Ｂ−１〜２Ｂ−ｎ  ポインタチェーンメモリ（第２リンクメモリ）
２Ｂ′−１〜２Ｂ′−ｎ  ポインタチェーンメモリ（第３リンクメモリ）
２Ｃ−１〜２Ｃ−ｎ  挿入セル種チェーンメモリ（第１リンクメモリ）
２Ｄ−１〜２Ｄ−ｎ  ポインタ／挿入セル種チェーンメモリ
２Ｅ  調停バッファメモリ
３  調停制御部（バッファ制御部）
４  共通データ挿入部
５  ＡＴＭ通信ハイウェイ（伝送媒体）
６−１〜６−ｎ  セル情報生成部
７−１〜７−ｎ  セル組立部
８  セル挿入部（共通データ挿入部）
３０  管理データ
３１  ＮＥＸＴ挿入セル種別情報
３２  ＬＡＳＴ挿入セル種別情報
３３，３６  蓄積数（情報）
３４  ヘッドポインタ
３５  テイルポインタ
３７，３９  ライトポインタ
３８，４０  リードポインタ
８１  空きセルハント部
８２  ヘッダ書き換え部
【図１】
0003641147.tif 000002
【図２】
0003641147.tif 000003
【図３】
0003641147.tif 000004
【図４】
0003641147.tif 000005
【図５】
0003641147.tif 000006
【図６】
0003641147.tif 000007
【図７】
0003641147.tif 000008
【図８】
0003641147.tif 000009
【図９】
0003641147.tif 000010
【図１０】
0003641147.tif 000011
【図１１】
0003641147.tif 000012
【図１２】
0003641147.tif 000013
【図１３】
0003641147.tif 000014
【図１４】
0003641147.tif 000015
【図１５】
0003641147.tif 000016
【図１６】
0003641147.tif 000017
【図１７】
0003641147.tif 000018
【図１８】
0003641147.tif 000019
【図１９】
0003641147.tif 000020
【図２０】
0003641147.tif 000021
【図２１】
0003641147.tif 000022
【図２２】
0003641147.tif 000023
【図２３】
0003641147.tif 000024
【図２４】
0003641147.tif 000025
【図２５】
0003641147.tif 000026
【図２６】
0003641147.tif 000027
【図２７】
0003641147.tif 000028
【図２８】
0003641147.tif 000029
【図２９】
0003641147.tif 000030