(57)【特許請求の範囲】
【請求項１】
複数の仮想接続にしたがって送信されるＡＴＭセルのスペーサであって、
着信セルが書き込まれ、発信セルが読み出されるセルメモリ（４２）と、
少なくとも前記セルの到着時刻（ｔａ）と仮想接続に割り当てられたスペーシング間隔（Ｔ）とを含むパラメータに基づいて、前記仮想接続に関連する各セルに対する理論的送出時間（ＴＥＴ）の回帰的な計算をする手段（４０）を有し、前記セルメモリに格納された各セルに理論的送出時間（ＴＥＴ）を割り当てる手段（４０、４１）と、
セルメモリがセルを収容している各仮想接続に対して、前記セルがリストの始めとリストの終わりの間で先入れ先出しモードで格納されるロケーションのリストを前記セルメモリが有するように、関連するポインタメモリ（４３）により、前記セルメモリ（４２）を管理するスペーシング制御手段（４１、４６）と、
仮想接続特性と、前記仮想接続に関するリストの始めに含まれているセルの理論的送出時間から成るソートキーを各々が含むデータ要素（Ｋ（ｉ）、Ｒ（ｉ））を順序づけ、最小のソートキーを有する少なくとも１つのデータ要素を選択するソーティング手段（４１、４４）と
を有し、
前記スペーシング制御手段は、前記ソーティング手段によって、選択されたデータ要素において識別された仮想接続に関するリストの始めに含まれたセルの送出を命令するように構成されており、
前記セルメモリ（４２）がセルを含んでいない仮想接続に関連するセルが到着すると、前記ソーティング手段（４１、４４）が前記仮想接続の識別情報を有する新しいデータ要素、およびソートキーとして、前記回帰的計算手段（４０）により与えられた前記セルの理論的送出時間を受け取る、ＡＴＭセルのスペーサにおいて、
少なくとも１つの第２のセルをさらに含むロケーションのリストを前記セルメモリが有する仮想接続に関連する第１のセルを送出すると、前記ソーティング手段が前記仮想接続の識別情報を有する新しいデータ要素、およびソートキーとして、前記第１のセルの理論的送出時間と前記接続に割り当てられたスペーシング間隔との和に等しい、前記第２のセルの理論的送出時間を受け取ることを特徴とするＡＴＭセルのスペーサ。
【請求項２】
送出されるセルによって占有されていない前記セルメモリ（４２）のロケーションが、フリーロケーションのリストの始めとフリーロケーションのリストの終わりの間のフリーロケーションのリストの形で前記スペーシング制御手段（４１、４６）により、前記ポインタメモリ（４３）に含まれるポインタ（Ｐｔｒ＿ｆｒｅｅ、Ｐｔｒ＿ｃｏｎｔ）によって管理される請求項１に記載のスペーサ。
【請求項３】
前記セルメモリの各ロケーション（Ｃｈ＿ｃｅｌｌ（ｉ））が、もし前記ロケーションがリストの終わりでなければ、そのリストの中で、そこから続いているセルメモリの他のロケーションを指定する継続ポインタ（Ｐｔｒ＿ｃｏｎｔ（ｉ））と組み合わされている請求項２に記載のスペーサ。
【請求項４】
前記ポインタメモリ（４３）が、各仮想接続に対して、もし前記接続に関連する少なくとも１つのセルが前記セルメモリ（４２）に含まれていれば、前記接続に対応するロケーションのリストの始めとリストの終わりをそれぞれ指定するリスト開始ポインタ（Ｐｔｒ＿ｓｔａｒｔ）およびリスト終了ポインタ（Ｐｔｒ＿ｅｎｄ）を含む請求項３に記載のスペーサ。
【請求項５】
優先権インデックス（ｕ）が仮想接続に割り当てられ、前記ソーティング手段がそれぞれ同様の優先権インデックスの仮想接続の識別情報を有するデータ要素を処理し、またそれが処理するデータ要素の中から最小のソートキー（Ｋ(u)（１））を有する要素を選択するいくつかのソーティング装置（４４(u)）を有し、前記スペーシング制御手段は、最小のソートキーを示す選択されたデータ要素の１つに、あるいは、いくつかのソーティング装置がそれぞれソートキーが最小であるデータ要素を選択するならば、これらのソーティング装置により選択された、優先権インデックスが最高であるデータ要素の１つにおける識別された接続に関連するリストの始めに含まれているセルの送出を命令するように構成されている請求項１から４までのいずれか１項に記載のスペーサ。
【請求項６】
種々のソーティング装置の各々が、それぞれの記憶手段（２０q（１）、２０q（２））を有し、またその制御手段（２１q、２６q）を共有する請求項５に記載のスペーサ。
【請求項７】
前記ソーティング手段が、それぞれデータ要素を含むことが可能であり、０からｎまで番号を付けられたｎ個の連続したステージに分配され、ステージｑはノード２qから２q+1−１を有する、１から２n−１まで番号を付けられた２n−１個のノードを有するバイナリーツリーにしたがって構成された記憶手段（２０0−２０n-1）と、
１から２n-1−１の間の各整数ｉに対して、ノードｉは分類されるべき要素を含み、ノード２iおよび２i+1のそれぞれは分類されるべき要素を含まないか、あるいはソートキーがノードｉに含まれている要素のソートキーよりも大きいかまたはそれに等しい要素を含むように、順序付けの条件を満足するように、ツリーの中でソートされる要素を分散させるバイナリーツリーの制御手段（２１0−２１n-1）と
を有するソーティング装置（４４）を少なくとも１つ有し、前記バイナリーツリーの制御手段はソートされる新しい要素を挿入するためのコマンドを含むバイナリーツリーの内容を修正するコマンドに応答する、請求項１から６までのいづれか１項に記載のスペーサ。
【請求項８】
前記バイナリーツリーの制御の手段が、それぞれステージ（２０q）あるいはバイナリーツリーの複数の連続したステージと組み合わされた、２からｎの間の整数であるｍ個の連続したコントローラ（２１q）と、連続したステージ間のｎ−１個のインタフェース・レジスタ（２６q）を有し、それらのうち異なるコントローラと組み合わされたステージ対の間のｍ−１個のインタフェース・レジスタの各々はパイプラインレジスタを構成し、バイナリーツリーの内容を修正するための各コマンドがステージ０からステージｎ−１へ前記インタフェース・レジスタによって伝搬され、前記パイプラインレジスタが前記コントローラの並行動作を許容する請求項７に記載のスペーサ。
【請求項９】
１からｎ−１の間の各整数ｑに対して、ステージｑ−１とステージｑの間のインタフェース・レジスタ（２６q）が、ステージｑ−１のノードからステージｑのノードへ伝搬されるコマンド（Ａq）を受信するための第１のロケーションと、関連するコントローラ（２１q-1）が前記コマンドの処理の間にアクセスするステージｑ−１の前記ノードの識別情報（Ｄq）を受信するための第２のロケーションと、ステージｑ−１の前記ノードからあるいはステージｑ−１の前記ノードへ送信されるデータ要素（Ｂq、Ｃq）を受信するための第３のロケーションを有する請求項８に記載のスペーサ。
【請求項１０】
１からｎ−１の間の各整数ｑに対して、ステージｑ−１とステージｑの間のインタフェース・レジスタ（２６q）が、第２のロケーションに含まれる識別情報（Ｄq）により、もしこのコマンドがツリーの中への新しい要素の挿入を示しているならば、前記コマンドが伝搬され、また対応するコントローラ（２１q）が第１のロケーションに含まれるコマンドの処理の間にアクセスするステージｑのノードを指定するビット（Ｅq）を受信するための第４のロケーションを有する請求項９に記載のスペーサ。
【請求項１１】
１からｎ−１の間の各整数ｑに対して、ステージｑ−１とステージｑの間のインタフェース・レジスタ（２６q）の第２および第４のロケーションが、新しい要素を挿入するためのコマンドの伝搬の間に、空きの葉の数のｎ−１個の最下位ビットを含むｎ−１ビットの葉指定フィールド、すなわち、それに向かって前記コマンドが伝搬されるステージｎ−１の空きのノードの一部を形成し、前記コマンドが伝搬されるステージｑのノードは葉指定フィールドの内容のｑ個の最高位のビットにより指定される請求項１０に記載のスペーサ。
【請求項１２】
ツリーのステージｎ−１と組み合わされたコントローラ（２１n-1）が、各葉に向かって、新しい要素を挿入するためのコマンドが現在ツリーの中で伝搬されつつある各々の葉を含む空きの葉の指定された数ｎ'を含む空き葉の第１のリストと、第１のリストに含まれていない空きの葉を含む空きの葉の第２のリストを管理し、
ステージ０と１の間のインタフェース・レジスタの第１のロケーションにソートされる新しい要素を挿入するためのコマンドを登録する間に、各葉に向かってツリーの中で他の挿入コマンドが現在伝搬されつつある前記各葉と異なった、第１のリストの空きの葉の数のｎ−１個の最下位ビットがステージ０と１の間のインタフェース・レジスタの葉指定フィールドの中に登録され、
ツリーの葉からの要素の抽出の間は、前記葉は空きの葉の第２のリストに含まれ、
新しい要素を挿入するためのコマンドがステージｎ−２とｎ−１の間のインタフェース・レジスタ（２６n-1）の中のステージｎ−１に到達する時、組み合わされたコントローラ（２１n-1）は空きの葉の第１のリストから前記インタフェース・レジスタの葉指定フィールドのｎ−１個のビットにより指定された葉（Ｇn-1）を除去し、それを第２のリストからの葉と置換する請求項１１に記載のスペーサ。
【請求項１３】
ｎ'＜ｎである請求項１２に記載のスペーサ。
【請求項１４】
空きの葉の第１のリストが、それぞれ葉の数のｎ−１個の最下位ビットを受信するｎ'個のロケーションを有するそれ自身ループバックされるシフト・レジスタ（３０）に記憶される請求項１２または１３に記載のスペーサ。
【請求項１５】
空きの葉の第２のリストが後入れ先出し形式でポインタの連鎖の形で記憶され、各ポインタは葉の数を表し、前記連鎖の第１のポインタ（Ｐ）は特定のロケーションに記憶され、前記連鎖のｉ番目のポインタ（ｉ≧２）は番号が前記連鎖のｉ−１番目のポインタで表される葉に記憶されている請求項１２、１３または１４に記載のスペーサ。
【請求項１６】
前記第１および第２のリストが少なくともｎ'個のロケーションを有する先入れ先出し型式の論理待ち行列の形式で記憶され、第１のリストは、前記論理待ち行列の最後のｎ'個のロケーションと前記論理待ち行列の先行するロケーションの第２のリストからなる請求項１２または１３に記載のスペーサ。
【請求項１７】
ｐが、ｍ番目のコントローラと組み合わされているバイナリーツリーのステージの数であって１以上ｎ−１未満であり、前記記憶手段がｉが１から２n-p-1−１の範囲であるツリーのノード２iと２i+1の対とそれぞれ組み合わされた差分カウンタ（Δ（ｉ））を含むための少なくとも２n-p-1−１個のロケーション（２５）を有し、データ要素の数の間の差を示す値を有する一対のノードと組み合わされた各差分カウンタは前記対の２つのノードの子孫にそれぞれ含まれ、ステージｑのノードｉの子孫は、数がｉ２j＋ｊ'の形である（ここで、ｊおよびｊ'は０≦ｊ＜ｎ−ｑおよび０≦ｊ'＜２ｊのような整数）バイナリーツリーの２n-q−１個のノードと規定されており、
ステージｑ−１とステージｑ（ｌ≦ｑ＜ｎ−ｐ）の間のインタフェース・レジスタ（２６q）が、新しい要素をその第１のロケーションに、またステージｑ−１のノードｉの識別情報（Ｄq）をその第２のロケーションに挿入するためのコマンド（Ａq）を受信すると、ノード２iと２i+1の対と組み合わされた差分カウンタ（Δ（ｉ））の値に応じて前記挿入コマンドがステージｑのノード２iあるいは２i+1に伝搬される請求項１１または１２に記載のスペーサ。
【請求項１８】
ステージのノードの対と組み合わされた差分カウンタ（Δ（ｉ））を含む記憶手段のロケーション（２５）が、前記ステージのノードと同じコントローラによりアクセス可能である請求項１７に記載のスペーサ。
【請求項１９】
前記記憶手段が、ｉが１から２n-1−１の範囲である、ツリーのノード２iと２i+1の対とそれぞれ組み合わされたステアリングビット（Ｆ（ｉ））を含むための２n-1−１個のロケーション（２３）を有し、前記対のノードの１つを指す一対のノードと組み合わされた各ステアリングビットは、ソートキーが前記対のノードの他の１つに含まれる要素のソートキー以下である要素を含み、
ステージｑ−１とステージｑ（１≦ｑ≦ｎ−１）の間のインタフェース・レジスタ（２６q）が、その第１のロケーションにおいて要素を抽出あるいは交換するためのコマンド（Ａq）を、またその第２のロケーションにおいてステージｑ−１のノードｉの識別情報（Ｄq）を受信すると、前記抽出あるいは交換コマンドが、ノード２iと２i+1の対と組み合わされたステアリングビット（Ｆ（ｉ））の値に応じて、ステージｑのノード２iあるいは２i+1に伝搬される請求項１１から１８までのいづれか１項に記載のスペーサ。
【請求項２０】
１つのステージのノードの対と組み合わされたステアリングビット（Ｆ（ｉ））を含む記憶手段のロケーション（２３）が、前記ステージのノードと同じコントローラによってアクセス可能である請求項１９に記載のスペーサ。
【請求項２１】
前記バイナリーツリーの制御手段が、バイナリーツリーの１つのステージ、あるいはいくつかの連続したステージと組み合わされた２つの連続したコントローラ（２１o、n-p、２１n-p、p）と、連続したステージ間のｎ−１個のインタフェースを有し、それらのステージのうちのそれぞれ２つのコントローラと組み合わされた２つの連続したステージの間のインタフェース・レジスタ（２６n-p）が２つのコントローラの並行動作を許容するパイプラインレジスタを構成し、前記スペーシング制御手段および前記バイナリーツリーの制御手段は、ソートされるべき新しいデータ要素を挿入するためのコマンドが第１のフェーズにおいて第２のコントローラにより、および第２のフェーズにおいて第１のコントローラにより処理され、ツリーの中のデータ要素を抽出あるいは交換するためのコマンドは第１のフェーズにおいて第１のコントローラにより、および第２のフェーズにおいて第２のコントローラにより処理されるように、各セル期間を第１のフェーズ（Ｉ）と第２のフェーズ（ＩＩ）に分割するように構成され、挿入コマンドはインタフェース・レジスタによってステージｎ−１からステージ０まで伝搬され、抽出あるいは交換コマンドはインタフェース・レジスタによってステージ０からステージｎ−１まで伝搬される請求項７に記載のスペーサ。
【請求項２２】
ステージ０と組み合わされている第１のコントローラがスペーシング制御手段の一部を少なくとも構成している請求項８から２１までのいずれか１項に記載のスペーサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＡＴＭセルスペーサに関する。
【０００２】
【従来の技術】
この種の設備の一般的説明は、Ｐ．Ｅ．ＢＯＹＥＲ他による論文「スペーシングセルがＡＴＭネットワークリンクの利用を保護し、拡張する」（ＩＥＥＥ  Ｎｅｔｗｏｒｋ、１９９２年９月、３８−４９頁）に見ることができる。
【０００３】
ＡＴＭセルは高速の物理リンク（１５５あるいは６２２Ｍｂｉｔ／ｓのビットレート）上で送信される５３バイトの情報パケットである。各物理リンクはさまざまな仮想接続に属する多重セルをサポートする。各セルが関係する仮想接続は、セルのヘッダに含まれる一対の識別子ＶＰＩ−ＶＣＩにより識別される。ある種の設備は仮想パス識別子（ＶＰＩ）により仮想接続を識別し、一方他の設備は仮想チャネル識別子（ＶＣＩ）あるいはＶＰＩ、ＶＣＩの両方の識別子に基づいて仮想接続を識別する。
【０００４】
この説明では、各ＡＴＭセルはスペーサを備えた設備の内部識別情報ＩｄＣｘにより識別された仮想接続に属すると見なされる。この内部識別情報は、合理的大きさのメモリモジュールへのアクセスを容易にするように、ＶＰＩ、ＶＣＩ、ＶＰＩ−ＶＣＩの対、またはそのほかに対応することができ、いっそう好都合には、設備に専用であり、ＶＰＩ−ＶＣＩより少数のビットを有する特定の識別情報に対応することができる。このような識別情報ＩｄＣｘをＡＴＭセルに関連づける適切な方法が、フランス特許出願第９７０１２２２号に記載されている。
【０００５】
ＡＴＭスペーサは、その主な機能が物理リンクによりサポートされる種々の接続に対してセルのビット・レートを均一化するユニットである。一般に、仮想接続上に送信する各情報源（利用者）はオペレータとピークビット・レートを折衝する。もし情報源（利用者）がこのピークビット・レートに従わなければ、ネットワークに輻輳が起きる危険があり、オペレータは接続中のセルを破棄する権限を与えられている。
【０００６】
スペーサにおいて、一般に同じ仮想接続に関する２つの連続したセルは、通常ピークビット・レートの逆数に対応する時間間隔Ｔだけ少なくとも離しておくように、スペーシング間隔Ｔは各接続ＩｄＣｘに割り当てられる。次に実スペーサについて説明する。実スペーサは、各セルに対する理論的送出時間ＴＥＴを計算し、次に所望の時間においてのみそのセルを送出するようにメモリに蓄積する。スペーシング間隔Ｔはしたがってすべての接続に対して満たされる。いわゆる仮想スペーサにおいては、各セルに対して理論的送出時間ＴＥＴが前と同じ方法によりまず計算され、その後にセルはメモリに蓄積される。実スペーサとの相違は、仮想スペーサはおよそ理論的送出時間でただちにセルを送出することである。仮想スペーサはセル遅延揺らぎ（ＣＤＶ）を劣化させない。しかし仮想スペーサは、スペーサの上流に位置する待ち行列によるビット・レート劣化の可能性を軽減しない。
【０００７】
この過度のビット・レートが、オペレータと折衝したサービス品質による限界値を超えていて、この接続に関連するセルがＣＤＶ無しに正確に間隔を置いた多重出力を発生することがもはや不可能なほどである時は、スペーシング機能は、ピークビット・レートより大きいビット・レートで仮想接続にしたがって送信されたセルを排除するポリシング機能としばしばと組み合わされる。ポリシング機能は、通常セルの理論的送出時間ＴＥＴを計算する方法の一部を成す。
【０００８】
セルに理論的送出時間を割り当て、ポリシング機能を実行する従来の方法は、ＩＴＵ−Ｔ勧告Ｉ．３７１付属書１に規定されるＧＣＲＡアルゴリズム（総称セルレートアルゴリズム）を適用することである（Ｍ．ＤＥＰＲＹＣＫＥＲ：「非同期転送モード、広帯域総合サービスディジタル網に対する解」、第２版、１９９３、第７章、第７．３．４節、２９２−２９３ページ参照）。各仮想接続に対して、このアルゴリズムは常に次の関係ｔａ≦ＴＥＴ≦ｔａ＋τを満足させる。ここで、さてｔａはその理論的送出時間ＴＥＴが計算されるセルの到着時刻を表し、またτは接続のＣＤＶ許容誤差を表す。
【０００９】
異なった仮想接続に属するセルが同じ理論的送出時間を割り当てられるかもしれない。その結果、このような矛盾を解決するメカニズムを備えることが必要である。
【００１０】
ドキュメントＥＰ−Ａ−０４３８００９で説明されている第１の解決策は、各着信セルをその実際の送出時間に対応するセルメモリのアドレスに蓄積することである。スペーサの出力において、時間カウンターは送出されるセルを指定するアドレスポインタとして動作する。理論的送出時間をセルに割り当てた後で、セルはこの理論的時間の後に第１の利用できるアドレスに蓄積され、その結果矛盾を回避する。
【００１１】
ドキュメントＥＰ−Ａ−０４９８０９２（さらにＥ．Ｗａｌｌｍｅｉｅｒ他：「スペーシング・ポリシング回路、ＡＴＭネットワークにおける効率的ピークビット・レート制御のためのアルゴリズム」、Ｐｒｏｃ．ＩＳＳ’９２、１９９２年１０月、第２巻、２２−２６ページ参照）で説明されている第２の解決策は、各送出周期においてポインタ手段により関連付けられたセルのリストを関連づけることである。送出周期に到達すると、関連するリストのセルは読み取られ、この周期の間および連続する所要数の周期の間に一つずつ出力される。
【００１２】
Ｊ．Ｗ．Ｒｏｂｅｒｔｓ他による論文「実時間ソータとＡＴＭトラフィック制御への応用」、Ｐｒｏｃ．ＩＳＳ’９５、１９９５年４月、第１巻、２５８−２６２ページ参照）で説明されている第３の解決策は、ソーティング技術を用いることである。各セルが到着すると、セル記憶装置のアドレスおよびその理論的送出時間に対応するソートキーにより構成されたデータ要素がソーティング装置に入力され、このソーティング装置は各送出周期において最小のソートキーを生成する。そのアドレスがこの要素に含まれるセルは、実スペーサの場合にはもし最小のキーが現在時刻より小さいか現在時刻に等しければ、また仮想スペーサの場合にはただちに送出される。ソーティング装置は、スペーサに蓄積されたセルの最大数に等しいＮ個の要素をソートすることができなくてはならない。さらに、推薦されているソーティング装置では、ソーティング機能を十分な速度で実行するためには、並行して動作する論理回路の数がＮに比例するという欠点を有することが指摘される。ソートされる要素の数Ｎが一旦大きくなると（ＡＴＭセルスペーサへの応用の場合のように数千あるいは何万にも）、ソーティング装置のハードウェアの複雑性は大きなものになる。
【００１３】
上記の３つの解決策において、一旦理論的送出時間が着信セルに割り当てられると、スペーサは仮想接続の概念を無視する。その結果、送出される蓄積されたセルを決定するための手順は、スペーサの最大の記憶容量に対応する数からセルを選択することになる。これは、原理的に同一の同じ仮想接続に関連するセルの受信の順序が送出の際に満たされなくてはならない時期から、余分な複雑さを意味する。
【００１４】
スペーサを備えたリンク上にトラフィック輻輳のリスクが万一発生すると、電気通信事業者は時にはある種の接続に割り当てられたスペーシング間隔Ｔを増加させる選択肢を有している。しかしながら、このようなＴの修正はまだ受信されていないセルにのみ作用し、以前計算された理論的送出時間は関係する接続を知らずには既に修正不可能であると考えれば、すでにスペーサのバッファメモリに書き込まれたセルには作用しない。それにもかかわらず、十分な数のセルがすでにバッファメモリに書き込まれ、インターバルＴを増加させ輻輳の防止を効果的でなくしている。上記のスペーサはこの点において柔軟性に欠ける。
【００１５】
送出されるセルの選択が、種々の仮想接続に割り当てられたＦＩＦＯリストの始めに蓄積されたセルに割り当てられた理論的送出時間に基づいて行われるＡＴＭスペーサがＥＰ−Ａ−０７１００４６に説明されている。このドキュメントは送出時間を計算する特定の方法を説明し、この特定の方法によれば、セルの理論的な送出時間が同じ仮想接続に関連する前のセルの実際の送出時間に依存する。同様な方法が、Ｇ．Ｍｅｒｃａｎｋｏｓｋ他による論文「セル送出に際するスペーサ出力の多重化」（Proc. Infocom'95 - Conference on Computer Communications,14th Annual Joint Conference of the IEEE Computer and Communications Societies、ボストン、１９９５年４月２日−６日、第３巻、４９−５５ページ）で説明されている。
【００１６】
【発明が解決しようとする課題】
この種の方法は、異なる接続に関するセルと同じ理論的送出時間が割り当てられたセルとの間の衝突によりセルが遅延した時、もし衝突が解消していても同じ接続の後続のセルも同様に遅延する欠点を有する。このような場合はフローに不必要な妨害をもたらす。
【００１７】
本発明の目的は上記の欠点による影響が少ないＡＴＭスペーサを提供することである。
【００１８】
【課題を解決するための手段】
本発明は、複数の仮想接続にしたがって送信されるＡＴＭセルのスペーサであって、
着信セルが書き込まれ、発信セルが読み取られるセルメモリと、
少なくとも前記セルの到着時刻と仮想接続に割り当てられたスペーシング間隔とを含むパラメータに基づいて、仮想接続に関連する各セルに対する理論的送出時間の回帰的な計算をする手段を有するセルメモリに蓄積された各セルに理論的送出時間を割り当てるための手段と、
セルメモリがセルを収容している各仮想接続に対して、前記セルがリストの開始とリストの終わりの間で先入れ先出しモードで蓄積されるロケーションのリストをセルメモリが有するような方法による関連するポインタメモリにより、セルメモリを管理するためのスペーシング制御手段と、
それぞれ仮想接続特性と、前記仮想接続に関するリストの開始に含まれているセルの理論的送出時間から成るソートキーを有する、データ要素を順序づけ、最小のソートキーを有する少なくとも一つのデータ要素を選択するためのソーティング手段とを有し、
スペーシング制御手段は、ソーティング手段により選択されたデータ要素において識別された仮想接続に関するリストの開始に含まれたセルの送出を命令するように工夫されている、複数の仮想接続に応じて送信されるＡＴＭセルのスペーサを提供する。
【００１９】
セルメモリがセルを含んでいない仮想接続に関連するセルが到着すると、ソーティング手段は前記仮想接続の識別情報を有する新しいデータ要素および、ソートキーとして、回帰的計算手段により与えられた前記セルの理論的送出時間を受け取る。少なくとも一つの第２のセルをさらに含むロケーションのリストをセルメモリが有する仮想接続に関連する第１のセルを送出すると、ソーティング手段は前記仮想接続の識別情報を有する新しいデータ要素および、ソートキーとして、前記第１のセルの理論的送出時間と前記接続に割り当てられたスペーシング間隔との和に等しい前記第２のセルの理論的送出時間を受け取る。
【００２０】
蓄積されたすべてのセルに基づくのではなくて、接続ごとにリストの始めに基づいたソーティング手順により送出されるセルが選択されることにより、スペーサの複雑さが減少し、その使用上の柔軟性が増加している。
【００２１】
送出時間決定のモードは、送出スロットに関する矛盾に起因したセルが受ける遅延を制限する。ある場合には、回帰的計算手段により得られた理論的送出時間に対応して受ける遅延すらも軽減される。
【００２２】
ソーティング手段は、以下に詳細に説明する型式の一つ以上のバイナリーツリーソーティング装置を有するのが有利である。
【００２３】
【発明の実施の形態】
本発明のＡＴＭスペーサの一般的な構造を説明する前に、このようなスペーサに用いられるソーティング装置の実施形態を図１から図１５を参照してまず説明する。それぞれ各ソートキーを含むデータ要素をソートするこの装置は：
それぞれデータ要素を含むことが可能であり、０からｎまで番号を付けられたｎ個の連続したステージに分配され、ステージｑはノード２qから２q+1−１を有する、１から２ｎ−１まで番号を付けられた２n−１個のノードを有するバイナリーツリーにしたがって構成された記憶手段と、
１から２n-1−１の間の各整数ｉに対して、ノードｉは分類されるべき要素を含み、ノード２iおよび２i+1のそれぞれは分類されるべき要素を含まないか、あるいは決められた順序関係の意味でそのソートキーがノードｉに含まれている要素のソートキーよりも大きいかまたはそれに等しい要素を含むように、順序付けの条件を満足させるように、ツリーの中でソートされる要素を分散させるためのバイナリーツリーの制御手段を有する。
【００２４】
分類ツリーにおける要素の順序付けは、コンピュータ化されたソーティングの分野で「ヒープソート」と言われるものに対応する。この点に関して、Ｋｎｕｔｈによる著作「コンピュータプログラミング技法、第３巻、分類および探索」（アディソン・ウェスリー、１９７３年、１４２−１５７ページ）を参照されたり。
【００２５】
一例として、図１は、ｎ＝４の場合の、順序付けの条件を満足するデータ要素（データ要素のうちソートキーのみが表示されている）を含む１５個のノード１−１５を有する分類ツリーを示す。
【００２６】
ステージ０のノード１はツリーの根あるいは頂点と言われる。ステージｎ−１の２n-1から２n−１個のノードはツリーの葉であると言われる。ステージｑの各ノードｉに対して、その数がｉ２j＋ｊ’ここで、ｊおよびｊ’は０≦ｊ＜ｎ−ｑおよび０≦ｊ’＜２jであるような整数である。の形式である２n-q−１個のツリーのノードは、ノードｉの子孫と呼ばれる（ここでノードｉはおｓの子孫に含まれると考えられる）。これらの子孫のうち、（もしｑ＜ｎ−１ならば）ステージｑ＋ｌの姉妹ノード２iおよび２i+1はノードｉの子であると呼ばれる。他方、ノードｉの親（もしｑ＞Ｏなら）はステージｑ−１のノードと規定され、その数はもしｉが偶数ならばｉ／２であり、ｉが奇数ならば（ｉ−１）／２である。ツリーのノード間の親子関係のこれらの論理関係は図１で矢印により示されている。
【００２７】
ソートキーの間の順序関係は任意である。図１に示されている例では、自然数間のよく知られた順序関係であり、ソートキーの昇順に分類可能である。降順で分類の場合には、キーの間の順序関係を逆転すれば十分なことは明らかである。図１において、ソートされる要素により占められていないツリーのノードは、それぞれそのソートキーが無限大である要素を含むと見なされる、すなわち、ソートされるデータ要素のどのソートキーよりも大きい。無限大のキーをコード化する１つの可能性は、この目的のキーを含むデータフィールドの１ビットを残してかくことである。もしこのビットが１であればキーは例えば無限大であると見なされ、そうでなければ有限と見なされる。換言すれば、このビットはノードが空きであるか、あるいはデータ要素により使用されているかを示す。
【００２８】
ひとたびそれが順序付けられたデータ要素Ｎ＜２nの集合によりロードされると、ソーティング装置はこれらのＮ個の要素を連続的にＮサイクルでソートキーの順番に転送できる。サイクルの間にツリーから要素を抽出することは、ツリーの根に位置する要素を読み取ることと、常に順序付けの条件を満足させるような方法でその家系の要素を追跡することから成る。したがって、図１に示された場合において、第１のサイクルは根に位置する要素１６を読み取ること、および、要素２４を根へ、次に要素３８をノード２へ、最後に要素６２３をノード４へ移動することから成る。これは根から葉に向かって抽出コマンドを伝搬することになる。
【００２９】
ある用途においては、ソートされる新しい要素をツリーに挿入するコマンドに応答できることは制御手段にとってさらに必要である。したがって、ソーティング装置は各サイクルにおいてソートされる要素を転送または受信することができる。ソーティング装置は、使用される順序関係にしたがって管理され、時間タグあるいは優先権インデックスの他の任意の型式を表現するであろうソートキーの基本原理でダイナミックな待ち行列として作動する。
【００３０】
図２は、データ要素がｎ＝４ステージを有する図１のバイナリーツリーにしたがって構成されたメモリ２０0−２０3に収容されるソーティング装置を示す。
【００３１】
バイナリーツリーは、ｍ個の個別のコントローラのセットにより制御される。ここでｍは２とツリーのステージの番号ｎの間の整数である。図２および図３で考慮されている場合において、ツリーの各ステージｑ、すなわちｍ＝ｎ＝４に対して１個のコントローラ２ｌｑがある。各コントローラ２ｌｑはステージｑにアクセスできるようにするバス２２ｑを有する。したがって、ツリーの記憶手段は、それぞれ対応するバス２２0−２２3を介してアクセス可能なｍ＝４のメモリモジュール２０0−２０3に分割されている。各ノードｉには、それぞれ、データ要素のソートキーＫ（ｉ）、図２に表示される唯一のキー（要素が無い場合にはＫ（ｉ）＝∞）、およびこの要素のリファレンスＲ（ｉ）を収容ための２つのメモリロケーションがある（図３参照）。
【００３２】
ステージ０以外のツリーの各ステージｑは、ノード２qから２q+1−１のほかに、１ビットの容量を持つ２q-1個のロケーション２３、およびｎ−ｑ＋ｌビットの容量を持つ２q-1個のロケーション２５を有する。各ロケーション２３はステージｑの一対の姉妹ノード２ｉおよび２ｉ＋ｌと組み合わされたステアリングビットＦ（ｉ）を含み、その値は、左方向姉妹２ｉに含まれるキーが右方向姉妹２ｉ＋ｌ（Ｋ（２ｉ）＜Ｋ（２ｉ＋ｌ））に含まれるキーより小さければＦ（ｉ）＝Ｏであり、Ｋ（２ｉ＋ｌ）≦Ｋ（２ｉ）ならばＦ（ｉ）＝ｌである。分類ツリーのロケーション２３の合計数は２n-1−１である。
【００３３】
ステージｑの各ロケーション２５はステージｑの一対の姉妹ノード２ｉおよび２ｉ＋ｌと組み合わされた差分カウンターΔ（ｉ）を含み、その値は、左方向姉妹２ｉの子孫に含まれるデータ要素の数と、右方向姉妹２ｉ＋１の子孫に含まれるデータ要素の数との差により与えられる。
【００３４】
ステアリングビットＦ（ｉ）は抽出あるいは交換コマンドをツリーの根から葉まで伝搬するように動作するのに対して、一方差分カウンターΔ（ｉ）は挿入コマンドをツリーの根から葉まで伝搬するように動作する。
【００３５】
バイナリーツリーの制御手段は、さらにｎ−１＝３個のインタフェース・レジスタ２６1−２６3を有し、各レジスタ２６qはステージｑ−１のコントローラ２１q-1とステージｑのコントローラ２１ｑの間のインターフェイスとして動作する。さらに図２の基本的な図には、ステージ０のコントローラ２１0とソーティング装置の環境との間でインターフェイスとして動作するレジスタ２６0が示されている。ソーティング装置に送られたコマンドは、ソーティング装置により供給されるレスポンスであるとして、このレジスタ２６0に書き込まれる。実際には、このレジスタ２６0はツリーの上のステージのコントローラ２１0と同じ回路に属することができる。
【００３６】
図３を参照すると、各レジスタ２６ｑは：
ツリーの根から葉まで伝搬するコマンドの性質を指定するコマンドコードＡｑ；以下の説明において、コマンドＡｑは例として次のように２ビットでコード化されていると見なされる：Ａｑ＝００はステージｑの前方のツリーの内容の修正無し、Ａｑ＝０１は新しい要素を挿入するコマンド、Ａｑ＝１１はツリーから最も小さいソートキーを有する要素を抽出すると同時に新しい要素をその中に挿入することからなる交換コマンド（最小のソートキーを有する要素の直接抽出は、この要素を無限大のソートキーを有する素子と交換することとして取り扱われる）、およびＡｑ＝１０ステージｑの前方のツリーの内容を再初期化するコマンド；
挿入あるいは交換コマンドによりステージｑ−１からステージｑまで、あるいは交換コマンドによりステージｑからステージｑ−１まで送信されたソートキーＢq；
ソートキーＢqと組み合わされ、ソートキーＢqと共に挿入あるいは交換されたデータ要素を形成するリファレンスＣq；
ｑ−１ビット（この識別はレジスタ２６0には存在しない）から構成され、コマンドＡｑがそこから発信されるステージｑ−１のノードを指定する識別情報Ｄｑ、をそれぞれ収容する４つのロケーションで構成されている。いっそう正確には、識別情報ＤｑはそこからコマンドＡｑが発信するステージｑ−１のノードｉの数のバイナリー法表示のｑ−１個の最下位ビット、すなわちベース２に対してｉ＝ｌＤqから成る。
【００３７】
新しい要素をツリーに挿入するために、コマンドＡo＝Ｏ１およびこの新しい要素Ｂo、Ｃoがレジスタ２６0に書き込まれ、次にコマンドがツリーの根から葉まで伝搬される。交換を行うために、コマンドＡo＝１１およびレジスタ２６0に挿入される要素Ｂo、Ｃo（直接抽出の場合にはＢo＝∞である）が書込まれ、その後に最小のキーを有する要素はレジスタ２６0のロケーションＢoおよびＣoの中に取り出される。
【００３８】
各コントローラ２１qにより実行された動作は図４、５および６のフローチャートに示される。これらの動作を実行するために、各コントローラ２ｌqは適切にプログラムされた高速論理ゲートのネットワークの形式で作られる。動作は本質的に読み取り／書き込み、インクリメント／デクリメント、バイナリーコード化された変数の比較であるので、ゲートネットワークのこのプログラミングには問題が無い。
【００３９】
コマンドＡqはレジスタ２６q（段階１００）からまず読み取られ、次いでコマンドの型式を識別するように評価される（段階１０１）。  修正無しの場合には（Ａq＝００）、コントローラ２ｌqは同じコマンドＡq+1＝００を次のレジスタ２６q+1（段階１０２）に単に書込む。
【００４０】
リセットコマンド（Ａq＝１０）の場合には、親の識別Ｄｑは変数ｓに割り当てられ（段階１０３）、コントローラ２ｌqはその数のバイナリー法表示がｌｓＯおよびｌｓｌである２つの子ノードを初期化し、一方、段階１０２においてコマンドＡq+1＝００を伝搬する前にそのソートキーを無限大にセットし、対応する差分カウンタΔ（１ｓ）に値０を置く（段階１０４）。ステージ０の特定の場合には、リセットは単にＫ（ｌ）＝∞を書き込むことから成る。
【００４１】
レジスタ１００から読み込まれたコマンドＡqが、親ノード１Ｄq（Ａq＝０１）からの新しい要素Ｂq、Ｃqの挿入を表わすと、これらのパラメータＢq、ＣqおよびＤqはコントローラ２ｌqによりそれぞれ読み取られ、段階１０５において変数ｋ、ｒおよびｓに割り当てられ、その後識別されたノードの子と組み合わされた差分カウンタΔ（１ｓ）は、段階１０６において変数δに割り当てられる。
【００４２】
もしδ＜０ならば（比較１０７）、右方向の子は左方向の子より多くの子孫を有し、挿入コマンドが左方向の子に伝搬されるように、左方向の子の子孫の中に新しい要素を受信可能な少なくとも１つのノードがある。ビットｔは０に等しいとされ、また変数δは段階１０８において１段階インクリメントされる。逆に、もしδ＞Ｏであれば、ビットｔは１に等しいとされ、挿入コマンドが右方向の子に伝搬するように、変数δは段階１０９において１段階デクリメントされる。段階１１０において、ソートキーＫ（ｌｓｔ）および処理済みの、すなわちコマンドが伝搬されるノードに含まれるデータ要素のリファレンスＲ（ｌｓｔ）は読み取られ、それぞれ変数ｋ’およびｒ’に割り当てられる。
【００４３】
もしｋ＜ｋ’であれば（比較１１１）、ステージｑ＋ｌに伝搬される要素ｗ、ｘが処理済みのノードから読み込まれたｋ’、ｒ’と段階１１２において等しいとされるように、処理済みのノードは挿入されるデータ要素より大きいソートキーを含む。もしｋ’≦ｋであれば、送信される要素ｗ、ｘは段階１１３でレジスタ２６ｑから読み込まれたそのｋ、ｒと段階１１３において等しいとされ、次に変数ｋ、ｒはそれぞれ変数ｋ’、ｒ’の値を受信する。
【００４４】
もし伝搬されるデータ要素のキーｗが無限大であれば（比較１１４）、これは挿入コマンドがもはや伝搬される必要がないからである。次にプロセッサ２ｌqは段階１１５において変数ｖ’に値１０（再初期設定）を与える。もし送信されるキーｗが有限であれば、変数ｖ’は挿入コマンドを示すように段階１１６において値０１を受信する。プロセッサ２ｌqは続いて、段階１１７においてＡq+1＝ｖ’、Ｂq+1＝ｗ、Ｃq+1＝ｘおよびＤq+1＝ｓｔを書き込むことによりレジスタ２６q+1を満たすことができる。
【００４５】
段階１１７の後は、挿入コマンドの処理はもはやコントローラ２ｌqにそのインタフェース・レジスタ２６q、２６q+1にアクセスするように要求せず、単に処理中のメモリ領域２０qへのアクセスを要求する。段階１１８において、それは変数δの新しい値を書き込むことにより差分カウンタΔ（１ｓ）を更新する。次に、段階１１９において、それはＫ（ｌｓｔ）＝ｋおよびＲ（ｌｓｔ）＝ｒをそこに書き込むことにより、処理済みのノードのデータ要素を更新する。
【００４６】
挿入コマンドの処理を完了するために、次にコントローラ２ｌqは処理済みのノードｌｓｔと組み合わされたステアリングビットＦ（ｌｓ）の値を更新する。コントローラ２ｌqはまず処理済みのノードの姉妹ノードに含まれるデータ要素のソートキーＫ（ｌｓｔ）を読み取り、それを変数ｋ’に割り当てる。段階１２６においてステアリングビットＦ（ｌｓ）を含むロケーション２３に書き込まれる変数ｆは、もし比較１２１、１２２、１２３がｔ＝Ｏおよびｋ’≦ｋ，またはｔ＝ｌおよびｋ≦ｋ’であることを示せば、段階１２４において１と等しいとされる（右方向の子に向かってのステアリング）。反対の場合には、段階１２５においてｆ＝０と見なす。
【００４７】
段階１２６の後に、プロセッサ２ｌqはコマンドＡｑの処理を完了し、レジスタ２６qから発信されている次のコマンドを処理するために、段階１００に戻ることができる。
【００４８】
レジスタ２６qから読み取られたコマンドがステージｑ−１の親ノード１Ｄｑからのデータ要素Ｂｑ、Ｃｑの交換を示すと（Ａｑ＝１１）、これらのパラメータＢq、ＣqおよびＤqは、読み取られ段階１３０において変数ｋ、ｒおよびｓにそれぞれ割り当てられる、その後に、識別されたノードの２つの子と組み合わされたステアリングビットＦ（ｌｓ）の値は段階１３１においてビットｔに割り当てられる。処理済みのノード１ｓｔから読み込まれたデータＫ（ｌｓｔ）、Ｒ（ｌｓｔ）は、次に段階１３２において変数ｋ’およびｒ’に割り当てられる。
【００４９】
もし処理済みのノードがレジスタ２６qから読み込んだデータ要素のソートキーより大きいソートキーを含むなら（比較１３３の間はｋ＜ｋ’）、交換コマンドはもはや、レジスタ２６q+1に書き込まれるコマンドｖ’が段階１３４において００（無修正）と等しいとされるように、ツリーの下位ステージに伝搬される必要はない。この段階１３４において、レジスタ２６qに返送されるデータ要素ｗ’、ｘ’はさらに最小のソートキーを有するそのｋ、ｒと等しいとされる。もし比較１３３がｋ≧ｋ’を示せば、段階１３４は段階１３５により置換され、段階１３５においてプロセッサ２ｌqはｗ’＝ｋ’、ｘ’＝ｒ’およびｖ’＝１１をとる（交換コマンドの伝搬）。
【００５０】
プロセッサ２ｌqは次に段階１３６に進み、要素ｗ’、ｘ’をインタフェース・レジスタ２６qのロケーションＢqおよびＣqに書き込む。
【００５１】
コマンドを伝搬するためにコントローラ２ｌqは次に段階１３７を実行しインタフェース・レジスタ２６q+1に書き込む：Ａq+1＝ｖ’、Ｂq+1＝ｋ、Ｃq+1＝ｒおよびＤq+1＝ｓｔ。
【００５２】
もし伝搬されたコマンドが交換コマンドでなければ、すなわち、もし比較１３８がｖ’≠１１を示せば、コントローラ２ｌqによる交換コマンドの処理は書き込み段階１３７の後に終了される。他の状況では、プロセッサ２ｌqは段階１３９に進み、ステージｑ＋ｌに送信したキーｋが無限大であるか否かを調べる。
【００５３】
もし比較１３９がｋ＝∞を示せば、交換コマンドは実際に直接抽出コマンドであり、処理済みのノードと組み合わされた差分カウンタΔ（１ｓ）を更新することが必要である。この差動カウンタの値がまず読み取られ、段階１４０において変数δに割り当てられる。もしコントローラ２ｌqが左方向の子（比較１４１の間ｔ＝Ｏ）を処理したならば、変数δは段階１４２において１段階デクリメントされ、反対の場合、他方それは段階１４３において１段階インクリメントされる。差分カウンタΔ（１ｓ）は変数δの新しい値にしたがって段階１４４において更新される。
【００５４】
それぞれ有限のソートキーを有する２つの要素の交換が差動カウンタの値に影響を与えないとすれば、もし比較１３９がｋを送信したキーが有限であることを示せば、段階１４０から１４４までは実行されない。
【００５５】
プロセッサ２ｌqは次に、コントローラ２１q+1が（その段階１３６の間に）レジスタ２６ｑ＋ｌに返送したデータ要素Ｂq+1、Ｃq+1を読み取ることにより、またこの返送された要素を変数ｋおよびｒに割り当てることにより、段階１４５において交換コマンドの処理を再開する。上述のように段階１１９から１２６までを介して、コマンドの処理は続いて終了する。
【００５６】
図４−６のフローチャートは任意のステージｑの場合に提示されている。当然、ある程度の翻案が第１のステージｑ＝０と最後のステージｑ＝ｎ−１において必要である。上に述べたように、ｑ＝０に対して、処理済みのノードｌｓｔは常にツリーの根であると理解され、段階１０６−１０９、１１８、１２０−１２７、１３１および１３９−１４４はできる限り除かれる。レジスタ２６nを設けることが必要でないとすれば、最後のコントローラの下流段階１１０から１１７までは最後のステージｎ−１に関して除くことができ、段階１０２、１３７および１４５、さらに交換のみの点で段階１１９も除くことができる。
【００５７】
連続したコントローラの並行動作の時間的構成は、インタフェース・レジスタ２６qへのアクセスの共有により条件付けられている。コントローラ２ｌqがレジスタ２６q+1に対して、対応するパラメータも同様に送信する（コマンドの型式により段階１０２、１１７あるいは１３７の後に）コマンドを書き込み終える時刻αqを、同様に交換コマンドの場合にコントローラ２ｌqがレジスタ２６qに、コントローラ２１q-1に返送するデータ要素Ｂq、Ｃqを書き込み終える時刻βqを図４および図５に示す。さらに、α’qはコントローラ２ｌｑがレジスタ２６qから新規コマンドを読み込み始める時刻を示し（段階１００のすぐ前に）、またβ’qはコントローラ２ｌqがレジスタ２６q+1から、交換コマンドの場合に（段階１４５の直前に）コントローラ２１ｑ＋ｌにより返送されるデータ要素を読み込み始める時刻を示す。正確なパイプライン動作を得るためには、コントローラを各コマンドに対して、αq≦α’q+1およびβq≦β’q-1が得られるように設計することで十分である。
【００５８】
これらの２つの条件を満足させるためには、コントローラ２ｌqは非同期でも同期でも良い。第１の場合には、パイプライン動作はコントローラ間で交換される肯定応答信号によって保証される。段階１３６を実行した後、コントローラ２ｌqはコントローラ２１q-1に肯定応答信号を送り、それによりコントローラ２１q-1は段階１４５および交換コマンドの次の処理に進んで良いことを知る。さらに、段階１０２あるいは１３７あるいは１１７を実行した後で、コントローラ２ｌqは肯定応答信号をコントローラ２１q+1に送り、それによりコントローラ２ｌq+1はその読み取り段階１００を開始することによりコマンドの処理を開始してよいことを知る。
【００５９】
コントローラ２１qの同期動作は、コントローラを論理ゲートのネットワークから構成する場合に、実現がより便利である。この場合に、パイプラインの構成は図７のタイミング図により示される。
【００６０】
この図において、４つの行のそれぞれは、そのステージの１つのコントローラの動作を示す。ステージｑに関する行の上側の文字ＲＤおよびＷＲは、それぞれコントローラ２ｌqにより実行されるレジスタ２６qからのまたはレジスタ２６qへの読み取りと書き込みを表し、行の下側に位置する同じこれらの文字は、それぞれレジスタ２６q+1からのまたはレジスタ２６q+1への書き込みと読み取りを示す。上に述べたように、ステージの間の矢印はパイプラインレジスタによるコマンドとパラメータの伝達を表す。ハッチングを付けたインターバルは、コントローラ２ｌqがそれが制御するメモリ領域２０q上で動作中の時間を表す。
【００６１】
図７に示す期間θ1は、ソーティング装置が新しい要素を受信し、最小のソートキーを有する要素を転送することができる速度を決定する。それはコマンドに関する命令の集合を処理するために各コントローラにより要求される持続時間に対応する。この期間θ1が、新規コマンドが処理され始めた後に分類ツリーを一貫した順序付けの規則を再確立するために必要なサイクルθ2の持続時間より短いことが判る。図５に示す例において、第１の期間θ1はステージ１に置かれる他の１つの要素とツリーの根に位置する要素との交換に対応する（すなわち、図２の場合において、そのキーは２５と３８の間に置かれている)、また第二の期間θ1、ステージ２への新しい要素の挿入に対応する（キーは前の交換動作の間に導入された要素のキーより大きいかまたは等しい）。
【００６２】
最小のソートキーを有するデータ要素をレジスタ２６0へ返送するために装置により要求される応答時間θ0＝β0−α’0は期間θ1の約３分の１に対応することがさらに指摘される。
【００６３】
期間θ1を最小限度に抑え、したがってソーティング装置の動作速度を最大にするために、コントローラにより実行される処理動作を、処理動作がそのインタフェース・レジスタにアクセスする時刻を分離している間隔の内に均質に点在させることが有益である。これは図４から図６のフローチャートの若干の命令の処理を移動することにより実現できる。例えば、もし時刻β’以前に、コントローラｑが、コントローラ２１q+1がその一連の命令１３０−１３６を、レジスタ２６q+1からその結果を読み取る前に実行し終えるのを待たなくてはならない時間間隔１４６（図５）があれば、少なくともこの時間間隔のいくらかは他の命令を実行することにより満たされることができ、これは他のどこかで時間の節約を可能にする。上に述べたように例えば図４から図６の場合、処理済みのノードの姉妹のソートキーの読み込み１２０は、交換動作中の段階１４５の前で挿入動作中の段階１１８の後に行うことができるであろう。この種の最適化は、論理ゲートネットワークをプログラムするために構成されるアーキテクチャの選択に多くを依存する。
【００６４】
上記の説明において、装置に最良の速度性能をもたらすように、コントローラのそれぞれが、それへのアクセスがそのために予約されたバイナリーツリーの単一のステージと組み合わされた場合が考慮された。その動作に必要な論理回路（コントローラ２１q）の数で測られる装置の複雑さは、したがってｎである、すなわちソートされる要素の最大数の対数である。
【００６５】
ツリーのいくつかの連続したステージを単一のステージの代わりに若干数のコントローラ、少なくともそれぞれのコントローラ（すなわちｍ＜ｎ）と結び付けることにより、この複雑さは対応して装置速度が低下することを代償に低減できる。コントローラ毎のステージの数はすべてのコントローラに対して必ずしも同一ではない。特に、もし少なくともステージ０と組み合わされたコントローラが分類ツリーの環境に関連する他の機能も実行するならば、このコントローラが他のコントローラよりも少数のステージを管理するために準備がされてもよい。
【００６６】
コントローラがツリーのいくつかのステージと組み合わされている場合には、これらのステージに沿ってのコマンドの伝搬はこのコントローラにより連続的に処理される。
【００６７】
図８がツリーのステージｑからｑ＋ｐ−１と組み合わされたコントローラ２１，q、pの場合を示すように、異なるコントローラと組み合わされたステージ間のインタフェース・レジスタ２６q、２６q+pのみが、連続したコントローラの並行動作の点でパイプラインレジスタを構成する。他のレジスタ２６q+1、・・・、２６q+p-1はコントローラ２１q、pのみがアクセスできる。これらのレジスタは、このコントローラ２１ｑ、ｐを構成する論理回路の一部を形成するか、あるいはこのコントローラに対して確保され、ステージｑからｑ＋ｐ−１を有するメモリモジュールの一部を形成する。
【００６８】
ｍ番目のコントローラと組み合わされているバイナリーツリーのステージの中の差分カウンタΔ（ｉ）を不要にすることが可能なことが指摘される。この後者のコントローラはｐ個のステージｎ−ｐからｎ−１（１≦ｐ＜ｎ−１）と組み合わされていると仮定する。パイプラインレジスタ２６n-pから挿入コマンドＡn-p＝０１が読み込まれた時、このコマンドが発信された親はこのレジスタで識別されたノード１Ｄn-pである。もし、２n-p-1の考えられる親のそれぞれのために、最後のコントローラがこの親ノードの子孫の一部を形成している空きの葉の個々のリストを最新に維持しておくならば、パイプラインレジスタのフィールドＤn-pで識別された親ノードと組み合わされたリストに属する空きの葉からスタートしてステージｎ−１からステージｎ−ｐへ連続的に挿入コマンドを伝搬することにより、最後のコントローラは挿入コマンドを処理することができる。これらのリストのそれぞれにおいて、葉のそれぞれは、識別情報Ｄn-pのｎ−ｐ−１ビットと共に明瞭に葉を識別するｐビットで簡単に指定できる。このリストを維持する簡単な方法は後入れ先出し（ＬＩＦＯ）モードでそれを構成することである。識別された親に基づいて空きの葉を指定するｐビットが各ステージにおいて使用できるとすれば、挿入コマンドの伝搬を制御するために、最後のコントローラはさらに挿入コマンドをステージｎ−ｐからステージｎ−１へ伝搬することができる。
【００６９】
最後の分析において、図２から図８に示す型式のソーティング装置はそれぞれツリーのノード２iと２i+1の対と組み合わされた丁度２n-p-1−１個の差分カウンタΔ（ｉ）を備えることにより構成できるここで、ｉは１から２n-p-1−１までの範囲である。
【００７０】
図９から図１５はソーティング装置の他の実施形態を示す。
【００７１】
説明を容易にするために、各コントローラ２ｌqがバイナリーツリー（ｍ＝ｎ）の単一のステージｑと組み合わされている場合が再び考慮される。しかしながら、前と同じように、このソーティング装置のアーキテクチャが、少なくとも１つのコントローラがいくつかのステージ（ｍ＜ｎ）と組み合わされた場合と容易に置換可能であることは理解されるであろう。
【００７２】
すでに説明された代表的な実施形態と異なり、図９から図１５の実施形態は挿入コマンドをツリーの根から葉まで伝搬するために差分カウンタを使用しない。ツリーのステージｑに対応する各メモリモジュール２０qは、上に述べたようにノード２qから２q+1−１およびステアリングビットＦ（２q-1）からＦ（２q−１）を受信するためのロケーション２３を有するが、図９が示すように、差分カウンタを受信するためのロケーション２５は有しない。
【００７３】
各インタフェース・レジスタ２６qは、先に規定したパラメータＡq、Ｂq、ＣqおよびＤqを含む４つのロケーションに加えて、ステージｑ−１のノード１Ｄｑからの挿入コマンドの伝搬の間に、このコマンドがそこへ伝搬されるステージｑの子ノードを指定するビットＥqを受信する追加のロケーションを有する。上に述べたように、もしＥq＝０であれば、挿入コマンドは左方向の子ｌｄq０に伝搬され、他方、もしＥq＝１であれば、挿入コマンドは右方向の子ｌｄq１に伝搬される。
【００７４】
レジスタ２６qにおいて、親ノードの識別情報Ｄqおよび子ノードを指定しているビットＥqは、ｎ−１ビットの葉指定フィールドの内容Ｇｑのｑ個の最高位ビットから成る。この葉指定フィールドの内容Ｇqは、挿入コマンドの伝搬の間に、このコマンドが伝搬されるバイナリーツリーの空きの葉の１つを指定する。この空きの葉のバイナリー法表示はｌＧqである。葉の指定が空きであるとすれば、この同じ葉への他の挿入コマンドがバイナリーツリーの下流に現在伝搬していないという条件で、挿入された要素は、ツリーの根からこの指示された空きの葉までのパス上に、確実にその場所を見いだすことが可能であろう。
【００７５】
この条件を満たすために、ステージ０と１の間のインタフェース・レジスタ２６1の葉指定フィールドは、ツリーの最後のステージと組み合わされたコントローラ２１n-1からその値Ｇ1を受信する。コントローラ２１n-1は、例えば図１０に概略で示されるようなシフト・レジスタ３０により、空きの葉の第一のリストを維持する。このレジスタはｎ−１ビットのロケーションの番号ｎ’を含み、各コマンド期間θ1においてシフト演算を行う。任意の葉に向かって挿入コマンドがバイナリーツリーの中で多分伝搬しつつあるであろう任意の葉はｎ’の空きの葉のこの第一のリストの一部を形成する。インタフェース・レジスタ２６n-1から最後のコントローラにより読み取られたコマンドＡn-1が挿入コマンド（Ａn-1≠０１）ではない限り、図８に示すように、ｎ’個の期間θ1ごとに同じ葉の指定を配送するようにシフト・レジスタ３０はそれ自身ループバックされる。それに向かって挿入コマンドがツリーの中で多分伝搬しつつあるであろう葉の指定のそれぞれと異なっていると知られるこの指定Ｇ1は、インタフェース・レジスタ２６１の対応するフィールドに書き込まれる。もしそれに反して、挿入コマンドＡn-1＝０１がツリーの最後のステージに到達すれば、後に説明される方法で空きの葉の第２のリストから最後のコントローラにより抽出された新しい空きの葉Ｐは、シフトレジスタ３０およびインタフェース・レジスタ２６1に導入される。
【００７６】
この動作の方法を説明するために、新しい要素をツリーに挿入するために連続して装置がコマンドを処理する場合について、図１１は単純化された形式で図７のタイミング図に協力する。この図１１において、各矢印の先端部はコントローラ２１qが挿入コマンドを処理し始める時刻α’qを示す。上に述べたように、時刻α’oにおいて、コントローラ２１oは関連するコマンドおよびパラメータＡo、Ｂo、Ｃoを装置の周囲から受信し、またｑ≧１である時刻α’qにおいて、コントローラ２ｌｑはコマンドおよびレジスタ２６ｑのパラメーターＡq、Ｂq、ＣqおよびＧqを受信し、対応する処理動作を開始する。図１１に示す典型的な時間的構成において、最後のコントローラ２１n-1がレジスタ２６1に対応する空きの葉の指定Ｇ1を書き込んだ各挿入コマンドは、２つの期間θ1の後にレジスタ２６n-1のこの最後のコントローラにに到達する。したがって、この例においては、シフト・レジスタ３０にｎ’＝２のロケーションをとれば十分である。
【００７７】
この同じ例において（さらに図１参照）、図１０はレジスタ３０に保持されたリストに含まれるｎ’＝２の葉９および１３（数９および１３のバイナリー法表示は１００１および１１０１であるから、それぞれ００１および１０１により指定された）を示す。葉９はしたがって、最後から２番目のコマンドの間にフィールドＧ1に指定されている。もしこのコマンドが新しい要素の挿入を指し、葉９において終了するなら、（すなわち最後のプロセッサの動作の現在の期間でＡn-1＝０１）、葉９はリストおよびレジスタ３０から削除され、Ｐ．により指定された新しい葉（図１の場合１０、１１あるいは１５）により置換される。他の状況では、前記の最後から２番目のコマンドは、挿入を参照しないか、あるいはステージｎ−１の上流にその場所を見いだすデータ要素の挿入を参照するかして、その結果葉９はレジスタ３０に維持され、次のコマンドのためにフィールドＧ1に再び指定される。
【００７８】
実際には、番号ｎ’は常にバイナリーツリーのステージの番号ｎ未満となるであろう。このソーティング装置の実施形態が各時刻においてバイナリーツリーが少なくともｎ’個の空きの葉を有することを意味するとすれば、装置がソートできるデータ要素の最大数は、先に説明した装置と比較して常に２ｎ’以下の数だけ少なく、その結果、ステージの数があまり少なくない場合には装置のソーティング容量は大きな影響を受けない。もし、例えば装置がｎ’＝４においてｎ＝１２のステージを有するならば、装置は差分カウンタが使用される場合には最大Ｎ＝４０９５の要素までソートでき、空きの葉のリストが使用される場合には最大Ｎ＝４０８８の要素をソートできる、これらの２つのＮの値の相違は重要ではない。
【００７９】
図４で補われるべき図１２および図１３は、図４から図６に類似のフローチャートを示す（同様な段階を示すために同じ参照番号が使われている）、コマンドの処理の間に図９に示す型式のコントローラ２ｌqにより実行される動作を詳述する、ここで、ｑ＜ｎ−１である。
【００８０】
図４、５および６のフローチャートと比較して、図１２、１３および６のフローチャートは差分カウンタを参照するすべての動作を削除することにより単純化されている。挿入コマンドの処理において実行される段階１０５および１１７において、親ノードＤqあるいはＤｑ＋１の識別情報だけよりもむしろ葉指定フィールドＧqあるいはＧq+1の全体が、インタフェース・レジスタ２６qあるいは２６q+1から読み取られるか、あるいはインタフェース・レジスタ２６qあるいは２６q+1に書き込まれる。前述の例と比較して、コントローラ構造の単純化およびメモリスペースの縮少がそれぞれ別に到達できた。
【００８１】
図６で補われるべき図１４および図１５は、ツリーのステージｎ−１に関係する最後のコントローラにより実行される動作を詳述する。時刻βn-1とαn-1との間に実行される段階１５０、１５１あるいは１５２は、レジスタ２６1の葉指定フィールドへの、図１０に示すシフト・レジスタ３０の内容に対応する空きの葉のリストの中の順位ｉ（Ｏ≦ｉ＜ｎ’）の葉の数のｎ−１個の最下位ビットＧ1＝Ｔ（ｉ）の書き込みに対応する。最後のステージｎ−１に関してのコマンドの各々の処理は、段階１５３においてカウンタｉの増加、モジュロｎ’、によりレジスタ３０におけるシフト動作に対応するこれを例外なく終了させる。
【００８２】
コントローラ２１n-1はまた空きの葉の第２のリストを保持し、それを例えば後入れ先出し（ＬＩＦＯ）モードで管理する。この第２のリストの第１の葉は、最後のコントローラのレジスタあるいはそのメモリ領域２０n-1に蓄積されているｎ−１ビットを有するポインタＰにより指定されている。この第１の葉の数のバイナリー法表示は１Ｐである。第２のリストの各々の葉はソートキーが無限大であるデータ要素を含み、関連するリファレンスに対応しているメモリの部分は、例えば第２のリストの中の次の葉のｎ−１ビットの上の指定に等しい継続ポインタを蓄積するために使用される（もし１ビットが無限大のキーを識別するために予約されれば、キーに対応する部分もさらに使用できる）。
【００８３】
挿入コマンドがインタフェース・レジスタ２６n-1の最後のステージのコントローラに到達すると（Ａn-1＝０１）、Ｇn-1により指定された空きの葉は新しいデータ要素を含むように満たされねばならない。したがって、図１２および図１３のフローチャートの段階１１０から１１７は不要である。読み取り段階１０５に段階１５５が続き、段階１５５においてコントローラ２１n-1は、第２のリストの第１の空きの葉に含まれる要素のリファレンスに対応するメモリ部分に含まれる継続ポインタＲ（ｌＰ）を変数ｈから読み取る（段階１５５）。次の段階１５６において、コントローラ２６n-1は空きの葉の２つのリストを更新する。それはＧn-1により指定された空きの葉を第１のリストから除去し、領域Ｔ（ｉ）において、第２のリストの第１の葉のポインタＰで、それを置換する。次にそれはこの値Ｐを段階１５５において読み取ったポインタの値に置換する。プロセッサ２１n-1は前述の段階１５０へ次に図６の段階１１９から１２６へ、また段階１５３へ行くことにより挿入コマンドの処理を終了する。
【００８４】
交換コマンド（Ａn-1＝１１）を処理するために、最後のステージのコントローラはまずに先に論じた段階１３０から１３６を実行する。段階１３７は必要ではなく、前述の段階１５１により置換される。もしステージｎ−２から引き換えに提示されたソートキーｋ＝Ｂn-1が処理された葉（比較１３８の間ｖ’＝１１）から読み取ったそのＫ（ｌｓｔ）よりも大きければ、このキーｋは段階１３９において無限大と比較される。もしこのキーｋが有限であるなら、交換コマンドの処理は図６の段階１１９から１２６を経てまた段階１５３を経て終了する。他の状況では、コマンドは直接の抽出を示し、以前占有した葉を解放する。段階１５７において、この葉は無限大のソートキーおよび参照として第２のリストの第１の葉のポインタの値Ｐをそこに書き込むことにより更新される。対応するステアリングビットＦ（ｌｓ）は段階１３１において読み取られた値を補足する値を受信する。最終の段階１５３に移る前に、コントローラ２６n-1は段階１５８において第２のリストの第１の葉のポインタＰを解放された葉のバイナリー法の指定ｓｔに更新することにより抽出コマンドの処理を終了する。
【００８５】
図９から図１５による装置の初期化に際して、空きの葉の２つのリストは例えば次のように初期化される：Ｔ（ｉ）＝ｉ、ベース２に対して、Ｏ≦ｉ＜ｎ’に対して；Ｐ＝ｎ’、ベース２に対して；またＲ（ｌｉ）＝ｉ＋ｌ、ベース２に対して、ｎ’≦ｉ＜２ｎ−１。
【００８６】
図１０、図１４および図１５に示す典型的な具体化例において、最後のコントローラ２１n-1はシフトレジスタ３０およびＬＩＦＯスタックにより「第一のリスト」および「第二のリスト」を保持する。同様の複雑さを持った他の論理構成を採用しうることは指摘されるであろう。例えば、コントローラ２１n-1は、空きの葉の数を含む先入れ先出し（ＦＩＦＯ）モードで管理される論理待ち行列を保持でき、一方このＦＩＦＯ待ち行列が常に少なくともｎ’個の空きの葉を含むことが保証される。このような条件の下で、「第一のリスト」は待ち行列の最後のｎ’個のロケーションと、待ち行列の前のロケーションの「第二のリスト」から成る。
【００８７】
上述したソーティング装置において、キーがそれによってソートされる、すなわち段階１１１、１２２、１２３および１３３において互いに比較される。順序関係は、自然数の昇順に対応する。簡単な論理回路によって比較が容易にできる任意の順序関係が、このような装置において要素をソートするために使用できることが理解されるであろう。
【００８８】
もし、例えば各ソートキーＫ（ｉ）が、その時点においてデータ要素のために対応するリファレンスＲ（ｉ）を取り出すように要求される未来の時刻を規定する時間タグであるなら、ソーティング装置は手順の時間的順序付けを制御するタイムアウト装置として動作することができる。ツリーの根に位置する要素のキーは、もし現在の時刻が到達されていれば、この要素を交換するか、あるいは抽出するように、次に現在の時刻と比較される。
【００８９】
もしこの応用例において、時間の値が０から２L−１まで変動するサイクリック・カウンタによってＬビットにコード化されれば、２個のＬビットキーｋとｋ’の間の順序関係は、０≦（ｋ’−ｋ）（ｍｏｄ２L）＜２Ｌ−１の場合にのみ、ｋ≦ｋ’でありうる。言い換えれば、例えば段階１２２において、Ｌビットについて差分ｋ’−ｋを計算し（すなわち最高位のキャリーを無視し）、この差分の順序２L−１のビットが０（ｋ≦ｋ’）あるいは１（ｋ＞ｋ’）であるか否かを調べれば十分である。したがって、２L−ｌ以上現在の時刻より早いか、あるいは２L-1−１以上現在の時刻よりも遅れている時刻をどのキーも指定しなければ、キーの入力順は満足され、これは十分に大きな数Ｌを選択すればこれは容易に満たされる条件である。
【００９０】
上述したソーティング装置の応用例をＡＴＭセルスペーサについて説明する。
【００９１】
図１６のスペーサにおいて、ポリシング機能は、現在時刻と各着信セルが関係する接続の識別情報ＩｄＣｘに基づいてモジュール４０により実行される。各セルに対して再帰的に計算された理論的送出時間ＴＥＴは、このモジュール４０によりこのセルが関係する接続と組み合わされたスペーシング間隔Ｔと共にスペーシングコントローラ４１に転送される。この情報と接続識別情報ＩｄＣｘに基づきスペーシングコントローラ４１は着信セルが書き込まれ発信セルが読み取られるセルメモリ４２の管理を監視し、さらにポインタメモリ４３とソーティング装置４４を管理する。
【００９２】
ＮＣＸはＩｄＣｘ＝ｌからＩｄＣｘ＝ＮＣＸまでスペーサが処理できる番号が付された仮想接続の数を表示し、またＮＣＥはメモリ４２が前もって規定されたロケーションＣｈ＿ｃｅｌｌ（ｌ）からＣｈ＿ｃｅｌｌ（ＮＣＥ）に収容できるセルの数を表示する。
【００９３】
ここに示す代表的な実施形態において、セルメモリ４２およびポインタメモリ４３は２つの別のメモリモジュールから成り、その第１のメモリモジュールはコントローラ４１の制御の下にユニット４６により管理される。しかしながら、他の実施形態が可能であることは理解されるであろう。特に、メモリ４２および４３はコントローラ４１によりアクセスが命令される単一のメモリモジュールで実現できるであろう。上に述べたように、例えば２メガバイトのＲＡＭメモリモジュールが、セルメモリを管理するに必要なポインタと共に、ＮＣＸ＝４０９６の異なる仮想接続に関する最大ＮＣＥ＝３２，０００セルまでの蓄積を可能とする。
【００９４】
図１７はセル−クロック信号ＣＫＣを示し、それに基づいてスペーサのシーケンサ４７は必要なクロック信号をモジュール４０、スペーシングコントローラ４１、ソーティング装置４４およびセルメモリのマネージャ４６に供給する（図１）６。このクロック信号の周期は１５５Ｍｂｉｔ／ｓリンクの場合に２．７μｓである。この信号ＣＫＣの各周期に、スペーサはメモリ４２に書き込まれたセルを受信し（図１７の第３行）、メモリ４２から読み込んだセルを送出する（図１３の第４行）ことができなくてはならない。図１７に示す代表的な刻時において、各セル期間は同様の持続時間を持った２つの連続したフェーズに分割され、第１のフェーズは着信セルの受信のためであり、第２のフェーズは発信セルの送出のためである。
【００９５】
各セル期間の第１フェーズにおいて、スペーシングコントローラ４１はマネージャ４６にセルメモリ４２の中のスタートアドレスａを供給する、そこからスタートして、このマネージャは着信セルの５３バイトの書き込みを命令する。第２フェーズにおいて、コントローラ４１により供給されたスタートアドレスａは、発信セルを転送するために、マネージャ４６に、メモリ４２のアドレスａから始まる蓄積された５３バイトの読み出しを命令できるようにする。この説明のために、アドレスａは、セルが書き込まれる、あるいはセルが読み出されるメモリ４２（１≦ａ≦ＮＣＥ）のロケーションＣｈ＿ｃｅｌｌ（ａ）の数に対応すると見なされ、また規約により、ａ＝Ｏは関連するフェーズ中はメモリ４２に対するアクセスを命令してはならないとマネージャ４６に通知する（セル期間内は、着信セル、あるいは送出されるセルを禁止）。
【００９６】
セルメモリ４２は、セルを含む各仮想接続に対して、これらのセルが先入れ先出し（ＦＩＦＯ）モードで配列されるロケーションのリストを含むように構成される。これらのリストはポインタメモリ４３によりコントローラ４１によって管理される。
【００９７】
メモリ４３のポインタはそれぞれロケーションＣｈ＿ｃｅｌｌ（ｌ）からＣｈ＿ｃｅｌｌ（ＮＣＥ）と組み合わされた、フリーロケーション・ポインタＰｔｒ＿ｆｒｅｅ、１≦ＩｄＣｘ≦ＮＣＸに対してＮＣＸリスト開始ポインタＰｔｒ＿ｓｔａｒｔ（ＩｄＣｘ）、１≦ＩｄＣｘ≦ＮＣＸに対してＮＣＸリスト終端ポインタＰｔｒ＿ｅｎｄ（ＩｄＣｘ）、および１≦ｉ≦ＮＣＥに対してＮＣＥ継続ポインタＰｔｒ＿ｃｏｎｔ（ｉ）、を有する。メモリ４２が所定の時刻においてセルを含んでいない仮想接続の各識別情報ＩｄＣｘは、この時刻に零にそのリスト終端ポインタＰｔｒ＿ｅｎｄ（ＩｄＣｘ）を有し、空白のリストを示す（これは図１６に示す例でＩｄＣｘ＝２の場合である）。他の状況では、接続ＩｄＣｘにより最も以前に受信したセルを蓄積したロケーションＣｈ＿ｃｅｌｌ（ｉ）の数ｉはリスト開始ポインタＰｔｒ＿ｓｔａｒｔ（ＩｄＣｘ）と等しく、接続ＩｄＣｘにより最も最近受信したセルを蓄積したロケーションの数はリスト終端ポインタＰｔｒ＿ｅｎｄ（ＩｄＣｘ）と等しい。接続ＩｄＣｘに関するＦＩＦＯリストは継続ポインタにより連鎖される。リストの終わりではないロケーションＣｈ＿ｃｅｌｌ（ｉ）と組み合わされた継続ポインタＰｔｒ＿ｃｏｎｔ（ｉ）は、そのリストでそれに続くロケーションＣｈ＿ｃｅｌｌ（Ｐｔｒ＿ｃｏｎｔ（ｉ））を指定する。もしロケーションＣｈ＿ｃｅｌｌ（ｉ）がリストの終わりであれば、Ｐｔｒ＿ｃｏｎｔ（ｉ）＝Ｏにセットされる。図１６の例において、ＩｄＣｘ＝ｌと関連するリストはＣｈ＿ｃｅｌｌ（ＮＣＥ−１）、Ｃｈ＿ｃｅｌｌ（ｌ）およびＣｈ＿ｃｅｌｌ（３）であり、またＩｄＣｘ＝ＮＣＸと関連するリストはロケーションＣｈ＿ｃｅｌｌ（６）に縮小する。送出されるセルにより占有されていないメモリ４２のロケーションは空きロケーションのＬＩＦＯリストを形成し、第１のロケーションはポインタＰｔｒ＿ｆｒｅｅにより指定され、後続のロケーションは連続した継続ポインタにより指定される。図１６の例において、空きロケーションのリストは出力順にＣｈ＿ｃｅｌｌ（５）、Ｃｈ＿ｃｅｌｌ（ＮＣＥ）およびＣｈ＿ｃｅｌｌ（２）である。
【００９８】
図１６のスペーサの分類ツリーの根は、ステージ０と組み合わされたコントローラ２１0の処理動作を実行するスペーシングコントローラ４１によりアクセスできる（図２から図１５）。ツリーの根に位置するデータ要素Ｋ（１）、Ｒ（１）は、図に示すようにポインタメモリ４３に、あるいはコントローラ４１の特殊レジスタに蓄積することができる。コントローラ４１はインタフェース・レジスタ２６1によりソーティング装置４４のステージ１からｎ−１とコマンドおよびパラメータを交換する。この例においてインタフェース・レジスタ２６1は図９を参照して説明されたものに一致している。
【００９９】
ソーティング装置４４に供給される各データ要素は、ソートキーＫ（ｉ）に関して、リスト開始を構成するメモリ４２のロケーションに蓄積されたセルの理論的送出時間から成り、またリファレンスＲ（ｉ）に関して、このセルが関係する仮想接続の識別情報ＩｄＣｘから成る。キーＫ（ｉ）はしたがって、既に説明したように、Ｌビットのサイクリック・カウンタにより規定できる時間タグである。無限大のキーを区別するために１ビットをプラスした、例えばＬ＝１６ビットのカウンタが、ＡＴＭスペーサへの応用に適している。リファレンスＲ（ｉ）はＮＣＸ＝４０９６の接続に対して１２ビットでよい。
【０１００】
もしスペーサが実スペーサであれば、コントローラ４１はツリーの根にあるキーＫ（１）を現在の時刻ｔａと比較し、もしＫ（ｌ）≦ｔａであれば、マネージャ４６にａ＝Ｐｔｒ＿ｓｔａｒｔ（Ｒ（ｌ））を供給し、その結果リストのスタートに位置するセルの中で最小の理論的送出時間を有するセルが送出される。仮想スペーサの場合には、コントローラ４１は同じように動作するが、現在の時刻との比較はしない。Ｋ（ｌ）＜∞になり次第各周期にセルが送出される。
【０１０１】
そのロケーションリストが空である（Ｐｔｒ＿ｅｎｄ（ＩｄＣｘ）＝Ｏ）接続ＩｄＣｘに関連するセルが到着すると、このセルはロケーションＣｈ＿ｃｅｌｌ（Ｐｔｒ＿ｆｒｅｅ）に蓄積され、フリーロケーションのリストは更新され、またコントローラ４１は、リファレンスがこのＩｄＣｘに対応し、ソートキーがこのセルに対してモジュール４０により計算されたＴＥＴであるデータ要素の分類ツリーの中に挿入を命令する。
【０１０２】
ロケーションのリストが空ではない接続ＩｄＣｘに関するセルの到着は、分類ツリーの内容を修正せず、ロケーションＣｈ＿ｃｅｌｌ（Ｐｔｒ＿ｆｒｅｅ）での蓄積と、また空きロケーションのリストと接続ＩｄＣｘと組み合わされたリストの更新のみを要求する。
【０１０３】
ロケーションのリストがこの１つのセルを含む接続ＩｄＣｘに関するセルの送出は分類ツリーの対応する要素の直接的抽出を必要とし、それは無限大のキーを有する要素の交換に相当する。
【０１０４】
ロケーションのリストがこのセルの後に１つ以上のセルを含む接続ＩｄＣｘに関するセルの送出は、ツリーの対応する要素と、リファレンスがこのＩｄＣｘに対応し、ソートキーがリストの第２の位置、すなわちロケーションＣｈ＿ｃｅｌｌ（Ｐｔｒ＿ｃｏｎｔ（Ｐｔｒ＿ｓｔａｒｔ（ＩｄＣｘ）））に蓄積されたセルに割り当てられた理論的送出時間である新しい要素との交換を必要とする。
【０１０５】
この後の場合において、新しい要素のキーを形成する理論的送出時間は、リストの新しい開始に蓄積されたセルに関してモジュール４０により供給されたものであり得る。したがって、セルが到着する時にモジュール４０により供給されたＴＥＴ時間を蓄積することは有益である。しかしながら、コントローラ４１がソーティング装置４４に新しいデータ要素を供給する時に、セルに対して理論的送出時間を再計算することが望ましい。
【０１０６】
この目的のために、メモリ４３は、さまざまな仮想接続ＩｄＣｘに割り当てられたスペーシング間隔Ｔの値ＴＴ（ＩｄＣｘ）が蓄積された配列を含み、その値をコントローラ４１は当該接続によってセルが到着する時モジュール４０から受信する。Ｋ（ｌ）≦ｔａである時、実スペーサはＣｈ＿ｃｅｌｌ（Ｐｔｒ＿ｓｔａｒｔ（Ｒ（ｌ）））に蓄積されたセルを送出し、分類ツリーの根に位置する要素Ｋ（ｌ）、Ｒ（ｌ）を新しい要素Ｋ（ｌ）＋ＴＴ（Ｒ（ｌ））、Ｒ（ｌ）と交換することを命令する。言い換えれば、リストの新しい開始に蓄積されたセルの理論的送出時間は、送出されたセルの理論的送出時間に当該接続に割り当てられた時間間隔ＴＴ（ＩｄＣｘ）を加えたものに等しいとされる。
【０１０７】
この手順は２つの利点を有する。第１は、もしモジュール４０が、接続ＩｄＣｘに関する２つの連続したセルに、そのそれぞれの到着時刻によってＴＴ（ＩｄＣｘ）よりいっそう離れている理論的送出時間ＴＥＴを割り当てるならば、また第１のセルが送出された時に、もしこれらの２つのセルの第２のセルがすでにメモリ４２に書き込まれていれば、第２のセルの理論的送出時間はモジュール４０により計算された理論的送出時間に対して進めることができ、その接続の後続のセルの理論的送出時間も所要のスペーシング特性を阻害せずに進めることができる。これは若干のセルの不要な遅延を回避する。
【０１０８】
第２の利点は、ある接続に割り当てられたスペーシング間隔を動的に、かつただちに修正できることである。リンクの渋滞が輻輳の危険を生ずる時、この柔軟性は若干の仮想接続に対して例えばスペーシング間隔を増やすことができる。このスペーシング間隔の増加は、メモリ４２に含まれるこの接続セルに関する点を含みただちに効力を発し、したがってセルは最初に計算されたＴＥＴにしたがっては送出されないであろう。かくして予防的方策の適用による避けられない輻輳へ導く可能性がある遅延は回避される。当然、接続に対してスペーシング間隔を増やす許可はこの接続が確立される時に、同一のＣＤＶ許容誤差および情報源の同一挙動に対してセルがポリシング機能により廃棄される確率が増加することを仮定して、情報源（利用者）と合意に達しなければならない。
【０１０９】
図１８は、各セル期間の第１フェーズにおいて図１７の第２行に示す時間間隔２００の間にコントローラ４１により実行される動作を示す。
【０１１０】
第１の段階２０１は、着信セルが問題のセル期間内にスペーサに到達するか否かを決定し、もし妥当であるならば、このセルが関連する接続の識別情報ＩｄＣｘを、理論的送出時間ＴＥＴおよびモジュール４０によりこのセルに供給されたスペーシング間隔Ｔと共に確認することから成る。
【０１１１】
もし着信セルが受信されなければ、アドレスａ＝０が段階２０２においてセルメモリのマネージャ４６に供給され、その後、段階２０３において、コントローラ４１はバイナリーツリーコマンド（Ａ1＝００）の内容の修正の無いことをインタフェース・レジスタ２６1に書き込む。
【０１１２】
もし着信セルが存在していれば、段階２０４においてフリーロケーション・ポインタＰｔｒ＿ｆｒｅｅがポインタメモリ４３から読み出され、アドレスａに割り当てられ、段階２０２においてマネージャ４６に供給される。もしａ＝Ｏ（受信セル無し、あるいはメモリ４２に多数の空きロケーションが存在する）ならば、マネージャ４６は現在のセル期間中はメモリ４２に書き込まず、スペーシングコントローラ４１は前述の段階２０３を実行し、その結果バイナリーツリーの内容は変化しない。他の状況では、コントローラ４１はポインタ読み込み段階２０５に進む。
【０１１３】
段階２０５において、フリーロケーションのリストの第２のロケーションの数Ｐｔｒ＿ｃｏｎｔ（ａ）、接続ＩｄＣｘに関するリストの開始の数Ｐｔｒ＿ｓｔａｒｔ（ＩｄＣｘ）およびこのリストのポインタＰｔｒ＿ｅｎｄ（ＩｄＣｘ）はそれぞれ変数ｂ、ｃおよびｄに割り当てられる。段階２０６において、スペーシング間隔の配列ＴＴは接続ＩｄＣｘに対してモジュール４０から受信した値Ｔにより更新され、接続ＩｄＣｘに関するロケーションのリストの終わりに対するポインタとしてアドレスａがメモリ４３に書き込まれ、以後リストの終わりがあることを示すために、このロケーションと組み合わされた継続ポインタＰｔｒ＿ｃｏｎｔ（ａ）は零にセットされ、フリーロケーション・ポインタＰｔｒ＿ｆｒｅｅは変数ｂと共に更新される。
【０１１４】
接続ＩｄＣｘに関するロケーションのリストが空でなかったとすれば（すなわち比較２０７の間、ｄ≠Ｏであれば）、先に説明したように分類ツリーの内容の修正は必要なく、その結果スペーシングコントローラ４１は、前のリストの終わりと組み合わされた継続ポインタを段階２０８において古いフリーロケーション・ポインタと更新した後、前述の段階２０３を実行する。Ｐｔｒ＿ｃｏｎｔ（ｄ）＝ａ。
【０１１５】
もし比較２０７がｄ＝Ｏを示せば、コントローラ４１は段階２０９においてＰｔｒ＿ｓｔａｒｔ（ＩｄＣｘ）＝ａを書き込むことによりリストポインタの更新を完了する。コントローラは次に新しいデータ要素ＴＥＴ、ＩｄＣｘを分類ツリーの中へ挿入する。コントローラがそのために行う動作は、バイナリーツリーのステージ０のコントローラ２６0により行われた動作、すなわち図１２、図１３および図６のフローチャートの段階１１０から１１９に対応する。段階２１０において、コントローラ４１は変数ｋおよびｒにソートキーＫ（１）およびツリーの根において読み出したデータ要素のリファレンスＲ（１）を割り当て、その後にコントローラはキーｋを段階２０１においてモジュール４０から受信した理論的送出時間ＴＥＴと比較する（比較２１１）。もしＴＥＴ≧Ｋであれば、挿入コマンドは分類ツリーのステージ１に伝搬されなくてはならず、その結果、段階２１２において、コントローラ４１がＡ1＝０１、Ｂ1＝ＴＥＴおよびＣ1＝ＩｄＣｘをパイプラインレジスタ２６1に書き込み、図１６で示すように、レジスタ２６1の葉指定フィールドはソーティング装置４４の最後のコントローラ２１n-1から空きの葉Ｇ1の数を受信する。
【０１１６】
もし比較２１１がＴＥＴ＜Ｋを示せば、次に新しいデータ要素ＴＥＴ、ＩｄＣｘは、ツリーの根に書き込まれる必要があり、これは段階２１６において実行される。これに先だって、もしツリーの根に先に位置されたソートキーｋが無限大であれば（比較２１３）、コントローラ４１は段階２１４においてリセットコマンドＡ1＝１０をパイプラインレジスタ２６1の中へ伝搬する。他の状況では、コントローラ４１は先に段階２１５において根に位置された要素Ｂ1＝ｋ、Ｃ1＝ｒのための挿入コマンド（Ａ１＝０１）をレジスタ２６１に書き込む。
【０１１７】
コントローラ４１のソーティング装置４４との同期に関する限り、図１８は、図７および図１１の参照して関係する時刻と対応する時刻αoが、コントローラ４１によるパイプラインレジスタ２６1への書き込みの段階２０３、２１２、２１４あるいは２１５の後に起きることを示す。この時刻αoから開始して、ステージ１のコントローラ２１1はコマンド（図１７に示す時刻α’1）の処理を始めることができる。
【０１１８】
図１９は、各セル期間の第２フェーズにおいて図１７の第２行に示す時間間隔３００の間にコントローラ４１により実行される動作を示す。
【０１１９】
第１の段階３０１は、ソートキーＫ（ｌ）およびツリーの根に位置するデータ要素のリファレンスＲ（ｌ）の読み出しと、それらを変数ｋおよびｒにそれぞれ割り当てることから成る。次の比較３０２は、セルを送出すべきか否かを決めるために動作する。実スペーサの場合には、この段階３０２はソートキーｋを現在時刻ｔａと比較することから成る。仮想スペーサの場合には、この段階３０２は単にキーｋが有限であるか、無限大であるかを調べることから成る。もしｋ＞ｔａならば（実スペーサの場合）、バイナリーツリーコマンドＡ1＝００の内容に修正の無いことをパイプラインレジスタ２６1に書き込むことを除いて（段階３０３）、コントローラ４１はセル期間の第２フェーズにはなんら動作を行わない。
【０１２０】
もし段階３０２以降セルの送出が続くならば、接続ｒに関連するリスト開始におけるロケーションの数と、このロケーションと組み合わされた継続ポインタがメモリ４３から読み出され、段階３０４において変数ａとｂにそれぞれ割り当てられる。アドレスａはその次に、段階３０５においてマネージャ４６に供給され、その結果、マネージャはこのアドレスに蓄積されたセルを送出する（図１７の第４行）。もしツリーの根に位置する要素で識別された接続ｒ＝Ｒ（ｌ）に関するロケーションのリストが単一のセルのみを収容していたなら、変数ｂは０である。これは比較３０６により検出される。この場合に、リスト終端ポインタＰｔｒ＿ｅｎｄ（ｒ）は段階３０７において、このリストがもうセルを含んでいないことを示すように零にセットされ、また段階３０８において、バイナリーツリーで交換されるべき新しい要素のソートキーを構成する無限大の値が理論的送出時間ＴＥＴに割り当てられる。
【０１２１】
もし段階３０６においてｂ≠Ｏであれば、ロケーションのリストはいくつかのセルを含み、変数ｂはこのリストのスタートポインタとして段階３０９において書き込まれ、段階３１１において、ロケーションＣｈ＿ｃｅｌｌ（ｂ）に蓄積されたセルは段階３０１で読み込まれたキーｋ＝Ｋ（ｌ）と等しい新しい理論的送出時間ＴＥＴを受信し、このＴＥＴには段階３１０で読み取られた関連する接続のスペーシング間隔ＴＴ（ｒ）と等しくされた変数Ｔが加えられる。ツリーの根に位置する要素Ｋ（ｌ）、Ｒ（ｌ）を新しい要素Ｂ1＝ＴＥＴ、Ｃ1＝ｒと交換するためのコマンド（Ａ1＝１１）が、段階３１２において、パイプラインレジスタ２６1に書き込まれる。
【０１２２】
ソーティング装置４４のコントローラ２１1がコマンドを処理し始めることができる時刻αoは、図１９が示すように段階３１２（あるいは段階３０３）の後に位置される。スペーシングコントローラ４１は、分類ツリーのステージ１から返送された要素をレジスタ２６1の中に取り込む前に、時刻β’0≧β1（図１７参照）まで待たなくてはならない。図１７に示す例において、コントローラ４１はインターバル〔α0、β’0〕においてフリーロケーションのリストを更新し、段階３１３においてコントローラ４１はフリーロケーション・ポインタＰｔｒ＿ｆｒｅｅを読み取り、変数ｃにそれを割り当て、次に段階３１４において、コントローラはＰｔｒ＿ｃｏｎｔ（ａ）＝ｃおよびＰｔｒ＿ｆｒｅｅ＝ａをメモリ４３に書き込む。
【０１２３】
ツリーのステージ１のコントローラが最小のキーを有する要素をレジスタ２６1に一旦返送すると、この要素は段階３１５においてコントローラ４１により読み出され、次に段階３１６においてツリーの根に書き込まれる。
【０１２４】
図２０は仮想接続に割り当てられた優先権インデックスを考慮に入れることができるＡＴＭセルスペーサの変形例を示す。１とＵの間の値をとると考えられるこの優先権インデックスはｕと示される。図２０のスペーサは、それぞれそのステージ０とそのステージ１の間にパイプラインレジスタ２６1(u)を有する、Ｕ個のソーティング装置４４(u)を有する。各ソーティング装置４４(u)の動作は先に説明したものと同じである。各バイナリーツリーの根はポインタメモリ４３に含まれており（その内容の残りは図２０には表示されない）、スペーシングコントローラ４１により管理されると考えられる。セルメモリ４２およびそのマネージャー４６の動作は、コントローラ４１により供給されたアドレスａにおけるセルの書き込みと読み出しの点で前述したものと同じである。
【０１２５】
各ソーティング装置４４(u)は、リファレンスＲ(u)（ｉ）が同じ優先権インデックスｕを有する仮想接続ＩｄＣｘの識別情報を指定するデータ要素を処理する。これらの要素の中から、装置４４(u)はその根において（表示の例ではメモリ４３の中で）、そのキーＫ(u)（１）が最小である要素を選択する。したがって、最小のソートキーを示すツリーの根に位置するデータ要素のそれの中で、識別された接続に関連するリストの開始に含まれているセルの送出を命令するように、スペーシングコントローラは工夫されている。いくつかの最小ソートキーＫ(u)（１）が等しい場合、スペーシングコントローラ４１は同順位の中で最大の優先権インデックスを有する接続を選ぶ。
【０１２６】
この優先権インデックスの管理方法は、スペーシングコントローラ４１を大幅に複雑にするものではない。セルの受信の際に実行される動作に関する限り、図１８のフローチャートは変わらず、段階２１０から２１６は接続識別情報ＩｄＣｘと同時にコントローラ４１により受信された優先権インデックスｕに対応する分類ツリー４４(u)に関して実行される。
【０１２７】
各セル期間の第２フェーズにおいて実行された動作に関する限り（図１９）、ツリーの根に位置する要素を読み出し、この要素のキーを現在時刻と比較するための段階３０１、３０２が優先権インデックスの降順に連続して、インデックスｕについては、現在時刻に到達したことを段階３０２が示すまで行される。この場合に、段階３０４から３１６は変更無しに実行され、レジスタ２６1(u)への書き込み３１２と、レジスタ２６1(u)からの読み出し３１５、および当該分類ツリーの根への書き込み３１６が実行される。
【０１２８】
図２０の例において、Ｕ個のソーティング装置は別個である。これらのさまざまなソーティング装置が、その制御手段、すなわち、そのコントローラ２ｌqおよびそのパイプラインレジスタ２６qを共有できることが指摘される。図２１はＵ＝２の特定の場合について、このような具体化例を示す。
【０１２９】
図２１の実施形態において、Ｕ＝２の分類ツリーはインタフェース・レジスタ２６qとステージコントローラ２１qを共有する。ただその記憶ステージ２０q(1)、２０q(2)（ｑ≧Ｏ）のみが区別される。２つのステージ０はポインタメモリ４３の中に含まれる。各ステージｑ≧ｌに対して、２つのツリーの対応するステージ２０q(1)、２０q(2)がコントローラ２１qにより管理されるメモリの２つの別の領域により形成され、これらは例えば二値の優先権インデックスから成り、したがってパイプラインレジスタのフィールドＤqの最高順位の命令ビットを形成している追加のアドレスビットに基づいて識別される
図２２は、リンクのビット・レートがあまり高くない時（例えば１５５Ｍｂｉｔ／ｓリンク）に使用できるスペーサの異なる実施形態の動作を示す。この変形例において、ソーティング装置は２つのコントローラを有し、一方はバイナリーツリーのステージ０からｎ−ｐ−１と組み合わされた２１o、n-pであり、他方はバイナリーツリーのステージｎ−ｐからｎ−１と組み合わされた２１n-p、pである。このソーティング装置において、抽出あるいは交換コマンドは前述のようにステージ０からステージｎ−１へ伝搬され、一方挿入コマンドはステージｎ−１からステージ０に向かって伝搬される。したがって、空きの葉の識別Ｇqを受信するために、差分カウンタあるいはインタフェース・レジスタにロケーションを設けることは不要である。
【０１３０】
図２２に示すように、各セル期間は、例えばセルメモリに任意のセルを書き込むフェーズとセルメモリから任意のセルを読み出すフェーズに対応する２つのフェーズＩとＩＩに分けられる。第１のフェーズＩの始めに、スペーシングコントローラは、要素を分類ツリーに挿入する理由およびこのツリーの要素を交換あるいは抽出する理由があるか否かを調べる。もし妥当であるなら、第１のコントローラ２１o、n-pは次に、ステージ０からステージｎ−ｐ−１まで交換コマンドの処理を開始し、第２のコントローラ２１n-p、pはステージｎ−１からステージｎ−ｐまで挿入コマンドを伝搬することにより挿入コマンドの処理を開始する。どの葉から挿入コマンドを伝搬するべきか確認するために、コントローラ２１n-p、pはステージｎ−１のすべての空きの葉を指定しているリストを保持し、その１つは挿入コマンドのスタート点として機能するために（例えばＬＩＦＯ手順により）選択される。
【０１３１】
第２のフェーズＩＩにおいて、もし必要あれば、挿入コマンドはステージｎ−ｐ−１からステージ０までコントローラ２１o、n-pによって伝搬され、一方必要ならば、コントローラ２１n-p、pは交換コマンドをステージｎ−ｐからステージｎ−１へ伝搬する。
【０１３２】
インタフェース・レジスタ２６n-pは、次に分類ツリーの２つのコントローラの間のパイプラインレジスタとして機能する。フェーズＩおよびフェーズＩＩの間での２つのコントローラ間でのパラメータのいかなる交換も、例えば、このパイプラインレジスタを２つに（１つのレジスタを上向きの方向に、また、１つのレジスタを下向きの方向に）分割することにより可能であり、あるいはパラメータを一方向に交換し、引き続き他の方向に交換することにより可能である。
【０１３３】
図２２に示す実施形態は、例えば最大Ｎ＝４０９６の仮想接続までサポートする１５５Ｍｂｉｔ／ｓリンクの場合に使用できる。したがって、分類ツリーの大きさはｎ＝１２およびｐ＝８に決めることができ、ステージ０から３を監視する第１のコントローラ２１o、n-pはセルポインタを管理するスペーシングコントローラとおそらく統合可能である。
【図面の簡単な説明】
【図１】バイナリー分類ツリーの図である。
【図２】本発明の有用なソーティング装置の概略図である。
【図３】図２の装置の各コントローラの環境を示す概略図である。
【図４】図３のコントローラの動作を示すフローチャートである。
【図５】図３のコントローラの動作を示すフローチャートである。
【図６】図３のコントローラの動作を示すフローチャートである。
【図７】ソーティング装置の動作のタイミング図である。
【図８】図３に類似し、コントローラの環境の点で可能性のある変形例を示す図である。
【図９】図３に類似し、コントローラの環境の点で可能性のある変形例を示す図である。
【図１０】図９によるソーティング装置で用いられるシフト・レジスタを示す図である。
【図１１】ソーティング装置の単純化されたタイミング図である。
【図１２】図９のコントローラの動作を示すフローチャートである。
【図１３】図９のコントローラの動作を示すフローチャートである。
【図１４】バイナリーツリーの最後のステージの特定の場合における図１２、図１３および図６のフローチャートに対応するフローチャートである。
【図１５】バイナリーツリーの最後のステージの特定の場合における図１２、図１３および図６のフローチャートに対応するフローチャートである。
【図１６】本発明を実現するＡＴＭセルスペーサの全体図である。
【図１７】図１６のスペーサの動作のタイミング図である。
【図１８】ＡＴＭセルの受信および送出の際に図１６のスペーサのコントローラにより実行される動作を示すフローチャートである。
【図１９】ＡＴＭセルの受信および送出の際に図１６のスペーサのコントローラにより実行される動作を示すフローチャートである。
【図２０】本発明を実行するＡＴＭスペーサの変形例部分図である。
【図２１】本発明を実行するＡＴＭスペーサの変形例部分図である。
【図２２】図１７のタイミング図に相当し、スペーサの変形例を参照するタイミング図である。
【符号の説明】
１〜１５          ノード
２０0〜２０3      メモリモジュール
２１1〜２１3      コントローラ
２２0〜２２3      バス
２３              ロケーション
２５              ロケーション
２６0〜２６3      インタフェース  レジスタ
３０              シフトレジスタ
４０              モジュール
４１              スペーシングゴントローラ
４２              メモリ
４３              メモリ
４４              ソーティング装置
４６              マネージャー
４７
１００〜１２６、１３０〜１４５、１５２〜１５８      段階
２０１〜２１６、３０１〜３１６      イテプ
【図１】
0003901840.tif 000002
【図２】
0003901840.tif 000003
【図３】
0003901840.tif 000004
【図４】
0003901840.tif 000005
【図５】
0003901840.tif 000006
【図６】
0003901840.tif 000007
【図７】
0003901840.tif 000008
【図８】
0003901840.tif 000009
【図９】
0003901840.tif 000010
【図１０】
0003901840.tif 000011
【図１１】
0003901840.tif 000012
【図１２】
0003901840.tif 000013
【図１３】
0003901840.tif 000014
【図１４】
0003901840.tif 000015
【図１５】
0003901840.tif 000016
【図１６】
0003901840.tif 000017
【図１７】
0003901840.tif 000018
【図１８】
0003901840.tif 000019
【図１９】
0003901840.tif 000020
【図２０】
0003901840.tif 000021
【図２１】
0003901840.tif 000022
【図２２】
0003901840.tif 000023