JPH10336215A - Atmセルスペーサ - Google Patents

Atmセルスペーサ

Info

Publication number
JPH10336215A
JPH10336215A JP13034998A JP13034998A JPH10336215A JP H10336215 A JPH10336215 A JP H10336215A JP 13034998 A JP13034998 A JP 13034998A JP 13034998 A JP13034998 A JP 13034998A JP H10336215 A JPH10336215 A JP H10336215A
Authority
JP
Japan
Prior art keywords
stage
cell
list
command
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP13034998A
Other languages
English (en)
Other versions
JP3901840B2 (ja
Inventor
Tuan Ha-Duong
ア−デュオン テュアン
Moreira Serafin Soares
ソアール モレイラ セラファン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fihem
Original Assignee
Fihem
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fihem filed Critical Fihem
Publication of JPH10336215A publication Critical patent/JPH10336215A/ja
Application granted granted Critical
Publication of JP3901840B2 publication Critical patent/JP3901840B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/568Load balancing, smoothing or shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 ATMスペーサにおいて、セルの衝突による
遅延の影響を少なくする 【解決手段】 スペーサは、セルメモリ42と、各セル
に理論的送出時間(TET)を割り当てる手段40、4
1と、セルメモリが、仮想接続がセルを含む各仮想接続
に対して、これらのセルが先入れ先出しモードで蓄積さ
れるロケーションのリストを有するように、対応するポ
インタメモリ43の助けにより、セルメモリ42を管理
する制御手段41、46と、それぞれ仮想接続識別情報
と、仮想接続に関するリストの始めに含まれているセル
の理論的送出時間から成るソートキーを有する、データ
要素を順序づけ、最小のソートキーを有する少なくとも
一つのデータ要素を選択するためのソーティング手段4
1、44とをを有する。送出された各セルは、ソーティ
ング手段により選択されたデータ要素において識別され
た仮想接続に関連するリストの始めに含まれる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はATMセルスペーサ
に関する。
【0002】
【従来の技術】この種の設備の一般的説明は、P.E.
BOYER他による論文「スペーシングセルがATMネ
ットワークリンクの利用を保護し、拡張する」(IEE
E Network、1992年9月、38−49頁)
に見ることができる。
【0003】ATMセルは高速の物理リンク(155あ
るいは622Mbit/sのビットレート)上で送信さ
れる53バイトの情報パケットである。各物理リンクは
さまざまな仮想接続に属する多重セルをサポートする。
各セルが関係する仮想接続は、セルのヘッダに含まれる
一対の識別子VPI−VCIにより識別される。ある種
の設備は仮想パス識別子(VPI)により仮想接続を識
別し、一方他の設備は仮想チャネル識別子(VCI)あ
るいはVPI、VCIの両方の識別子に基づいて仮想接
続を識別する。
【0004】この説明では、各ATMセルはスペーサを
備えた設備の内部識別情報IdCxにより識別された仮
想接続に属すると見なされる。この内部識別情報は、合
理的大きさのメモリモジュールへのアクセスを容易にす
るように、VPI、VCI、VPI−VCIの対、また
はそのほかに対応することができ、いっそう好都合に
は、設備に専用であり、VPI−VCIより少数のビッ
トを有する特定の識別情報に対応することができる。こ
のような識別情報IdCxをATMセルに関連づける適
切な方法が、フランス特許出願第9701222号に記
載されている。
【0005】ATMスペーサは、その主な機能が物理リ
ンクによりサポートされる種々の接続に対してセルのビ
ット・レートを均一化するユニットである。一般に、仮
想接続上に送信する各情報源(利用者)はオペレータと
ピークビット・レートを折衝する。もし情報源(利用
者)がこのピークビット・レートに従わなければ、ネッ
トワークに輻輳が起きる危険があり、オペレータは接続
中のセルを破棄する権限を与えられている。
【0006】スペーサにおいて、一般に同じ仮想接続に
関する2つの連続したセルは、通常ピークビット・レー
トの逆数に対応する時間間隔Tだけ少なくとも離してお
くように、スペーシング間隔Tは各接続IdCxに割り
当てられる。次に実スペーサについて説明する。実スペ
ーサは、各セルに対する理論的送出時間TETを計算
し、次に所望の時間においてのみそのセルを送出するよ
うにメモリに蓄積する。スペーシング間隔Tはしたがっ
てすべての接続に対して満たされる。いわゆる仮想スペ
ーサにおいては、各セルに対して理論的送出時間TET
が前と同じ方法によりまず計算され、その後にセルはメ
モリに蓄積される。実スペーサとの相違は、仮想スペー
サはおよそ理論的送出時間でただちにセルを送出するこ
とである。仮想スペーサはセル遅延揺らぎ(CDV)を
劣化させない。しかし仮想スペーサは、スペーサの上流
に位置する待ち行列によるビット・レート劣化の可能性
を軽減しない。
【0007】この過度のビット・レートが、オペレータ
と折衝したサービス品質による限界値を超えていて、こ
の接続に関連するセルがCDV無しに正確に間隔を置い
た多重出力を発生することがもはや不可能なほどである
時は、スペーシング機能は、ピークビット・レートより
大きいビット・レートで仮想接続にしたがって送信され
たセルを排除するポリシング機能としばしばと組み合わ
される。ポリシング機能は、通常セルの理論的送出時間
TETを計算する方法の一部を成す。
【0008】セルに理論的送出時間を割り当て、ポリシ
ング機能を実行する従来の方法は、ITU−T勧告I.
371付属書1に規定されるGCRAアルゴリズム(総
称セルレートアルゴリズム)を適用することである
(M.DEPRYCKER:「非同期転送モード、広帯
域総合サービスディジタル網に対する解」、第2版、1
993、第7章、第7.3.4節、292−293ペー
ジ参照)。各仮想接続に対して、このアルゴリズムは常
に次の関係ta≦TET≦ta+τを満足させる。ここ
で、さてtaはその理論的送出時間TETが計算される
セルの到着時刻を表し、またτは接続のCDV許容誤差
を表す。
【0009】異なった仮想接続に属するセルが同じ理論
的送出時間を割り当てられるかもしれない。その結果、
このような矛盾を解決するメカニズムを備えることが必
要である。
【0010】ドキュメントEP−A−0438009で
説明されている第1の解決策は、各着信セルをその実際
の送出時間に対応するセルメモリのアドレスに蓄積する
ことである。スペーサの出力において、時間カウンター
は送出されるセルを指定するアドレスポインタとして動
作する。理論的送出時間をセルに割り当てた後で、セル
はこの理論的時間の後に第1の利用できるアドレスに蓄
積され、その結果矛盾を回避する。
【0011】ドキュメントEP−A−0498092
(さらにE.Wallmeier他:「スペーシング・
ポリシング回路、ATMネットワークにおける効率的ピ
ークビット・レート制御のためのアルゴリズム」、Pr
oc.ISS’92、1992年10月、第2巻、22
−26ページ参照)で説明されている第2の解決策は、
各送出周期においてポインタ手段により関連付けられた
セルのリストを関連づけることである。送出周期に到達
すると、関連するリストのセルは読み取られ、この周期
の間および連続する所要数の周期の間に一つずつ出力さ
れる。
【0012】J.W.Roberts他による論文「実
時間ソータとATMトラフィック制御への応用」、Pr
oc.ISS’95、1995年4月、第1巻、258
−262ページ参照)で説明されている第3の解決策
は、ソーティング技術を用いることである。各セルが到
着すると、セル記憶装置のアドレスおよびその理論的送
出時間に対応するソートキーにより構成されたデータ要
素がソーティング装置に入力され、このソーティング装
置は各送出周期において最小のソートキーを生成する。
そのアドレスがこの要素に含まれるセルは、実スペーサ
の場合にはもし最小のキーが現在時刻より小さいか現在
時刻に等しければ、また仮想スペーサの場合にはただち
に送出される。ソーティング装置は、スペーサに蓄積さ
れたセルの最大数に等しいN個の要素をソートすること
ができなくてはならない。さらに、推薦されているソー
ティング装置では、ソーティング機能を十分な速度で実
行するためには、並行して動作する論理回路の数がNに
比例するという欠点を有することが指摘される。ソート
される要素の数Nが一旦大きくなると(ATMセルスペ
ーサへの応用の場合のように数千あるいは何万にも)、
ソーティング装置のハードウェアの複雑性は大きなもの
になる。
【0013】上記の3つの解決策において、一旦理論的
送出時間が着信セルに割り当てられると、スペーサは仮
想接続の概念を無視する。その結果、送出される蓄積さ
れたセルを決定するための手順は、スペーサの最大の記
憶容量に対応する数からセルを選択することになる。こ
れは、原理的に同一の同じ仮想接続に関連するセルの受
信の順序が送出の際に満たされなくてはならない時期か
ら、余分な複雑さを意味する。
【0014】スペーサを備えたリンク上にトラフィック
輻輳のリスクが万一発生すると、電気通信事業者は時に
はある種の接続に割り当てられたスペーシング間隔Tを
増加させる選択肢を有している。しかしながら、このよ
うなTの修正はまだ受信されていないセルにのみ作用
し、以前計算された理論的送出時間は関係する接続を知
らずには既に修正不可能であると考えれば、すでにスペ
ーサのバッファメモリに書き込まれたセルには作用しな
い。それにもかかわらず、十分な数のセルがすでにバッ
ファメモリに書き込まれ、インターバルTを増加させ輻
輳の防止を効果的でなくしている。上記のスペーサはこ
の点において柔軟性に欠ける。
【0015】送出されるセルの選択が、種々の仮想接続
に割り当てられたFIFOリストの始めに蓄積されたセ
ルに割り当てられた理論的送出時間に基づいて行われる
ATMスペーサがEP−A−0710046に説明され
ている。このドキュメントは送出時間を計算する特定の
方法を説明し、この特定の方法によれば、セルの理論的
な送出時間が同じ仮想接続に関連する前のセルの実際の
送出時間に依存する。同様な方法が、G.Mercan
kosk他による論文「セル送出に際するスペーサ出力
の多重化」(Proc. Infocom'95 - Conference on Compu
ter Communications,14th Annual Joint Conference of
the IEEE Computer and Communications Societies、
ボストン、1995年4月2日−6日、第3巻、49−
55ページ)で説明されている。
【0016】
【発明が解決しようとする課題】この種の方法は、異な
る接続に関するセルと同じ理論的送出時間が割り当てら
れたセルとの間の衝突によりセルが遅延した時、もし衝
突が解消していても同じ接続の後続のセルも同様に遅延
する欠点を有する。このような場合はフローに不必要な
妨害をもたらす。
【0017】本発明の目的は上記の欠点による影響が少
ないATMスペーサを提供することである。
【0018】
【課題を解決するための手段】本発明は、複数の仮想接
続により送信されるATMセルのスペーサであって、着
信セルが書き込まれ、発信セルが読み取られるセルメモ
リと、少なくとも前記セルの到着時刻と前記接続に割り
当てられたスペーシング間隔とを含むパラメータに基づ
いて、仮想接続に関連する各セルに対する理論的送出時
間の回帰的な計算をする手段を有するセルメモリに蓄積
された各セルに理論的送出時間を割り当てるための手段
と、仮想接続がセルを収容している各仮想接続に対し
て、前記セルがリストの開始とリストの終わりの間で先
入れ先出しモードで蓄積されるロケーションのリストを
セルメモリが有するような方法による関連するポインタ
メモリの支援により、セルメモリを管理するためのスペ
ーシング制御手段と、それぞれ仮想接続識別情報と、前
記仮想接続に関するリストの開始に含まれているセルの
理論的送出時間から成るソートキーを有する、データ要
素を順序づけ、最小のソートキーを有する少なくとも一
つのデータ要素を選択するためのソーティング手段を有
し、スペーシング制御手段は、ソーティング手段により
選択されたデータ要素において識別された仮想接続に関
するリストの開始に含まれたセルの送出を命令するする
ように工夫されている、複数の仮想接続に応じて送信さ
れるATMセルのスペーサを提供する。
【0019】セルメモリがセルを含んでいない仮想接続
に関連するセルが到着すると、ソーティング手段は前記
仮想接続の識別情報を有する新しいデータ要素および、
ソートキーとして、回帰的計算手段により与えられた前
記セルの理論的送出時間を受け取る。少なくとも一つの
第2のセルをさらに含むロケーションのリストをセルメ
モリが有する仮想接続に関連する第1のセルを送出する
と、ソーティング手段は前記仮想接続の識別情報を有す
る新しいデータ要素および、ソートキーとして、前記第
1のセルの理論的送出時間と前記接続に割り当てられた
スペーシング間隔との和に等しい前記第2のセルの理論
的送出時間を受け取る。
【0020】蓄積されたすべてのセルに基づくのではな
くて、接続ごとにリストの始めに基づいたソーティング
手順により送出されるセルが選択されることにより、ス
ペーサの複雑さが減少し、その使用上の柔軟性が増加し
ている。
【0021】送出時間決定のモードは、送出スロットに
関する矛盾に起因したセルが受ける遅延を制限する。あ
る場合には、回帰的計算手段により得られた理論的送出
時間に対応して受ける遅延すらも軽減される。
【0022】ソーティング手段は、以下に詳細に説明す
る型式の一つ以上のバイナリーツリーソーティング装置
を有するのが有利である。
【0023】
【発明の実施の形態】本発明のATMスペーサの一般的
な構造を説明する前に、このようなスペーサに用いられ
るソーティング装置の実施形態を図1から図15を参照
してまず説明する。それぞれ各ソートキーを含むデータ
要素をソートするこの装置は:それぞれデータ要素を含
むことが可能であり、0からnまで番号を付けられたn
個の連続したステージに分配され、ステージqはノード
qから2q+1−1を有する、1から2n−1まで番号を
付けられた2n−1個のノードを有するバイナリーツリ
ーにしたがって構成された記憶手段と、1から2n-1
1の間の各整数iに対して、ノードiは分類されるべき
要素を含み、ノード2iおよび2i+1のそれぞれは分類さ
れるべき要素を含まないか、あるいは決められた順序関
係の意味でそのソートキーがノードiに含まれている要
素のソートキーよりも大きいかまたはそれに等しい要素
を含むように、順序付けの条件を満足させるように、ツ
リーの中でソートされる要素を分散させるためのバイナ
リーツリーの制御手段を有する。
【0024】分類ツリーにおける要素の順序付けは、コ
ンピュータ化されたソーティングの分野で「ヒープソー
ト」と言われるものに対応する。この点に関して、Kn
uthによる著作「コンピュータプログラミング技法、
第3巻、分類および探索」(アディソン・ウェスリー、
1973年、142−157ページ)を参照されたり。
【0025】一例として、図1は、n=4の場合の、順
序付けの条件を満足するデータ要素(データ要素のうち
ソートキーのみが表示されている)を含む15個のノー
ド1−15を有する分類ツリーを示す。
【0026】ステージ0のノード1はツリーの根あるい
は頂点と言われる。ステージn−1の2n-1から2n−1
個のノードはツリーの葉であると言われる。ステージq
の各ノードiに対して、その数がi2j+j’ここで、
jおよびj’は0≦j<n−qおよび0≦j’<2j
あるような整数である。の形式である2n-q−1個のツ
リーのノードは、ノードiの子孫と呼ばれる(ここでノ
ードiはおsの子孫に含まれると考えられる)。これら
の子孫のうち、(もしq<n−1ならば)ステージq+
lの姉妹ノード2iおよび2i+1はノードiの子であると
呼ばれる。他方、ノードiの親(もしq>Oなら)はス
テージq−1のノードと規定され、その数はもしiが偶
数ならばi/2であり、iが奇数ならば(i−1)/2
である。ツリーのノード間の親子関係のこれらの論理関
係は図1で矢印により示されている。
【0027】ソートキーの間の順序関係は任意である。
図1に示されている例では、自然数間のよく知られた順
序関係であり、ソートキーの昇順に分類可能である。降
順で分類の場合には、キーの間の順序関係を逆転すれば
十分なことは明らかである。図1において、ソートされ
る要素により占められていないツリーのノードは、それ
ぞれそのソートキーが無限大である要素を含むと見なさ
れる、すなわち、ソートされるデータ要素のどのソート
キーよりも大きい。無限大のキーをコード化する1つの
可能性は、この目的のキーを含むデータフィールドの1
ビットを残してかくことである。もしこのビットが1で
あればキーは例えば無限大であると見なされ、そうでな
ければ有限と見なされる。換言すれば、このビットはノ
ードが空きであるか、あるいはデータ要素により使用さ
れているかを示す。
【0028】ひとたびそれが順序付けられたデータ要素
N<2nの集合によりロードされると、ソーティング装
置はこれらのN個の要素を連続的にNサイクルでソート
キーの順番に転送できる。サイクルの間にツリーから要
素を抽出することは、ツリーの根に位置する要素を読み
取ることと、常に順序付けの条件を満足させるような方
法でその家系の要素を追跡することから成る。したがっ
て、図1に示された場合において、第1のサイクルは根
に位置する要素16を読み取ること、および、要素24
を根へ、次に要素38をノード2へ、最後に要素623
をノード4へ移動することから成る。これは根から葉に
向かって抽出コマンドを伝搬することになる。
【0029】ある用途においては、ソートされる新しい
要素をツリーに挿入するコマンドに応答できることは制
御手段にとってさらに必要である。したがって、ソーテ
ィング装置は各サイクルにおいてソートされる要素を転
送または受信することができる。ソーティング装置は、
使用される順序関係にしたがって管理され、時間タグあ
るいは優先権インデックスの他の任意の型式を表現する
であろうソートキーの基本原理でダイナミックな待ち行
列として作動する。
【0030】図2は、データ要素がn=4ステージを有
する図1のバイナリーツリーにしたがって構成されたメ
モリ200−203に収容されるソーティング装置を示
す。
【0031】バイナリーツリーは、m個の個別のコント
ローラのセットにより制御される。ここでmは2とツリ
ーのステージの番号nの間の整数である。図2および図
3で考慮されている場合において、ツリーの各ステージ
q、すなわちm=n=4に対して1個のコントローラ2
lqがある。各コントローラ2lqはステージqにアク
セスできるようにするバス22qを有する。したがっ
て、ツリーの記憶手段は、それぞれ対応するバス220
−223を介してアクセス可能なm=4のメモリモジュ
ール200−203に分割されている。各ノードiには、
それぞれ、データ要素のソートキーK(i)、図2に表
示される唯一のキー(要素が無い場合にはK(i)=
∞)、およびこの要素のリファレンスR(i)を収容た
めの2つのメモリロケーションがある(図3参照)。
【0032】ステージ0以外のツリーの各ステージq
は、ノード2qから2q+1−1のほかに、1ビットの容量
を持つ2q-1個のロケーション23、およびn−q+l
ビットの容量を持つ2q-1個のロケーション25を有す
る。各ロケーション23はステージqの一対の姉妹ノー
ド2iおよび2i+lと組み合わされたステアリングビ
ットF(i)を含み、その値は、左方向姉妹2iに含ま
れるキーが右方向姉妹2i+l(K(2i)<K(2i
+l))に含まれるキーより小さければF(i)=Oで
あり、K(2i+l)≦K(2i)ならばF(i)=l
である。分類ツリーのロケーション23の合計数は2
n-1−1である。
【0033】ステージqの各ロケーション25はステー
ジqの一対の姉妹ノード2iおよび2i+lと組み合わ
された差分カウンターΔ(i)を含み、その値は、左方
向姉妹2iの子孫に含まれるデータ要素の数と、右方向
姉妹2i+1の子孫に含まれるデータ要素の数との差に
より与えられる。
【0034】ステアリングビットF(i)は抽出あるい
は交換コマンドをツリーの根から葉まで伝搬するように
動作するのに対して、一方差分カウンターΔ(i)は挿
入コマンドをツリーの根から葉まで伝搬するように動作
する。
【0035】バイナリーツリーの制御手段は、さらにn
−1=3個のインタフェース・レジスタ261−263
有し、各レジスタ26qはステージq−1のコントロー
ラ21q-1とステージqのコントローラ21qの間のイ
ンターフェイスとして動作する。さらに図2の基本的な
図には、ステージ0のコントローラ210とソーティン
グ装置の環境との間でインターフェイスとして動作する
レジスタ260が示されている。ソーティング装置に送
られたコマンドは、ソーティング装置により供給される
レスポンスであるとして、このレジスタ260に書き込
まれる。実際には、このレジスタ260はツリーの上の
ステージのコントローラ210と同じ回路に属すること
ができる。
【0036】図3を参照すると、各レジスタ26qは:
ツリーの根から葉まで伝搬するコマンドの性質を指定す
るコマンドコードAq;以下の説明において、コマンド
Aqは例として次のように2ビットでコード化されてい
ると見なされる:Aq=00はステージqの前方のツリ
ーの内容の修正無し、Aq=01は新しい要素を挿入す
るコマンド、Aq=11はツリーから最も小さいソート
キーを有する要素を抽出すると同時に新しい要素をその
中に挿入することからなる交換コマンド(最小のソート
キーを有する要素の直接抽出は、この要素を無限大のソ
ートキーを有する素子と交換することとして取り扱われ
る)、およびAq=10ステージqの前方のツリーの内
容を再初期化するコマンド;挿入あるいは交換コマンド
によりステージq−1からステージqまで、あるいは交
換コマンドによりステージqからステージq−1まで送
信されたソートキーBq;ソートキーBqと組み合わさ
れ、ソートキーBqと共に挿入あるいは交換されたデー
タ要素を形成するリファレンスCq;q−1ビット(こ
の識別はレジスタ260には存在しない)から構成さ
れ、コマンドAqがそこから発信されるステージq−1
のノードを指定する識別情報Dq、をそれぞれ収容する
4つのロケーションで構成されている。いっそう正確に
は、識別情報DqはそこからコマンドAqが発信するス
テージq−1のノードiの数のバイナリー法表示のq−
1個の最下位ビット、すなわちベース2に対してi=l
qから成る。
【0037】新しい要素をツリーに挿入するために、コ
マンドAo=O1およびこの新しい要素Bo、Coがレジ
スタ260に書き込まれ、次にコマンドがツリーの根か
ら葉まで伝搬される。交換を行うために、コマンドAo
=11およびレジスタ260に挿入される要素Bo、Co
(直接抽出の場合にはBo=∞である)が書込まれ、そ
の後に最小のキーを有する要素はレジスタ260のロケ
ーションBoおよびCoの中に取り出される。
【0038】各コントローラ21qにより実行された動
作は図4、5および6のフローチャートに示される。こ
れらの動作を実行するために、各コントローラ2lq
適切にプログラムされた高速論理ゲートのネットワーク
の形式で作られる。動作は本質的に読み取り/書き込
み、インクリメント/デクリメント、バイナリーコード
化された変数の比較であるので、ゲートネットワークの
このプログラミングには問題が無い。
【0039】コマンドAqはレジスタ26q(段階10
0)からまず読み取られ、次いでコマンドの型式を識別
するように評価される(段階101)。 修正無しの場
合には(Aq=00)、コントローラ2lqは同じコマン
ドAq+1=00を次のレジスタ26q+1(段階102)に
単に書込む。
【0040】リセットコマンド(Aq=10)の場合に
は、親の識別Dqは変数sに割り当てられ(段階10
3)、コントローラ2lqはその数のバイナリー法表示
がlsOおよびlslである2つの子ノードを初期化
し、一方、段階102においてコマンドAq+1=00を
伝搬する前にそのソートキーを無限大にセットし、対応
する差分カウンタΔ(1s)に値0を置く(段階10
4)。ステージ0の特定の場合には、リセットは単にK
(l)=∞を書き込むことから成る。
【0041】レジスタ100から読み込まれたコマンド
qが、親ノード1Dq(Aq=01)からの新しい要素
q、Cqの挿入を表わすと、これらのパラメータBq
qおよびDqはコントローラ2lqによりそれぞれ読み
取られ、段階105において変数k、rおよびsに割り
当てられ、その後識別されたノードの子と組み合わされ
た差分カウンタΔ(1s)は、段階106において変数
δに割り当てられる。
【0042】もしδ<0ならば(比較107)、右方向
の子は左方向の子より多くの子孫を有し、挿入コマンド
が左方向の子に伝搬されるように、左方向の子の子孫の
中に新しい要素を受信可能な少なくとも1つのノードが
ある。ビットtは0に等しいとされ、また変数δは段階
108において1段階インクリメントされる。逆に、も
しδ>Oであれば、ビットtは1に等しいとされ、挿入
コマンドが右方向の子に伝搬するように、変数δは段階
109において1段階デクリメントされる。段階110
において、ソートキーK(lst)および処理済みの、
すなわちコマンドが伝搬されるノードに含まれるデータ
要素のリファレンスR(lst)は読み取られ、それぞ
れ変数k’およびr’に割り当てられる。
【0043】もしk<k’であれば(比較111)、ス
テージq+lに伝搬される要素w、xが処理済みのノー
ドから読み込まれたk’、r’と段階112において等
しいとされるように、処理済みのノードは挿入されるデ
ータ要素より大きいソートキーを含む。もしk’≦kで
あれば、送信される要素w、xは段階113でレジスタ
26qから読み込まれたそのk、rと段階113におい
て等しいとされ、次に変数k、rはそれぞれ変数k’、
r’の値を受信する。
【0044】もし伝搬されるデータ要素のキーwが無限
大であれば(比較114)、これは挿入コマンドがもは
や伝搬される必要がないからである。次にプロセッサ2
qは段階115において変数v’に値10(再初期設
定)を与える。もし送信されるキーwが有限であれば、
変数v’は挿入コマンドを示すように段階116におい
て値01を受信する。プロセッサ2lqは続いて、段階
117においてAq+1=v’、Bq+1=w、Cq+1=xお
よびDq+1=stを書き込むことによりレジスタ26q+1
を満たすことができる。
【0045】段階117の後は、挿入コマンドの処理は
もはやコントローラ2lqにそのインタフェース・レジ
スタ26q、26q+1にアクセスするように要求せず、単
に処理中のメモリ領域20qへのアクセスを要求する。
段階118において、それは変数δの新しい値を書き込
むことにより差分カウンタΔ(1s)を更新する。次
に、段階119において、それはK(lst)=kおよ
びR(lst)=rをそこに書き込むことにより、処理
済みのノードのデータ要素を更新する。
【0046】挿入コマンドの処理を完了するために、次
にコントローラ2lqは処理済みのノードlstと組み
合わされたステアリングビットF(ls)の値を更新す
る。コントローラ2lqはまず処理済みのノードの姉妹
ノードに含まれるデータ要素のソートキーK(lst)
を読み取り、それを変数k’に割り当てる。段階126
においてステアリングビットF(ls)を含むロケーシ
ョン23に書き込まれる変数fは、もし比較121、1
22、123がt=Oおよびk’≦k,またはt=lお
よびk≦k’であることを示せば、段階124において
1と等しいとされる(右方向の子に向かってのステアリ
ング)。反対の場合には、段階125においてf=0と
見なす。
【0047】段階126の後に、プロセッサ2lqはコ
マンドAqの処理を完了し、レジスタ26qから発信さ
れている次のコマンドを処理するために、段階100に
戻ることができる。
【0048】レジスタ26qから読み取られたコマンド
がステージq−1の親ノード1Dqからのデータ要素B
q、Cqの交換を示すと(Aq=11)、これらのパラ
メータBq、CqおよびDqは、読み取られ段階130に
おいて変数k、rおよびsにそれぞれ割り当てられる、
その後に、識別されたノードの2つの子と組み合わされ
たステアリングビットF(ls)の値は段階131にお
いてビットtに割り当てられる。処理済みのノード1s
tから読み込まれたデータK(lst)、R(lst)
は、次に段階132において変数k’およびr’に割り
当てられる。
【0049】もし処理済みのノードがレジスタ26q
ら読み込んだデータ要素のソートキーより大きいソート
キーを含むなら(比較133の間はk<k’)、交換コ
マンドはもはや、レジスタ26q+1に書き込まれるコマ
ンドv’が段階134において00(無修正)と等しい
とされるように、ツリーの下位ステージに伝搬される必
要はない。この段階134において、レジスタ26q
返送されるデータ要素w’、x’はさらに最小のソート
キーを有するそのk、rと等しいとされる。もし比較1
33がk≧k’を示せば、段階134は段階135によ
り置換され、段階135においてプロセッサ2lq
w’=k’、x’=r’およびv’=11をとる(交換
コマンドの伝搬)。
【0050】プロセッサ2lqは次に段階136に進
み、要素w’、x’をインタフェース・レジスタ26q
のロケーションBqおよびCqに書き込む。
【0051】コマンドを伝搬するためにコントローラ2
qは次に段階137を実行しインタフェース・レジス
タ26q+1に書き込む:Aq+1=v’、Bq+1=k、Cq+1
=rおよびDq+1=st。
【0052】もし伝搬されたコマンドが交換コマンドで
なければ、すなわち、もし比較138がv’≠11を示
せば、コントローラ2lqによる交換コマンドの処理は
書き込み段階137の後に終了される。他の状況では、
プロセッサ2lqは段階139に進み、ステージq+l
に送信したキーkが無限大であるか否かを調べる。
【0053】もし比較139がk=∞を示せば、交換コ
マンドは実際に直接抽出コマンドであり、処理済みのノ
ードと組み合わされた差分カウンタΔ(1s)を更新す
ることが必要である。この差動カウンタの値がまず読み
取られ、段階140において変数δに割り当てられる。
もしコントローラ2lqが左方向の子(比較141の間
t=O)を処理したならば、変数δは段階142におい
て1段階デクリメントされ、反対の場合、他方それは段
階143において1段階インクリメントされる。差分カ
ウンタΔ(1s)は変数δの新しい値にしたがって段階
144において更新される。
【0054】それぞれ有限のソートキーを有する2つの
要素の交換が差動カウンタの値に影響を与えないとすれ
ば、もし比較139がkを送信したキーが有限であるこ
とを示せば、段階140から144までは実行されな
い。
【0055】プロセッサ2lqは次に、コントローラ2
q+1が(その段階136の間に)レジスタ26q+l
に返送したデータ要素Bq+1、Cq+1を読み取ることによ
り、またこの返送された要素を変数kおよびrに割り当
てることにより、段階145において交換コマンドの処
理を再開する。上述のように段階119から126まで
を介して、コマンドの処理は続いて終了する。
【0056】図4−6のフローチャートは任意のステー
ジqの場合に提示されている。当然、ある程度の翻案が
第1のステージq=0と最後のステージq=n−1にお
いて必要である。上に述べたように、q=0に対して、
処理済みのノードlstは常にツリーの根であると理解
され、段階106−109、118、120−127、
131および139−144はできる限り除かれる。レ
ジスタ26nを設けることが必要でないとすれば、最後
のコントローラの下流段階110から117までは最後
のステージn−1に関して除くことができ、段階10
2、137および145、さらに交換のみの点で段階1
19も除くことができる。
【0057】連続したコントローラの並行動作の時間的
構成は、インタフェース・レジスタ26qへのアクセス
の共有により条件付けられている。コントローラ2lq
がレジスタ26q+1に対して、対応するパラメータも同
様に送信する(コマンドの型式により段階102、11
7あるいは137の後に)コマンドを書き込み終える時
刻αqを、同様に交換コマンドの場合にコントローラ2
qがレジスタ26qに、コントローラ21q-1に返送す
るデータ要素Bq、Cqを書き込み終える時刻βqを図4
および図5に示す。さらに、α’qはコントローラ2l
qがレジスタ26qから新規コマンドを読み込み始める
時刻を示し(段階100のすぐ前に)、またβ’qはコ
ントローラ2lqがレジスタ26q+1から、交換コマンド
の場合に(段階145の直前に)コントローラ21q+
lにより返送されるデータ要素を読み込み始める時刻を
示す。正確なパイプライン動作を得るためには、コント
ローラを各コマンドに対して、αq≦α’q+1およびβq
≦β’q-1が得られるように設計することで十分であ
る。
【0058】これらの2つの条件を満足させるために
は、コントローラ2lqは非同期でも同期でも良い。第
1の場合には、パイプライン動作はコントローラ間で交
換される肯定応答信号によって保証される。段階136
を実行した後、コントローラ2lqはコントローラ21
q-1に肯定応答信号を送り、それによりコントローラ2
q-1は段階145および交換コマンドの次の処理に進
んで良いことを知る。さらに、段階102あるいは13
7あるいは117を実行した後で、コントローラ2lq
は肯定応答信号をコントローラ21q+1に送り、それに
よりコントローラ2l q+1はその読み取り段階100を
開始することによりコマンドの処理を開始してよいこと
を知る。
【0059】コントローラ21qの同期動作は、コント
ローラを論理ゲートのネットワークから構成する場合
に、実現がより便利である。この場合に、パイプライン
の構成は図7のタイミング図により示される。
【0060】この図において、4つの行のそれぞれは、
そのステージの1つのコントローラの動作を示す。ステ
ージqに関する行の上側の文字RDおよびWRは、それ
ぞれコントローラ2lqにより実行されるレジスタ26q
からのまたはレジスタ26qへの読み取りと書き込みを
表し、行の下側に位置する同じこれらの文字は、それぞ
れレジスタ26q+1からのまたはレジスタ26q+1への書
き込みと読み取りを示す。上に述べたように、ステージ
の間の矢印はパイプラインレジスタによるコマンドとパ
ラメータの伝達を表す。ハッチングを付けたインターバ
ルは、コントローラ2lqがそれが制御するメモリ領域
20q上で動作中の時間を表す。
【0061】図7に示す期間θ1は、ソーティング装置
が新しい要素を受信し、最小のソートキーを有する要素
を転送することができる速度を決定する。それはコマン
ドに関する命令の集合を処理するために各コントローラ
により要求される持続時間に対応する。この期間θ
1が、新規コマンドが処理され始めた後に分類ツリーを
一貫した順序付けの規則を再確立するために必要なサイ
クルθ2の持続時間より短いことが判る。図5に示す例
において、第1の期間θ1はステージ1に置かれる他の
1つの要素とツリーの根に位置する要素との交換に対応
する(すなわち、図2の場合において、そのキーは25
と38の間に置かれている)、また第二の期間θ1、ステ
ージ2への新しい要素の挿入に対応する(キーは前の交
換動作の間に導入された要素のキーより大きいかまたは
等しい)。
【0062】最小のソートキーを有するデータ要素をレ
ジスタ260へ返送するために装置により要求される応
答時間θ0=β0−α’0は期間θ1の約3分の1に対応す
ることがさらに指摘される。
【0063】期間θ1を最小限度に抑え、したがってソ
ーティング装置の動作速度を最大にするために、コント
ローラにより実行される処理動作を、処理動作がそのイ
ンタフェース・レジスタにアクセスする時刻を分離して
いる間隔の内に均質に点在させることが有益である。こ
れは図4から図6のフローチャートの若干の命令の処理
を移動することにより実現できる。例えば、もし時刻
β’以前に、コントローラqが、コントローラ21q+1
がその一連の命令130−136を、レジスタ26q+1
からその結果を読み取る前に実行し終えるのを待たなく
てはならない時間間隔146(図5)があれば、少なく
ともこの時間間隔のいくらかは他の命令を実行すること
により満たされることができ、これは他のどこかで時間
の節約を可能にする。上に述べたように例えば図4から
図6の場合、処理済みのノードの姉妹のソートキーの読
み込み120は、交換動作中の段階145の前で挿入動
作中の段階118の後に行うことができるであろう。こ
の種の最適化は、論理ゲートネットワークをプログラム
するために構成されるアーキテクチャの選択に多くを依
存する。
【0064】上記の説明において、装置に最良の速度性
能をもたらすように、コントローラのそれぞれが、それ
へのアクセスがそのために予約されたバイナリーツリー
の単一のステージと組み合わされた場合が考慮された。
その動作に必要な論理回路(コントローラ21q)の数
で測られる装置の複雑さは、したがってnである、すな
わちソートされる要素の最大数の対数である。
【0065】ツリーのいくつかの連続したステージを単
一のステージの代わりに若干数のコントローラ、少なく
ともそれぞれのコントローラ(すなわちm<n)と結び
付けることにより、この複雑さは対応して装置速度が低
下することを代償に低減できる。コントローラ毎のステ
ージの数はすべてのコントローラに対して必ずしも同一
ではない。特に、もし少なくともステージ0と組み合わ
されたコントローラが分類ツリーの環境に関連する他の
機能も実行するならば、このコントローラが他のコント
ローラよりも少数のステージを管理するために準備がさ
れてもよい。
【0066】コントローラがツリーのいくつかのステー
ジと組み合わされている場合には、これらのステージに
沿ってのコマンドの伝搬はこのコントローラにより連続
的に処理される。
【0067】図8がツリーのステージqからq+p−1
と組み合わされたコントローラ21,qpの場合を示す
ように、異なるコントローラと組み合わされたステージ
間のインタフェース・レジスタ26q、26q+pのみが、
連続したコントローラの並行動作の点でパイプラインレ
ジスタを構成する。他のレジスタ26q+1、・・・、2
q+p-1はコントローラ21qpのみがアクセスでき
る。これらのレジスタは、このコントローラ21q、p
を構成する論理回路の一部を形成するか、あるいはこの
コントローラに対して確保され、ステージqからq+p
−1を有するメモリモジュールの一部を形成する。
【0068】m番目のコントローラと組み合わされてい
るバイナリーツリーのステージの中の差分カウンタΔ
(i)を不要にすることが可能なことが指摘される。こ
の後者のコントローラはp個のステージn−pからn−
1(1≦p<n−1)と組み合わされていると仮定す
る。パイプラインレジスタ26n-pから挿入コマンドA
n-p=01が読み込まれた時、このコマンドが発信され
た親はこのレジスタで識別されたノード1Dn-pであ
る。もし、2n-p-1の考えられる親のそれぞれのため
に、最後のコントローラがこの親ノードの子孫の一部を
形成している空きの葉の個々のリストを最新に維持して
おくならば、パイプラインレジスタのフィールドDn- p
で識別された親ノードと組み合わされたリストに属する
空きの葉からスタートしてステージn−1からステージ
n−pへ連続的に挿入コマンドを伝搬することにより、
最後のコントローラは挿入コマンドを処理することがで
きる。これらのリストのそれぞれにおいて、葉のそれぞ
れは、識別情報Dn-pのn−p−1ビットと共に明瞭に
葉を識別するpビットで簡単に指定できる。このリスト
を維持する簡単な方法は後入れ先出し(LIFO)モー
ドでそれを構成することである。識別された親に基づい
て空きの葉を指定するpビットが各ステージにおいて使
用できるとすれば、挿入コマンドの伝搬を制御するため
に、最後のコントローラはさらに挿入コマンドをステー
ジn−pからステージn−1へ伝搬することができる。
【0069】最後の分析において、図2から図8に示す
型式のソーティング装置はそれぞれツリーのノード2i
と2i+1の対と組み合わされた丁度2n-p-1−1個の差分
カウンタΔ(i)を備えることにより構成できるここ
で、iは1から2n-p-1−1までの範囲である。
【0070】図9から図15はソーティング装置の他の
実施形態を示す。
【0071】説明を容易にするために、各コントローラ
2lqがバイナリーツリー(m=n)の単一のステージ
qと組み合わされている場合が再び考慮される。しかし
ながら、前と同じように、このソーティング装置のアー
キテクチャが、少なくとも1つのコントローラがいくつ
かのステージ(m<n)と組み合わされた場合と容易に
置換可能であることは理解されるであろう。
【0072】すでに説明された代表的な実施形態と異な
り、図9から図15の実施形態は挿入コマンドをツリー
の根から葉まで伝搬するために差分カウンタを使用しな
い。ツリーのステージqに対応する各メモリモジュール
20qは、上に述べたようにノード2qから2q+1−1お
よびステアリングビットF(2q-1)からF(2q−1)
を受信するためのロケーション23を有するが、図9が
示すように、差分カウンタを受信するためのロケーショ
ン25は有しない。
【0073】各インタフェース・レジスタ26qは、先
に規定したパラメータAq、Bq、CqおよびDqを含む4
つのロケーションに加えて、ステージq−1のノード1
Dqからの挿入コマンドの伝搬の間に、このコマンドが
そこへ伝搬されるステージqの子ノードを指定するビッ
トEqを受信する追加のロケーションを有する。上に述
べたように、もしEq=0であれば、挿入コマンドは左
方向の子ldq0に伝搬され、他方、もしEq=1であれ
ば、挿入コマンドは右方向の子ldq1に伝搬される。
【0074】レジスタ26qにおいて、親ノードの識別
情報Dqおよび子ノードを指定しているビットEqは、n
−1ビットの葉指定フィールドの内容Gqのq個の最高
位ビットから成る。この葉指定フィールドの内容G
qは、挿入コマンドの伝搬の間に、このコマンドが伝搬
されるバイナリーツリーの空きの葉の1つを指定する。
この空きの葉のバイナリー法表示はlGqである。葉の
指定が空きであるとすれば、この同じ葉への他の挿入コ
マンドがバイナリーツリーの下流に現在伝搬していない
という条件で、挿入された要素は、ツリーの根からこの
指示された空きの葉までのパス上に、確実にその場所を
見いだすことが可能であろう。
【0075】この条件を満たすために、ステージ0と1
の間のインタフェース・レジスタ261の葉指定フィー
ルドは、ツリーの最後のステージと組み合わされたコン
トローラ21n-1からその値G1を受信する。コントロー
ラ21n-1は、例えば図10に概略で示されるようなシ
フト・レジスタ30により、空きの葉の第一のリストを
維持する。このレジスタはn−1ビットのロケーション
の番号n’を含み、各コマンド期間θ1においてシフト
演算を行う。任意の葉に向かって挿入コマンドがバイナ
リーツリーの中で多分伝搬しつつあるであろう任意の葉
はn’の空きの葉のこの第一のリストの一部を形成す
る。インタフェース・レジスタ26n-1から最後のコン
トローラにより読み取られたコマンドAn-1が挿入コマ
ンド(An-1≠01)ではない限り、図8に示すよう
に、n’個の期間θ1ごとに同じ葉の指定を配送するよ
うにシフト・レジスタ30はそれ自身ループバックされ
る。それに向かって挿入コマンドがツリーの中で多分伝
搬しつつあるであろう葉の指定のそれぞれと異なってい
ると知られるこの指定G1は、インタフェース・レジス
タ261の対応するフィールドに書き込まれる。もしそ
れに反して、挿入コマンドAn-1=01がツリーの最後
のステージに到達すれば、後に説明される方法で空きの
葉の第2のリストから最後のコントローラにより抽出さ
れた新しい空きの葉Pは、シフトレジスタ30およびイ
ンタフェース・レジスタ261に導入される。
【0076】この動作の方法を説明するために、新しい
要素をツリーに挿入するために連続して装置がコマンド
を処理する場合について、図11は単純化された形式で
図7のタイミング図に協力する。この図11において、
各矢印の先端部はコントローラ21qが挿入コマンドを
処理し始める時刻α’qを示す。上に述べたように、時
刻α’oにおいて、コントローラ21oは関連するコマン
ドおよびパラメータAo、Bo、Coを装置の周囲から受
信し、またq≧1である時刻α’qにおいて、コントロ
ーラ2lqはコマンドおよびレジスタ26qのパラメー
ターAq、Bq、C qおよびGqを受信し、対応する処理動
作を開始する。図11に示す典型的な時間的構成におい
て、最後のコントローラ21n-1がレジスタ261に対応
する空きの葉の指定G1を書き込んだ各挿入コマンド
は、2つの期間θ1の後にレジスタ26 n-1のこの最後の
コントローラにに到達する。したがって、この例におい
ては、シフト・レジスタ30にn’=2のロケーション
をとれば十分である。
【0077】この同じ例において(さらに図1参照)、
図10はレジスタ30に保持されたリストに含まれる
n’=2の葉9および13(数9および13のバイナリ
ー法表示は1001および1101であるから、それぞ
れ001および101により指定された)を示す。葉9
はしたがって、最後から2番目のコマンドの間にフィー
ルドG1に指定されている。もしこのコマンドが新しい
要素の挿入を指し、葉9において終了するなら、(すな
わち最後のプロセッサの動作の現在の期間でAn- 1=0
1)、葉9はリストおよびレジスタ30から削除され、
P.により指定された新しい葉(図1の場合10、11
あるいは15)により置換される。他の状況では、前記
の最後から2番目のコマンドは、挿入を参照しないか、
あるいはステージn−1の上流にその場所を見いだすデ
ータ要素の挿入を参照するかして、その結果葉9はレジ
スタ30に維持され、次のコマンドのためにフィールド
1に再び指定される。
【0078】実際には、番号n’は常にバイナリーツリ
ーのステージの番号n未満となるであろう。このソーテ
ィング装置の実施形態が各時刻においてバイナリーツリ
ーが少なくともn’個の空きの葉を有することを意味す
るとすれば、装置がソートできるデータ要素の最大数
は、先に説明した装置と比較して常に2n’以下の数だ
け少なく、その結果、ステージの数があまり少なくない
場合には装置のソーティング容量は大きな影響を受けな
い。もし、例えば装置がn’=4においてn=12のス
テージを有するならば、装置は差分カウンタが使用され
る場合には最大N=4095の要素までソートでき、空
きの葉のリストが使用される場合には最大N=4088
の要素をソートできる、これらの2つのNの値の相違は
重要ではない。
【0079】図4で補われるべき図12および図13
は、図4から図6に類似のフローチャートを示す(同様
な段階を示すために同じ参照番号が使われている)、コ
マンドの処理の間に図9に示す型式のコントローラ2l
qにより実行される動作を詳述する、ここで、q<n−
1である。
【0080】図4、5および6のフローチャートと比較
して、図12、13および6のフローチャートは差分カ
ウンタを参照するすべての動作を削除することにより単
純化されている。挿入コマンドの処理において実行され
る段階105および117において、親ノードDqある
いはDq+1の識別情報だけよりもむしろ葉指定フィー
ルドGqあるいはGq+1の全体が、インタフェース・レジ
スタ26qあるいは26q+1から読み取られるか、あるい
はインタフェース・レジスタ26qあるいは26q+1に書
き込まれる。前述の例と比較して、コントローラ構造の
単純化およびメモリスペースの縮少がそれぞれ別に到達
できた。
【0081】図6で補われるべき図14および図15
は、ツリーのステージn−1に関係する最後のコントロ
ーラにより実行される動作を詳述する。時刻βn-1とα
n-1との間に実行される段階150、151あるいは1
52は、レジスタ261の葉指定フィールドへの、図1
0に示すシフト・レジスタ30の内容に対応する空きの
葉のリストの中の順位i(O≦i<n’)の葉の数のn
−1個の最下位ビットG1=T(i)の書き込みに対応
する。最後のステージn−1に関してのコマンドの各々
の処理は、段階153においてカウンタiの増加、モジ
ュロn’、によりレジスタ30におけるシフト動作に対
応するこれを例外なく終了させる。
【0082】コントローラ21n-1はまた空きの葉の第
2のリストを保持し、それを例えば後入れ先出し(LI
FO)モードで管理する。この第2のリストの第1の葉
は、最後のコントローラのレジスタあるいはそのメモリ
領域20n-1に蓄積されているn−1ビットを有するポ
インタPにより指定されている。この第1の葉の数のバ
イナリー法表示は1Pである。第2のリストの各々の葉
はソートキーが無限大であるデータ要素を含み、関連す
るリファレンスに対応しているメモリの部分は、例えば
第2のリストの中の次の葉のn−1ビットの上の指定に
等しい継続ポインタを蓄積するために使用される(もし
1ビットが無限大のキーを識別するために予約されれ
ば、キーに対応する部分もさらに使用できる)。
【0083】挿入コマンドがインタフェース・レジスタ
26n-1の最後のステージのコントローラに到達すると
(An-1=01)、Gn-1により指定された空きの葉は新
しいデータ要素を含むように満たされねばならない。し
たがって、図12および図13のフローチャートの段階
110から117は不要である。読み取り段階105に
段階155が続き、段階155においてコントローラ2
n-1は、第2のリストの第1の空きの葉に含まれる要
素のリファレンスに対応するメモリ部分に含まれる継続
ポインタR(lP)を変数hから読み取る(段階15
5)。次の段階156において、コントローラ26n-1
は空きの葉の2つのリストを更新する。それはGn-1
より指定された空きの葉を第1のリストから除去し、領
域T(i)において、第2のリストの第1の葉のポイン
タPで、それを置換する。次にそれはこの値Pを段階1
55において読み取ったポインタの値に置換する。プロ
セッサ21n-1は前述の段階150へ次に図6の段階1
19から126へ、また段階153へ行くことにより挿
入コマンドの処理を終了する。
【0084】交換コマンド(An-1=11)を処理する
ために、最後のステージのコントローラはまずに先に論
じた段階130から136を実行する。段階137は必
要ではなく、前述の段階151により置換される。もし
ステージn−2から引き換えに提示されたソートキーk
=Bn-1が処理された葉(比較138の間v’=11)
から読み取ったそのK(lst)よりも大きければ、こ
のキーkは段階139において無限大と比較される。も
しこのキーkが有限であるなら、交換コマンドの処理は
図6の段階119から126を経てまた段階153を経
て終了する。他の状況では、コマンドは直接の抽出を示
し、以前占有した葉を解放する。段階157において、
この葉は無限大のソートキーおよび参照として第2のリ
ストの第1の葉のポインタの値Pをそこに書き込むこと
により更新される。対応するステアリングビットF(l
s)は段階131において読み取られた値を補足する値
を受信する。最終の段階153に移る前に、コントロー
ラ26n-1は段階158において第2のリストの第1の
葉のポインタPを解放された葉のバイナリー法の指定s
tに更新することにより抽出コマンドの処理を終了す
る。
【0085】図9から図15による装置の初期化に際し
て、空きの葉の2つのリストは例えば次のように初期化
される:T(i)=i、ベース2に対して、O≦i<
n’に対して;P=n’、ベース2に対して;またR
(li)=i+l、ベース2に対して、n’≦i<2n
−1。
【0086】図10、図14および図15に示す典型的
な具体化例において、最後のコントローラ21n-1はシ
フトレジスタ30およびLIFOスタックにより「第一
のリスト」および「第二のリスト」を保持する。同様の
複雑さを持った他の論理構成を採用しうることは指摘さ
れるであろう。例えば、コントローラ21n-1は、空き
の葉の数を含む先入れ先出し(FIFO)モードで管理
される論理待ち行列を保持でき、一方このFIFO待ち
行列が常に少なくともn’個の空きの葉を含むことが保
証される。このような条件の下で、「第一のリスト」は
待ち行列の最後のn’個のロケーションと、待ち行列の
前のロケーションの「第二のリスト」から成る。
【0087】上述したソーティング装置において、キー
がそれによってソートされる、すなわち段階111、1
22、123および133において互いに比較される。
順序関係は、自然数の昇順に対応する。簡単な論理回路
によって比較が容易にできる任意の順序関係が、このよ
うな装置において要素をソートするために使用できるこ
とが理解されるであろう。
【0088】もし、例えば各ソートキーK(i)が、そ
の時点においてデータ要素のために対応するリファレン
スR(i)を取り出すように要求される未来の時刻を規
定する時間タグであるなら、ソーティング装置は手順の
時間的順序付けを制御するタイムアウト装置として動作
することができる。ツリーの根に位置する要素のキー
は、もし現在の時刻が到達されていれば、この要素を交
換するか、あるいは抽出するように、次に現在の時刻と
比較される。
【0089】もしこの応用例において、時間の値が0か
ら2L−1まで変動するサイクリック・カウンタによっ
てLビットにコード化されれば、2個のLビットキーk
とk’の間の順序関係は、0≦(k’−k)(mod2
L)<2L−1の場合にのみ、k≦k’でありうる。言
い換えれば、例えば段階122において、Lビットにつ
いて差分k’−kを計算し(すなわち最高位のキャリー
を無視し)、この差分の順序2L−1のビットが0(k
≦k’)あるいは1(k>k’)であるか否かを調べれ
ば十分である。したがって、2L−l以上現在の時刻よ
り早いか、あるいは2L-1−1以上現在の時刻よりも遅
れている時刻をどのキーも指定しなければ、キーの入力
順は満足され、これは十分に大きな数Lを選択すればこ
れは容易に満たされる条件である。
【0090】上述したソーティング装置の応用例をAT
Mセルスペーサについて説明する。
【0091】図16のスペーサにおいて、ポリシング機
能は、現在時刻と各着信セルが関係する接続の識別情報
IdCxに基づいてモジュール40により実行される。
各セルに対して再帰的に計算された理論的送出時間TE
Tは、このモジュール40によりこのセルが関係する接
続と組み合わされたスペーシング間隔Tと共にスペーシ
ングコントローラ41に転送される。この情報と接続識
別情報IdCxに基づきスペーシングコントローラ41
は着信セルが書き込まれ発信セルが読み取られるセルメ
モリ42の管理を監視し、さらにポインタメモリ43と
ソーティング装置44を管理する。
【0092】NCXはIdCx=lからIdCx=NC
Xまでスペーサが処理できる番号が付された仮想接続の
数を表示し、またNCEはメモリ42が前もって規定さ
れたロケーションCh_cell(l)からCh_ce
ll(NCE)に収容できるセルの数を表示する。
【0093】ここに示す代表的な実施形態において、セ
ルメモリ42およびポインタメモリ43は2つの別のメ
モリモジュールから成り、その第1のメモリモジュール
はコントローラ41の制御の下にユニット46により管
理される。しかしながら、他の実施形態が可能であるこ
とは理解されるであろう。特に、メモリ42および43
はコントローラ41によりアクセスが命令される単一の
メモリモジュールで実現できるであろう。上に述べたよ
うに、例えば2メガバイトのRAMメモリモジュール
が、セルメモリを管理するに必要なポインタと共に、N
CX=4096の異なる仮想接続に関する最大NCE=
32,000セルまでの蓄積を可能とする。
【0094】図17はセル−クロック信号CKCを示
し、それに基づいてスペーサのシーケンサ47は必要な
クロック信号をモジュール40、スペーシングコントロ
ーラ41、ソーティング装置44およびセルメモリのマ
ネージャ46に供給する(図1)6。このクロック信号
の周期は155Mbit/sリンクの場合に2.7μs
である。この信号CKCの各周期に、スペーサはメモリ
42に書き込まれたセルを受信し(図17の第3行)、
メモリ42から読み込んだセルを送出する(図13の第
4行)ことができなくてはならない。図17に示す代表
的な刻時において、各セル期間は同様の持続時間を持っ
た2つの連続したフェーズに分割され、第1のフェーズ
は着信セルの受信のためであり、第2のフェーズは発信
セルの送出のためである。
【0095】各セル期間の第1フェーズにおいて、スペ
ーシングコントローラ41はマネージャ46にセルメモ
リ42の中のスタートアドレスaを供給する、そこから
スタートして、このマネージャは着信セルの53バイト
の書き込みを命令する。第2フェーズにおいて、コント
ローラ41により供給されたスタートアドレスaは、発
信セルを転送するために、マネージャ46に、メモリ4
2のアドレスaから始まる蓄積された53バイトの読み
出しを命令できるようにする。この説明のために、アド
レスaは、セルが書き込まれる、あるいはセルが読み出
されるメモリ42(1≦a≦NCE)のロケーションC
h_cell(a)の数に対応すると見なされ、また規
約により、a=Oは関連するフェーズ中はメモリ42に
対するアクセスを命令してはならないとマネージャ46
に通知する(セル期間内は、着信セル、あるいは送出さ
れるセルを禁止)。
【0096】セルメモリ42は、セルを含む各仮想接続
に対して、これらのセルが先入れ先出し(FIFO)モ
ードで配列されるロケーションのリストを含むように構
成される。これらのリストはポインタメモリ43により
コントローラ41によって管理される。
【0097】メモリ43のポインタはそれぞれロケーシ
ョンCh_cell(l)からCh_cell(NC
E)と組み合わされた、フリーロケーション・ポインタ
Ptr_free、1≦IdCx≦NCXに対してNC
Xリスト開始ポインタPtr_start(IdC
x)、1≦IdCx≦NCXに対してNCXリスト終端
ポインタPtr_end(IdCx)、および1≦i≦
NCEに対してNCE継続ポインタPtr_cont
(i)、を有する。メモリ42が所定の時刻においてセ
ルを含んでいない仮想接続の各識別情報IdCxは、こ
の時刻に零にそのリスト終端ポインタPtr_end
(IdCx)を有し、空白のリストを示す(これは図1
6に示す例でIdCx=2の場合である)。他の状況で
は、接続IdCxにより最も以前に受信したセルを蓄積
したロケーションCh_cell(i)の数iはリスト
開始ポインタPtr_start(IdCx)と等し
く、接続IdCxにより最も最近受信したセルを蓄積し
たロケーションの数はリスト終端ポインタPtr_en
d(IdCx)と等しい。接続IdCxに関するFIF
Oリストは継続ポインタにより連鎖される。リストの終
わりではないロケーションCh_cell(i)と組み
合わされた継続ポインタPtr_cont(i)は、そ
のリストでそれに続くロケーションCh_cell(P
tr_cont(i))を指定する。もしロケーション
Ch_cell(i)がリストの終わりであれば、Pt
r_cont(i)=Oにセットされる。図16の例に
おいて、IdCx=lと関連するリストはCh_cel
l(NCE−1)、Ch_cell(l)およびCh_
cell(3)であり、またIdCx=NCXと関連す
るリストはロケーションCh_cell(6)に縮小す
る。送出されるセルにより占有されていないメモリ42
のロケーションは空きロケーションのLIFOリストを
形成し、第1のロケーションはポインタPtr_fre
eにより指定され、後続のロケーションは連続した継続
ポインタにより指定される。図16の例において、空き
ロケーションのリストは出力順にCh_cell
(5)、Ch_cell(NCE)およびCh_cel
l(2)である。
【0098】図16のスペーサの分類ツリーの根は、ス
テージ0と組み合わされたコントローラ210の処理動
作を実行するスペーシングコントローラ41によりアク
セスできる(図2から図15)。ツリーの根に位置する
データ要素K(1)、R(1)は、図に示すようにポイ
ンタメモリ43に、あるいはコントローラ41の特殊レ
ジスタに蓄積することができる。コントローラ41はイ
ンタフェース・レジスタ261によりソーティング装置
44のステージ1からn−1とコマンドおよびパラメー
タを交換する。この例においてインタフェース・レジス
タ261は図9を参照して説明されたものに一致してい
る。
【0099】ソーティング装置44に供給される各デー
タ要素は、ソートキーK(i)に関して、リスト開始を
構成するメモリ42のロケーションに蓄積されたセルの
理論的送出時間から成り、またリファレンスR(i)に
関して、このセルが関係する仮想接続の識別情報IdC
xから成る。キーK(i)はしたがって、既に説明した
ように、Lビットのサイクリック・カウンタにより規定
できる時間タグである。無限大のキーを区別するために
1ビットをプラスした、例えばL=16ビットのカウン
タが、ATMスペーサへの応用に適している。リファレ
ンスR(i)はNCX=4096の接続に対して12ビ
ットでよい。
【0100】もしスペーサが実スペーサであれば、コン
トローラ41はツリーの根にあるキーK(1)を現在の
時刻taと比較し、もしK(l)≦taであれば、マネ
ージャ46にa=Ptr_start(R(l))を供
給し、その結果リストのスタートに位置するセルの中で
最小の理論的送出時間を有するセルが送出される。仮想
スペーサの場合には、コントローラ41は同じように動
作するが、現在の時刻との比較はしない。K(l)<∞
になり次第各周期にセルが送出される。
【0101】そのロケーションリストが空である(Pt
r_end(IdCx)=O)接続IdCxに関連する
セルが到着すると、このセルはロケーションCh_ce
ll(Ptr_free)に蓄積され、フリーロケーシ
ョンのリストは更新され、またコントローラ41は、リ
ファレンスがこのIdCxに対応し、ソートキーがこの
セルに対してモジュール40により計算されたTETで
あるデータ要素の分類ツリーの中に挿入を命令する。
【0102】ロケーションのリストが空ではない接続I
dCxに関するセルの到着は、分類ツリーの内容を修正
せず、ロケーションCh_cell(Ptr_fre
e)での蓄積と、また空きロケーションのリストと接続
IdCxと組み合わされたリストの更新のみを要求す
る。
【0103】ロケーションのリストがこの1つのセルを
含む接続IdCxに関するセルの送出は分類ツリーの対
応する要素の直接的抽出を必要とし、それは無限大のキ
ーを有する要素の交換に相当する。
【0104】ロケーションのリストがこのセルの後に1
つ以上のセルを含む接続IdCxに関するセルの送出
は、ツリーの対応する要素と、リファレンスがこのId
Cxに対応し、ソートキーがリストの第2の位置、すな
わちロケーションCh_cell(Ptr_cont
(Ptr_start(IdCx)))に蓄積されたセ
ルに割り当てられた理論的送出時間である新しい要素と
の交換を必要とする。
【0105】この後の場合において、新しい要素のキー
を形成する理論的送出時間は、リストの新しい開始に蓄
積されたセルに関してモジュール40により供給された
ものであり得る。したがって、セルが到着する時にモジ
ュール40により供給されたTET時間を蓄積すること
は有益である。しかしながら、コントローラ41がソー
ティング装置44に新しいデータ要素を供給する時に、
セルに対して理論的送出時間を再計算することが望まし
い。
【0106】この目的のために、メモリ43は、さまざ
まな仮想接続IdCxに割り当てられたスペーシング間
隔Tの値TT(IdCx)が蓄積された配列を含み、そ
の値をコントローラ41は当該接続によってセルが到着
する時モジュール40から受信する。K(l)≦taで
ある時、実スペーサはCh_cell(Ptr_sta
rt(R(l)))に蓄積されたセルを送出し、分類ツ
リーの根に位置する要素K(l)、R(l)を新しい要
素K(l)+TT(R(l))、R(l)と交換するこ
とを命令する。言い換えれば、リストの新しい開始に蓄
積されたセルの理論的送出時間は、送出されたセルの理
論的送出時間に当該接続に割り当てられた時間間隔TT
(IdCx)を加えたものに等しいとされる。
【0107】この手順は2つの利点を有する。第1は、
もしモジュール40が、接続IdCxに関する2つの連
続したセルに、そのそれぞれの到着時刻によってTT
(IdCx)よりいっそう離れている理論的送出時間T
ETを割り当てるならば、また第1のセルが送出された
時に、もしこれらの2つのセルの第2のセルがすでにメ
モリ42に書き込まれていれば、第2のセルの理論的送
出時間はモジュール40により計算された理論的送出時
間に対して進めることができ、その接続の後続のセルの
理論的送出時間も所要のスペーシング特性を阻害せずに
進めることができる。これは若干のセルの不要な遅延を
回避する。
【0108】第2の利点は、ある接続に割り当てられた
スペーシング間隔を動的に、かつただちに修正できるこ
とである。リンクの渋滞が輻輳の危険を生ずる時、この
柔軟性は若干の仮想接続に対して例えばスペーシング間
隔を増やすことができる。このスペーシング間隔の増加
は、メモリ42に含まれるこの接続セルに関する点を含
みただちに効力を発し、したがってセルは最初に計算さ
れたTETにしたがっては送出されないであろう。かく
して予防的方策の適用による避けられない輻輳へ導く可
能性がある遅延は回避される。当然、接続に対してスペ
ーシング間隔を増やす許可はこの接続が確立される時
に、同一のCDV許容誤差および情報源の同一挙動に対
してセルがポリシング機能により廃棄される確率が増加
することを仮定して、情報源(利用者)と合意に達しな
ければならない。
【0109】図18は、各セル期間の第1フェーズにお
いて図17の第2行に示す時間間隔200の間にコント
ローラ41により実行される動作を示す。
【0110】第1の段階201は、着信セルが問題のセ
ル期間内にスペーサに到達するか否かを決定し、もし妥
当であるならば、このセルが関連する接続の識別情報I
dCxを、理論的送出時間TETおよびモジュール40
によりこのセルに供給されたスペーシング間隔Tと共に
確認することから成る。
【0111】もし着信セルが受信されなければ、アドレ
スa=0が段階202においてセルメモリのマネージャ
46に供給され、その後、段階203において、コント
ローラ41はバイナリーツリーコマンド(A1=00)
の内容の修正の無いことをインタフェース・レジスタ2
1に書き込む。
【0112】もし着信セルが存在していれば、段階20
4においてフリーロケーション・ポインタPtr_fr
eeがポインタメモリ43から読み出され、アドレスa
に割り当てられ、段階202においてマネージャ46に
供給される。もしa=O(受信セル無し、あるいはメモ
リ42に多数の空きロケーションが存在する)ならば、
マネージャ46は現在のセル期間中はメモリ42に書き
込まず、スペーシングコントローラ41は前述の段階2
03を実行し、その結果バイナリーツリーの内容は変化
しない。他の状況では、コントローラ41はポインタ読
み込み段階205に進む。
【0113】段階205において、フリーロケーション
のリストの第2のロケーションの数Ptr_cont
(a)、接続IdCxに関するリストの開始の数Ptr
_start(IdCx)およびこのリストのポインタ
Ptr_end(IdCx)はそれぞれ変数b、cおよ
びdに割り当てられる。段階206において、スペーシ
ング間隔の配列TTは接続IdCxに対してモジュール
40から受信した値Tにより更新され、接続IdCxに
関するロケーションのリストの終わりに対するポインタ
としてアドレスaがメモリ43に書き込まれ、以後リス
トの終わりがあることを示すために、このロケーション
と組み合わされた継続ポインタPtr_cont(a)
は零にセットされ、フリーロケーション・ポインタPt
r_freeは変数bと共に更新される。
【0114】接続IdCxに関するロケーションのリス
トが空でなかったとすれば(すなわち比較207の間、
d≠Oであれば)、先に説明したように分類ツリーの内
容の修正は必要なく、その結果スペーシングコントロー
ラ41は、前のリストの終わりと組み合わされた継続ポ
インタを段階208において古いフリーロケーション・
ポインタと更新した後、前述の段階203を実行する。
Ptr_cont(d)=a。
【0115】もし比較207がd=Oを示せば、コント
ローラ41は段階209においてPtr_start
(IdCx)=aを書き込むことによりリストポインタ
の更新を完了する。コントローラは次に新しいデータ要
素TET、IdCxを分類ツリーの中へ挿入する。コン
トローラがそのために行う動作は、バイナリーツリーの
ステージ0のコントローラ260により行われた動作、
すなわち図12、図13および図6のフローチャートの
段階110から119に対応する。段階210におい
て、コントローラ41は変数kおよびrにソートキーK
(1)およびツリーの根において読み出したデータ要素
のリファレンスR(1)を割り当て、その後にコントロ
ーラはキーkを段階201においてモジュール40から
受信した理論的送出時間TETと比較する(比較21
1)。もしTET≧Kであれば、挿入コマンドは分類ツ
リーのステージ1に伝搬されなくてはならず、その結
果、段階212において、コントローラ41がA1=0
1、B1=TETおよびC1=IdCxをパイプラインレ
ジスタ261に書き込み、図16で示すように、レジス
タ261の葉指定フィールドはソーティング装置44の
最後のコントローラ21n-1から空きの葉G1の数を受信
する。
【0116】もし比較211がTET<Kを示せば、次
に新しいデータ要素TET、IdCxは、ツリーの根に
書き込まれる必要があり、これは段階216において実
行される。これに先だって、もしツリーの根に先に位置
されたソートキーkが無限大であれば(比較213)、
コントローラ41は段階214においてリセットコマン
ドA1=10をパイプラインレジスタ261の中へ伝搬す
る。他の状況では、コントローラ41は先に段階215
において根に位置された要素B1=k、C1=rのための
挿入コマンド(A1=01)をレジスタ261に書き込
む。
【0117】コントローラ41のソーティング装置44
との同期に関する限り、図18は、図7および図11の
参照して関係する時刻と対応する時刻αoが、コントロ
ーラ41によるパイプラインレジスタ261への書き込
みの段階203、212、214あるいは215の後に
起きることを示す。この時刻αoから開始して、ステー
ジ1のコントローラ211はコマンド(図17に示す時
刻α’1)の処理を始めることができる。
【0118】図19は、各セル期間の第2フェーズにお
いて図17の第2行に示す時間間隔300の間にコント
ローラ41により実行される動作を示す。
【0119】第1の段階301は、ソートキーK(l)
およびツリーの根に位置するデータ要素のリファレンス
R(l)の読み出しと、それらを変数kおよびrにそれ
ぞれ割り当てることから成る。次の比較302は、セル
を送出すべきか否かを決めるために動作する。実スペー
サの場合には、この段階302はソートキーkを現在時
刻taと比較することから成る。仮想スペーサの場合に
は、この段階302は単にキーkが有限であるか、無限
大であるかを調べることから成る。もしk>taならば
(実スペーサの場合)、バイナリーツリーコマンドA1
=00の内容に修正の無いことをパイプラインレジスタ
261に書き込むことを除いて(段階303)、コント
ローラ41はセル期間の第2フェーズにはなんら動作を
行わない。
【0120】もし段階302以降セルの送出が続くなら
ば、接続rに関連するリスト開始におけるロケーション
の数と、このロケーションと組み合わされた継続ポイン
タがメモリ43から読み出され、段階304において変
数aとbにそれぞれ割り当てられる。アドレスaはその
次に、段階305においてマネージャ46に供給され、
その結果、マネージャはこのアドレスに蓄積されたセル
を送出する(図17の第4行)。もしツリーの根に位置
する要素で識別された接続r=R(l)に関するロケー
ションのリストが単一のセルのみを収容していたなら、
変数bは0である。これは比較306により検出され
る。この場合に、リスト終端ポインタPtr_end
(r)は段階307において、このリストがもうセルを
含んでいないことを示すように零にセットされ、また段
階308において、バイナリーツリーで交換されるべき
新しい要素のソートキーを構成する無限大の値が理論的
送出時間TETに割り当てられる。
【0121】もし段階306においてb≠Oであれば、
ロケーションのリストはいくつかのセルを含み、変数b
はこのリストのスタートポインタとして段階309にお
いて書き込まれ、段階311において、ロケーションC
h_cell(b)に蓄積されたセルは段階301で読
み込まれたキーk=K(l)と等しい新しい理論的送出
時間TETを受信し、このTETには段階310で読み
取られた関連する接続のスペーシング間隔TT(r)と
等しくされた変数Tが加えられる。ツリーの根に位置す
る要素K(l)、R(l)を新しい要素B1=TET、
1=rと交換するためのコマンド(A1=11)が、段
階312において、パイプラインレジスタ261に書き
込まれる。
【0122】ソーティング装置44のコントローラ21
1がコマンドを処理し始めることができる時刻αoは、図
19が示すように段階312(あるいは段階303)の
後に位置される。スペーシングコントローラ41は、分
類ツリーのステージ1から返送された要素をレジスタ2
1の中に取り込む前に、時刻β’0≧β1(図17参
照)まで待たなくてはならない。図17に示す例におい
て、コントローラ41はインターバル〔α0、β’0〕に
おいてフリーロケーションのリストを更新し、段階31
3においてコントローラ41はフリーロケーション・ポ
インタPtr_freeを読み取り、変数cにそれを割
り当て、次に段階314において、コントローラはPt
r_cont(a)=cおよびPtr_free=aを
メモリ43に書き込む。
【0123】ツリーのステージ1のコントローラが最小
のキーを有する要素をレジスタ26 1に一旦返送する
と、この要素は段階315においてコントローラ41に
より読み出され、次に段階316においてツリーの根に
書き込まれる。
【0124】図20は仮想接続に割り当てられた優先権
インデックスを考慮に入れることができるATMセルス
ペーサの変形例を示す。1とUの間の値をとると考えら
れるこの優先権インデックスはuと示される。図20の
スペーサは、それぞれそのステージ0とそのステージ1
の間にパイプラインレジスタ261 (u)を有する、U個の
ソーティング装置44(u)を有する。各ソーティング装
置44(u)の動作は先に説明したものと同じである。各
バイナリーツリーの根はポインタメモリ43に含まれて
おり(その内容の残りは図20には表示されない)、ス
ペーシングコントローラ41により管理されると考えら
れる。セルメモリ42およびそのマネージャー46の動
作は、コントローラ41により供給されたアドレスaに
おけるセルの書き込みと読み出しの点で前述したものと
同じである。
【0125】各ソーティング装置44(u)は、リファレ
ンスR(u)(i)が同じ優先権インデックスuを有する
仮想接続IdCxの識別情報を指定するデータ要素を処
理する。これらの要素の中から、装置44(u)はその根
において(表示の例ではメモリ43の中で)、そのキー
(u)(1)が最小である要素を選択する。したがっ
て、最小のソートキーを示すツリーの根に位置するデー
タ要素のそれの中で、識別された接続に関連するリスト
の開始に含まれているセルの送出を命令するように、ス
ペーシングコントローラは工夫されている。いくつかの
最小ソートキーK(u )(1)が等しい場合、スペーシン
グコントローラ41は同順位の中で最大の優先権インデ
ックスを有する接続を選ぶ。
【0126】この優先権インデックスの管理方法は、ス
ペーシングコントローラ41を大幅に複雑にするもので
はない。セルの受信の際に実行される動作に関する限
り、図18のフローチャートは変わらず、段階210か
ら216は接続識別情報IdCxと同時にコントローラ
41により受信された優先権インデックスuに対応する
分類ツリー44(u)に関して実行される。
【0127】各セル期間の第2フェーズにおいて実行さ
れた動作に関する限り(図19)、ツリーの根に位置す
る要素を読み出し、この要素のキーを現在時刻と比較す
るための段階301、302が優先権インデックスの降
順に連続して、インデックスuについては、現在時刻に
到達したことを段階302が示すまで行される。この場
合に、段階304から316は変更無しに実行され、レ
ジスタ261 (u)への書き込み312と、レジスタ261
(u)からの読み出し315、および当該分類ツリーの根
への書き込み316が実行される。
【0128】図20の例において、U個のソーティング
装置は別個である。これらのさまざまなソーティング装
置が、その制御手段、すなわち、そのコントローラ2l
qおよびそのパイプラインレジスタ26qを共有できるこ
とが指摘される。図21はU=2の特定の場合につい
て、このような具体化例を示す。
【0129】図21の実施形態において、U=2の分類
ツリーはインタフェース・レジスタ26qとステージコ
ントローラ21qを共有する。ただその記憶ステージ2
q (1)、20q (2)(q≧O)のみが区別される。2つの
ステージ0はポインタメモリ43の中に含まれる。各ス
テージq≧lに対して、2つのツリーの対応するステー
ジ20q (1)、20q (2)がコントローラ21qにより管理
されるメモリの2つの別の領域により形成され、これら
は例えば二値の優先権インデックスから成り、したがっ
てパイプラインレジスタのフィールドDqの最高順位の
命令ビットを形成している追加のアドレスビットに基づ
いて識別される図22は、リンクのビット・レートがあ
まり高くない時(例えば155Mbit/sリンク)に
使用できるスペーサの異なる実施形態の動作を示す。こ
の変形例において、ソーティング装置は2つのコントロ
ーラを有し、一方はバイナリーツリーのステージ0から
n−p−1と組み合わされた21o、n-pであり、他方は
バイナリーツリーのステージn−pからn−1と組み合
わされた21n-p、pである。このソーティング装置にお
いて、抽出あるいは交換コマンドは前述のようにステー
ジ0からステージn−1へ伝搬され、一方挿入コマンド
はステージn−1からステージ0に向かって伝搬され
る。したがって、空きの葉の識別Gqを受信するため
に、差分カウンタあるいはインタフェース・レジスタに
ロケーションを設けることは不要である。
【0130】図22に示すように、各セル期間は、例え
ばセルメモリに任意のセルを書き込むフェーズとセルメ
モリから任意のセルを読み出すフェーズに対応する2つ
のフェーズIとIIに分けられる。第1のフェーズIの
始めに、スペーシングコントローラは、要素を分類ツリ
ーに挿入する理由およびこのツリーの要素を交換あるい
は抽出する理由があるか否かを調べる。もし妥当である
なら、第1のコントローラ21o、n-pは次に、ステージ
0からステージn−p−1まで交換コマンドの処理を開
始し、第2のコントローラ21n-p、pはステージn−1
からステージn−pまで挿入コマンドを伝搬することに
より挿入コマンドの処理を開始する。どの葉から挿入コ
マンドを伝搬するべきか確認するために、コントローラ
21n-p、 pはステージn−1のすべての空きの葉を指定
しているリストを保持し、その1つは挿入コマンドのス
タート点として機能するために(例えばLIFO手順に
より)選択される。
【0131】第2のフェーズIIにおいて、もし必要あ
れば、挿入コマンドはステージn−p−1からステージ
0までコントローラ21o、n-pによって伝搬され、一方
必要ならば、コントローラ21n-p、pは交換コマンドを
ステージn−pからステージn−1へ伝搬する。
【0132】インタフェース・レジスタ26n-pは、次
に分類ツリーの2つのコントローラの間のパイプライン
レジスタとして機能する。フェーズIおよびフェーズI
Iの間での2つのコントローラ間でのパラメータのいか
なる交換も、例えば、このパイプラインレジスタを2つ
に(1つのレジスタを上向きの方向に、また、1つのレ
ジスタを下向きの方向に)分割することにより可能であ
り、あるいはパラメータを一方向に交換し、引き続き他
の方向に交換することにより可能である。
【0133】図22に示す実施形態は、例えば最大N=
4096の仮想接続までサポートする155Mbit/
sリンクの場合に使用できる。したがって、分類ツリー
の大きさはn=12およびp=8に決めることができ、
ステージ0から3を監視する第1のコントローラ21
o、n-pはセルポインタを管理するスペーシングコントロ
ーラとおそらく統合可能である。
【図面の簡単な説明】
【図1】バイナリー分類ツリーの図である。
【図2】本発明の有用なソーティング装置の概略図であ
る。
【図3】図2の装置の各コントローラの環境を示す概略
図である。
【図4】図3のコントローラの動作を示すフローチャー
トである。
【図5】図3のコントローラの動作を示すフローチャー
トである。
【図6】図3のコントローラの動作を示すフローチャー
トである。
【図7】ソーティング装置の動作のタイミング図であ
る。
【図8】図3に類似し、コントローラの環境の点で可能
性のある変形例を示す図である。
【図9】図3に類似し、コントローラの環境の点で可能
性のある変形例を示す図である。
【図10】図9によるソーティング装置で用いられるシ
フト・レジスタを示す図である。
【図11】ソーティング装置の単純化されたタイミング
図である。
【図12】図9のコントローラの動作を示すフローチャ
ートである。
【図13】図9のコントローラの動作を示すフローチャ
ートである。
【図14】バイナリーツリーの最後のステージの特定の
場合における図12、図13および図6のフローチャー
トに対応するフローチャートである。
【図15】バイナリーツリーの最後のステージの特定の
場合における図12、図13および図6のフローチャー
トに対応するフローチャートである。
【図16】本発明を実現するATMセルスペーサの全体
図である。
【図17】図16のスペーサの動作のタイミング図であ
る。
【図18】ATMセルの受信および送出の際に図16の
スペーサのコントローラにより実行される動作を示すフ
ローチャートである。
【図19】ATMセルの受信および送出の際に図16の
スペーサのコントローラにより実行される動作を示すフ
ローチャートである。
【図20】本発明を実行するATMスペーサの変形例部
分図である。
【図21】本発明を実行するATMスペーサの変形例部
分図である。
【図22】図17のタイミング図に相当し、スペーサの
変形例を参照するタイミング図である。
【符号の説明】
1〜15 ノード 200〜203 メモリモジュール 211〜213 コントローラ 220〜223 バス 23 ロケーション 25 ロケーション 260〜263 インタフェース レジスタ 30 シフトレジスタ 40 モジュール 41 スペーシングゴントローラ 42 メモリ 43 メモリ 44 ソーティング装置 46 マネージャー 47 100〜126、130〜145、152〜158
段階 201〜216、301〜316 イテプ

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 複数の仮想接続に応じて送信されるAT
    Mセルのスペーサであって、 着信セルが書き込まれ、発信セルが読み出されるセルメ
    モリ(42)と、 少なくとも前記セルの到着時刻(ta)と前記接続に割
    り当てられたスペーシング間隔(T)とを含むパラメー
    タに基づいて、仮想接続に関連する各セルに対する理論
    的送出時間(TET)の回帰的な計算をする手段(4
    0)を有し、前記セルメモリに格納された各セルに理論
    的送出時間(TET)を割り当てる手段(40、41)
    と、 仮想接続がセルを収容している各仮想接続に対して、前
    記セルがリストの始めとリストの終わりの間で先入れ先
    出しモードで格納されるロケーションのリストを前記セ
    ルメモリが有するように、関連するポインタメモリ(4
    3)の助けにより、前記セルメモリ(42)を管理する
    スペーシング制御手段(41、46)と、 仮想接続識別情報と、前記仮想接続に関するリストの始
    めに含まれているセルの理論的送出時間から成るソート
    キーを各々が含むデータ要素(K(i)、R(i))を
    順序づけ、最小のソートキーを有する少なくとも1つの
    データ要素を選択するソーティング手段(41、44)
    を有し、前記スペーシング制御手段は、前記ソーティン
    グ手段により選択されたデータ要素において識別された
    仮想接続に関するリストの始めに含まれたセルの送出を
    命令するするように構成されており、 前記セルメモリ(42)がセルを含んでいない仮想接続
    に関連するセルが到着すると、前記ソーティング手段
    (41、44)が前記仮想接続の識別情報を有する新し
    いデータ要素、およびソートキーとして、前記回帰的計
    算手段(40)により与えられた前記セルの理論的送出
    時間を受け取る、ATMセルのスペーサにおいて、 少なくとも1つの第2のセルをさらに含むロケーション
    のリストを前記セルメモリが有する仮想接続に関連する
    第1のセルを送出すると、前記ソーティング手段が前記
    仮想接続の識別情報を有する新しいデータ要素、および
    ソートキーとして、前記第1のセルの理論的送出時間と
    前記接続に割り当てられたスペーシング間隔との和に等
    しい、前記第2のセルの理論的送出時間を受け取ること
    を特徴とするATMセルのスペーサ。
  2. 【請求項2】 送出されるセルによって占有されていな
    い前記セルメモリ(42)のロケーションが、フリーロ
    ケーションのリストの始めとフリーロケーションのリス
    トの終わりの間のフリーロケーションのリストの形で前
    記スペーシング制御手段(41、46)により、前記ポ
    インタメモリ(43)に含まれるポインタ(Ptr_f
    ree、Ptr_cont)によって管理される請求項
    1に記載のスペーサ。
  3. 【請求項3】 前記セルメモリの各ロケーション(Ch
    _cell(i))が、もし前記ロケーションがリスト
    の終わりでなければ、そのリストの中で、そこから続い
    ているセルメモリの他のロケーションを指定する継続ポ
    インタ(Ptr_cont(i))と組み合わされてい
    る請求項2に記載のスペーサ。
  4. 【請求項4】 前記ポインタメモリ(43)が、各仮想
    接続に対して、もし前記接続に関連する少なくとも1つ
    のセルが前記セルメモリ(42)に含まれていれば、前
    記接続に対応するロケーションのリストの始めとリスト
    の終わりをそれぞれ指定するリスト開始ポインタ(Pt
    r_start)およびリスト終了ポインタ(Ptr_
    end)を含む請求項3に記載のスペーサ。
  5. 【請求項5】 優先権インデックス(u)が仮想接続に
    割り当てられ、前記ソーティング手段がそれぞれ同様の
    優先権インデックスの仮想接続の識別情報を有するデー
    タ要素を処理し、またそれが処理するデータ要素の中か
    ら最小のソートキー(K(u)(1))を有する要素を選
    択するいくつかのソーティング装置(44(u))を有
    し、前記スペーシング制御手段は、最小のソートキーを
    示す選択されたデータ要素の1つに、あるいは、いくつ
    かのソーティング装置がそれぞれソートキーが最小であ
    るデータ要素を選択するならば、これらのソーティング
    装置により選択された、優先権インデックスが最高であ
    るデータ要素の1つにおける識別された接続に関連する
    リストの始めに含まれているセルの送出を命令するよう
    に構成されている請求項1から4までのいずれか1項に
    記載のスペーサ。
  6. 【請求項6】 種々のソーティング装置の各々が、それ
    ぞれの記憶手段(20q(1)、20q(2))を有し、
    またその制御手段(21q、26q)を共有する請求項5
    に記載のスペーサ。
  7. 【請求項7】 前記ソーティング手段が、それぞれデー
    タ要素を含むことが可能であり、0からnまで番号を付
    けられたn個の連続したステージに分配され、ステージ
    qはノード2qから2q+1−1を有する、1から2n−1
    まで番号を付けられた2n−1個のノードを有するバイ
    ナリーツリーにしたがって構成された記憶手段(200
    −20n-1)と、 1から2n-1−1の間の各整数iに対して、ノードiは
    分類されるべき要素を含み、ノード2iおよび2i+1のそ
    れぞれは分類されるべき要素を含まないか、あるいはソ
    ートキーがノードiに含まれている要素のソートキーよ
    りも大きいかまたはそれに等しい要素を含むように、順
    序付けの条件を満足するように、ツリーの中でソートさ
    れる要素を分散させるバイナリーツリーの制御手段(2
    0−21n-1)とを有するソーティング装置(44)を
    少なくとも1つ有し、 前記バイナリーツリーの制御手段はソートされる新しい
    要素を挿入するためのコマンドを含むバイナリーツリー
    の内容を修正するコマンドに応答する、請求項1から6
    までのいづれか1項に記載のスペーサ。
  8. 【請求項8】 前記バイナリーツリーの制御の手段が、
    それぞれステージ(20q)あるいはバイナリーツリー
    の複数の連続したステージと組み合わされた、2からn
    の間の整数であるm個の連続したコントローラ(2
    q)と、連続したステージ間のn−1個のインタフェ
    ース・レジスタ(26q)を有し、それらのうち異なる
    コントローラと組み合わされたステージ対の間のm−1
    個のインタフェース・レジスタの各々はパイプラインレ
    ジスタを構成し、バイナリーツリーの内容を修正するた
    めの各コマンドがステージ0からステージn−1へ前記
    インタフェース・レジスタによって伝搬され、前記パイ
    プラインレジスタが前記コントローラの並行動作を許容
    する請求項7に記載のスペーサ。
  9. 【請求項9】 1からn−1の間の各整数qに対して、
    ステージq−1とステージqの間のインタフェース・レ
    ジスタ(26q)が、ステージq−1のノードからステ
    ージqのノードへ伝搬されるコマンド(Aq)を受信す
    るための第1のロケーションと、関連するコントローラ
    (21q-1)が前記コマンドの処理の間にアクセスする
    ステージq−1の前記ノードの識別情報(Dq)を受信
    するための第2のロケーションと、ステージq−1の前
    記ノードからあるいはステージq−1の前記ノードへ送
    信されるデータ要素(Bq、Cq)を受信するための第3
    のロケーションを有する請求項8に記載のスペーサ。
  10. 【請求項10】 1からn−1の間の各整数qに対し
    て、ステージq−1とステージqの間のインタフェース
    ・レジスタ(26q)が、第2のロケーションに含まれ
    る識別情報(Dq)により、もしこのコマンドがツリー
    の中への新しい要素の挿入を示しているならば、前記コ
    マンドが伝搬され、また対応するコントローラ(2
    q)が第1のロケーションに含まれるコマンドの処理
    の間にアクセスするステージqのノードを指定するビッ
    ト(Eq)を受信するための第4のロケーションを有す
    る請求項9に記載のスペーサ。
  11. 【請求項11】 1からn−1の間の各整数qに対し
    て、ステージq−1とステージqの間のインタフェース
    ・レジスタ(26q)の第2および第4のロケーション
    が、新しい要素を挿入するためのコマンドの伝搬の間
    に、空きの葉の数のn−1個の最下位ビットを含むn−
    1ビットの葉指定フィールド、すなわち、それに向かっ
    て前記コマンドが伝搬されるステージn−1の空きのノ
    ードの一部を形成し、前記コマンドが伝搬されるステー
    ジqのノードは葉指定フィールドの内容のq個の最高位
    のビットにより指定される請求項10に記載のスペー
    サ。
  12. 【請求項12】 ツリーのステージn−1と組み合わさ
    れたコントローラ(21n-1)が、各葉に向かって、新
    しい要素を挿入するためのコマンドが現在ツリーの中で
    伝搬されつつある各々の葉を含む空きの葉の指定された
    番号n’を含む空き葉の第1のリストと、第1のリスト
    に含まれていない空きの葉を含む空きの葉の第2のリス
    トを管理し、 ステージ0と1の間のインタフェース・レジスタの第1
    のロケーションにソートされる新しい要素を挿入するた
    めのコマンドを登録する間に、各葉に向かってツリーの
    中で他の挿入コマンドが現在伝搬されつつある前記各葉
    と異なった、第1のリストの空きの葉の数のn−1個の
    最下位ビットがステージ0と1の間のインタフェース・
    レジスタの葉指定フィールドの中に登録され、 ツリーの葉からの要素の抽出の間は、前記葉は空きの葉
    の第2のリストに含まれ、 新しい要素を挿入するためのコマンドがステージn−2
    とn−1の間のインタフェース・レジスタ(26n-1
    の中のステージn−1に到達する時、組み合わされたコ
    ントローラ(21n-1)は空きの葉の第1のリストから
    前記インタフェース・レジスタの葉指定フィールドのn
    −1ビットにより指定された葉(Gn-1)を除去し、そ
    れを第2のリストからの葉と置換する請求項11に記載
    のスペーサ。
  13. 【請求項13】 n’<nである請求項12に記載のス
    ペーサ。
  14. 【請求項14】 空きの葉の第1のリストが、それぞれ
    葉の数のn−1個の最下位ビットを受信するn’個のロ
    ケーションを有するそれ自身ループバックされるシフト
    ・レジスタ(30)に記憶される請求項12または13
    に記載のスペーサ。
  15. 【請求項15】 空きの葉の第2のリストが後入れ先出
    し形式でポインタの連鎖の形で記憶され、各ポインタは
    葉の数を表し、連鎖の第1のポインタ(P)は特定のロ
    ケーションに記憶され、連鎖のi番目のポインタ(i≧
    2)は番号が連鎖のi−1番目のポインタで表される葉
    に記憶されている請求項12、13あるいは14に記載
    のスペーサ。
  16. 【請求項16】 第1および第2のリストが少なくとも
    n’個のロケーションを有する先入れ先出し型式の論理
    待ち行列の形式で記憶され、第1のリストは、論理待ち
    行列の最後のn’個のロケーションと論理待ち行列の先
    行するロケーションの第2のリストからなる請求項12
    または13に記載のスペーサ。
  17. 【請求項17】 pが、m番目のコントローラと組み合
    わされているバイナリーツリーのステージの数であって
    1以上n−1未満であり、前記記憶手段がiが1から2
    n-p-1−1の範囲であるツリーのノード2iと2i+1の対
    とそれぞれ組み合わされた差分カウンタ(Δ(i))を
    含むための少なくとも2n-p-1−1個のロケーション
    (25)を有し、データ要素の数の間の差を示す値を有
    する一対のノードと組み合わされた各差分カウンタは前
    記対の2つのノードの子孫にそれぞれ含まれ、ステージ
    qのノードiの子孫は、数がi2j+j’の形である
    (ここで、jおよびj’は0≦j<n−qおよび0≦
    j’<2jのような整数)バイナリーツリーの2n-q
    1個のノードと規定されており、 ステージq−1とステージq(l≦q<n−p)の間の
    インタフェース・レジスタ(26q)が、新しい要素を
    その第1のロケーションに、またステージq−1のノー
    ドiの識別情報(Dq)をその第2のロケーションに挿
    入するためのコマンド(Aq)を受信する時に、ノード
    iおよび2i+1の対と組み合わされた差分カウンタ(Δ
    (i))の値に応じて前記挿入コマンドがステージqの
    ノード2 iあるいは2i+1に伝搬される請求項11または
    12に記載のスペーサ。
  18. 【請求項18】 ステージのノードの対と組み合わされ
    た差分カウンタ(Δ(i))を含む記憶手段のロケーシ
    ョン(25)が、前記ステージのノードと同じコントロ
    ーラによりアクセス可能である請求項17に記載のスペ
    ーサ。
  19. 【請求項19】 前記記憶手段が、iが1から2n-1
    1の範囲である、ツリーのノード2iと2i+1の対とそれ
    ぞれ組み合わされたステアリングビット(F(i))を
    含むための2n-1−1個のロケーション(23)を有
    し、前記対のノードの1つを指す一対のノードと組み合
    わされた各ステアリングビットは、ソートキーが前記対
    のノードの他の1つに含まれる要素のソートキー以下で
    ある要素を含み、 ステージq−1とステージq(1≦q≦n−1)の間の
    インタフェース・レジスタ(26q)が、その第1のロ
    ケーションにおいて要素を抽出あるいは交換するための
    コマンド(Aq)を、またその第2のロケーションにお
    いてステージq−1のノードiの識別情報(Dq)を受
    信する時、前記抽出あるいは交換コマンドが、ノード2
    iと2i+1の対と組み合わされたステアリングビット(F
    (i))の値に応じて、ステージqのノード2iあるい
    は2i+1に伝搬される請求項11から18までのいづれ
    か1項に記載のスペーサ。
  20. 【請求項20】 1つのステージのノードの対と組み合
    わされたステアリングビット(F(i))を含む記憶手
    段のロケーション(23)が、前記ステージのノードと
    同じコントローラによりアクセス可能である請求項19
    に記載のスペーサ。
  21. 【請求項21】 前記バイナリーツリーの制御手段が、
    バイナリーツリーの1つのステージ、あるいはいくつか
    の連続したステージと組み合わされた2つの連続したコ
    ントローラ(21o、n-p、21n-p、p)と、連続したステ
    ージ間のn−1個のインタフェースを有し、それらのス
    テージのうちのそれぞれ2つのコントローラと組み合わ
    された2つの連続したステージの間のインタフェース・
    レジスタ(26n-p)が2つのコントローラの並行動作
    を許容するパイプラインレジスタを構成し、前記スペー
    シング制御手段および前記バイナリーツリーの制御手段
    が、ソートされるべき新しいデータ要素を挿入するため
    のコマンドは第1のフェーズにおいて第2のコントロー
    ラにより、および第2のフェーズにおいて第1のコント
    ローラにより処理され、ツリーの中のデータ要素を抽出
    あるいは交換するためのコマンドは第1のフェーズにお
    いて第1のコントローラにより、および第2のフェーズ
    において第2のコントローラにより処理されるように、
    各セル期間を第1のフェーズ(I)と第2のフェーズ
    (II)に分割するように構成され、挿入コマンドはイ
    ンタフェース・レジスタによってステージn−1からス
    テージ0まで伝搬され、抽出あるいは交換コマンドはイ
    ンタフェース・レジスタによってステージ0からステー
    ジn−1まで伝搬される請求項7に記載のスペーサ。
  22. 【請求項22】 少なくともステージ0と組み合わされ
    ている第1のコントローラがスペーシング制御手段の一
    部を形成している請求項8から21までのいずれか1項
    に記載のスペーサ。
JP13034998A 1997-05-13 1998-05-13 Atmセルスペーサ Expired - Lifetime JP3901840B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9705827A FR2763448B1 (fr) 1997-05-13 1997-05-13 Espaceur de cellules atm
FR97/05827 1997-05-13

Publications (2)

Publication Number Publication Date
JPH10336215A true JPH10336215A (ja) 1998-12-18
JP3901840B2 JP3901840B2 (ja) 2007-04-04

Family

ID=9506815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13034998A Expired - Lifetime JP3901840B2 (ja) 1997-05-13 1998-05-13 Atmセルスペーサ

Country Status (6)

Country Link
US (1) US6343076B1 (ja)
EP (1) EP0878939B1 (ja)
JP (1) JP3901840B2 (ja)
CA (1) CA2237516C (ja)
DE (1) DE69830948T2 (ja)
FR (1) FR2763448B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380936B2 (en) 2010-08-11 2013-02-19 Kabushiki Kaisha Toshiba Multi-core processor system and multi-core processor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529474B1 (en) * 1999-07-26 2003-03-04 Alcatel Canada Inc. Shaping algorithm
US6449656B1 (en) * 1999-07-30 2002-09-10 Intel Corporation Storing a frame header

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4131947A (en) 1976-08-06 1978-12-26 Armstrong Philip N Random access digital sorter
JP2736092B2 (ja) * 1989-01-10 1998-04-02 株式会社東芝 バッファ装置
US5168567A (en) 1989-05-30 1992-12-01 Tektronix, Inc. Data sorting circuit
FR2657482B1 (fr) 1990-01-19 1993-12-31 Boyer Pierre Methode et systeme de lissage et de controle de debits de communications temporelles asynchrones.
DE59105393D1 (de) 1991-02-01 1995-06-08 Siemens Ag Verfahren zur Überwachung und Glättung von Datenströmen, die nach einem asynchronen Übertragungsverfahren übertragen werden.
FR2674084B1 (fr) 1991-03-13 1993-12-24 Michel Servel Dispositif de declenchement de temporisations multiples.
DE4128411A1 (de) 1991-08-27 1993-03-04 Siemens Ag Anordnung zur bitratenueberwachung in atm-netzen
ATE144667T1 (de) 1991-08-27 1996-11-15 Siemens Ag Anordnung zur bitratenüberwachung in atm-netzen
EP0544034A1 (de) 1991-11-28 1993-06-02 Siemens Aktiengesellschaft Verfahren zur Wiederherstellung der Reihenfolge von Nachrichtenzellen
FR2686205B1 (fr) 1992-01-14 1994-03-25 Pierre Boyer Methode de controle de debit de cellules.
US5402426A (en) 1992-04-23 1995-03-28 Siemens Aktiengesellschaft Method and arrangement for checking the observance of prescribed transmission bit rates in an ATM switching equipment
ATE171026T1 (de) 1992-06-30 1998-09-15 Siemens Ag Modifiziertes leaky-bucket-verfahren
FR2707023B1 (ja) * 1993-06-24 1995-09-22 Boyer Jacqueline
US5862127A (en) * 1994-03-18 1999-01-19 Electronics And Telecommunications Research Institute Method of controlling the peak cell rate spacing of multiplexed ATM traffic
GB2288097B (en) 1994-03-23 1998-09-23 Roke Manor Research ATM queuing and scheduling apparatus
JP2922119B2 (ja) * 1994-09-01 1999-07-19 沖電気工業株式会社 帯域規制装置及びパケット通信装置
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
EP0748086A1 (en) * 1995-06-09 1996-12-11 Siemens Aktiengesellschaft Method for scheduling message cells leaving an ATM node
KR0175486B1 (ko) * 1995-12-22 1999-04-01 양승택 비동기전달모드 간격제어기의 재방출간격 제어방법
US5793747A (en) * 1996-03-14 1998-08-11 Motorola, Inc. Event-driven cell scheduler and method for supporting multiple service categories in a communication network
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8380936B2 (en) 2010-08-11 2013-02-19 Kabushiki Kaisha Toshiba Multi-core processor system and multi-core processor

Also Published As

Publication number Publication date
FR2763448B1 (fr) 1999-07-16
CA2237516C (en) 2008-02-19
DE69830948T2 (de) 2006-04-20
EP0878939A1 (fr) 1998-11-18
US6343076B1 (en) 2002-01-29
DE69830948D1 (de) 2005-09-01
CA2237516A1 (en) 1998-11-13
JP3901840B2 (ja) 2007-04-04
FR2763448A1 (fr) 1998-11-20
EP0878939B1 (fr) 2005-07-27

Similar Documents

Publication Publication Date Title
US5859835A (en) Traffic scheduling system and method for packet-switched networks
US5745489A (en) Buffered crosspoint matrix for an asynchronous transfer mode switch and method of operation
US6134217A (en) Traffic scheduling system and method for packet-switched networks with fairness and low latency
US5818815A (en) Method and an apparatus for shaping the output traffic in a fixed length cell switching network node
US6359891B1 (en) Asynchronous transfer mode cell processing system with scoreboard scheduling
JP3115546B2 (ja) Atmセルを最適に伝送する方法
JPH11234309A (ja) 非同期転送モード・セル送信スケジューリング
JPH0879264A (ja) 帯域規制装置及びパケット通信装置
WO1997042737A1 (en) Asynchronous transfer mode cell processing system with multiple cell source multiplexing
JPH0856230A (ja) スイッチングシステム
US6181678B1 (en) Binary-tree data element sorting device and ATM spacer comprising such a device
US6728256B1 (en) Shared buffer control device
US6490640B1 (en) Packet data switching apparatus
JP2820106B2 (ja) トラヒックシェーパ装置
JP3157113B2 (ja) トラヒックシェイパー装置
US6807171B1 (en) Virtual path aggregation
JPH0818576A (ja) 通信システム
JP3602893B2 (ja) Atmインタフェースおよびシェーピング方法
JP3901840B2 (ja) Atmセルスペーサ
JP3435244B2 (ja) 通信制御装置
JP2002368785A (ja) スケジューリング装置およびセル通信装置
Wittevrongel et al. Queue length and delay for statistical multiplexers with variable-length messages
JPH08298510A (ja) 通信システム及び該システム用多重化装置
EP0994607A1 (en) Method and devide for MTA traffic shaping
JP3742348B2 (ja) セルシェーピング装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050513

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050513

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term