JPH0936912A - バッファ制御方式 - Google Patents

バッファ制御方式

Info

Publication number
JPH0936912A
JPH0936912A JP17925995A JP17925995A JPH0936912A JP H0936912 A JPH0936912 A JP H0936912A JP 17925995 A JP17925995 A JP 17925995A JP 17925995 A JP17925995 A JP 17925995A JP H0936912 A JPH0936912 A JP H0936912A
Authority
JP
Japan
Prior art keywords
cell
priority
fixed
output
storage means
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.)
Withdrawn
Application number
JP17925995A
Other languages
English (en)
Inventor
Masahito Okuda
將人 奥田
Toshiyuki Sudo
俊之 須藤
Tomohiro Ishihara
智宏 石原
Michio Kusayanagi
道夫 草柳
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP17925995A priority Critical patent/JPH0936912A/ja
Priority to US08/651,594 priority patent/US5892762A/en
Priority to EP96305023A priority patent/EP0753981A3/en
Publication of JPH0936912A publication Critical patent/JPH0936912A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/5651Priority, marking, classes
    • 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
    • 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/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

(57)【要約】 【目的】 セルの優先制御処理およびシェイピング処理
を小さなハードウェア構成で同時に実現する。 【構成】 セル43をセルバッファ26の空き領域に書
き込む。セル43が優先セルであり、その出力予定時刻
がタイムスロット16である場合、優先セル用エントリ
メモリ31のタイムスロット16にセル43を書き込ん
だセルバッファ26上のアドレスを設定する。タイムス
ロット16に格納されているセルを読み出す時刻になる
と、タイムスロット16に設定されているアドレスを出
力リストチェインに書き込み、そのアドレスからセルを
読み出す。バッファ26の空き領域は、フリーリストチ
ェインを用いて管理する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】転送データを格納するバッファ制
御方式に係わり、特に、ATM セルを格納するバッファの
書込・読出制御に関する。
【0002】
【従来の技術】近年、音声データ、テキストデータ等に
加え、より高速な伝送速度が要求される画像データを含
めた様々な形態の通信を統一的に扱うサービスが不可欠
となってきているが、その中核技術がATM (非同期転送
モード)である。
【0003】ATM は、情報を48オクテットごとの固定
長に区切ったペイロードにヘッダと呼ばれる制御情報
(宛先情報など)を付加したセルをデータ転送単位(デ
ータ交換単位)としている。
【0004】ところで、現在、ATM フォーラムにおい
て、ATM 技術をLAN, WAN等の高速データ通信網に適用す
るための方法として、ABR (Available Bit Rate)サービ
スに関する議論が活発に行われている。ABR サービスで
は、コネクションごとに網と端末との間で輻輳制御を行
う。
【0005】ABR 通信では、データ送信端末が、データ
セル送出時において、所定個数のデータセルごとにRMセ
ル(リソース管理セル)と呼ばれるセルを送出する。網
あるいは受信端末は、網内のリソース情報や輻輳が発生
しているか否かを示す制御情報などをRMセルに書き込
み、そのRMセルを上記送信端末に送り返す。そして、送
信端末は、上記制御情報などが書き込まれたRMセルを網
から受け取ると、その制御情報に基づいてACR (Allowed
Cell Rate) を計算する。ACR は、送信端末が網に対し
て送信を許されるセルレート(セルの伝送速度)であ
る。送信端末は、必用に応じて、このACR に従ってセル
を網に送出する。
【0006】このように、ABR 通信においては、送信端
末がセルを送信するレートを網の輻輳状態等に従って動
的に変化させることによって、網が輻輳状態になること
を回避させたり、網を輻輳状態から回復させる。
【0007】また、ABR 通信では、呼の設定時に、ユー
ザと網との間の交渉によって、最小可能使用帯域MCR (M
inimum Cell Rate) が設定される。この設定は、呼受付
制御CRC (Call Admission Control)によってコネクショ
ンごとに行われる。
【0008】網は、コネクションごとにセルレートを監
視し、その値がMCR を越えていない場合には、そのコネ
クションの要求通信品質QOC (Quality of Service)を保
証する。たとえば、図44において、時刻T1 以前およ
び時刻T2 以降では、セルレートがMCR 以下であるの
で、このコネクションの要求通信品質は保証される。一
方、時刻T1 〜時刻T2 までの期間では、セルレートが
MCR 以上であるので、このコネクションの要求通信品質
は保証されず、セルが廃棄されてしまう可能性がある。
上記セルレートの監視は、一般に、UNI (User Network
Interface)に設けられているUPC (Usage Parameter Con
trol) 機能が行う。そして、セルレートがMCR を越えた
ときには、その超過分に対応するセル(図44において
斜線部で示す)を非優先セルとする。一方、上記非優先
セル以外のセルは、優先セルとする。優先セルと非優先
セルとの識別は、各セルのヘッダ内のCLP (Cell Loss P
riority)ビットを用い、優先セルに対して"0" を割り当
て、非優先セルには"1" 割り当てる。
【0009】このように、ABR 通信では、時間経過に伴
って変化する網の状態や送信端末の送信セルレートに応
じて、1つのコネクションにおいても優先セルと非優先
セルとが混在することがある。
【0010】
【発明が解決しようとする課題】優先セルと非優先セル
とが混在するシステムにおいては、たとえば、図45に
示すように、網内の所定位置(たとえば、スイッチの入
力部または出力部)にセルバッファ1001を設ける。
そして、このセルバッファ1001内に優先セルを格納
するための優先セル用バッファ1002および非優先セ
ルを格納するための非優先セル用バッファ1003とを
分離して設け、セルレートが高くなったときには、非優
先セル用バッファ1003に格納されている非優先セル
を廃棄するなどして優先セルの品質を保証する。図45
の例では、セルaおよびセルcが優先セルであり、セル
bが非優先セルである。
【0011】しかしながら、たとえば、LAN 間データ通
信などのようにバースト性の強い情報を多重する場合に
は、セルバッファに格納されたセルを単純に読み出して
出力する方式では、非優先セルだけでなく、優先セルの
品質をも保証できない恐れがある。すなわち、セルバッ
ファに優先セルがバースト的に入力したときに、読み出
し間隔を考慮することなくそれら優先セルを次々と読み
出すと、出力される優先セルどうしの間隔が短くなる。
このとき、セルバッファの次段の装置(たとえば、スイ
ッチ)においてセルの処理能力を越えてしまうと、優先
セルであっても廃棄されてしまう。この結果、セル損失
率などの要求通信品質QOS の低下を引き起こす。
【0012】この問題に対処するためには、セルバッフ
ァからのセルの読出し間隔を調整するシェイピング機能
が必用になる。ところが、従来のバッファ制御方式で
は、優先セルと非優先セルとの間の優先制御を行う機能
と、セルバッファからのセル読出し間隔を調整するシェ
イピング機能とを、それぞれ個別のバッファを用いて実
現していた。すなわち、たとえば、図45に示すセルバ
ッファ1001の後段にシェイピング用のバッファ10
04をさらに設けていた。このように、上記2つの機能
を実現するために2つのバッファを設ける必要があった
ため、ハードウェア構成が大きくなってしまうという欠
点があった。
【0013】また、上述したように、ABR 通信において
は、1つのコネクションにおいて優先セルと非優先セル
とが混在することがあるが、従来のバッファ制御方式で
は、このような通信形態を考慮していなかった。このた
め、たとえば、図45に示すように、1つのコネクショ
ンにおいて、優先セルa、非優先セルb、優先セルcと
いう順番で3個のセルがセルバッファ1001に入力
し、優先セルaおよび優先セルcを優先セル用バッファ
1002に格納し、非優先セルbを非優先セル用バッフ
ァ1003に格納した後に、優先セルの品質を保証する
ために優先セル用バッファ1002に格納されている優
先セルを先に読み出すと、優先セルa、優先セルc、非
優先セルbという順番で出力されることになる。このよ
うに、セルバッファにおいてセルの転送順番がかわって
しまうと、受信側でパケットまたは送信データの再組立
てができなくなってしまう。
【0014】この問題を解決するためにもシェイピング
機能が必用になるが、上述したように、従来の方式で
は、ハードウェア構成が大きくなってしまうという欠点
があった。
【0015】本発明は、上記問題を解決するものであ
り、転送セルの優先制御を行う機能およびセル間隔を調
整するシェイピング機能とを小さいハードウェア構成で
実現することを目的とする。
【0016】
【課題を解決するための手段】本発明の手段について図
1を参照しながら説明する。本発明のバッファ制御方式
は、転送データと該転送データに付加された制御情報と
からなり優先度情報が設定された固定長パケットを上記
制御情報に基づいてルーティングするネットワークにお
けるバッファ制御方式を前提とし、以下の各手段を有す
る。
【0017】格納手段1は、例えばRAM等のメモリで
あり、入力された固定長パケットを格納する。出力時刻
決定手段2は、入力固定長パケットの制御情報(たとえ
ば、固定長パケットをATM セルとすると、VPI/VCI )に
基づいて出力時刻を決定し、その固定長パケットに対す
る出力時刻情報を生成する。出力時刻決定手段2は、た
とえば、入力固定長パケットの制御情報と、格納手段1
からの固定長パケット読出し間隔情報との対応関係を設
定したテーブルを有する。
【0018】識別手段3は、入力固定長パケットの所定
ビットの値を認識することによってその固定長パケット
に対して設定されている優先度を識別し、その固定長パ
ケットに対する優先度情報を生成する。
【0019】制御手段4は、上記出力時刻情報および優
先度情報に基づいて、格納手段1への固定長パケットの
書込み処理および格納手段1からの固定長パケットの読
出し処理を制御する。また、制御手段4は、格納手段1
の空き領域サイズが所定値以下になったときに、格納手
段1に格納されている固定長パケットのうち最も優先度
の低い固定長パケットを廃棄する。
【0020】制御手段4は、上記処理を記述したプログ
ラム、そのプログラムを実行するプロセッサ、上記プロ
グラムを格納しておくメモリ、上記処理を実行する際に
用いられるメモリなどから構成される。
【0021】
【作用】制御手段4は、固定長パケットの制御情報ごと
に取り出された出力時刻情報を用いてその固定長パケッ
トの書込・読出処理を行うので、たとえば、出力時刻情
報として格納手段1からの固定長パケットの読出し間隔
を指定すれば、上記制御情報ごとに固定長パケットに対
するシェイピング処理を行うことができる。
【0022】また、制御手段4は、固定長パケットに対
して設定されている優先度に基づいてその固定長パケッ
トの書込・読出処理を行い、格納手段1のオーバーフロ
ー等を回避するために固定長パケットを廃棄する必要が
生じた場合には、格納手段1に格納されている固定長パ
ケットのうち最も優先度の低い固定長パケットを強制的
に廃棄する。すなわち、固定長パケットに設定されてい
る優先度に応じた優先制御処理を行うことにより、優先
度の高い固定長パケットの品質を保証する。
【0023】このように、上記シェイピング処理および
優先制御処理は、制御手段4が、格納手段1に対する固
定長パケットの書込・読出処理を制御することによって
実現できる。また、制御手段4は、上記2つの処理を並
列に行うことができる。
【0024】
【実施例】以下、本発明の実施例について図面を参照し
ながら説明する。本実施例では、ATM を前提として説明
する。
【0025】図2は、本実施例のバッファを適用するAT
M 網の概略構成図である。ATM 網11は、複数の端末1
2、13、・・・を収容している。端末12から端末1
3に対してデータを転送するときには、端末12は、端
末12から端末13へのルートを示す識別子VPI/VCI (V
irtual Path Identifier/Virtual ChannelIdentifier)
を各セルのヘッダに設定してそれらセルをATM 網11へ
転送する。それらセルは、スイッチ14においてVPI/VC
I に従って自律的にルーティングされ、端末13に接続
される回線に出力される。
【0026】本実施例のバッファ15、16は、たとえ
ば、スイッチ14の入力部または出力部に設けられ、セ
ルの転送レートが所定値(たとえば、仮想パスVPの容
量)を越えないように制御するシェイピング処理を行う
とともに、セルまたはコネクションごとの優先度に基づ
く品質保証などの制御を行う。
【0027】ところで、ABR 通信では、上述したよう
に、各コネクション(各VPI/VCI )を介して転送される
セルの転送レートが、各コネクション毎に設定されてい
る最小可能使用帯域MCR (Minimum Cell Rate) を守って
いるか否かを監視している。そして、あるコネクション
のセル転送レートがMCR を越えていた場合には、他のコ
ネクションの品質を保証するために、たとえば、そのコ
ネクション上のセルの優先度を低くする処理がなされ
る。そして、このようにして優先度を低く設定されたセ
ル(非優先セル)は、後述詳しく説明する本実施例のバ
ッファにおいて、輻輳などが発生した場合には、優先セ
ルよりも先に廃棄される。
【0028】セルの優先度を設定(制御)する処理方法
としては、以下の2つの方式が考えられる。第1の方式
は、図44を参照しながら説明したように、UNI (User
Net-work Interface) に設けられるUPC (Usage Paramet
er Control) 機能が、コネクション毎の転送レートを監
視し、その転送レートがMCR を越えている場合、その超
過分に対応するセル(図44において斜線部で示す)を
非優先セルとし、上記非優先セル以外のセルを優先セル
とするものである。優先セルと非優先セルとの識別は、
たとえば、各セルのヘッダ内のCLP (Cell Loss Priorit
y)ビットを利用し、優先セルに対して"0" を割り当て、
非優先セルには"1" 割り当てる。この場合、MCR を越え
る違反セルに対して、そのCLP ビットに"1" を設定す
る。
【0029】第2の方式では、RMセルを利用する。すな
わち、ARB 通信においては、各端末は、所定時間間隔毎
に各コネクションのセル送出レートをRMセルのCCR (Cur
rentCell Rate)フィールドに書き込んでATM 網に通知す
るので、ATM 網は、時間と共に変化する各コネクション
の転送レートを常に認識できる。また、ATM 網は、コネ
クション毎に申告されているMCR を認識している。した
がって、ATM 網は、時々刻々と変化するセル送出レート
がMCR を越えているかどうかを常に知ることができる。
そして、ATM 網は、図3に示すように、セル送出レート
がMCR を越えている期間は、そのコネクションを介して
転送されるセルをすべてを非優先セルとして指定する。
優先セルと非優先セルとの識別は、ATM 網内の各装置
(ATM 交換機)内で使用される装置内タグ情報の所定ビ
ットを利用する。この場合、たとえば、あるセルが優先
セルである場合には、ATM 網内の各装置の入口におい
て、そのセルに付加する装置内タグ情報の所定ビット
に"0" を書き込み、非優先セルであれば、"1" を書き込
む。
【0030】本実施例のバッファは、上記第1または第
2の方式によって優先度が設定されたセルを扱う。な
お、上記第1の方式において、装置内タグ情報を用いて
優先度を設定するようにしてもよく、また、上記第2の
方式において、CLP ビットを用いて優先度を設定するよ
うにしてもよい。いずれの場合においても、CLP ビット
または装置内タグ情報の所定ビットに"0" を書き込むこ
とを、「タグ=0」と呼び、"1" を書き込むことを、
「タグ=1」と呼ぶことにする。ただし、以下ではCLP
ビットを利用する方式を採り上げて説明する。
【0031】本実施例のバッファは、優先度が設定され
たセルに対する優先制御を行う。そして、本実施例で
は、2段階の優先度(優先/非優先)が設定されたセル
を扱うが、より細かい優先制御を行うようにしてもよ
い。この場合、各セルは、2ビット以上の領域を用いて
優先度を表示する。
【0032】上述の方式によって各セルに対する優先度
を設定すると、1つのコネクション上に(1つのVPI/VC
I に対して)優先セルと非優先セルとが混在する。この
状態を図4(a) 示す。
【0033】また、本実施例のバッファを用いてコネク
ションごとの優先制御を行うこともできる。たとえば、
ATM 網において、CBR (Constant Bit Rate) 系のサービ
スとUBR (Unspecified Bit Rtae)系のサービスとを同時
にサポートする場合、CBR 系のコネクションは、セル損
失率や遅延などの品質が規定されるので、コネクション
単位でその品質(QOS:Quality of Service)を保証する必
要がある。一方、UBR系のコネクションは、トラヒック
パラメータとしてPCR (Peak Cell Rate)のみを設定する
方式であり、セル損失率や遅延などに関する規定を設け
ていない。そして、網が輻輳していない状態では、未使
用の帯域を用いて通信が行われ、網が輻輳状態になった
ときには、CBR 系のコネクションの品質を保証するため
に、UBR系のコネクションのセルが廃棄される。
【0034】このように、CBR 系のサービスとUBR 系の
サービスとを同時にサポートする場合では、図4(b) に
示すように、CBR 系のコネクションを介して優先セルが
転送され、UBR 系のコネクションを介して非優先セルが
転送される。そして、本実施例のバッファは、これら2
つの系のコネクションを介して転送されるセルに対して
優先制御を行うことによって、コネクションに対する優
先制御を行う。
【0035】図5は、本発明の第1の実施例のバッファ
の機能ブロック図である。バッファ20は、入力回線か
ら入力されるセルに対して優先制御処理およびシェイピ
ング処理を行い、出力回線に出力する。
【0036】VPI/VCI 識別部21は、入力セルのヘッダ
からVPI/VCI を取り出し、セル出力時刻制御部22に渡
す。セル出力時刻制御部22は、VPI/VCI 識別部21か
ら受け取ったVPI/VCI を用いて出力時刻パラメータテー
ブル23を検索し、出力時刻情報を取り出して制御部2
4に転送する。
【0037】出力時刻パラメータテーブル23は、VPI/
VCI ごとに出力時刻に関するパラメータを格納してい
る。ここでは、図6(a) に示すように、セルを出力する
ときのセルとセルとの間の最小時間間隔を各VPI/VCI 毎
に設定してある。このセル間隔を示す情報は、たとえ
ば、呼の設定時に書き込まれる。この最小時間間隔は、
ある特定のVPI/VCI におけるセル間隔が、その値よりも
狭い間隔で転送されることを防ぐために設定され、シェ
イピング処理を規定するパラメータである。
【0038】セル出力時刻制御部22は、入力セルのVP
I/VCI に対応するセル間隔Tを出力時刻パラメータテー
ブル23から取り出すと、以下の制御を行う。すなわ
ち、図6(b) に示すように、VPI/VCI 識別部21が取り
出したVPI/VCI に対して、現在入力したセルと前回の入
力セルとの間の時間間隔(前回入力セル到着時刻から現
在まで)を計時し、この時間間隔が上記セル間隔Tより
も小さかった場合には、前回入力セル到着時刻から上記
セル間隔Tが経過した時刻(次セル到着予定時刻)を求
め、現在から次セル到着予定時刻までの時間(遅延D)
を出力時刻情報として制御部24へ転送する。
【0039】なお、当現在入力したセルと前回の入力セ
ルとの間の時間間隔(前回入力セル到着時刻から現在ま
で)が上記セル間隔Tよりも大きかった場合には、その
旨を制御部24に通知する。
【0040】タグ識別部25は、入力セルのヘッダから
CLP ビットを取出し、その入力セルの優先度を認識して
優先制御情報として制御部24に通知する。タグ識別部
25は、CLP ビットが"0" であったときにそのセルを優
先セルであると認識し、"1"であったときには非優先セ
ルであると認識する。
【0041】セルバッファ26は、制御部24の制御に
従って入力セルを格納する。チェインメモリ27は、セ
ルバッファ26のアドレスをチェイン状に格納するメモ
リである。チェインメモリ27については後述説明す
る。
【0042】制御メモリ28は、入力セルをセルバッフ
ァ26に格納するときに、各セルに関する優先制御情報
および出力時刻情報に基づいてその格納アドレス等を記
憶するメモリである。制御メモリ28については、後述
詳しく説明する。
【0043】制御部24は、セル出力時刻制御部22お
よびタグ識別部25からそれぞれ出力時刻情報および優
先制御情報を受け取り、それら情報を用いてチェインメ
モリ27および制御メモリ28の内容を書き換える。そ
して、制御部24は、チェインメモリ27および制御メ
モリ28の内容を用いて、入力セルをセルバッファ26
に書き込む制御およびセルバッファ26に格納されてい
るセルを読み出す制御を行う。
【0044】図7は、セルバッファ26および制御メモ
リ28の構成を模式的に示した図である。同図では、セ
ルバッファ26をタイムスロットキュー部、フリーリス
ト部および出力リスト部に分けて示しているが、これは
仮想的(機能的)に分離したものであり、実際には均一
な記憶領域である。そして、あるアドレスにセルが格納
されると、そのアドレスはタイムスロットキュー部に属
し、そのセルの出力時刻においては、そのアドレスは出
力リスト部に属し、そのセルが読み出された後は、その
アドレスはフリーリスト部に属することになる。また、
セルバッファ26のタイムスロットキュー部をセルの優
先度に応じて2つの領域(Tag=0, Tag=1)に分けて示し
ているが、これも仮想的(機能的)な分離である。すな
わち、セルバッファ26に優先セルを格納したときに
は、同図において、そのセルはTag=0 領域に示され、非
優先セルを格納したときには、Tag=1 領域に示される。
【0045】制御メモリ28は、優先セル用エントリメ
モリ31、非優先セル用エントリメモリ32、各種レジ
スタ33〜36を有する。優先セル用エントリメモリ3
1および非優先セル用エントリメモリ32は、それぞれ
複数のタイムスロット(ここでは、タイムスロット0〜
18)に分割されており、各タイムスロット毎に、"Hea
d", "Tail", "Mark"を有する。
【0046】"Mark"は、そのタイムスロットに対応して
セルが格納されているか否かを示す1ビットのデータで
あり、セルが格納されているときには"1" が設定され、
格納されていないときには"0" が設定される。
【0047】あるタイムスロットにセルが格納される
と、そのタイムスロットに対応して優先度ごとにチェイ
ンが生成される。たとえば、タイムスロット6に対応し
て優先セルが2個(セル41、42)格納されると、図
7に模式的に示すように、セル41を先頭とし、セル4
2を最後尾とするチェインが生成される。このチェイン
の接続関係は、チェインメモリ27に格納される。
【0048】図8(a) は、チェインメモリ27のデータ
構成例を示す図である。チェインメモリ27は、セルバ
ッファ26と同じアドレスフィールドを持つ。そして、
チェインメモリ27には、セルバッファ26においてチ
ェインメモリ27のアドレスと同じアドレスに書き込ま
れたセルに接続される次セルのアドレスを格納する。例
えば、図8(b) に示すように、セル41がセルバッファ
26上のアドレス0に格納され、セル42がセルバッフ
ァ26上のアドレス1に格納されたとすると、チェイン
メモリ27の内容は、図8(a) に示すようになる。すな
わち、上記チェインにおいて、セル41の後ろにセル4
2が接続されているので、チェインメモリ27のアドレ
ス0には、セル42が格納されているセルバッファ26
上のアドレス(アドレス1)が格納される。そして、セ
ル42は、チェインの最後尾なので、チェインメモリ2
7のアドレス1には、たとえば"non" が格納される。
【0049】なお、ここでは、タイムスロットに対応し
て優先度ごとに生成されるチェインが2個のセルから構
成されている例を示したが、チェインが2個以上のセル
から構成される場合には、チェインメモリ27の内容
は、それらチェイン状に接続されたセルのセルバッファ
26上での格納アドレスを次々に指し示す。
【0050】また、図7または図8(b) においては、チ
ェインの概念をわかりやすく説明するために模式的にセ
ルを接続している状態を示しているが、実際には、図8
(a)に示すように、チェインメモリ27上でそれらアド
レスを次々と指し示しているものである。
【0051】優先セル用エントリメモリ31および非優
先セル用エントリメモリ32の各タイムスロット毎に設
けられている"Head", "Tail"には、それぞれ、そのタイ
ムスロットに対して生成されるチェインの先頭セルが格
納されているセルバッファ26上のアドレス、およびそ
のチェインの最後尾セルが格納されているセルバッファ
26上のアドレスが書き込まれる。たとえば、上述の例
と同様に、セル41および42が、それぞれセルバッフ
ァ26上のアドレス0およびアドレス1に格納されてい
るとすると、優先セル用エントリメモリ31のタイムス
ロット6に対応して、その"Head"にアドレス0が書き込
まれ、その"Tail"にアドレス1が書き込まれる。タイム
スロットに対応して優先度ごとに生成されるチェインが
1個のセルから構成されている場合(たとえば、タイム
スロット16に格納されている優先セル43)には、そ
の"Head"と"Tail"には同一アドレス(優先セル43が格
納されているアドレス)が書き込まれる。
【0052】FLH レジスタ33およびFLT レジスタ34
は、セルバッファ26の空き領域のアドレスをチェイン
状に接続したときに、それぞれその先頭アドレスおよび
最後尾アドレスを格納する。セルバッファ26の空き領
域のアドレスを次々と接続することによって構成するチ
ェインは、チェインバッファ27にその接続関係が書き
込まれる。なお、セルバッファ26の空き領域のアドレ
スを接続することによって構成するチェインをフリーリ
ストチェインと呼ぶことにする。
【0053】OLH レジスタ35およびOLT レジスタ36
は、出力時刻に対応するタイムスロットに対して生成さ
れているチェイン(出力リストチェイン)の先頭アドレ
スおよび最後尾アドレスをそれぞれ格納する。たとえ
ば、タイムスロット6に対応するセルを読出して出力す
るタイミングにおいては、タイムスロット6のチェイン
の先頭セル(セル41)が格納されているセルバッファ
上のアドレス(アドレス0)をOLH レジスタ35に書き
込み、そのチェインの最後尾セル(セル42)が格納さ
れているセルバッファ上のアドレス(アドレス1)をOL
T レジスタ36に書き込む。この処理は、タイムスロッ
ト6の"Head"および"Tail"に格納されているアドレス
を、それぞれOLH レジスタ35およびOLT レジスタ36
に書き込むことによって行う。
【0054】なお、たとえばタイムスロット3のよう
に、同一タイムスロット上に優先セルおよび非優先セル
が格納されている場合には、先に優先セルのチェインの
先頭アドレスおよび最後尾アドレスをOLH レジスタ35
およびOLT レジスタ36に書き込み、その読出し処理が
終了した後に、非優先セルのチェインの先頭アドレスお
よび最後尾アドレスをOLH レジスタ35およびOLT レジ
スタ36に書き込む。
【0055】次に、本実施例のバッファ20にセルが入
力され、そのセルをセルバッファ26に書き込むときの
動作を説明する。入力回線を介してバッファ20にセル
が入力されると、VPI/VCI 識別部21がそのセルのVPI/
VCI を取り出し、そのVPI/VCI をセル出力時刻制御部2
2に通知する。セル出力時刻制御部22は、そのVPI/VC
I に対応するセル間隔Tを出力時刻パラメータテーブル
23から取り出す。そして、図6を参照しながら説明し
たように、上記入力セルのVPI/VCI と同じVPI/VCI を持
った前回入力セルの到着時刻(前回入力セル到着時刻)
から上記入力セルの入力時刻(現在)までの時間間隔
と、上記セル間隔Tとを比較し、このセル間隔Tの方が
大きかった場合には、その差(遅延D)を出力時刻情報
として制御部24へ転送する。一方、このセル間隔Tの
方が小さかった場合には、その旨を制御部24に通知す
る。
【0056】上記処理を、あるVPI/VCI のセル間隔Tが
タイムスロット5個に相当する時間であるものとして説
明する。たとえば、前回入力セルがタイムスロット1に
格納された後に、同一VPI/VCI を有するセルがタイムス
ロット4に対応する時刻に入力されると、この実際のセ
ル間隔はタイムスロット3個に相当する時間であり、出
力時刻パラメータテーブル23から取り出したセル間隔
Tよりもタイムスロット2個に相当する時間だけ短い。
このため、セル出力時刻制御部22は、制御部24に対
して、出力時刻情報(遅延D)としてタイムスロット2
個に相当する時間を示す情報を通知する。
【0057】制御部24は、上記出力時刻情報を受け取
ると、セルを格納する時刻をタイムスロット2個に相当
する時間だけ遅延させる。すなわち、入力したセルをそ
のままセルバッファ26に格納した場合は、そのセル
は、タイムスロット4に対応づけられて格納されるが、
上記出力時刻情報を用いてタイムスロット2個に相当す
る時間だけ遅延させるので、タイムスロット6に対応づ
けられて格納される。
【0058】このように、2つの入力セルどうしの間の
時間間隔が出力時刻パラメータテーブル23に設定した
セル間隔Tよりも短くなった場合には、それらの2つの
セルをセルバッファ26から読み出す時間間隔が上記セ
ル間隔Tとなるように、セルを特定のタイムスロットに
対応づけて格納する。(セルを特定のタイムスロットの
チェインに接続する) 一方、前回入力セルがタイムスロット1に格納された後
に、同一VPI/VCI を有するセルがタイムスロット7に対
応する時刻に入力されると、この実際のセル間隔はタイ
ムスロット6個に相当する時間であり、出力時刻パラメ
ータテーブル23から取り出したセル間隔Tよりも長い
ので、セル出力時刻制御部22は、制御部24に対して
その旨を通知する。制御部24は、この通知を受け取る
と、上記入力セルをそのままタイムスロット7に対応づ
けて格納する。
【0059】上述のようにして入力セルをセルバッファ
26に格納するときには、タグ識別部25が入力セルの
CLP ビットを参照し、そのセルが優先セルであるのか非
優先セルであるのかを示す優先制御情報を制御部24に
通知する。
【0060】制御部24は、優先制御情報を受け取る
と、その優先制御情報に従って制御メモリ28およびチ
ェインメモリ27の内容を書き換える。また、入力セル
が優先セルであった場合には優先セル用エントリメモリ
31の内容を書き換え、非優先セルであった場合には非
優先セル用エントリメモリ32の内容を書き換える。こ
のときの制御部24の動作を図9を参照しながら説明す
る。
【0061】図9は、制御部24によって制御されるチ
ェインメモリ27および制御メモリ28を模式的に示し
ている。同図(a) において、出力予定時刻がタイムスロ
ット4である2個の優先セルがセルバッファ26上のア
ドレス3およびアドレス5に格納され、それらがチェイ
ン状に接続されている。また、出力予定時刻がタイムス
ロット8である1個の優先セルがセルバッファ26上の
アドレス1に格納されている。このため、優先セル用エ
ントリメモリ31のタイムスロット4の"HEAD"および"T
ail"には、それぞれアドレス3およびアドレス5がが格
納され、タイムスロット8の"HEAD"および"Tail"には、
ともにアドレス1が格納されている。また、上記タイム
スロット4におけるチェインの接続関係は、チェインメ
モリ27のアドレス3に「アドレス5」を書き込むこと
によって格納している。
【0062】さらに、現在、セルバッファ26の空き領
域は、アドレス9、アドレス2、アドレス7およびアド
レス6であり、それら4つのアドレスはチェイン状に接
続されてチェインメモリ27に格納されている。そし
て、この空き領域を示すチェイン(フリーリストチェイ
ン)の先頭アドレス(アドレス9)および最後尾アドレ
ス(アドレス6)がそれぞれFLH レジスタ33およびFL
T レジスタ34に格納されている。
【0063】この状態において、バッファ20に優先セ
ルが入力し、制御部24が、セル出力時刻制御部22か
ら通知される出力時刻情報に基づいて、上記優先セルの
出力予定時刻がタイムスロット4であると判断すると以
下の処理を行う。まず、フリーリストチェインの先頭ア
ドレス(アドレス9)をFLH レジスタ33から取り出
し、そのアドレスに上記入力した優先セルを格納する。
このとき、図9(b) に示すように、タイムスロット4の
チェインの最後尾にアドレス9が接続される。すなわ
ち、優先セル用エントリメモリ31のタイムスロット4
の"Tail"をアドレス9に書き換える。また、チェインメ
モリ27のアドレス5に「アドレス9」を書き込む。
【0064】さらに、フリーリストチェインに接続され
る先頭アドレスがアドレス9からアドレス2にかわった
ことに対応して、FLH レジスタ33に「アドレス2」を
書き込む。上記処理が終了すると、次の入力セルを待
つ。
【0065】上述の例では、入力セルを格納しようとす
るタイムスロットに既にセルが格納されている場合を説
明したが、入力セルを格納しようとするタイムスロット
にセルが格納されていない場合には、以下のようにな
る。
【0066】図9(a) において、バッファ20に優先セ
ルが入力し、そのセルの出力予定時刻がタイムスロット
2であるとすると、まず、フリーリストチェインの先頭
アドレス(アドレス9)に上記入力した優先セルを格納
する。つづいて、優先セル用エントリメモリ31のタイ
ムスロット2の"Head"および"Tail"に「アドレス9」を
書き込む。そして、FLH レジスタ33に「アドレス2」
を書き込む。
【0067】図10は、セルの書込時における制御部2
4の動作を説明するフローチャートである。ステップS
1において、バッファ20にセルが入力すると、セル出
力時刻制御部22およびタグ識別部25が、制御部24
に対して、それぞれ出力時刻情報および優先制御情報を
通知する。
【0068】ステップS2において、FLH レジスタ33
が示すセルバッファ26のアドレス(FLH0)に上記入力
セルを書き込む。続いて、チェインメモリ27を検索
し、チェインメモリ27上のアドレスFLH0の内容(フリ
ーリストチェインにおいて、アドレスFLH0の次に接続さ
れているアドレス)をFLH レジスタ33に書き込む。
【0069】ステップS3において、上記出力時刻情報
および優先制御情報を参照し、それら情報が示す上記入
力セルの優先度(TAG )および出力予定時刻(タイムス
ロットT)と同一の優先度および出力予定時刻に対応し
て既に他のセルが格納されているか否かを判断する。
【0070】ステップS3において、セルが格納されて
いると判断された場合には、ステップS4で、上記入力
セルの優先度(TAG )および出力予定時刻(タイムスロ
ットT)に対応するチェインの最後尾に上記アドレスFL
H0を接続する。また、それら優先度(TAG )および出力
予定時刻(タイムスロットT)に対応する優先セル用エ
ントリメモリ31または非優先セル用エントリメモリ3
2内の"Tail"に上記アドレスFLH0を書き込む。
【0071】ステップS3において、セルが格納されて
いないと判断された場合には、ステップS5で、上記入
力セルの優先度(TAG )および出力予定時刻(タイムス
ロットT)に対応する優先セル用エントリメモリ31ま
たは非優先セル用エントリメモリ32内の"Head"およ
び"Tail"に上記アドレスFLH0を書き込み、その"Mark"
に"1" を書き込む。ステップS4またはS5の処理が終
了すると、次セルの入力を待つ。
【0072】次に、セルバッファ26からセルを読み出
すときの動作を説明する。制御部24は、バッファ20
からのセルの送出レート等によって決まる時間間隔ごと
に各タイムスロットに対応するセルをセルバッファ26
から読み出す。すなわち、所定時間間隔ごとに各タイム
スロットの内容が順次参照され、その内容に従ってセル
が読み出される。
【0073】図11は、制御部24によって制御される
チェインメモリ27および制御メモリ28を模式的に示
している。同図(a) は、上記図9に示す書込み処理が終
了した状態において、タイムスロット4のセルを読み出
すときの各メモリの制御を模式的に示している。
【0074】まず、優先セル用エントリメモリ31のタ
イムスロット4において、"Mark"が"1" に設定されてい
ることを認識すると、そのタイムスロット4の"Head"お
よび"Tail"に格納されているアドレスを、それぞれOLH
レジスタ35およびOLT レジスタ36に書き込むことに
よって、上記タイムスロット4に対応するチェインを出
力リストチェインに設定する。すなわち、OLH レジスタ
35およびOLT レジスタ36に「アドレス3」および
「アドレス9」を書き込む。
【0075】つづいて、制御部24は、OLH レジスタ3
5に格納されているアドレスを取り出し、そのアドレス
に格納されているセルをセルバッファ26から読み出
す。すなわち、セルバッファ26のアドレス3に格納さ
れているセルを読み出す。
【0076】制御部24は、図11(b) に示すように、
アドレス3を用いてチェインメモリ27を参照し、上記
出力リストチェインにおいて「アドレス3」の次に接続
されるアドレスが「アドレス5」であることを認識す
る。そして、OLH レジスタ35にそのアドレス(アドレ
ス5)を書き込む。また、上記セルを読み出したアドレ
ス(アドレス3)は、空き領域となるので、フリーリス
トチェインの最後尾に接続する。すなわち、FLT レジス
タ34に「アドレス3」を書き込む。
【0077】上述のようにしてセルバッファ26のアド
レス3からセルを読み出した後に、セルバッファ26の
アドレス5およびアドレス9に格納されているセルを読
み出すと、OLH レジスタ35に設定されるアドレスとOL
T レジスタ36に設定されるアドレスとが一致(とも
に、アドレス9となる)し、そのタイムスロット4に対
する優先セルの読出し処理を終了する。なお、このと
き、フリーリストのチェインの最後尾には、アドレス5
およびアドレス9が接続される。
【0078】タイムスロット4に対する優先セルの読出
し処理が終了すると、タイムスロット4に対する非優先
セルの読出し処理を行う。この非優先セルの読出し処理
は、上記優先セルの読出し処理と同じである。タイムス
ロット4に対する読出し処理が終了すると、以降、タイ
ムスロット5、6、7、...に対する読出し処理を順
次実行する。
【0079】図12は、セルの読出し処理における制御
部24の動作を説明するフローチャートである。制御部
24が、優先セル用エントリメモリ31および非優先セ
ル用エントリメモリ32の各タイムスロットを順次サー
チしてゆき、ステップS11において、タイムスロット
Tnow から情報を読み出す時刻になる。ここで、タイム
スロットTnow は、現在、セル読出しを実行するタイム
スロットである。
【0080】ステップS12では、優先セル用エントリ
メモリ31のタイムスロットTnowの"Mark"が"1" であ
るか否かを調べる。ステップS12の判断結果が"1" で
あれば、タイムスロットTnow に対応して優先セルがセ
ルバッファ26に格納されているものとみなしてステッ
プS13へ進み、上記判断結果が"0" であれば、タイム
スロットTnow に対応して優先セルがセルバッファに格
納されていないものとみなしてステップS21へ進む。
【0081】ステップS13では、優先セル用エントリ
メモリ31のタイムスロットTnowの"Head"および"Tai
l"に設定されているアドレスを、それぞれOLH レジスタ
35およびOLT レジスタ36に書き込む。ステップS1
4では、OLH レジスタ35に設定されているアドレスに
格納されているセル(優先セル)をセルバッファ26か
ら読み出す。ステップS15では、ステップS14にお
いてセルを読み出したアドレスをフリーリストチェイン
の最後尾に接続する。すなわちOLH レジスタ35に設定
されているアドレスをFLT レジスタ34に書き込む。
【0082】ステップS16では、OLH レジスタ35お
よびOLT レジスタ36に設定されているアドレスが互い
に一致しているか否かを調べる。不一致の場合は、ステ
ップS17において、OLH レジスタ35に設定されてい
るアドレスを用いてチェインメモリ27を参照し、ステ
ップS13においてOLH レジスタ35に設定したアドレ
スの次に接続されているアドレスを取出してそのアドレ
スをOLH レジスタ35に書き込む。ステップS17の処
理が終了すると、ステップS14に戻り、ステップS1
5においてOLH レジスタ35およびOLT レジスタ36に
設定されているアドレスが互いに一致するまでステップ
S14〜S17処理を繰り返す。
【0083】ステップS16において、OLH レジスタ3
5およびOLT レジスタ36に設定されているアドレスが
互いに一致すると、タイムスロットTnow の優先セルを
すべてセルバッファ26から読み出したと判断し、ステ
ップS21へ進んでタイムスロットTnow の非優先セル
を読み出すために処理を開始する。
【0084】ステップS21〜S26の処理は、上記ス
テップS12〜17の処理と基本的に同じであり、ステ
ップS12〜17の処理においては優先セル用エントリ
メモリ31にアクセスしたのに対し、ステップS21〜
S26の処理では、非優先セル用エントリメモリ32に
アクセスする。
【0085】次に、セルバッファ26に格納されている
セルを強制廃棄するときの動作を説明する。本実施例の
バッファ20は、セルバッファ26の空き領域サイズが
所定の閾値よりも少なくなると、セルバッファ26に格
納されているセルのうち特定の非優先セルを強制的に廃
棄し、優先セルが廃棄されてしまうことを防ぐ。強制廃
棄を行うか否かを判断するための閾値は、呼が設定され
ているVPI/VCI 数、それら各VPI/VCI のセル伝送速度、
セルバッファの容量等を考慮してシミレーションによっ
て最適値を算出することができる。
【0086】図13は、制御部24によって制御される
チェインメモリ27および制御メモリ28を模式的に示
している。制御部24は、フリーリストチェインを調べ
ることによって、セルバッファ26の空き領域サイズを
調べる。すなわち、制御部24は、FLH レジスタ33に
設定されているアドレスを取り出し、そのアドレスを用
いてチェインメモリ27を検索し、フリーリストチェイ
ンに接続されているアドレスの個数を調べる。そして、
そのアドレスの個数を記録しておき、セルバッファ26
にセルを書き込むごとにその値をデクリメントし、セル
を読み出すごとにインクリメントする。このような方式
により、常に、セルバッファ26の空き領域サイズを認
識できる。なお、強制廃棄を行うか否かを判断するため
の閾値を0とする場合には、FLH レジスタ33およびFL
T レジスタ34に設定されているアドレスが互いに一致
したか否かで認識できる。
【0087】非優先セルを強制的に廃棄する方法として
は、セルバッファ26内のタイムスロットキュー部に格
納されている非優先セルのチェインをフリーリストチェ
インに接続することによって実現できる。以下、図13
において、タイムスロット8の非優先セルを強制廃棄す
るときの動作を説明する。
【0088】図13(a) に示すように、セルバッファ2
6の空き領域がアドレス2のみであるとする。また、セ
ルバッファ26のアドレス5およびアドレス9には、タ
イムスロット8に出力される予定である非優先セルが格
納されている。
【0089】この状態において、制御部24が、タイム
スロット8の非優先セルを強制廃棄する(どのタイムス
ロットの非優先セルを廃棄するかを決定する方法は、後
述する)と判断した場合には、フリーリストチェインの
最後尾(アドレス2)にタイムスロット8の非優先セル
を格納するアドレス(アドレス5、アドレス9)を接続
する。
【0090】具体的には、FLT レジスタ34に設定され
ているフリーリストチェインの最後尾のアドレス(アド
レス2)を取り出す。また、非優先セル用エントリメモ
リ32のタイムスロット8を検索して、その"Head"に設
定されているアドレス(アドレス5)を取り出す。そし
て、チェインメモリ27上のアドレス2に「アドレス
5」を書き込む。この処理により、フリーリストチェイ
ンは、アドレス2、アドレス5、アドレス9が順番に接
続された状態となる。このとき、このフリーリストチェ
インの最後尾のアドレスは、アドレス9となるので、FL
T レジスタ34に「アドレス9」を書き込む。
【0091】上記処理により、チェインメモリ27およ
び制御メモリ28は、図13(b) に示す状態となる。
尚、特に図示していないが、上記セル廃棄にともない、
非優先セル用エントリメモリ32のタイムスロット8
の"Mark"を"0" に書き換える。
【0092】このように、アドレス5およびアドレス9
を、タイムスロットキュー部のチェインからはずしてフ
リーリストチェインに接続すると、それらのアドレスに
格納されているセルは読み出されることはない。
【0093】上述のようにして、セルバッファ26のア
ドレス5およびアドレス9に格納されている非優先セル
を廃棄する処理は、チェインメモリ27、制御メモリ2
8およびFLT レジスタ34の内容を書き換える処理のみ
で実現することができる。そして、以降、バッファ20
にセルが入力された場合には、セルバッファ26上のア
ドレス2、アドレス5、アドレス9という順番でセルを
書き込む。このとき、それらアドレスには廃棄されたセ
ル(読み出されることのないセル)が格納されたままで
あるが、新たに入力したセルをそれらアドレスに上書き
することによって、入力セルをセルバッファに格納す
る。
【0094】以下、制御部24が、どのタイムスロット
の非優先セルを廃棄するかを決定する方法を説明する。
最も多くの非優先セルが格納されているタイムスロット
の非優先セルを強制廃棄する場合の処理を図14〜図1
6に示す。
【0095】図14(a) は、タイムスロットTに格納さ
れているセル数をカウントするときのチェインメモリ2
7および制御メモリ28の制御を模式的に示している。
同図において、まず、非優先セル用エントリメモリ32
のタイムスロットTの"Head"に設定されているアドレス
(アドレス3)を取り出す。そして、そのアドレスを用
いてチェインメモリ27をアクセスし、チェイン状に接
続されているアドレスを順次取り出す。このとき、アド
レスを取り出すごとにセル数のカウント値をインクリメ
ントする。そして、チェインメモリ27から取り出した
アドレスが上記タイムスロットTの"Tail"に設定されて
いるアドレスを一致したときのカウント値を、タイムス
ロットTに格納されているセル数とする。
【0096】図14(b) に上記処理の疑似コードプログ
ラム例を示す。この疑似コードプログラムでは、任意の
タイムスロットに格納されているセル数をカウントする
記述しているが、実際には、任意のタイムスロットに格
納されている非優先セル数をカウントする。この場合、
非優先セルのチェインに対して上記処理を行う。
【0097】図15は、図14に示す処理によって各タ
イムスロットのセル数を調べた後、最もセル数が多いタ
イムスロットのセルを廃棄する処理を説明する図であ
る。同図(a) は、セル数最大のタイムスロットを指定し
て、そのタイムスロットに格納されているセルを廃棄す
る処理を記述した疑似コードプログラムの例であり、同
図(b) は、セル数最大のタイムスロットの"Head"およ
び"Tail"を指定して、そのタイムスロットに格納されて
いるセルを廃棄する処理を記述した疑似コードプログラ
ムの例である。
【0098】図16は、最も多くの非優先セルが格納さ
れているタイムスロットの非優先セルを強制廃棄する他
の方式を模式的に示した図である。同図において、非優
先セル用エントリメモリ32は、各タイムスロットの"M
ark"にセル数を書き込むことができる。したがって、こ
の方式においては、"Mark"領域として例えば数ビットが
割り当てられている。そして、あるタイムスロットにセ
ルが書き込まれるごとに、そのタイムスロットの"Mark"
の値をインクリメントする。また、そのタイムスロット
のセルが読み出された場合、または廃棄された場合に
は、そのタイムスロットの"Mark"の値をリセットする
(0にする)。
【0099】この方式では、各タイムスロットの"Mark"
の値をサーチすることによって、どのタイムスロットに
最も多くの非優先セルが格納されているのかを高速に検
索することができる。
【0100】上述のように、最も多くの非優先セルが格
納されているタイムスロットの非優先セルを強制廃棄す
る方式では、セルバッファ26の空き領域を1回の廃棄
動作によって多く設けることができる。
【0101】上記の方式とは対照的に、最も少ない数の
非優先セルが格納されている(0個の場合を除く)タイ
ムスロットの非優先セルを強制廃棄する方式も考えられ
る。この場合、基本的な処理手順は、上記図14〜図1
6を参照しながら説明した処理と同じであるが、たとえ
ば、図15に示した疑似コードプログラムにおいて、そ
の先頭部分の記述を以下のように書き換える必要があ
る。
【0102】 /* セル数最小のチェインの指定 */ if Count < Count.max then 上述のように、最も少ない数の非優先セルが格納されて
いるタイムスロットの非優先セルを強制廃棄する方式で
は、廃棄されるセルの数を低く抑えることができる。
【0103】図17は、現在時刻から最も遠いタイムス
ロットに格納されている非優先セルを強制廃棄する場合
の処理を説明する図である。同図(a) に示すように、タ
イムスロット4および8に非優先セルが格納されている
状態において、現在時刻がタイムスロット0に対する読
出し時刻であるとすると(現在、タイムスロット0に対
する読出し処理を行っている)、制御部24は、タイム
スロット0に対して時間的に最も遠いタイムスロットで
あるタイムスロットfからサーチを開始する。このサー
チは、非優先セル用エントリメモリ32の"Mark"が"1"
に設定されているタイムスロット(非優先セルが格納さ
れているタイムスロット)を探す処理であり、タイムス
ロットfから順番に、e,d,c,b,...という方
向に検索していく。図17(a) の例では、"Mark"が"1"
に設定されているタイムスロットの中でタイムスロット
0に対して時間的に最も遠いタイムスロットはタイムス
ロット8であるので、タイムスロット8に格納されてい
る非優先セルを廃棄する。
【0104】図17(b) は、現在時刻がタイムスロット
6に対する読出し時刻である場合を示している。この場
合、タイムスロット6,7,8,...という順番でセ
ル読出し処理を行うので、タイムスロット5が現在時刻
から最も遠いタイムスロットになる。このため、タイム
スロット5からタイムスロット4,3,2,...とい
う方向に上記サーチを行うので、タイムスロット4に格
納されている非優先セルが強制的に廃棄される。
【0105】図18に、上記強制廃棄方式の処理を記述
した疑似コードプログラムの一例を示す。上述のよう
に、現在時刻から最も遠い(遅い)タイムスロットに格
納されている非優先セルを強制廃棄する方式では、遅延
の大きい非優先セルを廃棄することができる。
【0106】図19は、現在時刻に最も近いタイムスロ
ットに格納されている非優先セルを強制廃棄する場合の
処理を説明する図である。同図(a) に示すように、タイ
ムスロット4および8に非優先セルが格納されている状
態において、現在時刻が、タイムスロット0に対する読
出し時刻であるとすると、制御部24は、タイムスロッ
ト0に対して時間的に最も近いタイムスロットであるタ
イムスロット1から順番に、タイムスロット2,3,
4,...という方向にサーチを行う。ここでは、"Mar
k"が"1" に設定されているタイムスロットの中でタイム
スロット0に対して時間的に最も遠いタイムスロットは
タイムスロット4であるので、タイムスロット4に格納
されている非優先セルを廃棄する。
【0107】図19(b) は、現在時刻がタイムスロット
6に対する読出し時刻である場合を示している。この場
合、タイムスロット7から上記サーチを開始する。した
がって、タイムスロット8に格納されている非優先セル
を強制的に廃棄する。
【0108】図20に、上記強制廃棄方式の処理を記述
した疑似コードプログラムの一例を示す。上述のよう
に、現在時刻に最も近い(早い)タイムスロットに格納
されている非優先セルを強制廃棄する方式では、現在時
刻に近いタイムスロットほど多くのセルを格納している
可能性が高いと統計的に考えられるので、サーチ時間を
短くすることができる。
【0109】図21は、セルバッファ26の空き領域サ
イズが所定値以上になるまで非優先セルの強制廃棄処理
を繰り返す場合の処理を説明する図である。この処理で
は、セルバッファ26の空き領域サイズ(FLS : Free L
ist Size)を求める必要がある。セルバッファ26の空
き領域サイズを求めるための手法としては、たとえば、
図14を参照しながら説明したように、チェインメモリ
27を検索し、FLH レジスタ33に設定されているアド
レスからFLT レジスタ34に設定されているアドレスま
でのチェインの長さ(接続されているアドレスの数)カ
ウントすることによって求める。
【0110】あるいは、空き領域サイズFLS を示すカウ
ント値を計数するカウンタを設け、さらに、図16に示
した方式と同様に、各タイムスロットの"Mark"にそのタ
イムスロットに格納されているセル数(非優先セル数)
を書込めるようにしておく。そして、セルバッファ26
にセルを書き込むごとに上記カウンタのカウント値をデ
クリメントし、セルバッファ26からセルを読み出すご
とにインクリメントするとともに、タイムスロットTse
archに格納されているセルを廃棄したときは、そのタイ
ムスロットTsearchの"Mark"に書き込まれている値を上
記カウンタのカウント値に加え、そのカウント値からセ
ルバッファ26の空き領域サイズを求める。なお、各タ
イムスロットに格納されているセル数を"Mark"に書き込
んでおく方式のかわりに、各タイムスロットに格納され
ているセル数を図14に示した方式と同様の方式で求め
るようにしてもよい。
【0111】制御部24は、上述のようにしてセルバッ
ファ26の空き領域サイズFLS を求め、図22に示す疑
似コードプログラムを実行する。この疑似コードプログ
ラムにおいて、"TH"は、閾値である。すなわち、空き領
域サイズFLS が閾値THよりも小さいときには、強制廃棄
処理を実行(継続)する。
【0112】図23は、非優先セルが最後に書き込まれ
たタイムスロットに格納されている非優先セルを強制廃
棄する場合の処理を説明するフローチャートである。同
図のフローチャートは、セルをセルバッファ26に書込
むときの処理を示しており、図10に示した処理と同じ
処理に対しては、同じステップ番号を付してある。この
方式では、非優先セルが最後に書き込まれたタイムスロ
ットを記憶しておくために、ステップS2に続いてステ
ップS31およびS32を設けてある。
【0113】ステップS31では、入力セルのCLP ビッ
ト(Tag )を調べ、そのセルが優先セル(Tag=0 )であ
るのか非優先セル(Tag=1 )を調べる。優先セルであっ
た場合には、そのままステップS3へ進む。非優先セル
であった場合には、ステップS32へ進み、入力セルを
書き込むタイムスロットをタイムスロットTlossとして
記録した後にステップS3へ進む。
【0114】そして、たとえば、セルバッファ26の空
き領域サイズが所定の閾値よりも小さくなり、セルバッ
ファ26に格納されている非優先セルを強制廃棄する必
要が生じた場合には、上述のようにして記録したタイム
スロットTlossに格納されている非優先セルを廃棄す
る。
【0115】上述のように、非優先セルが最後に書き込
まれたタイムスロットに格納されている非優先セルを強
制廃棄する方式では、どのタイムスロットの非優先セル
を強制廃棄するのかを決定するためのサーチが不要とな
るので、セル廃棄に要する時間を短縮することができ
る。
【0116】図24は、すべての非優先セルを強制廃棄
する場合の処理を模式的に示した図である。この処理で
は、制御部24は、非優先セル用エントリメモリ32の
すべてのタイムスロットの"Mark"を検索し、その値が"
1" に設定されているタイムスロットを抽出する。そし
て、それら抽出した各タイムスロットに格納されている
非優先セルのチェインをそれぞれフリーリストチェイン
に接続する。各タイムスロットのチェインをフリーリス
トチェインに接続する方法は、たとえば、図13を参照
しながら説明した方式と同じである。図25に、すべて
の非優先セルを強制廃棄する場合の処理を記述した疑似
コードプログラムの一例を示す。
【0117】上述のように、すべての非優先セルを強制
廃棄する方式では、1回の廃棄処理でセルバッファ26
に大量の空き領域を設けることができる。図26は、第
1の実施例のバッファ20の変形例を示す図である。同
図において、図7で用いた符号と同じ符号は、同じ部分
を示す。図26に示す構成では、図7において設けた優
先セル用エントリメモリ31および非優先セル用エント
リメモリ32のかわりに、エントリメモリ37を設けて
いる。
【0118】この実施例の構成においては、優先セルお
よび非優先セルをタイムスロットごとに1つのチェイン
に接続する。この場合、チェインメモリ27において、
優先セルを格納してあるセルバッファ26上のアドレス
を各チェインの先頭から順番に接続し、その後ろに非優
先セルを格納してあるセルバッファ26上のアドレスを
接続する。
【0119】エントリメモリ37は、タイムスロット毎
に以下に領域を有している。すなわち、"Head"は、当該
タイムスロットのチェインの先頭の優先セルを格納して
いるアドレスを設定する。"Tail(Tag=0)" は、上記チェ
インに接続されている優先セルの中で最後尾の優先セル
を格納しているアドレスを設定する。"Tail(Tag=0)"
は、上記チェインに接続されている非優先セルの中で最
後尾の非優先セルを格納しているアドレスを設定す
る。"Mark"は、当該タイムスロットにセルが格納されて
いるか否かを示す。この"Mark"は、2ビットの情報であ
り、以下の意味を有する。
【0120】 "00" 当該タイムスロットにセルが格納されていない "01" 当該タイムスロットに優先セルが1つ以上格納さ
れている "10" 当該タイムスロットに非優先セルが1つ以上格納
されている "11" 当該タイムスロットに優先セルおよび非優先セル
がともに1つ以上格納されている 上記記載から明らかなように、"Mark"の下位ビットが優
先セルの有無を表し、その上位ビットが非優先セルの有
無を表す。
【0121】上記エントリメモリ37の設定とチェイン
メモリ27の関係を具体的に説明する。同図において、
タイムスロットdには、優先セル51〜53および非優
先セル54、55が格納されている。この場合、チェイ
ンメモリ27には、優先セル51、優先セル52、優先
セル53、非優先セル54、非優先セル55という順番
でチェインが形成される。すなわち、図8を用いて説明
したように、まず、チェインメモリ27において、セル
バッファ26上で優先セル51を格納しているアドレス
と同じアドレスに、セルバッファ26上で優先セル52
を格納しているアドレスを書き込むことにより、優先セ
ル51の次に優先セル52を接続する。同様に、優先セ
ル52〜非優先セル55を順番に接続する。
【0122】エントリメモリ37においては、優先セル
51の格納アドレスを"Head"に書き込み、優先セル53
の格納アドレスを"Tail(Tag=0)" に書き込み、非優先セ
ル55の格納アドレスを"Tail(Tag=1)" に書き込む。ま
た、タイムスロットdには、優先セルおよび非優先セル
が格納されているので、"Mark"には、"11"が設定されて
いる。
【0123】次に、上記図26に示す構成のバッファに
セルが入力したときの動作を図27および図28を参照
しながら説明する。図27(a) は、あるタイムスロット
に4個の優先セルが格納されている状態を示している。
そして、それら4個の優先セルが、それぞれセルバッフ
ァ26上において、アドレス1、アドレス2、アドレス
3、アドレス4に格納されていることを示している。
【0124】このような状態で、上記タイムスロットに
おいて出力される非優先セルがセルバッファ26のアド
レス10に書き込まれると、図27(b) に示すように、
チェインメモリ27において、アドレス4がアドレス1
0を指し示す(チェインメモリ27のアドレス4に「ア
ドレス10」を書き込む)。また、エントリメモリ37
の"Tail(Tag=1)" にアドレス10が書き込まれる。そし
て、"Mark"の上位ビットが"1" に設定される。(図27
(b) では、Mark1=1 と示している)続いて、上記タイム
スロットにおいて出力される優先セルがセルバッファ2
6のアドレス5に書き込まれると、図27(c) に示すよ
うに、そのアドレス5は、優先セルの最後尾のアドレス
であるアドレス4の次に接続される。すなわち、アドレ
ス5は、アドレス4とアドレス10との間に接続され
る。このとき、優先セルの最後尾を示す"Tail(Tag=0)"
は、アドレス4からアドレス5に書き換えられる。
【0125】図28(a) は、あるタイムスロットに4個
の非優先セルが格納されている状態を示している。そし
て、それら4個の非優先セルが、それぞれセルバッファ
26上において、アドレス1、アドレス2、アドレス
3、アドレス4に格納されていることを示している。
【0126】この状態で、上記タイムスロットにおいて
出力される優先セルがセルバッファ26のアドレス10
に書込まれると、図28(b) に示すように、チェインメ
モリ27においてアドレス10がアドレス1を指し示す
(チェインメモリ27のアドレス10に「アドレス1」
を書き込む)。また、エントリメモリ37の"Head"およ
び"Tail(Tag=0)" にアドレス10が書き込まれる。そし
て、"Mark"の下位ビットが"1" に設定される。(同図で
は、Mark0=1 と示している) 続いて、さらに、上記タイムスロットにおいて出力され
る優先セルがセルバッファ26のアドレス20に書き込
まれると、図28(c) に示すように、アドレス20は、
優先セルの最後尾のアドレスであるアドレス10の次に
接続される。すなわち、アドレス20は、アドレス10
とアドレス1との間に接続される。このとき、優先セル
の最後尾を示す"Tail(Tag=0)" は、アドレス10からア
ドレス20に書き換えられる。
【0127】このように、優先セルが入力されると、そ
の優先セルは、同一タイムスロットに先に格納されてい
る非優先セルよりも前に接続されてチェインを構成す
る。図29は、図26に示す構成のバッファにおいて、
セルの読出し処理における制御部24の動作を説明する
フローチャートである。
【0128】制御部24が、エントリメモリ37のタイ
ムスロットを順次サーチしてゆき、ステップS41にお
いて、タイムスロットTnow から情報を読出す時刻にな
る。ステップS42では、タイムスロットTnow の"Mar
k"を調べ、セルバッファ26から読み出すセルの種別を
判断する。すなわち、タイムスロットTnow において読
み出すセルが優先セルのみであるのか、あるいは非優先
セルが含まれているのかを判断する。タイムスロットT
now の"Mark"が"01"であれば、タイムスロットTnow に
は優先セルのみが格納されていると判断してステップS
43へ進み、タイムスロットTnow の"Mark"が"10"また
は"11"であれば、タイムスロットTnowに少なくとも1
個の非優先セルが格納されていると判断してステップS
44へ進む。なお、タイムスロットTnow の"Mark"が"0
0"であった場合には、タイムスロットTnow において読
み出すセルが無いと判断し、このフローチャートの処理
を終了する。
【0129】ステップS43では、タイムスロットTno
w の"Head"に設定されているアドレスをOLH レジスタ3
5に書き込むとともに、"Tail(Tag=0)" に設定されてい
るアドレスをOLT レジスタ36に書き込む。一方、ステ
ップS44では、タイムスロットTnow の"Head"に設定
されているアドレスをOLH レジスタ35に書き込み、"T
ail(Tag=1)" に設定されているアドレスをOLT レジスタ
36に書き込む。上記ステップS43またはS44の処
理により、タイムスロットTnow に出力されるセルのチ
ェインが出力リストチェインとしてOLH レジスタ35お
よびOLT レジスタ36に設定される。
【0130】ステップS45では、OLH レジスタ35に
設定されているアドレスを用いてセルバッファ26から
セルを読み出す。ステップS46では、ステップS45
においてセルを読み出したアドレスをフリーリストチェ
インの最後尾に接続する。すなわちOLH レジスタ35に
設定されているアドレスをFLT レジスタ34に書き込
む。
【0131】ステップS47では、OLH レジスタ35お
よびOLT レジスタ36に設定されているアドレスが互い
に一致するか否かを調べる。ステップS47において、
上記2つのアドレスが一致していれば、タイムスロット
Tnow に格納されているセルをすべて読み出したものと
判断して、ステップS41に戻り、次のタイムスロット
の処理に備える。一方、上記2つのアドレスが一致して
いなければ、タイムスロットTnow において読み出すべ
きセルが残っているものと判断し、ステップS48へ進
む。
【0132】ステップS48では、チェインメモリ27
を検索し、上記ステップS45において用いたアドレス
の次に接続されているアドレスを取り出し、その取り出
したアドレスをOLH レジスタ35に書き込む。そして、
ステップS45に戻って、ステップS47において上記
2つのアドレスが一致するまで、すなわち、タイムスロ
ットTnow に格納されているセルをすべて読み出すま
で、ステップS45〜S48の処理を繰り返す。
【0133】上記図26の構成では、図7に示した構成
の優先セル用エントリメモリ31および非優先セル用エ
ントリメモリ32を、1つのエントリメモリ37で実現
しており、メモリ量を少なくすることができる。具体的
には、エントリメモリ37では、非優先セル用エントリ
メモリ32の"Head"を格納するための領域が不要とな
る。
【0134】また、図26に示す構成では、各タイムス
ロットに格納されているすべてのセルを1本のチェイン
に接続するので、あるタイムスロットの読出し時にその
タイムスロットのチェインを出力リストチェインに設定
する処理を1回の動作で行うことができ、そのため処理
を短時間で行うことができる。
【0135】図30は、本発明のバッファの適用例を示
す図である。図30(a) において、バッファ61ー1〜
61ー4は、それぞれセルの転送速度がVである入力回
線から入力するセルをいったん格納し、転送速度がV/
4となるようにセルを読み出して多重化装置MUX 62に
対して出力する。バッファ61ー1〜61ー4は、図5
に示すバッファ20であり、たとえば、図7または図2
6に示す構成を有する。多重化装置MUX 62は、バッフ
ァ61ー1〜61ー4から出力されたセルを多重化す
る。
【0136】この構成によれば、転送速度がV(たとえ
ば、622Mbps)である4本の入力回線を多重化すると
き、バッファ61ー1〜61ー4がシェイピングを行
う。そして、あるタイミングにおいてセルが集中するな
どしてセル廃棄が避けられない場合には、優先セルの品
質を保証するために、バッファ61ー1〜61ー4にお
いて非優先セルが強制的に廃棄される。このため、多重
化装置MUX 62またはその後段の装置でのセル廃棄を避
けることができ、セルの品質をバッファ61ー1〜61
ー4で管理することができる。
【0137】図30(b) は、多重化装置の後段にバッフ
ァを設けた例である。すなわち、転送速度がVである4
本の入力回線からそれぞれ入力するセルを多重化装置MU
X 63で多重化し、その出力をバッファ64に対して出
力する。多重化装置MUX 63の出力の転送速度は、4V
である。バッファ64は、多重化装置MUX 63から出力
されるセルをいったん格納し、転送速度がVとなるよう
に読み出す。バッファ64は、図5に示すバッファ20
であり、たとえば、図7または図26に示す構成を有す
る。
【0138】図30(c) は、本発明のバッファを分離部
に設けた例である。同図において、転送速度が4Vであ
る入力回線からセレクタSEL 65にセルが入力される
と、セレクタSEL 65は、出力方路識別部66の指示に
従ってそれらセルを所定のバッファ67ー1〜67ー4
のいずれかに転送する。出力方路識別部66は、セレク
タSEL 65への入力セルのヘッダを抽出し、各セルをど
のバッファ67ー1〜67ー4に転送すべきかを示す情
報を取り出してセレクタSEL 65へ通知する。セレクタ
SEL 65の各出力の転送速度は、それぞれ4Vである。
【0139】バッファ67ー1〜67ー4は、それぞ
れ、セレクタSEL 65から転送されてきたセルをいった
ん格納し、転送速度がVとなるように読み出す。バッフ
ァ674は、それぞれ図5に示すバッファ20であり、
たとえば、図7または図26に示す構成を有する。
【0140】この構成よれば、転送速度が4V(たとえ
ば、2.4Gbps)であるハイウェイを4本の方路に分離
するとき、バッファ67ー1〜67ー4がシェイピング
を行う。そして、このシェイピング処理においてセル廃
棄が避けられない場合には、優先セルの品質を保証する
ために非優先セルが強制的に廃棄される。このため、後
段の装置でのセル廃棄を避けることができ、セルの品質
をバッファ67ー1〜67ー4で管理することができ
る。
【0141】図31は、本発明の第2の実施例のバッフ
ァの機能ブロック図である。同図に示すバッファ70
は、入力回線から入力されるセルに対して優先制御処理
およびシェイピング処理を行い、複数の出力回線の中か
ら所定の方路を選択して出力する。尚、同図において、
図5で用いた符号と同じ符号は、同じブロックを示す。
すなわち、VPI/VCI 識別部21、出力時刻パラメータテ
ーブル23、タグ識別部25、セルバッファ26、チェ
インメモリ27は、図5で説明したものと同じである。
【0142】セル出力時刻/方路制御部71は、VPI/VC
I 識別部21から受取ったVPI/VCI情報を用いて出力時
刻パラメータテーブル23を検索し、出力時刻情報を取
り出して制御部72に転送する。また、出力方路テーブ
ル73を検索し、出力方路情報を取り出して制御部72
へ転送する。
【0143】出力方路テーブル73は、VPI/VCI ごとに
出力方路に関する情報を格納している。ここでは、図3
2に示すように、出力回線#0または#1のいずれかを
示す情報(出力方路情報)が格納されている。この出力
方路情報は、たとえば、呼の設定時に書き込まれる。
【0144】制御メモリ74は、入力セルをセルバッフ
ァ26に格納するときに、各セルに関する優先制御情
報、出力時刻情報および出力方路情報に基づいてその格
納アドレス等を記憶するメモリである。制御メモリ74
は、図5に示す制御メモリ28と基本的に同じ構成であ
るが、その細部は異なる。制御メモリ74については、
後述詳しく説明する。
【0145】制御部72は、バッファ70にセルが入力
されるごとに、セル出力時刻/方路制御部71から出力
時刻情報および出力方路情報を受け取り、タグ識別部2
5から優先制御情報を受け取る。そして、それら情報を
用いてチェインメモリ27および制御メモリ74の内容
を書き換える。また、チェインメモリ27および制御メ
モリ74の内容を用いて、入力セルをセルバッファ26
に書き込む制御およびセルバッファ26に格納されてい
るセルを読み出す制御を行う。
【0146】セレクタSEL 75は、セルバッファ26か
ら読み出されたセルを、制御部72から通知される出力
回線情報に従って#0出力回線または#1出力回線に出
力する。
【0147】図33は、セルバッファ26および制御メ
モリ74の構成を模式的に示した図である。同図におい
て、図7または図26で用いた符号と同じ符号は、同じ
部分を示す。
【0148】なお、図33および図33以降の図面
で、"port#0", "port#1"は、それぞれ#0出力回線およ
び#1出力回線に対応する。これは、第2の実施例のバ
ッファにおいては、1つのポートから1本の出力回線を
引き出す構成としており、疑似コードプログラム等の記
述を簡潔にするために、出力回線番号をポート番号で表
していることに起因している。
【0149】#0用エントリメモリ81および#1用エ
ントリメモリ82は、それぞれ図26に示したエントリ
メモリ37と同じ構成である。ただし、#0用エントリ
メモリ81は、セル出力時刻/方路制御部71から通知
された出力方路情報が"#0"を示しているセルに関するチ
ェインを管理するためのメモリであり、#1用エントリ
メモリ82は、上記出力方路情報が"#1"を示しているセ
ルに関するチェインを管理するためのメモリである。
【0150】例えば、バッファ70にセル91が入力す
ると、セル出力時刻/方路制御部71は、出力時刻パラ
メータテーブル23および出力方路テーブル73を検索
し、セル91の出力時刻情報および出力方路情報を取出
して制御部72に通知する。セル91の出力時刻情報が
タイムスロットdであり、出力方路情報が"#0"(#0出
力回線を選択)であったとする。また、タグ識別部25
は、セル91の優先制御情報を制御部72に通知する。
セル91の優先制御情報が"Tag=1" (非優先セル)であ
ったとする。そして、セル91が、セルバッファ26の
アドレス1に書き込まれたとすると、制御部72は、セ
ル91を#0出力回線に対するタイムスロットdのチェ
インに接続する。すなわち、制御部72は、#0用エン
トリメモリ81のタイムスロットdを書き換える。ここ
では、#0用エントリメモリ81のタイムスロットd
の"Tail(Tag=1)" にアドレス1を書き込む。また、制御
部72は、チェインメモリ27を書き換える。ここで
は、#0出力回線に対するタイムスロットdのチェイン
の最後尾(図中、セル92)の後ろにセル91を接続す
る。
【0151】FLH レジスタ33およびFLT レジスタ34
は、図7または図26で説明したものと同じであり、セ
ルバッファ26の空き領域のアドレスを接続したフリー
リストチェインの先頭アドレスおよび最後尾アドレスを
設定する。
【0152】#0用OLH レジスタ83および#0用OLT
レジスタ84は、あるタイムスロットのセルを#0出力
回線に出力するときに、そのタイムスロットのセルのチ
ェインの先頭アドレスおよび最後尾アドレスを設定す
る。たとえば、タイムスロットdのセルを出力するとき
には、#0用エントリメモリ81を検索し、タイムスロ
ットdのチェインの先頭アドレス(セル93を格納して
いるアドレス)を#0用OLH レジスタ83に書き込み、
その最後尾アドレス(セル91を格納しているアドレ
ス)を#0用OLT レジスタ84に書き込む。
【0153】#1用OLH レジスタ85および#1用OLT
レジスタ86は、あるタイムスロットのセルを#1出力
回線に出力するときに使用するレジスタであり、#0用
OLHレジスタ83および#0用OLT レジスタ84と同じ
構成である。
【0154】制御部72は、#0用OLH レジスタ83お
よび#1用OLH レジスタ85のアドレスを交互に取り出
し、そのアドレスに格納されているセルをセルバッファ
26から読み出してセレクタSEL 75へ転送する。ま
た、制御部72は、出力回線情報として、#0用OLH レ
ジスタ83のアドレスのセルを読み出したときには"#0"
を示す信号をセレクタSEL 75へ通知し、#1用OLH レ
ジスタ85のアドレスのセルを読み出したときには"#1"
を示す信号をセレクタSEL 75へ通知する。
【0155】セレクタSEL 75は、上記出力回線情報に
従って出力回線(出力ポート)を選択し、バッファ70
に入力したセルを所定の出力回線へ出力する。なお、こ
の第2の実施例のバッファにおいても、第1の実施例と
同様に、セルバッファ26からセルが読み出された領域
のアドレスはフリーリストチェインに接続される。ま
た、セルバッファ26の空き領域サイズが所定の閾値よ
りも小さくなったときには、非優先セルを強制的に廃棄
する。
【0156】以下では、第2の実施例において、非優先
セルを強制的に廃棄する方式を説明する。特定の出力回
線に出力される非優先セルを強制廃棄するときには、以
下のような処理を実行する。たとえば、#1出力回線に
出力する非優先セルを廃棄する場合には、第1の実施例
で説明したいずれかの方式で#1用エントリメモリ82
をサーチし、所定のタイムスロット(あるいは、すべて
のタイムスロット)の非優先セルを廃棄する。
【0157】図34は、出力回線ごとにセルバッファ2
6に格納されている非優先セル数をカウントし、その数
が最も多い出力回線に出力すべき非優先セルを強制廃棄
する処理を記述した疑似コードプログラムである。
【0158】図34(a) は、各タイムスロットの"Mark"
にそのタイムスロットの非優先セル数が書き込まれてい
る場合に、各出力回線ごとに非優先セル数を求める処理
である。この方式では、出力回線毎に、すべてのタイム
スロットに対してΣ"Mark"を算出する。なお、各タイム
スロットの"Mark"にそのタイムスロットの非優先セル数
を書き込む方式は、たとえば、図14〜図16を参照し
ながら説明した方法を用いる。
【0159】図34(b) は、各タイムスロットの"Mark"
が非優先セルの有無を表す場合に、各出力回線ごとに非
優先セル数を求める処理である。同図に示す"Mark Tag
=1"は、当該タイムスロットに非優先セルが格納されて
いることを意味する。図33に示す構成において、"Mar
k"の上位ビットが"1" である場合、"Mark Tag =1" に相
当する。この方式では、非優先セルが格納されているす
べてのタイムスロットに対して、そのタイムスロットの
チェインを調べる。そして、各タイムスロットの非優先
セル数を求め、その後に、出力回線ごとに各タイムスロ
ットの非優先セル数の合計を求める。
【0160】図34(c) は、バッファ70に非優先セル
が入力したときにカウント値をインクリメントし、非優
先セルを読み出したときにカウント値をデクリメントす
る処理を出力回線毎に行い、出力回線毎の非優先セル数
を求めるう方式である。
【0161】上記図34(a) 〜(c) に示した方法によっ
て、各出力回線ごとの非優先セル数を求めると、制御部
72は、その非優先セル数が最も多い出力回線を選ぶ。
そして、その出力回線に出力すべき非優先セルを強制廃
棄する。ここで、選択した出力回線について、どのタイ
ムスロットの非優先セルを強制廃棄するかは、第1の実
施例に示した方法を用いる。
【0162】上述のように、セルバッファ26に格納さ
れている非優先セル数が最も多い出力回線に出力すべき
非優先セルを強制廃棄する方式では、非優先セルによる
負荷が最も大きい出力回線の負荷を軽減することができ
る。
【0163】図35は、すべての非優先セルを強制廃棄
する処理を記述した疑似コードプログラムの一例であ
る。この方式では、各セルを出力すべき出力回線によら
ず、セルバッファ26に格納されているすべての非優先
セルを強制廃棄する。したがって、この方式では、1回
の廃棄処理でセルバッファ26上に大量の空き領域を設
けることができる。
【0164】図36は、出力回線ごとに順番に非優先セ
ルを強制廃棄する処理を説明するフローチャートであ
る。ステップS51において、たとえば、セルバッファ
26の空き領域サイズが所定の閾値よりも小さくなった
ことに起因して非優先セルを強制廃棄する必要が生じる
と、ステップS52において、セル廃棄を行う出力回線
を指定する。このステップS52では、前回、セル廃棄
を行った出力回線の回線番号の次の回線番号の出力回線
を指定する。出力回線数が2本であればそれら出力回線
が交互に指定され、出力回線が3本以上であれば、それ
らの出力回線が1本ずつ順番(サイクリック)に指定さ
れていく。
【0165】ステップS53では、上記ステップS52
に置いて指定された出力回線について、どのチェインの
非優先セルを廃棄するかを指定する。すなわち、どのタ
イムスロットの非優先セルを廃棄するのかを指定する。
なお、このステップS53におけるチェインの指定方法
は、第1の実施例において説明したいずれかの方法に従
う。
【0166】ステップS54では、上記ステップS53
において指定されたチェインの非優先セルを強制廃棄す
る。ステップS54の処理が終わると、ステップS51
に戻り、さらにセル廃棄を行う必要があればステップS
52以降の処理を行う。
【0167】上述のように、各出力回線ごとに順番に非
優先セルを強制廃棄する方式では、各出力回線に対して
公平にセル廃棄を行うことが出来る。第2の実施例にお
いて、最も多くの非優先セルが格納されているタイムス
ロット、または、最も少ない数の非優先セルが格納され
ているタイムスロットの非優先セルを強制廃棄するよう
にしてもよい。この場合の処理は、第1の実施例におい
て図14〜図16を参照しながら説明した方式と基本的
に同じであり、同じ処理を全出力回線に対して行えばよ
い。
【0168】図37は、第2の実施例において、現在時
刻に最も近いタイムスロットに格納されている非優先セ
ルを強制廃棄する場合の処理を説明するフローチャート
である。
【0169】ステップS61では、出力回線番号の初期
値として、任意の出力回線(たとえば、#0)を指定す
る。また、セル廃棄を行うべきタイムスロットをサーチ
するときのタイムスロットTsearchを、現在、セル読出
しを行っているタイムスロットTnow の次のタイムスロ
ットに設定する。たとえば、図38に示すように、現在
セル読出し処理を行っているタイムスロットTnow がタ
イムスロット3であるとすると、タイムスロットTsear
chはタイムスロット4である。
【0170】ステップS62では、上記ステップS61
で指定された出力回線のタイムスロットTsearchに非優
先セルが格納されているか否かを調べる。格納されてい
なければ、ステップS67へ進む。一方、格納されてい
れば、ステップS63においてその非優先セルを強制廃
棄する。そして、ステップS64では、上記ステップS
63においてセル廃棄した個数に基づいて、セルバッフ
ァ26の空き領域サイズ(FLS : Free List Size)を更
新する。
【0171】ステップS65では、セルバッファ26の
空き領域サイズFLS が、あらかじめ設定してある閾値TH
よりも大きくなっているか否かを判断する。セルバッフ
ァ26の空き領域サイズFLS が上記閾値THよりも大きけ
れば、ステップS66へ進んで非優先セルの強制廃棄処
理を終了する。一方、セルバッファ26の空き領域サイ
ズFLS が上記閾値THよりも大きくなければ、ステップS
67において、次の出力回線を指定する。たとえば、#
0出力回線についてステップS62、S63の処理を行
ったとすると、ステップS67では、#1を指定する。
【0172】ステップS68では、タイムスロットTse
archに対してすべての出力回線をサーチしたか否かを調
べる。すべての出力回線をサーチしていなければ、ステ
ップS62へ戻る。一方、すべての出力回線をサーチし
ていれば、ステップS69において、セル廃棄を行うべ
きタイムスロットTsearchとして次のタイムスロット
(タイムスロットTsearch+1)を指定してステップS
62へ戻る。
【0173】図38を参照しながら上記処理を具体的に
説明する。現在セル読出し処理を行っているタイムスロ
ット(Tnow )がタイムスロット3であるとすると、タ
イムスロット4からサーチを開始する。出力回線が2本
(#0および#1)であるとすると、まず、タイムスロ
ット4において#0出力回線に出力する非優先セルがあ
るか否かを調べ、そのような非優先セルがあれば強制的
に廃棄する。続いて、タイムスロット4において#1出
力回線に出力する非優先セルがあるか否かを調べ、その
ような非優先セルがあれば強制的に廃棄する。上記処理
をタイムスロット5,6,7,...に対して順次行
う。この処理は、セルバッファ26の空き領域サイズFL
S が上記閾値THよりも大きくなるまで継続される。
【0174】図38に示す例では、#0および#1に対
してセル廃棄を行うタイムスロットをサーチする回数を
公平にしているが、#0および#1に対して強制廃棄す
るセル数が1:1、または任意の比率になるようにして
もよい。
【0175】図39は、第2の実施例において、現在時
刻から最も遠いタイムスロットに格納されている非優先
セルを強制廃棄する場合の処理を説明するフローチャー
トである。
【0176】この方式の処理(ステップS71〜S7
9)は、図37に示した処理(ステップS61〜S6
9)と基本的に同じである。ただし、この方式では、図
37に示した方式と比べてサーチ方向が逆なので、ステ
ップS71およびS79の処理がステップS61および
S69と異なる。
【0177】ステップS71では、タイムスロットTse
archを、現在、セル読出しを行っているタイムスロット
Tnow の前のタイムスロットに設定する。たとえば、図
40に示すように、現在、セル読出し処理を行っている
タイムスロットTnow がタイムスロット8であるとする
と、タイムスロットTsearchはタイムスロット7であ
る。また、ステップS79では、セル廃棄を行うべきタ
イムスロットTsearchとして前のタイムスロット(タイ
ムスロットTsearch−1)を指定する。
【0178】上記処理を図40を参照しながら説明す
る。現在、セル読出し処理を行っているタイムスロット
(Tnow )がタイムスロット8であるので、タイムスロ
ット7からサーチを開始する。タイムスロット7におい
て#0出力回線に出力する非優先セルがあるか否かを調
べ、そのような非優先セルがあれば強制的に廃棄する。
続いて、タイムスロット7において#1出力回線に出力
する非優先セルがあるか否かを調べ、そのような非優先
セルがあれば強制的に廃棄する。上記処理をタイムスロ
ット6,5,4,...に対して順次行う。この処理
は、セルバッファ26の空き領域サイズFLS が上記閾値
THよりも大きくなるまで継続される。
【0179】図41は、第2の実施例のバッファ70の
変形例を示す図である。第2の実施例の1形態として
は、図33に示すように、出力回線ごとにエントリメモ
リを設けていた。すなわち、同一タイムスロットに出力
すべきセルであっても、出力回線ごとに互いに独立した
チェインを構成していた。図41に示す構成では、同一
タイムスロットに出力すべきセルを、出力回線毎に分離
することなく1本のチェインで接続する。以下、この方
式を図41を用いて説明する。
【0180】図41(a) は、各タイムスロットに対して
出力回線ごとに設けられているチェイン(図33におい
て、出力回線ごとに設けられるチェイン)をそのまま接
続することによって1本のチェインを形成する場合の方
式を示している。この場合、チェインは、タイムスロッ
トごとに、#0出力回線に出力される優先セル、同非優
先セル、#1出力回線に出力される優先セル、同非優先
セルという順番で接続され、その順番に従ってセルバッ
ファ26から読み出される。
【0181】図41(b) は、各タイムスロット毎に優先
度の高い順番に1本のチェインを形成する場合の方式を
示している。この場合、チェインは、#0出力回線に出
力される優先セル、#1出力回線に出力される優先セ
ル、#0出力回線に出力される非優先セル、#1出力回
線に出力される非優先セルという順番で接続され、その
順番に従ってセルバッファ26から読み出される。
【0182】図41(a) または(b) に示す方式では、出
力回線が2本であるとすると、1つの"Head"(チェイン
の先頭を示す情報)と、4つの"Tail"(セルの優先度お
よび出力回線を区別するための情報)を用いて上記1本
のチェインを指定することが出来る。
【0183】一方、出力回線毎に独立してチェインを設
ける方式では、2本のチェインを設けることになるが、
それら2本のチェインを指定するためには、図42に示
すように、4つの"Head"および4つの"Tail"が必要にな
る。この"Head"および"Tail"数は、セルの優先度を2段
階(優先/非優先)とした場合、セルの優先度ごとにチ
ェインを設けても同じである。
【0184】ここで、"Head"および"Tail"は、タイムス
ロットごとに設けられ、制御メモリ74内においてセル
バッファ26のアドレスを格納する領域に対応するの
で、その数が少ないほど制御メモリ74の容量を小さく
することができる。特に、タイムスロット数が大きいバ
ッファ(一例としては、512タイムスロット)では、
図41(a) または(b) に示す方式が、制御メモリ74の
メモリ容量を削減することに大きく寄与する。
【0185】図43は、本発明の第3の実施例のバッフ
ァの機能ブロック図である。同図に示すバッファ100
は、複数の入力回線から入力されるセルに対して優先制
御およびシェイピング処理を行うとともに、複数の出力
回線の中から所定の方路を選択してそのセルを出力す
る。すなわち、バッファ100は、セルの優先制御およ
びシェイピング処理に加えて交換機能も有している。な
お、同図において、図31で用いた符号と同じ符号は、
同じブロックを示す。
【0186】第3の実施例のバッファ100は、図31
に示す第2の実施例のバッファ70の構成に加えて、多
重化部MUX 101を設けている。そして、複数の入力回
線(#0、#1)からの入力セルに対して上記バッファ
70と同様の処理を行う。すなわち、バッファ100
は、#0入力回線または#1入力回線から入力したセル
に対して優先制御処理およびシェイピング処理を実行す
るとともに、そのセルのVPI/VCI が示す出力回線(#0
または#1)にそのセルを出力する。
【0187】換言すれば、バッファ100は、複数の入
力回線の中の任意の入力回線から入力したセルを、その
セルのVPI/VCI が示す出力回線に出力する交換機能を有
している。
【0188】このように、第3の実施例のバッファによ
れば、セルの優先制御機能およびシェイピング処機能を
持ったスイッチを実現できる。
【0189】
【発明の効果】セルが入力されたときに、そのセルの優
先度および出力タイミングを求め、それら優先度および
タイミングに従ってセルの書込・読出処理を制御するの
で、優先度の高いセルのサービス品質を保証するための
優先制御処理、および、セル間隔を調整するシェイピン
グ処理を同時に行うことができる。
【0190】1つのセルバッファを用いて上記優先制御
処理およびシェイピング処理を制御するので、ハードウ
ェア構成が小規模になる。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】本実施例のバッファを適用するATM 網の概略構
成図である。
【図3】優先セルと非優先セルの設定を説明する図であ
る。
【図4】同図(a) はABR 通信を説明する図であり、同図
(b) はCBR 通信およびUBR 通信を説明する図である。
【図5】本発明の第1の実施例のバッファの機能ブロッ
ク図である。
【図6】同図(a) は、出力時刻パラメータテーブルの構
成例であり、同図(b) は、出力時刻情報の作成を説明す
る図である。
【図7】第1の実施例のセルバッファおよび制御メモリ
の構成を模式的に示した図である。
【図8】同図(a) は、チェインメモリのデータ構成例を
示す図であり、同図(b) は、チェインを模式的に示した
図である。
【図9】同図(a) および(b) は、セルの入力時の動作を
説明する図である。
【図10】セルの書込時における制御部の動作を説明す
るフローチャートである。
【図11】同図(a) および(b) は、セルの読出し時の動
作を説明する図である。
【図12】セルの読出し処理における制御部の動作を説
明するフローチャートである。
【図13】同図(a) および(b) は、セルの強制廃棄動作
を説明する図である。
【図14】同図(a) は、セル数カウント動作を模式的に
示した図であり、同図(b) は、セル数カウント処理の疑
似コードプログラムの例である。
【図15】同図(a) および(b) は、セル数が最大のタイ
ムスロットのセルを廃棄する処理を記述した疑似コード
プログラム例(その1およびその2)である。
【図16】セル数最大のタイムスロットのセルを強制廃
棄する他の方式を模式的に示した図である。
【図17】同図(a) および(b) は、現在時刻から最も遠
いタイムスロットに格納されている非優先セルを強制廃
棄する場合の処理を説明する図である。
【図18】図17に示す強制廃棄方式の処理を記述した
疑似コードプログラムの一例である。
【図19】同図(a) および(b) は、現在時刻に最も近い
タイムスロットに格納されている非優先セルを強制廃棄
する場合の処理を説明する図である。
【図20】図19に示す強制廃棄方式の処理を記述した
疑似コードプログラムの一例である。
【図21】セルバッファの空き領域サイズが所定値以上
になるまで非優先セルの強制廃棄を継続する場合の処理
を説明する図である。
【図22】図21に示す強制廃棄方式の処理を記述した
疑似コードプログラムの一例である。
【図23】非優先セルが最後に書き込まれたタイムスロ
ットに格納されている非優先セルを強制廃棄する場合の
処理を説明するフローチャートである。
【図24】すべての非優先セルを強制廃棄する場合の処
理を模式的に示した図である。
【図25】図24に示す強制廃棄方式の処理を記述した
疑似コードプログラムの一例である。
【図26】第1の実施例の変形例を模式的に示した図で
ある。
【図27】セル入力時の動作を説明する図(その1)で
ある。
【図28】セル入力時の動作を説明する図(その2)で
ある。
【図29】図26に示す構成のバッファにおいて、セル
の読出し処理における制御部の動作を説明するフローチ
ャートである。
【図30】本発明のバッファの適用例を示す図であり、
同図(a) および(b) は、本発明のバッファを多重化部に
設けた場合の例であり、同図(c) は、分離部に設けた場
合の例である。
【図31】本発明の第2の実施例のバッファの機能ブロ
ック図である。
【図32】出力方路テーブルのデータ構成例を示す図で
ある。
【図33】第2の実施例におけるセルバッファおよび制
御メモリの構成を模式的に示した図である。
【図34】同図(a) 〜(c) は、出力回線ごとにセルバッ
ファに格納されている非優先セル数をカウントし、その
数が最も多い出力回線に出力すべき非優先セルを強制廃
棄する処理を記述した疑似コードプログラムである。
【図35】すべての非優先セルを強制廃棄する処理を記
述した疑似コードプログラムの一例である。
【図36】各出力回線ごとに順番に非優先セルを強制廃
棄する処理を説明するフローチャートである。
【図37】第2の実施例において、現在時刻に最も近い
タイムスロットに格納されている非優先セルを強制廃棄
する場合の処理を説明するフローチャートである。
【図38】図37のフローチャートによる処理を模式的
に示す図である。
【図39】第2の実施例において、現在時刻から最も遠
いタイムスロットに格納されている非優先セルを強制廃
棄する場合の処理を説明するフローチャートである。
【図40】図39のフローチャートによる処理を模式的
に示す図である。
【図41】第2の実施例のバッファの変形例を示す図で
あり、同図(a) は、出力回線順にチェインを形成する方
式を示し、同図(b) は、セルの優先度順にチェインを形
成する方式を示す。
【図42】チェインを分離して設けたときのメモリ容量
の増加を説明する図である。
【図43】本発明の第3の実施例のバッファの機能ブロ
ック図である。
【図44】ABR 通信を説明する図である。
【図45】セルに対する優先制御を行う従来のバッファ
の構成図である。
【符号の説明】
1 格納手段 2 出力時刻決定手段 3 識別手段 4 制御手段 20 バッファ 21 VPI/VCI 識別部 22 セル出力時刻制御部 23 出力時刻パラメータテーブル 24 制御部 25 タグ識別部 26 セルバッファ 27 チェインメモリ 28 制御メモリ 31 優先セル用エントリメモリ 32 非優先セル用エントリメモリ 33 FLH (Free List Head)レジスタ 34 FLT (Free List Tail)レジスタ 35 OLH (Output List Head)レジスタ 36 OLT (Output List Tail)レジスタ 37 エントリメモリ 70 バッファ 71 セル出力時刻/方路制御部 72 制御部 73 出力方路テーブル 74 制御メモリ 75 セレクタ 81 #0用エントリメモリ 82 #1用エントリメモリ 83 #0用OLH レジスタ 84 #0用OLT レジスタ 85 #1用OLH レジスタ 86 #1用OLT レジスタ 100 バッファ 101 多重化部
フロントページの続き (72)発明者 石原 智宏 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 草柳 道夫 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 転送データと該転送データに付加された
    制御情報とからなり優先度情報が設定された固定長パケ
    ットを上記制御情報に基づいてルーティングするネット
    ワークにおけるバッファ制御方式において、 入力された固定長パケットを格納する格納手段と、 上記固定長パケットの制御情報に基づいて出力時刻を決
    定し、その固定長パケットに対する出力時刻情報を生成
    する出力時刻決定手段と、 上記固定長パケットに対して設定されている優先度を識
    別し、その固定長パケットに対する優先度情報を生成す
    る識別手段と、 上記出力時刻情報および優先度情報に基づいて、上記格
    納手段への固定長パケットの書込み処理および上記格納
    手段からの固定長パケットの読出し処理を制御する制御
    手段と、 を有することを特徴とするバッファ制御方式。
  2. 【請求項2】 上記格納手段に固定長パケットを書き込
    むときに、上記出力時刻情報が指定する出力時刻および
    上記優先度情報が示す優先度に対応づけて上記書込みア
    ドレスを記憶するセルアドレス記憶手段と、 上記格納手段の空き領域のアドレスを記憶する空アドレ
    ス記憶手段と、 上記格納手段から固定長パケットを読み出すときに、そ
    の読出し時刻に対応するアドレスを上記セルアドレス記
    憶手段から取り出して記憶する読出アドレス記憶手段
    と、 をさらに有し、上記制御手段は、上記読出アドレス記憶
    手段に格納されているアドレスを用いて上記格納手段か
    ら固定長パケットを読み出すことを特徴とする請求項1
    に記載のバッファ制御方式。
  3. 【請求項3】 上記優先度情報が示す優先度の高い順番
    で上記セルアドレス記憶手段からアドレスを取り出して
    上記読出アドレス記憶手段に書き込むことを特徴とする
    請求項2に記載のバッファ制御方式。
  4. 【請求項4】 上記出力時刻情報が指定する出力時刻お
    よび上記優先度情報が示す優先度に対して1つ以上の固
    定長パケットが上記格納手段に格納されているときに、
    それら固定長パケットが格納されている上記格納手段上
    のアドレスをチェイン状に記憶するチェインメモリを有
    し、 上記セルアドレス記憶手段は、上記チェインメモリに記
    憶されているアドレスのうち先頭アドレスおよび最後尾
    アドレスを記憶することを特徴とする請求項2に記載の
    バッファ制御方式。
  5. 【請求項5】 上記出力時刻情報が指定する出力時刻に
    対して1つ以上の固定長パケットが上記格納手段に格納
    されているときに、それら固定長パケットが格納されて
    いる上記格納手段上のアドレスをチェイン状に記憶する
    チェインメモリを有し、 上記セルアドレス記憶手段は、上記チェインメモリに記
    憶されているアドレスのうち先頭アドレスおよび最後尾
    アドレスを記憶することを特徴とする請求項2に記載の
    バッファ制御方式。
  6. 【請求項6】 上記出力時刻情報が指定する出力時刻に
    対して1つ以上の固定長パケットが上記格納手段に格納
    されているときに、それら固定長パケットが格納されて
    いる上記格納手段上のアドレスを上記優先度情報が示す
    優先度の順番にチェイン状に記憶するチェインメモリを
    有し、 上記制御手段は、上記チェインメモリに記憶されている
    アドレスを順番に取り出し、そのアドレスを用いて上記
    格納手段から固定長パケットを読み出すことを特徴とす
    る請求項1に記載のバッファ制御方式。
  7. 【請求項7】 上記制御手段は、上記格納手段の空き領
    域サイズが第1の所定値以下になったときに、上記格納
    手段に格納されている固定長パケットのうち最も優先度
    の低い固定長パケットを廃棄することを特徴とする請求
    項1に記載のバッファ制御方式。
  8. 【請求項8】 上記格納手段に格納されている最も優先
    度が低い固定長パケット数を出力時刻毎にカウントし、
    その個数が最も多い時刻に対応する固定長パケットを廃
    棄することを特徴とする請求項7に記載のバッファ制御
    方式。
  9. 【請求項9】 上記格納手段に格納されている最も優先
    度が低い固定長パケット数を出力時刻毎にカウントし、
    その個数が最も少ない時刻に対応する固定長パケットを
    廃棄することを特徴とする請求項7に記載のバッファ制
    御方式。
  10. 【請求項10】 上記格納手段に格納されている最も優
    先度が低い固定長パケットのうち、出力予定時刻が現在
    から最も遠い固定長パケットを廃棄することを特徴とす
    る請求項7に記載のバッファ制御方式。
  11. 【請求項11】 上記格納手段に格納されている最も優
    先度が低い固定長パケットのうち、出力予定時刻が現在
    に最も近い固定長パケットを廃棄することを特徴とする
    請求項7に記載のバッファ制御方式。
  12. 【請求項12】 上記格納手段の空き領域サイズが第2
    の所定値に達するまで上記廃棄処理を繰り返して実行す
    ることを特徴とする請求項8、9、10、または11に
    記載のバッファ制御方式。
  13. 【請求項13】 上記制御手段は、上記格納手段に最も
    最近書き込まれた最も優先度が低い固定長パケットの出
    力予定時刻を記録しておき、その出力予定時刻に対応づ
    けられて格納されている最も優先度が低い固定長パケッ
    トを廃棄することを特徴とする請求項7に記載のバッフ
    ァ制御方式。
  14. 【請求項14】 上記格納手段に格納されている最も優
    先度が低い固定長パケットをすべて廃棄することを特徴
    とする請求項7に記載のバッファ制御方式。
  15. 【請求項15】 請求項1に記載の構成を有する複数の
    バッファ部と、 それら複数のバッファ部から出力される固定長パケット
    を多重する多重部と、 を備えたことを特徴とするバッファ制御方式。
  16. 【請求項16】 複数の入力回線から入力される固定長
    パケットを多重する多重部と、 該多重部から出力される固定長パケットを処理する請求
    項1に記載の構成を有するバッファ部と、 を備えたことを特徴とするバッファ制御方式。
  17. 【請求項17】 入力回線から入力される固定長パケッ
    トを該固定長パケットの制御情報に基づいた出力方路に
    出力するセレクタ部と、 上記各出力方路毎に設けられ、上記セレクタ部から出力
    された固定長パケットを処理する請求項1に記載の構成
    を有する複数のバッファ部と、 を備えたことを特徴とするバッファ制御方式。
  18. 【請求項18】 転送データと該転送データに付加され
    た制御情報とからなり優先度情報が設定された固定長パ
    ケットを上記制御情報に基づいてルーティングするネッ
    トワークにおけるバッファ制御方式において、 入力された固定長パケットを格納する格納手段と、 上記固定長パケットの制御情報に基づいて出力時刻を決
    定し、その固定長パケットに対する出力時刻情報を生成
    する出力時刻決定手段と、 上記固定長パケットに対して設定されている優先度を識
    別し、その固定長パケットに対する優先度情報を生成す
    る識別手段と、 上記格納手段に固定長パケットを書き込むときに、その
    固定長パケットに対応する出力時刻情報および優先度情
    報を格納する制御情報記憶手段と、 上記制御情報記憶手段の内容に基づいて、上記格納手段
    からの固定長パケットの読出し処理を制御する制御手段
    と、 を有することを特徴とするバッファ制御方式。
  19. 【請求項19】 転送データと該転送データに付加され
    た制御情報とからなり優先度情報が設定された固定長パ
    ケットを上記制御情報に基づいてルーティングするネッ
    トワークにおけるバッファ制御方式において、 入力された固定長パケットを格納する格納手段と、 上記固定長パケットの制御情報に基づいて出力時刻を決
    定し、その固定長パケットに対する出力時刻情報を生成
    する出力時刻決定手段と、 上記固定長パケットに対して設定されている優先度を識
    別し、その固定長パケットに対する優先度情報を生成す
    る識別手段と、 上記固定長パケットの制御情報に基づいて出力方路を決
    定し、その固定長パケットに対する出力方路情報を生成
    する出力方路決定手段と、 上記出力時刻情報、優先度情報および出力方路情報に基
    づいて、上記格納手段への固定長パケットの書込み処理
    および上記格納手段からの固定長パケットの読出し処理
    を制御する制御手段と、 上記格納手段から読み出した固定長パケットを上記出力
    方路情報が指定する方路に出力するセレクタと、 を有することを特徴とするバッファ制御方式。
  20. 【請求項20】 上記制御手段は、上記格納手段の空き
    領域サイズが第1の所定値以下になったときに、上記格
    納手段に格納されている固定長パケットのうち最も優先
    度の低い固定長パケットを廃棄することを特徴とする請
    求項19に記載のバッファ制御方式。
  21. 【請求項21】 所定の出力方路に出力されるべき最も
    優先度の低い固定長パケットを廃棄することにより、出
    力方路ごとの優先制御を行うことを特徴とする請求項2
    0に記載のバッファ制御方式。
  22. 【請求項22】 最も優先度の低い固定長パケットの数
    を出力方路毎にカウントし、その個数が最も多い出力方
    路に出力すべき最も優先度の低い固定長パケットを廃棄
    することを特徴とする請求項20に記載のバッファ制御
    方式。
  23. 【請求項23】 上記格納手段に格納されている最も優
    先度の低い固定長パケットをすべて廃棄することを特徴
    とする請求項20に記載のバッファ制御方式。
  24. 【請求項24】 上記格納手段に格納されている最も優
    先度の低い固定長パケットを出力方路ごとに順番に廃棄
    することを特徴とする請求項20に記載のバッファ制御
    方式。
  25. 【請求項25】 上記格納手段に格納されている最も優
    先度の低い固定長パケット数を出力時刻毎および出力方
    路毎にカウントし、その個数が最も多い時刻および方路
    に対応する固定長パケットを廃棄することを特徴とする
    請求項20に記載のバッファ制御方式。
  26. 【請求項26】 上記格納手段に格納されている最も優
    先度の低い固定長パケット数を出力時刻毎および出力方
    路毎にカウントし、その個数が最も少ない時刻および方
    路に対応する固定長パケットを廃棄することを特徴とす
    る請求項20に記載のバッファ制御方式。
  27. 【請求項27】 上記格納手段に格納され所定の出力方
    路に出力されるべき最も優先度が低い固定長パケットの
    うち、出力予定時刻が現在から最も遠い固定長パケット
    を廃棄する処理を、上記格納手段の空き領域サイズが第
    2の所定値に達するまで繰り返すことを特徴とする請求
    項20に記載のバッファ制御方式。
  28. 【請求項28】 上記格納手段に格納され所定の出力方
    路に出力されるべき最も優先度が低い固定長パケットの
    うち、出力予定時刻が現在に最も近い固定長パケットを
    廃棄する処理を、上記格納手段の空き領域サイズが第2
    の所定値に達するまで繰り返すことを特徴とする請求項
    20に記載のバッファ制御方式。
  29. 【請求項29】 転送データと該転送データに付加され
    た制御情報とからなり優先度情報が設定された固定長パ
    ケットを上記制御情報に基づいてルーティングするネッ
    トワーク内のスイッチ部におけるバッファ制御方式にお
    いて、 複数の入力回線から入力された固定長パケットを格納す
    る格納手段と、 上記固定長パケットの制御情報に基づいて出力時刻を決
    定し、その固定長パケットに対する出力時刻情報を生成
    する出力時刻決定手段と、 上記固定長パケットに対して設定されている優先度を識
    別し、その固定長パケットに対する優先度情報を生成す
    る識別手段と、 上記固定長パケットの制御情報に基づいて出力方路を決
    定し、その固定長パケットに対する出力方路情報を生成
    する出力方路決定手段と、 上記出力時刻情報、優先度情報および出力方路情報に基
    づいて、上記格納手段への固定長パケットの書込み処理
    および上記格納手段からの固定長パケットの読出し処理
    を制御する制御手段と、 上記格納手段から読み出した固定長パケットを上記出力
    方路情報が指定する方路に出力するセレクタと、 を有することを特徴とするバッファ制御方式。
JP17925995A 1995-07-14 1995-07-14 バッファ制御方式 Withdrawn JPH0936912A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP17925995A JPH0936912A (ja) 1995-07-14 1995-07-14 バッファ制御方式
US08/651,594 US5892762A (en) 1995-07-14 1996-05-22 Buffer control system
EP96305023A EP0753981A3 (en) 1995-07-14 1996-07-08 Buffer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17925995A JPH0936912A (ja) 1995-07-14 1995-07-14 バッファ制御方式

Publications (1)

Publication Number Publication Date
JPH0936912A true JPH0936912A (ja) 1997-02-07

Family

ID=16062729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17925995A Withdrawn JPH0936912A (ja) 1995-07-14 1995-07-14 バッファ制御方式

Country Status (3)

Country Link
US (1) US5892762A (ja)
EP (1) EP0753981A3 (ja)
JP (1) JPH0936912A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389019B1 (en) 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201807B1 (en) * 1996-02-27 2001-03-13 Lucent Technologies Real-time hardware method and apparatus for reducing queue processing
FI103310B1 (fi) * 1996-11-15 1999-05-31 Nokia Telecommunications Oy Puskuroinnin toteuttaminen pakettikytkentäisessä tietoliikenneverkossa
JP2965070B2 (ja) 1997-04-23 1999-10-18 日本電気株式会社 Atm装置及びポートシェーピング方法
JPH10322347A (ja) * 1997-05-16 1998-12-04 Mitsubishi Electric Corp ネットワーク通信装置
US6717951B2 (en) * 1999-12-29 2004-04-06 Intel Corporation Method and apparatus for determining priority of network packets
JP3687501B2 (ja) * 2000-07-05 2005-08-24 日本電気株式会社 パケット交換機の送信キュー管理システム及び管理方法
DE10062640B4 (de) * 2000-12-15 2006-11-02 Infineon Technologies Ag Verfahren zur zeitlichen Steuerung der Ausgabe von Datenpaketen aus Netzknoten, Netzknoten und konfiguriertes Netz
JP2002223202A (ja) * 2001-01-26 2002-08-09 Fujitsu Ltd データ伝送方法及びそれを用いた伝送装置
US7215672B2 (en) * 2001-03-13 2007-05-08 Koby Reshef ATM linked list buffer system
US7167480B1 (en) * 2001-06-21 2007-01-23 Lighthouse Capital Partners Iv, Lp Multi-service data transport architecture
JP2003318964A (ja) * 2002-04-25 2003-11-07 Fujitsu Ltd パケット転送装置、スケジューラ、データ伝送装置、およびパケット転送方法
AT411948B (de) * 2002-06-13 2004-07-26 Fts Computertechnik Gmbh Kommunikationsverfahren und apparat zur übertragung von zeitgesteuerten und ereignisgesteuerten ethernet nachrichten
JPWO2004066570A1 (ja) * 2003-01-17 2006-05-18 富士通株式会社 ネットワークスイッチ装置およびネットワークスイッチ方法
US8315274B2 (en) * 2006-03-29 2012-11-20 Honeywell International Inc. System and method for supporting synchronous system communications and operations
DE102007034754A1 (de) * 2007-07-25 2009-01-29 Rohde & Schwarz Gmbh & Co. Kg Vorrichtung und Verfahren zur Erhöhung des Datendurchsatzes in Funknetzen
JP2009290297A (ja) * 2008-05-27 2009-12-10 Fujitsu Ltd 通信装置および通信装置の制御方法
US8612637B2 (en) 2011-09-25 2013-12-17 National Instruments Corportion Configuring buffers with timing information
JP7000988B2 (ja) * 2018-05-21 2022-01-19 富士通株式会社 パケット転送装置及びパケット転送方法
US10853140B2 (en) * 2019-01-31 2020-12-01 EMC IP Holding Company LLC Slab memory allocator with dynamic buffer resizing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2880271B2 (ja) * 1990-08-17 1999-04-05 株式会社日立製作所 帯域制御方法および回路
CA2059027C (en) * 1991-01-08 1996-07-02 Toshiya Aramaki Switching system with time-stamped packet distribution input stage and packet sequencing output stage
US5268900A (en) * 1991-07-05 1993-12-07 Codex Corporation Device and method for implementing queueing disciplines at high speeds
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
SE515178C2 (sv) * 1992-03-20 2001-06-25 Ericsson Telefon Ab L M Förfaranden och anordningar för prioritering vid bufferthantering i paketnät
US5313579A (en) * 1992-06-04 1994-05-17 Bell Communications Research, Inc. B-ISDN sequencer chip device
US5278828A (en) * 1992-06-04 1994-01-11 Bell Communications Research, Inc. Method and system for managing queued cells
KR960003783B1 (ko) * 1993-11-06 1996-03-22 한국전기통신공사 광대역 종합정보통신망 가입자 액세스 장치의 비동기 전달방식(atm) 다중화 처리 장치 및 방법
JP2922119B2 (ja) * 1994-09-01 1999-07-19 沖電気工業株式会社 帯域規制装置及びパケット通信装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389019B1 (en) 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks

Also Published As

Publication number Publication date
EP0753981A2 (en) 1997-01-15
EP0753981A3 (en) 1999-11-10
US5892762A (en) 1999-04-06

Similar Documents

Publication Publication Date Title
JPH0936912A (ja) バッファ制御方式
JP3409966B2 (ja) パケット交換機およびパケット転送制御方法
EP0763915B1 (en) Packet transfer device and method adaptive to a large number of input ports
US5629928A (en) Dynamic fair queuing to support best effort traffic in an ATM network
US5949757A (en) Packet flow monitor and control system
US6175570B1 (en) Method and an apparatus for shaping the output traffic in a fixed length cell switching network node
US6144636A (en) Packet switch and congestion notification method
EP0766425B1 (en) A communication service quality control system
US6041038A (en) Packet switching device and cell transfer control method
JPH08331154A (ja) 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法
JP3730846B2 (ja) Atm通信装置およびatmセル転送制御方法
US6023453A (en) System and method employing last occurrence and sliding window technique for determining minimum and maximum values
JPH10229408A (ja) 結合装置
WO1998025382A2 (en) Distributed telecommunications switching system and method
JPH07240752A (ja) Atm交換機のスイッチングパス設定方法
JPH10242999A (ja) トラフィック成形装置
JP2000031974A (ja) 通信装置
WO2000076153A1 (en) Method and system for allocating bandwidth and buffer resources to constant bit rate (cbr) traffic
US6049541A (en) Distributed telecommunications switching system and method
JPH11275098A (ja) セルの転送レート制御装置およびその方法
Chao Architecture design for regulating and scheduling user's traffic in ATM networks
US20040213255A1 (en) Connection shaping control technique implemented over a data network
WO2004062214A2 (en) System and method for providing quality of service in asynchronous transfer mode cell transmission
JP3848962B2 (ja) パケット交換機およびセル転送制御方法
JP2001148698A (ja) 最低帯域保証機能を有するatmスイッチ

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021001