JPH10215264A - 動的スケジュールテーブルを利用するスケジューラ - Google Patents

動的スケジュールテーブルを利用するスケジューラ

Info

Publication number
JPH10215264A
JPH10215264A JP33222497A JP33222497A JPH10215264A JP H10215264 A JPH10215264 A JP H10215264A JP 33222497 A JP33222497 A JP 33222497A JP 33222497 A JP33222497 A JP 33222497A JP H10215264 A JPH10215264 A JP H10215264A
Authority
JP
Japan
Prior art keywords
connection
scheduler
queue
pointer
priority
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
JP33222497A
Other languages
English (en)
Other versions
JP2983011B2 (ja
Inventor
Bradford C Lincoln
シー. リンカーン ブラッドフォード
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.)
Rockwell Science Center LLC
Original Assignee
Rockwell Science Center LLC
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 Rockwell Science Center LLC filed Critical Rockwell Science Center LLC
Publication of JPH10215264A publication Critical patent/JPH10215264A/ja
Application granted granted Critical
Publication of JP2983011B2 publication Critical patent/JP2983011B2/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/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • 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/5681Buffer or queue management

Abstract

(57)【要約】 【課題】交信モードを動的に管理し優先付けできるスケ
ジューラを提供する。 【解決手段】 ATMスケジューラ34は、交信のAB
Rモード、UBRモード、VBRモード、およびCBR
モードを使用して、コネクションをスケジュールする。
スケジューラ34は、プログラム可能な数のスロットを
含む動的スケジュールテーブルと通信を行う。各スロッ
トは、CBRエントリ、トンネルエントリ、および多数
のVBRエントリを含む。VBRエントリは、リンクさ
れたリストの末尾を示すスロットテイルポインタを記憶
する。スケジューラ34は、単一バケットアルゴリズム
または二重バケットアルゴリズムを使用して、コネクシ
ョンを、将来スロット上に動的にスケジュールする。ス
ケジューラ34は、優先待ち行列38内の、交信のVB
Rモードを用いてコネクションを配置し、ネットワーク
上での伝送用に優先待ち行列38中の最優先コネクショ
ンを取り入れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、通信媒体を介し
て情報を転送する方法と装置に関する。更に詳しくは、
この発明は、通信システムにおいてコネクションにわた
る(across)データパケットの伝送をスケジューリング
するための方法と装置に関する。
【0002】
【従来の技術】電話、映像、データサービスのような通
信用途(アプリケーション)のためにディジタルコード
化信号を搬送する種々のシステムが採用されている。こ
うしたシステムは、しばしばコネクション型(connecti
on-oriented)パケットモード伝送方式であり、例え
ば、非同期式転送モード(asynchronous transfer mod
e:ATM)、フレームリレーシステム、X.25シス
テム、又は他の伝送システムがある。コネクション型シ
ステム(例えば、ATM)は、私設の(private)、及
び公共の通信システム又は通信ネットワークに採用さ
れ、電話ライン、ケーブル、光ファイバ、放送電波、衛
星リンク、または他の通信等の通信媒体といった通信ラ
インにわたってパケット化された信号(例えば、データ
セルやプロトコル・データ・ユニット)を転送する。
【0003】一例として、ATMシステムは、コネクシ
ョンやチャネルを経由してAMTシステムにわたってデ
ータセルやデータユニットを転送する。データセルは、
計算用途や通信アプリケーションに使用される音声、音
響、映像、グラフィック、データ、またはこれらの組み
合わせたものを表し得る。コネクションは、ある数の論
理コネクションを受け持つ(carrying)単一の物理リン
クの一部または単一の孤立ラインでありうる。コネクシ
ョンは、しばしば、仮想チャネルコネクション(VC
C)又は仮想パスコネクション(virtual path connect
ion:VPC)のいずれか、及び固定型仮想コネクショ
ン(permanent virtual connection:PVC)又は交換
型仮想コネクション(switched virtual connection:
SVC)として分類される。コネクションは、一般に、
データセルの発信元と目的地とによって規定される。
【0004】
【発明が解決しようとする課題】ATMシステム又はネ
ットワークは一般に、特定の適合(conformance)また
は特定のサービス品質(quality of service:QOS)
要件を有することのできる高品質の音声、映像、及び高
速データ交信(traffic)の統合を支援するために利用
される。QOS要件といった動作パラメータに従う伝送
のためのコネクションを適切に選ぶために、スケジュー
ラが採用される。スケジューラは、ネットワークの入口
点(ingress point)におけるプロトコル適合およびQ
OS要件を保証するためにだけでなく、通信システムに
おける帯域幅を最大にするために、コネクションに関連
付けられるデータセルの伝送を組織化する(organiz
e)。
【0005】ATMシステムは、コネクション上におけ
るデータセルの伝送のために、少なくとも4タイプのサ
ービス・カテゴリまたは交信(トラヒック、traffic)
モードを利用できる。これら4タイプは、固定ビット速
度(レート)(constant bitrate:CBR)モード、可
変ビット速度(レート)(variable bit rate:VB
R)モード、不特定ビット速度(レート)(unspecifie
d bit rate:UBR)モード、及び利用可能ビット速度
(レート)(available bit rate:ABR)モードを含
む。これらのモードの各々は、幾分異なる伝送プロトコ
ル要件を有する。例えば、CBRモードは、一つのコネ
クションが毎秒特定数のセルまたはビットを送ることが
できることを要求し、CBRモードは端から端までの
(end-to-end)一定の(set)帯域幅を持たねばならな
い。CBRモードはしばしば、セル遅延の揺らぎ(cell
delay variations:CDV)の影響を受けやすい音声
または映像回線といったデータ源のために用いられる。
VBRモードは多くの場合、「単一の水漏れバケット
(リーキ・バケット:leaky bucket)」アルゴリズム
(例えば仮想スケジューリング・アルゴリズム:virtual
scheduling algorithm)、または「二重の水漏れバケ
ット(leaky bucket)」アルゴリズムを利用する。VBR
モードは、CBRモードよりもある程度融通性のあるタ
イミング要件を有しているが、VBRモードは単一また
は二重バケットアルゴリズムによって定められるタイミ
ング要件を満たさなければならない。ABRモードは、
ネットワークからのフィードバックに応答してデータセ
ルを送ることを要求する。
【0006】ネットワーク上において交信のCBR、V
BR、ABR、及びUBRの各モードを適切に供給し、
その伝送の有効性を最大にするためには、スケジューラ
はセル分割コプロセッサ(例えばセル分割/組立ユニッ
ト)を制御し、コネクション上においてデータセルの通
信またはデータプロトコルユニットを指揮する。一般的
には、スケジューラはネットワークの入口点において交
信規約(traffic contract)とQOSへの適合を保証す
るために、特定の時間において伝送用の特定のコネクシ
ョンの選択することを試みる。この選択プロセス、すな
わちスケジューリングは、各コネクションに、ネットワ
ークからのフィードバックに、そして交信モードタイミ
ング要件に関連する動作パラメータに基づく伝送のため
の種々のコネクションを選択する。
【0007】多数のコネクションのスケジューリングを
特定のタイミングと通信規準で行うことは、複雑化なス
ケジューリング問題に達する可能性がある。例えば、種
々のコネクションはネットワークからの特定の容量を必
要とし、その特定の容量の利用可能性はネットワークに
わたる輻輳(停滞、congestion)によって影響を受ける
(impinge)。これらのスケジューリング問題は、交信
のCBRモード、VBRモード、UBRモード、及びA
BRモードの特定の要件によって度合いを増す可能性が
ある。
【0008】トークンリング(Token Ring)やイーサネ
ット(Ethernet)といった伝統的なネットワーク・スケ
ジューリング・アルゴリズムは、かなり単純化されたス
ケジューリング・アルゴリズムを利用している。アルゴ
リズムは典型的には、ネットワークの各メンバーがネッ
トワーク帯域幅の平等な割り当てを得る伝送スキーム
(scheme)に基づいている。これらのシステムは、AT
Mシステムに関するQOS要件及び交信の4カテゴリ
(例えば、CBRモード、VBRモード、UBRモー
ド、及びABRモード)を取り扱うことができない。
【0009】ATMシステムにおいて利用されている先
行のスケジューラは、コネクションの時間スケジューリ
ングを支援するために固定されたサイズのスケジュール
・テーブルにアクセスする。固定スケジュール・テーブ
ルはスロット(slot)から構成され、それぞれは特定の
コネクションに割り当てられる。スケジューラは各スロ
ットを一つずつ処理し、処理されているスロットに割り
当てられたコネクションをネットワークへ伝送する。こ
れら先行のスケジューラは、幾分、融通がきかず、CB
RモードとVBRモードの交信に優先順位を付ける。更
に、固定スケジュール・テーブルは、CBRモードの交
信が固定された速度または固定された速度の倍数(harm
onic)で送られることを要求する。更にまた、これら先
行のスケジューラは、しばしばコネクションのための流
出(drain)速度を維持するために、アイドルセル(idl
e cell)を送らねばならない。
【0010】他の先行のスケジューラは、ネットワーク
にわたって適切にコネクションを送るために、先入れ先
出し(first-in first-out:FIFO)メモリとタイマ
(例えば、ハードウェアユニット)を利用する。しかし
ながら、ハードウェアユニットの数は、回線サイズの設
計規準によって制限され、帯域幅が利用可能になるにつ
れて動的に割り当てられることができない。各FIFO
及び各タイマを特定の伝送速度に対して専用にしなけれ
ばならない。従って、伝送速度は制限される。加えて、
これら先行のスケジューラは、VBRモードとCBRモ
ードの交信を優優先順位付けできない。
【0011】従って、交信モードを動的に管理できると
共に優先順位付けできるスケジューラを求める要求があ
る。加えて、CBRモードの交信、VBRモードの交
信、UBRモードの交信、及びABRモードの交信を効
率的に処理できる非同期式転送モード(ATM)システ
ム用のスケジューラを求める要求がある。更にまた、ダ
動的の原則に基づいてCBRモードの交信とVBRモー
ドの交信の両方を処理できるスケジューラを求める要求
がある。
【0012】
【課題を解決するための手段】この発明は、通信システ
ムに結合されるスケジューラとともに用いる動的スケジ
ュールテーブルに関する。スケジューラは、動的スケジ
ュールテーブルにアクセスし、通信システムにおける複
数のコネクションに関連付けられたデータの伝送をスケ
ジュールする。動的スケジュールテーブルはスロット場
所(ロケーション)を含む。スロット場所の各々は、第
一の記憶場所(location)と第二の記憶場所(location
s)とを含む。第一の記憶場所は交信の固定ビットレー
トを利用するコネクションの表示を格納し、第二の記憶
場所はそれぞれ、交信の可変ビットレートモードを利用
するコネクションの表示を格納する。
【0013】この発明は更に、通信システムにおいて複
数のコネクションに関連付けられたデータの伝送をスケ
ジュールするための通信システムに結合される交信マネ
ージャ・システムに関する。この交信マネージャシステ
ムは、動的スケジュールテーブル、グローバル優先待ち
行列、スケジューラ・メモリ、及びスケジューラを含
む。動的スケジュールテーブルは、複数のスロット場所
を含む。スケジューラは動的スケジュールテーブル、グ
ローバル優先待ち行列、及びスケジューラメモリに結合
されている。スケジューラは、動的スケジュールテーブ
ル内のスロット場所を処理し、優先順序でグローバル優
先待ち行列内の可変ビットレートモードを利用してコネ
クションを配置する(place)。スケジューラは、優先
順序に従ってグローバル優先待ち行列からコネクション
を選び、またその選ばれたコネクションを通信システム
において最終の(eventual)伝送のためにスケジューラ
メモリ内に配置する。
【0014】この発明は更にまた、制御メモリとスケジ
ューラを含む通信システムに関する。制御メモリは、ス
ケジュールテーブルとコネクション状態のデータ構造と
を含む。スケジュールテーブルは、少なくとも一つのコ
ネクションを格納するスロットを含む。コネクション
は、可変ビットレートモードの交信を用いる。コネクシ
ョン状態データ構造は、コネクションに関する可変ビッ
トレートモードパラメータを含む。スケジューラは制御
メモリに結合されている。スケジューラは、スケジュー
ルテーブル内のスロットを処理し、最終伝送用のコネク
ションを選択する。スケジューラは、スロットのうち一
つの新しいスロット内のコネクションを動的に再スケジ
ュールし、コネクションに関するタイミングパラメータ
と可変ビットレートモードパラメータとに応答する。
【0015】この発明はまた、通信ネットワーク上にお
ける伝送用のコネクションのスケジュールする方法にも
関する。この方法は、スケジュールテーブル内のスロッ
トにアクセスしてコネクションに関連付けられたコネク
ション情報を検索するステップと、コネクションが交信
のCBRモードを用いる場合にそのコネクション情報を
メモリユニット内に配置するステップと、コネクション
が交信のCBRモードを用いない場合にコネクション情
報を優先待ち行列へ転送するステップと、優先待ち行列
の利用可能な最高優先レベルからのコネクション情報を
メモリユニット内に配置するステップとを含む。メモリ
ユニットは、コネクションに関連付けられたデータの最
終の伝送のためのコネクション情報を格納する。優先待
ち行列は、コネクションに関連付けられた優先レベルに
おいてコネクション情報を格納する。
【0016】この発明は更に、通信システムにおいて複
数のコネクションに関連付けられたデータの伝送をスケ
ジュールするための通信システムに結合される交信マネ
ージャシステムに関する。交信マネージャシステムは、
制御メモリ、グローバル待ち行列、および制御メモリと
グローバル待ち行列に結合されたスケジューラと、を含
む。制御メモリは、各コネクションに関する複数のフィ
ールドを有するコネクション状態データ構造を含み、フ
ィールドは、待ち行列ポインタを別のコネクションへ格
納するための待ち行列ポインタフィールドを含む。グロ
ーバル待ち行列は、ヘッドポインタとテイルポインタを
含む。スケジューラは、ヘッドポインタ、テイルポイン
タ、及び待ち行列ポインタを設定し、リンクされたリス
トを定義する。リンクされたリストは、交信の第一のモ
ードに関しては線形であり、交信の第二モードに関して
は環状である。
【0017】この発明は更にまた、通信システムにおけ
る複数のコネクションに関連付けられたデータの伝送を
スケジュールするための通信システムに結合される交信
マネージャシステムに関する。交信マネージャシステム
は、制御メモリ、グローバル待ち行列、および制御メモ
リとグローバル待ち行列とに結合されたスケジューラ、
を含む。制御メモリは、各コネクションのための複数の
フィールドを有するコネクション状態データ構造を含
み、これらフィールドは、待ち行列ポインタを別のコネ
クションへ格納するための待ち行列ポインタフィールド
と、レート外ポインタを格納するためのレート外ポイン
タフィールドとを含む。グローバル待ち行列は、第一の
優先レベルにおいて第一のヘッドポインタと第一のテイ
ルポインタを含み、第二の優先レベルにおいて第二のヘ
ッドポインタと第二のテイルポインタを含む。スケジュ
ーラは、レート内(in-rate)スケジューリング用のリン
クされた第一のリストを定義するために、第一のヘッド
ポインタ、第一のテイルポインタ、及び第一の待ち行列
ポインタを設定し、更に、レート外スケジューリング用
のリンクされた第二のリストを定義するために、第二の
ヘッドポインタ、第二のテイルポインタ、及びレート外
(out-of-rate)ポインターを設定する。
【0018】この発明は更にまた、通信システムにおけ
る複数のコネクションに関連付けられたデータの伝送を
スケジュールするための通信システムに結合される交信
マネージャシステムに関する。この交信マネージャシス
テムは、スケジュールテーブル、コネクション状態デー
タ構造、及びスケジュールテーブルとコネクション状態
データ構造とに結合されるスケジューラ、を含む。スケ
ジュールテーブルは、単一のテイルポインタを有する複
数のVBRスロット場所を含む。コネクション状態デー
タ構造は、各コネクションのための複数のフィールドを
有する。複数のフィールドは、別のコネクションへ待ち
行列ポインタを格納するための待ち行列ポインタフィー
ルドを含む。待ち行列ポインタと単一テイルポインタは
リンクされたリストを定義する。スケジューラは、スケ
ジュールされた場所内のVBRスロット場所を処理し、
通信システムにおける最終の伝送のためのリンクされた
リストから少なくとも一つのコネクションを選択する。
リンクされたリストを定義するために単一テイルポイン
タを待ち行列ポインタと組み合わせて利用することによ
って、スケジュールテーブル内のメモリを節約できる。
【0019】この発明は更に、通信システムにおける複
数のコネクションに関連付けられたデータの伝送をスケ
ジュールするための通信システムに結合される交信マネ
ージャシステムに関する。交信マネージャシステムは、
コネクション状態データ構造、動的スケジュールテーブ
ル、及びコネクション状態データ構造と動的スケジュー
ルテーブルとに結合されるスケジューラ、を含む。コネ
クション状態データ構造は、各コネクションのための、
VBRパラメータを格納する複数のフィールドを有す
る。動的スケジュールテーブルは複数のスロットを有
し、スロットの各々はVBRエントリを含む。スケジュ
ーラはスロットを処理し、VBRパラメータに応答して
スロットのうち一つの将来のスロットのVBRエントリ
内にコネクション情報をロードする。
【0020】この発明の一例としての側面に従うと、動
的スケジューラテーブルは種々のサイズにプログラム可
能である。スケジュールテーブルは、交信の固定ビット
レートモードを利用するコネクションを受ける専用エン
トリ、交信のトンネルモード伝送用のエントリ、及び交
信のVBRモードを利用するコネクションのためのある
数のエントリ、を有するスロットを含む。交信のVBR
モードを利用するコネクションを格納するエントリは、
リンクされたリストの末尾を指し示す単一のテイルポイ
ンタを含む。
【0021】この発明のもう一つの側面において、スケ
ジューラは、スロットを処理し、交信の固定ビットレー
トモードを利用してコネクションをスケジュールFIF
O内に直接に配置し、また交信の他のモードを利用して
コネクションを優先待ち行列内に配置する。次いで、ス
ケジューラは優先待ち行列にアクセスし、優先待ち行列
内の最優先コネクションをスケジューラFIFO内に配
置する。
【0022】この発明の更にもう一つの実施例によれ
ば、スケジューラは、単一バケットアルゴリズムまたは
二重バケットアルゴリズムを利用し、交信の可変ビット
レートモードを利用してコネクションを動的にスケジュ
ールする。スケジューラは、スケジュールテーブル内の
将来スロットにコネクションを動的に配置し、また可変
ビットレートモードパラメータとタイミングパラメータ
に応答する。
【0023】この発明の更に一つの例としての側面によ
れば、交信のABRモードのために細かに(微細なざら
ざら度で、fine granularity)動的なレートをスケジュ
ールすることは、フィードバックに応答してコネクショ
ンに関するレートを調整することによって達成できる。
リーキィ(漏れ、leaky)バケットアルゴリズムに関連
付けられたIパラメータとLパラメータを調節し、交信
のABRモードに関するコネクションのためのレートを
変更できる。コネクションを伝送することが許されない
期間から回復するために、二重バケットアルゴリズムに
関連付けられたL1パラメータとL2パラメータによっ
てある程度で許容されるコネクションのバーストをする
(bursting)ことによって、交信のVBRモードとAB
Rモードに関して統計的なマルチプレックス化が達成で
きる。セルロス優先パラメータ(CLP:cell loss pr
iority parameter)に依存するVBRCアルゴリズムを
利用することも可能である。スケジューラはまた、ミニ
マムセルレート(MCR)優先パラメータとミニマムセ
ルレート(MCR)制限パラメータに従ってコネクショ
ンをスケジュールできる。スケジューラはまた、固定サ
イズでないデータのパケットを処理するように修正する
こともできる。
【0024】
【発明の実施の形態】添付図面を参照して、本発明を説
明するが、図中の同じ番号は等しい要素を示す。
【0025】図1を参照すると、通信システム20は、
通信ライン32によってATMシステムまたはATMネ
ットワーク30に結合される交信マネージャ・システム
または交信マネージャ・ユニット25を含む。ユニット
25は、スケジューラ(scheduler)34、タイマ3
6、グローバル(全体的な:global)優先待ち行列(pr
iority queue)38、スタートFIFOメモリ40、ス
ケジュールFIFOメモリ42、利用可能ビットレート
(ABR)マネージャ44、セル分割(セグメント化、
segmentation)ユニット46、および伝送FIFOメモ
リ50を含む。ユニット25のスケジューラ34は、バ
ス52を経由して制御メモリ48に結合される。
【0026】制御メモリ48は、バス54によってユニ
ット25のABRマネージャ44に結合される。スケジ
ューラ34は、タイマ36、グローバル優先待ち行列3
8、スタートFIFOメモリ40、スケジュールFIF
Oメモリ42、ABRマネージャ44に結合されてい
る。スケジューラ34は、制御バス56と制御バス58
とによって、ABRマネージャ44に結合されている。
セル分割ユニット46は、スタートFIFOメモリ4
0、スケジュールFIFOメモリ42、及び伝送FIF
Oメモリ50に結合されている。伝送FIFOメモリ5
0は、通信ライン32に結合されている。
【0027】制御メモリ48は、半導体メモリまたは他
の記憶設備(storage facility)といった任意のメモリ
ユニットでよい。待ち行列38は、好ましくは、情報の
高速転送のために、スケジューラ34と共に集積化され
た半導体メモリ(例えば、レジスタまたはスタティック
・ランダム・アクセス・メモリ)デバイスである。好ま
しくは、ユニット25は、スケジューラ34、タイマ3
6、グローバル優先待ち行列38、スタートFIFOメ
モリ40、スケジュールFIFOメモリ42、ABRマ
ネージャ44、セル分割ユニット46、及び伝送FIF
Oメモリ50の機能と動作を実現するための、処理ユニ
ット、状態マシーン(状態遷移マシーン、state machin
e)、レジスタ、及びその他の回路を含む単一の半導体
基板に集積化される。
【0028】トラヒック・マネージャ・ユニット25
は、プロトコル・データ・ユニット(PDU)としてデ
ータパケットまたはデータセルをATMネットワーク3
0に提供することが好ましい。一般的に、スケジューラ
34は、タイマ36からのタイミング信号、制御バス5
8をわたるABRマネージャ44からの制御信号、各コ
ネクションに関して制御メモリ48に記憶されているコ
ネクション情報と動作パラメータ、及びスタートFIF
Oメモリ40内のコネクション情報に応答し、コネクシ
ョン情報をグローバル優先待ち行列38に配置する状態
マシンである。スケジューラ34は、待ち行列38内の
最優先コネクション情報を選び、ネットワーク30を介
する結果として生じる伝送のために、その情報をスケジ
ュールFIFOメモリ42に配置する。
【0029】セル分割ユニット46は、スケジュールF
IFOメモリ42に記憶されているコネクション情報を
受け取る。セル分割ユニット46はコネクション情報を
利用し、コネクション情報に関連付けられたデータセル
を伝送FIFOメモリ50に配置する。データセルは、
FIFOメモリ50からライン32へ、次いでネットワ
ーク30へ伝送される。セル分割ユニット46は一般的
に、データセルをネットワーク30上の伝送のためにプ
ロトコル・データ・ユニット(PDU)に編成する。
【0030】スケジューラ34はまた、制御メモリ48
からのコネクション情報をスケジュールFIFOメモリ
42に直接に配置する。例えば、スケジューラ34は、
交信のCBRモードに関するコネクション情報を、待ち
行列38をアクセスすることなく、直接に、メモリ48
からFIFOメモリ42へ配置する。このようにして、
スケジューラ34は、交信のCBRモードが、その厳格
なタイミング要件に従って送られることを確実にする。
【0031】ABRマネージャ44は、スケジューラ3
4からの制御バス56を介してネットワーク30からフ
ィードバックを受け取り、且つスケジューラ34が特定
のコネクションに関するパラメータ及びフィードバック
に応答して交信のABRモードに関するコネクションを
スケジューリングすることを依頼する状態マシンであ
る。マネージャ44はABRフロー・制御アルゴリズム
を実行し、ユーザがプログラム可能なパラメータとコネ
クションパラメータとに基づいてフィードバックを処理
する。一般的に、ABRマネージャ44は、交信のAB
Rモードにおけるコネクションがスケジュールされる
(計画される、予定に組み入れられる、schedule)べき
であることを示し、また制御バス58を介して交信の一
部として送られるべきセルのタイプを示している。例え
ば、ATMネットワーク30は、3タイプのABRセ
ル、データセル、フォワード・リソース管理(RM)セ
ル(forward resouce management cell)、及びバック
ワードRMセル(backward resouce management cell)
を取り扱うことが好ましい。ABRマネージャ44は、
スケジューラ34がスケジュールするべきセルのタイプ
と、交信のモード(例えば、レート外(out-of rate)
伝送、または、レート内(in-rate)伝送)とを表示す
る。
【0032】レート内伝送は、スケジューラ34によっ
て、交信伝送の「単一バケット」VBRモードとしてス
ケジュールされ、レート外伝送は、待ち行列38の専用
の優先レベルを用いてスケジュールされる。一般的に、
レート外伝送は、ABRマネージャ44によって低いレ
ートで依頼されるレート外フォワードRMセルと、ネッ
トワーク30からの受信した交信に基づいてABRマネ
ージャ44によって依頼されるレート外バックワードR
Mセルとの両方に関して利用される。コネクションがV
BRスケジューリングを用いてレート内セルを送るのと
同時に、コネクションはレート外セルを送ることができ
る。
【0033】ABRマネージャ44はまた、フィードバ
ックに応答して交信のABRモードを利用してコネクシ
ョンに関するレートを調節できる。マネージャ44は、
メモリ48に記憶される新しいIパラメータとLパラメ
ータを書き、バケットアルゴリズムに従ってレートを調
節することができる。このようにして、交信のABRモ
ードに関する動的レートスケジューリングを変動が目立
たない範囲に細かに(微細な粒状性をもって、fine gra
nularity)達成できる。
【0034】スタートFIFOメモリ40は、ホストま
たはデータソース(図示せず)から受信したデータセル
に関するコネクション情報を保持する。スタートFIF
Oメモリ40はスケジューラ34によって処理され、ス
ケジュールFIFOメモリ42への最終の配置のため
に、またネットワーク30上における最終の伝送のため
に、グローバル優先待ち行列38へコネクションを追加
する。コネクション情報は、セル分割ユニット46が受
信したデータのコネクション番号の表示である。
【0035】図2を参照すると、グローバル優先待ち行
列38は、カラム60に格納されたヘッドポインタと、
カラム62に格納されたテイルポインタとから構成され
る。待ち行列38は、優先レベル64A〜64Hに、ヘ
ッドポインタとテイルポインタを格納する。代わりに、
待ち行列38は任意の数の優先場所を格納してもよい。
図2は、交信の特定のモードに関連付けられた典型とな
る優先レベルと、テーブル方式の典型となるデータ構造
とを示す。例えば、レート外のUBR交信モードは優先
レベル64Aにおいて第一(例えば、最高)優先が与え
られ、交信のトンネルモードは待ち行列38において最
終(例えば、最低)優先が与えられる。コラム60と6
2にそれぞれ格納されたヘッドポインタとテイルポイン
タは、伝送に関連付けられたコネクションを示す単なる
アドレスまたは情報である。ヘッドポインタとテイルポ
インタは、一般的に、制御メモリ48内にあり図4を参
照して以下詳細に記述されるメモリ場所(メモリ・ロケ
ーション)にスケジューラ34を指向させる。
【0036】待ち行列38内のメモリ空間を有利に節約
し、またスケジューラ34から待ち行列38へのより速
いデータ転送を可能にするために、優先レベル64A〜
64Hの各々に関してグローバル優先待ち行列38内に
ヘッドポインタとテイルポインタのみを格納する。一例
として、利用できる8つの優先レベル64A〜64Hを
含むグローバル優先待ち行列38が示されている。8つ
の優先レベル64A〜64Hのうち4つは隣接し、また
交信のVBRモードに利用されることが好ましい。AB
Rモード、VBRモード、及びUBRモードの優先レベ
ルを使用者が設定できる。
【0037】ヘッドポインタとテイルポインタは、優先
レベル64A〜64Hの各々についてある数のコネクシ
ョンのリンクされたリストを規定できる。典型例となる
リンクされたリストが図3に示される。リンクされたリ
ストは、大容量のメモリを用いることなく、待ち行列3
8におけるレベル64A〜64Hの特定の優先レベルに
おいて、ある数のコネクションを示すために用いられ
る。このため、待ち行列38は、ヘッドポインタとテイ
ルポインタのみが待ち行列38に格納されていても、コ
ネクションの大きなリストを示すことができる。
【0038】一般的に、優先待ち行列38は、カラム6
0内のヘッドポインタが情報を含むとき示すレジスタ
(図示せず)を含む。このようにして、スケジューラ3
4は、カラム60内においてヘッドポインタが利用可能
であるか否かを決定するために、優先待ち行列38に番
地指定する(address)というよりはむしろ、レベル6
4A〜64Hの各優先レベルに関するレジスタをチェッ
クするだけでよい。このようにして、ヘッドポインタが
存在しているかを決定するためにレジスタ内の1ビット
のみをチェックすることが必要であるので、スケジュー
ラ34は時間を節約できる。
【0039】図3を参照すると、トラフィック(traffi
c)を移動させる(move out)VBRに関するコネクシ
ョンのリンクされたリスト64は、待ち行列38のカラ
ム60内のヘッドポインタと、待ち行列38のカラム6
2内のテイルポインタとによって定義される。ヘッドポ
インタは、制御メモリ48(図1)内のコネクション状
態66Aの表示またはアドレスを提供する。コネクショ
ン状態66Aは、制御メモリ48に格納されている次の
コネクション状態66Bを指し示すポインタを含む。コ
ネクション状態66Bは、制御メモリ48に格納されて
いるコネクション状態66Cを指し示すポインタを含
む。待ち行列38のカラム62に格納されているテイル
ポインタもまた、コネクション状態66Cを指し示す。
従って、リンクされたリスト64に関しては、カラム6
0内のヘッドポインタはリスト64の先頭(ヘッド)に
関するコネクション状態66Aを格納すると共に、カラ
ム62内のテイルポインタはリスト64の終わり(エン
ド)に関するコネクション状態66Cを格納する。
【0040】同様に、カラム60内のヘッドポインタと
カラム62内のテイルポインタによって定義される環状
のリンクされたリスト68が図3に示されている。カラ
ム60内のヘッドポインタは、環状のリンクされたリス
ト68内の第一のコネクション状態70Aを指し示す。
リンクされたリスト64と同様に、状態70Aはコネク
ション状態70Bを指し示すポインタを含むと共に、コ
ネクション状態70Bはコネクション状態70Cを指し
示すポインタを含んでいる。コネクション状態70A〜
70Cは、制御メモリ48に格納されている。加えて、
コネクション状態70Cは、環状のバッファまたはリン
クされたリストが定義されるために、コネクション状態
70Aを逆に指し示すポインタを含んでいる。カラム6
2内のテイルポインタもまた、コネクション状態70C
を指し示す。
【0041】リンクされたリスト64は典型的には、交
信のVBRモードに用いられ、リンクされたリスト68
は典型的には交信のUBRモードに用いられる。環状の
リンクされたリスト68は、UBRコネクションによっ
て利用される、待ち行列38内のコネクションのラウン
ドロビン方向づけ(順次方向づけ:round-robin orient
ation)を容易にする。交信のUBRモードにおいて
は、伝送後に、典型的にはコネクションを除去しない。
交信のVBRモードを利用するコネクションは、伝送後
待ち行列38から典型としては除去されるので、リンク
68といった環状のリンクされたリストを維持すること
に利点はない。カラム60内のヘッドポインタとテイル
ポインタ62とを用いると、リスト64と68の両方の
エンドへの容易なアクセスが可能となる。例えば、コネ
クションがリンクされたリスト64に追加される必要が
ある場合、テイルポインタは、コネクション状態66C
が修正され追加のコネクション状態(図示せず)を指し
示すコネクション状態66Cへの方向を与える。テイル
ポインタは、それから追加のコネクション状態によって
指し示される。環状のリンクされたリスト68に関して
は、状態70Cが修正され追加の状態に対して指し示
し、また追加の状態は状態70Aに対するポインタを含
む。テイルポインタは改められ、追加の状態を指し示
す。
【0042】図4を参照すると、制御メモリ48は、記
憶場所、つまり記憶フィールド92Aから92Rを含む
データ構造、つまりコネクション状態90を含む。制御
メモリ48は、交信クラス・マネージャ・ユニット25
に関連付けられた各コネクションのためにコネクション
状態90を含む。各状態90は、ネットワーク30内の
一つのコネクションを表す。図4における状態90は、
図3における状態66Aから66Cと70Aから70C
との状態のデータ構造を表す。
【0043】データ利用可能フィールド92Aは、特定
のコネクションに関するデータがネットワーク30上の
伝送に利用可能であるか否かを示す。最後のCLPフィ
ールド92Bは、コネクションの最も最近に伝送された
セルに関するセル損失優先の値を示すセル損失優先(C
LP)パラメータを含む。スケジュール済(スケジュー
ルされた、scheduled)フィールド92Cは、コネクシ
ョンが現在、メモリ48内において動的スケジュールテ
ーブル(図5)にリンクされているか、あるいはグロー
バル優先待ち行列38において定義されるリスト64と
68(図3)といったリンクされたリストの一部である
かを示す。スケジュールモードフィールド92Dは、コ
ネクションが、交信のUBRモード、CBRモード、V
BR1(例えば、シングルバケットVBR)モード、V
BR2(例えば、二重バケットVBR)モード、または
ABRモードを利用しているか否かを示す。
【0044】優先度(優先)フィールド92Eは、コネ
クションのスケジュール優先を示す優先度(優先)パラ
メータを含む。優先パラメータは、待ち行列38(図
2)の優先レベル64A〜64Hに対応し、またコネク
ションが優先待ち行列38のレベル64A〜64Hのど
の優先レベルに記憶されるべきであるかを示す。
【0045】待ち行列ポインタフィールド92Fは、動
的スケジュールテーブル88または優先待ち行列38に
おいて定義されるリストをリンクするためのポインタを
格納する。コネクションに関する待ち行列ポインタは、
リスト64といった交信のVBRモードに関するリスト
において、またリスト68といった交信のUBRモード
に関するリストにおいて利用される。VBRリセットフ
ィールド92Gは、VBRバケットアルゴリズム(例え
ば、単一バケット、二重バケット、またはCLPバケッ
ト)に関するリセットパラメータを格納する。
【0046】I1フィールド92Hは第一VBRバケッ
トアルゴリズムに関するI1パラメータを含み、L1フ
ィールド92Iは第一VBRバケットアルゴリズムに関
するL1パラメータを提供する。I2フィールド92J
は第二VBRバケットアルゴリズムに関するI2パラメ
ータを提供し、またL2フィールド92Kは第二VBR
バケットアルゴリズムに関するL2パラメータを提供す
る。
【0047】現在フィールド92Lは、コネクションに
関する交信伝送の最後のVBRモードの時間を示す現在
パラメータを提供する。デルタ1フィールド92Mは、
交信のVBRモードに関する、所望の第一バケットの次
の伝送時間と最後の伝送時間との間の差を表すデルタ1
パラメータを提供する。デルタ2フィールド92Nは、
交信のVBRモードに関する、所望の第二バケットの次
の伝送時間と最後の伝送時間との間の差を表すデルタ2
パラメータを提供する。
【0048】ミニマムセルレート(MCR)優先度(優
先)フィールド92Oは、交信のABRモードに関する
MCR保証を与えるためにコネクションの優先を一時的
に格上げするためのMCR優先パラメータを提供する。
MCR制限フィールド92Pは、MCR優先パラメータ
が設定される前に、コネクションセル伝送間の最大時間
インタバルを表すMCR制限パラメータを提供する。
【0049】レート外優先度(優先)フィールド92Q
は、交信のABRモードに関するレート外セルのための
スケジューリング優先パラメータを提供する。レート外
ポインタフィールド92Rは、コネクション状態90へ
レート外ポインタを提供する。フィールド92Fにおけ
る待ち行列ポインタと同様に、レート外ポインタは、リ
スト68(図3)といったリンクされたリストの構築す
るために用いられる。
【0050】図5を参照すると、動的スケジュールテー
ブル88はメモリ48(図1)内に配置されている。ス
ケジュールテーブル88は、ある数のスロット88A〜
88G(例えば、スロット(slot)1〜Mであり、ここ
でMはユーザーがプログラムすることができるパラメー
タ)から構成される。スロット88A〜88Gはおのお
の、CBRエントリ94、トンネルエントリ95、及び
スロットテイルポインタエントリ96A〜96Dから構
成される。スロット88A〜88Gの各々は、1からN
までのある数のスロットテイルポインタエントリ96A
〜96Dを含むように構成されることができる。エント
リ96A〜96Dの各々は、待ち行列38(図2)内に
おいてレベル64A〜64Hの特定のVBR優先レベル
に関連付けられている。エントリ96A〜96Dに関す
るVBR優先レベル1からNまでは、固定オフセットを
媒介としてグローバル優先レベル64A〜64Hにマッ
プ化されている(ただし、任意のマッピングも可能であ
る)。
【0051】CBRエントリ94は、交信コネクション
のCBRモードが伝送されるべきであれば、コネクショ
ン情報を格納する。例えば、スケジューラ34がスロッ
ト88Cを処理するときスケジューラ34はCBRエン
トリ94を読み、そしてコネクション情報が存在すれ
ば、スケジューラ34はそのコネクション情報をスケジ
ュールFIFOメモリ42に配置する。
【0052】トンネルエントリ95は、一群のコネクシ
ョンうちの一つのコネクションが交信のCBRモードに
おいて巡回順序(round-robin order)伝送されるべき
であることを示すのに用いられる。トンネル伝送モード
において、スケジューラ34はエントリ95を読み、待
ち行列38内のトンネル優先レベル64Hを起動する。
待ち行列38は、トンネル優先レベル64Hがアクティ
ブな時に設定されるヘッダまたはフラッグビットを含
む。トンネル優先レベル64Hに関するカラム60と6
2は、リンクリスト68(図3)と同様の環状のリンク
されたリスト(不図示)を定義する。
【0053】スケジューラ34は、待ち行列38が次に
アクセスされる時、待ち行列38のレベル64Hによっ
て定義されるリンクされたリストの先頭におけるコネク
ションを送り、FIFOメモリ42をスケジューリング
する。カラム60内のヘッドポインタがコネクションエ
ントリを有しているとしても、レベル64Hがアクティ
ブである時にのみ優先レベル64Hはアクセスされる。
優先レベル64Hは、アクティブである場合、通常の優
先順位でアクセスされる。スロット88Aから88Gま
での内、エントリ95を持つ次のスロットに処理される
と、スケジューラ34はレベル64Hをアクティブに設
定し、トンネル優先レベル64Hの環状のリンクされた
リスト内の次のコネクションが選ばれる。このようにし
て、トンネルモード伝送のためのコネクションは、巡回
順序(round-robin order)で処理される。
【0054】スロットテイルポインタエントリ96Aか
ら96Dまでは、リンクされたリスト(不図示)の末尾
におけるコネクション状態を示すスロットテイルポイン
タを提供する。例えば、スロット88Cが処理される場
合、スケジューラ34はエントリ96A内のスロットテ
イルポインタを読み、(図4のコネクション状態90の
構造を有する)コネクション状態96Aにアドレスす
る。状態96Aは、状態98B(例えば、リンクされた
リスト98の先頭)を指し示す待ち行列ポインタフィー
ルド92F(図4)を含む。同様に、状態98Bは状態
98Aを指し示す状態98Cを指し示す。テイルエント
リ96Aをリストの末尾(状態98A)へたどり、次に
状態98Aのフィールド92Fにおいて待ち行列ポイン
タをリスト98の先頭(例えば、状態98B)へたどる
ことによって、リンクされたリスト98の先頭に到達す
る。エントリ96Aから96Dまでは、交信のVBRモ
ードのために用いられる。
【0055】スケジューラ34がエントリ96Dを読む
場合、スケジューラ34はリンクされたリスト94へ向
けられる。リスト97は、一つのコネクション状態97
Aから構成される。状態97Aのフィールド92Fにお
ける待ち行列ポインタは、それ自体(コネクション状態
97A)を指し示す。このため、エントリ96Dにおけ
るテイルポインタと、状態97Aのフィールド92Fに
おける待ち行列ポインタとは同じである。
【0056】動的スケジュールテーブル88は、プログ
ラムされ、種々のサイズになることができる。この可能
性によれば、スケジューラ34はテーブル88を種々の
交信のCBRモードのために個別仕様に合わせる(cust
mize)ことができる。テーブル88のサイズは変更可能
であるので、スケジューラ34は、交信のCBRモード
に関する特定のレートをスケジュールがより正確にでき
る。
【0057】図6〜図16を参照すると、A→Bの表記
は、ポインタAによって示される、コネクション状態9
0においてフィールドB(フィールド92Aから92R
まで)を意味する。図6を参照すると、スケジューラ3
4はトップレベルのフローチャート300に従って動作
する。スケジューラ34は、ステップ302において、
レート外ABRコネクションをスケジュールする必要が
あるか否か決定する。ステップ302において、スケジ
ューラ34は、交信コネクションのレート外ABRモー
ドをスケジューリングしなければならないことを示すA
BRマネージャ44からの信号が、制御バス58上に提
供されているか否か決定する。
【0058】RMセルのレート外伝送のために、コネク
ションをスケジューリングする必要があるかもしれな
い。レート外のスケジュールをすることは、マネージャ
44によって低いレートで要請されるレート外フォワー
ドRMセルと、ATMネットワーク30から受信される
交信に基づくマネージャ44によって要請されるレート
外バックワードRMセルとの両方に用いられる。スケジ
ューラ34が、レート外ABRコネクションをスケジュ
ールするべきであるとの信号をマネージャ44から受信
したら、スケジューラ34は、図7を参照して記述され
るフローチャート325を実行する。
【0059】レート外伝送をスケジュールする必要がな
い場合、スケジューラ34は、ステップ302からステ
ップ304へ進む。フローチャート325の終了した
後、スケジューラ34はステップ304へ進む。
【0060】ステップ304において、スケジューラ3
4は、スタートFIFOメモリ40が空いて(エンプテ
ィ:empty)いるか否か決定する。スタートFIFOメ
モリ40が空であれば、スケジューラ34は、FIFO
メモリ40内に格納されている何らのコネクション情報
も処理する必要がないので、ステップ306へ進む。ス
タートFIFOメモリ40が空でない(例えば、スター
トFIFOメモリ40が新しいコネクション情報を受け
ている)場合、スケジューラ34は、ステップ308に
おいて、スタートFIFOメモリ40に格納されている
コネクション情報を読む。
【0061】ステップ310において、スケジューラ3
4は、コネクションに関連付けられたコネクション状態
90(図4)のスケジュールされたフィールド92Cを
読むことによってスタートFIFOメモリ40から読み
出されたコネクション情報に関連付けられたコネクショ
ンがスケジュールされているか否か決定する。コネクシ
ョンがスケジュールされたならば、スケジューラ34は
ステップ306へ進む。コネクションがスケジューリン
グされていなければ、スケジューラ34は、図8を参照
して記述されるスケジュールコネクションフローチャー
ト350を実行する。スケジュールコネクションフロー
チャート350が完了した後、スケジューラ34はステ
ップ306へ進む。
【0062】ステップ306において、スケジューラ3
4は、スケジュールFIFOメモリ42が満杯(満量)
でないか否か、またスケジュール差パラメータが0より
大きいか否か決定する。スケジュール差パラメータは、
タイマ36によって与えられるタイミング信号から得ら
れる。スケジュール差パラメータは、スケジューラ34
が適切なリアルタイムにおいて適切なスロットに到達し
たか否かを示す。例えば、スケジュール差パラメータ
は、特定の時刻において所望のスロット位置と実際のス
ロット位置との差を表す。スケジュール差パラメータ
は、スロット88A〜88Gのうちの一つを処理するた
めの時間量が経過したときはいつでも増分され、スロッ
ト88A〜88Gのうちの一つが処理されるときはいつ
でも減分される。従って、スケジュール差パラメータ
は、スロット88A〜88Gの処理時間の追跡を続け
る。スケジュール差パラメータが零より大きい(スケジ
ューラ34が遅れている)場合、スケジューラ34は、
スロットを処理し、スケジュール差パラメータを0(ス
ケジューラ34が遅れていない)にすべきである。
【0063】スケジュールFIFOメモリ42が満量で
なく、またスケジュール差パラメータが零より大きい場
合、スケジューラ34は、図9を参照して検討すると、
プロセススロットフローチャート400へ進む。プロセ
ススロットフローチャート400が完了した後、スケジ
ューラ34はステップ308へ進む。スケジュールFI
FOメモリ42が満量であるか、或いはスケジュール差
が零に等しい場合、スケジューラ34はステップ308
へ進む。スケジューラ34は、スケジュールFIFOメ
モリ42が満量である場合、FIFOメモリ42内には
追加のコネクションを何ら格納する場所がないので、ス
ロットを処理すべきではない。加えて、スケジュール差
が零に等しい場合、タイミングはスロットを処理するに
は適当でない(例えば、早すぎる)。更に詳細には、ス
ロット88A〜88Gの処理が早すぎる場合(例えば、
スケジュール差パラメータが0であるとき)、コネクシ
ョンのためのパラメータの適切な送信が乱される可能性
がある。
【0064】ステップ308において、スケジューラ3
4は、スケジュール差パラメータが零に等しいか否か、
またグローバル優先待ち行列38が空であるか否か、を
決定する。スケジュール差パラメータが零に等しい時、
タイミングはスケジューラ34にとってスケジュールF
IFOメモリ42上においてコネクションをスケジュー
リングするために適切である。スケジュール差パラメー
タが零より大きければ、スケジューラ34が追いつく
(例えば、スケジュール差パラメータが0に等しくな
る)まで、スケジューラ34はセルを送るべきではな
い。コネクションのUBRモードに関する優先分離(pr
iority isolation)は、スケジュール差パラメータが零
に等しいとき、待ち行列38を処理することにのみよっ
て確実にされる。加えて、グローバル優先待ち行列38
の64A〜64Hのレベルにグローバル優先待ち行列の
入力(エントリ)がない場合、利用可能なコネクション
はない。従って、スケジュール差パラメータが零より大
きいか、またはグローバル優先待ち行列のエントリがな
ければ、スケジューラ34はステップ302へ戻る。
【0065】スケジュール差パラメータが零に等しく、
かつグローバル優先待ち行列38内にグローバル優先待
ち行列エントリがあれば、スケジューラ34はセル送出
フローチャート500を実行する。図14〜図16を参
照して記述したように、フローチャート500を終了し
た後に、スケジューラ34はステップ302へ戻る。
【0066】図7を参照すると、スケジューラ34によ
ってレート外リンクのフローチャート325が利用さ
れ、グローバル優先待ち行列38(図3、例えば優先レ
ベル64A)のレート外優先レベルへコネクションをリ
ンクする。ステップ326において、スケジューラ34
は、グローバル優先待ち行列38のレート外優先レベル
64Aにおけるヘッドポインタ60がヌル(null)ある
か否かを決定する。ヘッドポインタがヌルであれば、ス
ケジューラ34はステップ328へ進み、またABRマ
ネージャ44によって与えられるコネクションへ待ち行
列38のカラム60内のヘッドポインタを設定する。ス
テップ328の後、スケジューラ34はステップ330
へ進み、またABRマネージャ44によって与えられる
コネクションへコネクションに関するコネクション状態
90におけるフィールド92R内のレート外ポインタを
設定する。ステップ330の後、スケジューラ34はス
テップ340へ進む。
【0067】ステップ326、328及び330は、マ
ネージャ44によって与えられるコネクションから成る
環状のリンクされたリストを構築する。レート外コネク
ションは、リスト68(図3)といった環状のリンクさ
れたリストに格納されるので、ヘッドポインタがヌルで
あれば、グローバル優先待ち行列38に格納されるレー
ト外コネクションはない。レート外モードといった交信
のUBRモードは、待ち行列38内のコネクションの順
次方向付け(round-robin orientation)を容易にするた
めに、環状にリンクされたコネクションを有する。レー
ト外待ち行列内に他のコネクションがなければ、新しい
コネクションはそれ自体へリンクされるべきである。
【0068】レート外優先レベル64Aに関する待ち行
列38のカラム60内のヘッドポインタがヌルでなけれ
ば、スケジューラ34はステップ332へ進む。ヘッド
ポインタがヌルでなければ、リスト68(図3)といっ
たリンクされたリストがレート外コネクションに関して
既に存在する。次に、ABRマネージャ44によって与
えられるコネクションを既存のリンクされたリストへ環
状にリンクしなければならない。
【0069】ステップ332において、スケジューラ3
4は、グローバル優先待ち行列38のカラム62内の優
先レベル64Aにおいてテイルポインタによって指示さ
れるコネクションに関するコネクション状態90のスケ
ジュールモードフィールド92Dを読む。スケジューラ
34は、コネクションがABRモードにあることをフィ
ールド92Dが示しているか否かを決定する。スケジュ
ールモードフィールド92DにABRモードが既に設定
されている旨をスケジューラ34が判定すれば、待ち行
列38のカラム62内のテイルポインタによって指示さ
れるコネクションに関するフィールド92R内のレート
外ポインタを利用して、環状にリンクされたリストを構
築しなければならない。フィールド92Q内のレート外
ポインタは、ステップ334においてマネージャ44に
よって与えられるコネクションに設定される。ステップ
334の後、スケジューラ34はステップ338へ進
む。
【0070】ステップ332においてスケジュールモー
ドフィールド92DがABRモードに設定されなけれ
ば、コネクションは交信のUBRモードであって交信の
ABRモードではなく、またスケジューラ34はステッ
プ336へ進む。従って、フィールド92F内の待ち行
列ポインタが、フィールド92R内のレート外ポインタ
に対抗するものとして用いられ、ステップ336におい
てリンクされたリストを作成する。ステップ336にお
いて、待ち行列38内のテイルポインタによって指示さ
れる状態90に関する、フィールド92F内の待ち行列
ポインタが、マネージャ44によって与えられるコネク
ションへ設定される。
【0071】ステップ336の後、スケジューラ34
は、ABRマネージャ44によって与えられるコネクシ
ョンに関する状態90のフィールド92R内のレート外
ポインタが待ち行列38のカラム60内のヘッドポイン
タへ設定されるステップ338へ進む。ステップ340
において、カラム62内のテイルポインタがマネージャ
44によって与えられるコネクションへ設定され、また
フローチャート325が完了される。このようにして、
フィールド92R内のレート外ポインタを用いるリンク
されたABRリストと、フィールド92F内の待ち行列
ポインタを用いるリンクされたUBRリストとの両方に
関して、環状の待ち行列が形成される。
【0072】図8を参照すると、スケジューラ34は、
スケジュールコネクションフローチャート350を実行
し、スタートFIFOメモリ40からのコネクションを
グローバル優先待ち行列38へ追加する。典型的には、
スケジューラ34は、カラム60内のヘッドポインタ内
に叉はカラム62内のテイルポインタ内にヘッドポイン
タ内のコネクション番号またはコネクション情報を書き
込む(insert)ことによって、グローバル優先待ち行列
38上へコネクションを配置することによりコネクショ
ンをスケジュールする。
【0073】ステップ352において、スケジューラ3
4は、スタートFIFOメモリ40によって与えられる
コネクションのコネクション状態90が、交信のCBR
モードに設定されたスケジュールモードフィールド92
Dを有しているか決定する。もしそうであれば、コネク
ションは、既にエントリ94内の動的スケジュールテー
ブル88上にスケジュールされていて、またスロット8
8A〜88Gのうち適当なスロットが処理される時にス
ケジュールFIFOメモリ42へ自動的に転送されるの
で、コネクションをスケジュールする必要はない。交信
のCBRモードの性質は、スロット88A〜88Gによ
って定義される特定の回数でコネクションが送り厳密な
プロトコル要件を充たさ(meet)なければならないとい
うことである。
【0074】スケジュールモードフィールド92Dがコ
ネクションがCBRコネクションであることを示さない
場合、スケジューラ34はステップ354へ進み、また
スタートFIFOメモリ40によって示されるコネクシ
ョンのコネクション状態90が、ABRモードへ設定さ
れたフィールド92Dと、MCR優先を示すフィールド
92Oとを有しているか否かを決定する。コネクション
状態90がABRモードとMCR優先を示せば、スケジ
ューラ34はステップ356へ進む。
【0075】ステップ356において、コネクションに
関する、レベル64A〜64Hといった優先レベルは、
フィールド92E内の優先レベルパラメータによってコ
ネクション90内に指示される優先レベルの一つ上の優
先レベルに関するヘッドポインタを用いることによって
増加させられる。フローチャート350における残りの
ステップのために、より高い優先レベルが用いられる。
ステップ356の後、スケジューラ34はステップ35
8へ進む。ステップ354において、状態90がコネク
ションに関するABRモードもMCR優先も示さなけれ
ば、スケジューラ34はステップ358へ進む。
【0076】ステップ358において、スケジューラ3
4は、レベル64A〜64Hの特定の優先レベルに関す
る待ち行列38のカラム60内のヘッドポインタがヌル
であるか否かを判定する。もし特定の優先レベルに関す
るヘッドポインタがヌルであれば、その優先レベルに関
して現在スケジュールされているコネクションはなく、
またヘッドポインタはステップ360においてそのコネ
クションに設定される。ヘッドポインタがヌルでなけれ
ば、優先待ち行列38内に格納されている優先レベルに
関する既存のリンクされたリストにコネクションを添え
なければならない(ステップ362において開始)。
【0077】ステップ362において、スケジューラ3
4が、スタートFIFOメモリ40からのコネクション
のコネクション状態90のスケジュールモードフィール
ド92DがUBRモードを示すこと、また待ち行列38
内のテイルポインタによって指し示されるコネクション
状態90のスケジュールフィールド92DがABRモー
ドを示すこと、を判定すれば、スケジューラ34はステ
ップ364へ進む。ステップ364において、スケジュ
ーラ34は待ち行列38内のテイルポインタによって指
し示されるコネクション状態90に関するフィールド9
2R内のレート外ポインタを、スタートFIFOメモリ
40によって与えられるコネクションへ設定する。
【0078】ステップ362において、コネクションの
フィールド92DがUBRモードを示さない場合か、ま
たは、テイルポインタによって指し示されるフィールド
92DがABRモードを示さない場合、スケジューラ3
4はステップ366へ進む。ステップ366において、
スケジューラ34は、テイルポインタによって指し示さ
れるコネクション状態90のフィールド92F内の待ち
行列ポインタを、スタートFIFOメモリ40によって
与えられるコネクションへ設定する。
【0079】ステップ366の後、スケジューラ34は
ステップ368へ進み、またスタートFIFOメモリ4
0によって与えられるコネクションのスケジュールモー
ドフィールド92DがUBRモードを指示するか否かを
決定する。もしそうであれば、環状バッファが形成され
ねばならず、またスケジューラ34は、FIFOメモリ
40によって与えられるコネクションに関するコネクシ
ョン状態90のフィールド92F内の待ち行列ポインタ
がグローバル優先待ち行列38のヘッドポインタへ設定
されるステップ370へ進む。もしそうでなければ、ス
ケジューラ34はステップ376へ進む。ステップ36
4の後、スケジューラ34はステップ370へ進む。
【0080】ステップ360の後、スケジューラ34は
ステップ372へ進み、またFIFOメモリ40によっ
て与えられるコネクションに関するコネクション状態9
0のスケジュールモードフィールド92DがUBRモー
ドを指示するか否かを決定する。もしそうであれば、ス
ケジューラ34はステップ374へ進み、またコネクシ
ョン状態90のフィールド92F内の待ち行列ポインタ
を、FIFOメモリ42によって与えられるコネクショ
ンへ(例えば、ヘッドポインタへ)設定する。ステップ
374の後、スケジューラ34はステップ376へ進
み、また待ち行列38内のテイルポインタをスタートF
IFOメモリ40によって与えられるコネクションへ設
定する。ステップ370の後、スケジューラ34はステ
ップ376へ進む。ステップ368において、フィール
ド92DがUBRモードを指示しないならば、スケジュ
ーラ34はステップ376へ進む。ステップ376の
後、フローチャート350は完了される。
【0081】ステップ354〜376によれば、スケジ
ューラ34はスタートFIFOメモリ40内のコネクシ
ョンが交信のUBRモード、ABRモード、またはVB
Rモードを用いているか否かを決定できる。コネクショ
ンがABRモードまたはUBRモードを用いていれば、
コネクションは優先待ち行列38において環状にリンク
される。コネクションがVBRモードを用いていれば、
非環状にリンクされたリストが構築される。
【0082】図9を参照すると、プロセススロットフロ
ーチャート400が利用され、その結果、動的スケジュ
ールテーブル88内のスロット88A〜88Gのうち一
つのスロットをスケジューラ34が処理できる。この例
において、スロット88Cは、単に説明のためにのみ処
理される。ステップ402において、スケジュール差パ
ラメータは減数(デクリメント)され、リアルタイムと
スロット88A〜88Gに関連してスケジューラ34の
位置との間の一時的な関係を正確に表す。ステップ40
4において、スケジューラ34は、スケジュールテーブ
ル位置をスロット88A〜88Gの次の位置へ増分(イ
ンクリメント)し、テーブル88上の位置を正確に反映
させる。この例においては、スケジュールされたテーブ
ル位置は増分され、スロット88Cを指し示す。
【0083】ステップ406において、スケジューラ3
4は、スロット88CのCBRエントリ94がコネクシ
ョン情報を含むか否かを決定する。もしそうであれば、
スケジューラ34はステップ408へ進む。ステップ4
08において、スケジューラ34は、スロット88Cの
エントリ94内のコネクションによって示されるコネク
ション状態90が、コネクションに関連付けられたデー
タが利用可能であることを示すように設定されたデータ
利用可能フィールド92Aを有するか否かを決定する。
【0084】データがコネクションのために利用可能で
あれば、スケジューラ34は、ステップ410において
エントリ94内のコネクションをスケジュールFIFO
メモリ42へ書き込む。スケジューラ34は、交信のC
BRモードに関する一致要件を理由に、グローバル優先
待ち行列38と対抗するものとして、CBRコネクショ
ンをスケジューラ42へ直接に書き込む。このようにし
て、スケジューラ34は、CBRコネクションが適切に
伝送されることを保証する。
【0085】ステップ408において、コネクションに
関するデータが利用可能でないことをデータ利用可能フ
ィールド92Aが示せば、スケジューラ34はステップ
414へ進む。ステップ406において、エントリ94
がコネクション情報を含まないならば、スケジューラ3
4はステップ414へ進む。
【0086】ステップ414において、スケジューラ3
4は、CBRトンネル伝送がスケジュールされているこ
とをスロット88Cのトンネルエントリ95が示してい
るか否かを決定する。トンネル伝送は典型的には、巡回
順序で分配される数個のCBRコネクションから成る。
トンネルエントリ95に関連付けられた環状にリンクさ
れたCBRコネクションのリストは、グローバル優先待
ち行列38内に与えられる。
【0087】ステップ416において、スケジューラ3
4は、優先待ち行列38内にトンネル伝送に関連付けら
れる優先レベル64Hに関する適切なヘッダを与えるこ
とによって、トンネルをアクティブに設定する。ステッ
プ416の後、スケジューラ34はステップ418へ進
む。ステップ414において、スロット88Cに関する
トンネルコネクションがあることをトンネルエントリ9
5が示さないならば、スケジューラ34はステップ41
8へ進む。
【0088】ステップ418において、スケジューラ3
4は、スロットテイルポインタエントリ96A〜96D
に関する待ち行列番号を、エントリ96Aを示す待ち行
列番号に設定する。ステップ418の後、スケジューラ
34は、図10を参照して記述されるフローチャート4
25へ進み、またエントリ96A内に与えられるスロッ
トテイルポインタを処理する。ステップ422におい
て、スケジューラ34は、96A〜96Dのすべてのテ
イルエントリが処理されたか否かを決定する。そうでな
ければ、スケジューラ34は、待ち行列番号が増分され
るステップ424へ進む。ステップ424の後、スケジ
ューラ34はフローチャート425へ戻る。処理スロッ
ト88Cを完了するために、スケジューラ34は、チャ
ート425、ステップ422、及びステップ424から
構成されるループを実行することによって、エントリ9
6A〜96Dの各々に関してフローチャート425を実
行する。ステップ422においてエントリ96A〜96
Dのすべてが処理されいたならば、スケジューラ34は
フローチャート400を完了している。
【0089】図10を参照すると、スケジューラ34
は、スロット88C(例示のためのみ)内のエントリ9
6A〜96Dによって示されるスロットテイルポインタ
を処理するために、プロセススロットテイル待ち行列フ
ローチャート425を実行する。エントリ96A〜96
Dに関連付けられた待ち行列番号は、優先待ち行列38
内の優先レベル64A〜64Hに関連している。一定の
オフセットが、待ち行列38の優先レベル64A〜64
Hとエントリ96A〜96DのVBR優先レベルとの間
にあることが好ましい。
【0090】この例においては、エントリ96Aが処理
される。ステップ428において、スケジューラ34
は、エントリ96A内のテイルポインタがヌルであるか
否かを決定する。もしそうであれば、エントリ96A内
にはVBRコネクションはなく、フローチャート425
を完了する。エントリ96A内にスロットテイルポイン
タが与えられていれば、スケジューラ34はステップ4
30へ進む。
【0091】ステップ430において、スケジューラ3
4は、スロットテイルポインタエントリ96Aによって
示される優先レベルに関する待ち行列38のカラム60
内のヘッドポインタがヌルであるか否かを決定する。も
しそうであれば、スケジューラ34はステップ432へ
進む。ステップ432において、スケジューラ34は、
エントリ96A内のスロットテイルポインタによって指
し示されるコネクション状態90のフィールド92F内
の待ち行列ポインタへ、優先待ち行列38内のヘッドポ
インタを設定する。ステップ432の後、スケジューラ
34はステップ434へ進む。
【0092】ステップ430においてヘッドポインタが
ヌルでないならば、スケジューラ34はステップ436
へ進み、待ち行列38において定義される既存のリンク
されたリストにコネクションを追加する。ステップ43
6において、スケジューラ34は、グローバル優先待ち
行列38のカラム62内のテイルポインタによって示さ
れるコネクション状態90のフィールド92F内の待ち
行列ポインタを、エントリ96A内のスロットテイルポ
インタによって示されるコネクション状態90のフィー
ルド92F内に格納されている待ち行列ポインタへ設定
する。例えば、リスト98の先頭におけるコネクション
スレート98Bが、待ち行列38で定義されるリンクさ
れたリストに追加される。このようにして、リスト98
(図5)が、待ち行列38において定義されるリストに
追加される。ステップ436の後、スケジューラ34は
ステップ434へ進む。
【0093】ステップ434において、優先待ち行列3
8のカラム62内のテイルポインタが、エントリ92A
内のスロットテイルポインタへ設定される。この例にお
いて、スロットテイルポインタは状態98Aに対してを
指し示し、またリスト98のすべてが待ち行列38内の
リストに追加され、スロットテイルポインタと待ち行列
ポインタのみが更新された状態にある。ステップ434
の後、スケジューラ34はステップ436へ進み、また
エントリ96A内のスロットテイルポインタをヌルに設
定し、それによってエントリ96Aをクリアする。ステ
ップ436の後、フローチャート425を完了する。
【0094】図11〜図13を参照すると、スケジュー
ラ34は、セル送りフローチャート500を実行し、グ
ローバル優先待ち行列38から最優先のペンディング
(未決定の、未処理の:pending)コネクションを送
る。
【0095】ステップ502において、スケジューラ3
4は、グローバル優先待ち行列38のレベル64A〜6
4Hのペンディング最優先グローバルレベルに格納され
ているコネクションを選択する。ステップ502の後、
スケジューラ34は、ステップ504において、レベル
64A〜64Hのペンディング最優先グローバルレベル
に関する待ち行列38のカラム60内に格納されたヘッ
ドポインタに関連付けられたコネクションに等しいコネ
クション番号を設定する。
【0096】ステップ504の後、ステップ506にお
いて、スケジューラ34は、データが利用可能であると
いうことをコネクションに関するコネクション状態90
のためのデータ利用可能フィールド92Aが指示するか
否かを決定する。もしそうでないならば、スケジューラ
34はステップ508(図12)へ進み、グローバル優
先待ち行列38からコネクションを取り外すことを始め
る。コネクションは、グローバル優先待ち行列からを取
り外され、継続して選ばれないことを確実にしなければ
ならない。
【0097】ステップ508においては、スケジューラ
34は、ヘッドポインタが優先待ち行列38内のテイル
ポインタに等しいか否か判定する。もしそうであれば、
スケジューラ34はステップ510へ進み、優先待ち行
列38内のヘッドポインタをヌルに設定する。ヘッドポ
インタとテイルポインタが等しいときは、スケジューラ
34は、待ち行列38によって定義されるリンクされた
リストに関連付けられるコネクションは一つだけである
と判定する。従って、カラム60内のヘッドポインタを
ヌルに設定することによって、リンクされたリストは効
果的に待ち行列38から削除される。カラム60内のヘ
ッドポインタが常に最初にチェックされるので、カラム
62内のテイルポインタをヌルに設定する必要はない。
ステップ510の後、フローチャート500を完了す
る。
【0098】ステップ508においては、ヘッドポイン
タがテイルポインタに等しくないと、スケジューラ34
はステップ512へ進む。ステップ512においては、
スケジューラ34は、待ち行列38のヘッドポインタに
よって示されるコネクションに関するコネクション状態
90が、UBRモードを示すスケジュールモードフィー
ルド92Dを有しているか否かを判定する。もしそうで
あれば、スケジューラ34は、待ち行列38内の優先レ
ベルに関連付けられ環状のリンクされたリストからコネ
クションを削除しなければならず、そしてステップ51
3へ進む。もしそうでなければ、スケジューラ34はス
テップ515へ進む。
【0099】ステップ513において、スケジューラ3
4は、フィールド92F内の待ち行列ポインタへ次のパ
ラメータを設定する。次のパラメータは、待ち行列38
に関連付けられリンクされたリストが設定されるべき次
のコネクションを示す。
【0100】ステップ515において、スケジューラ3
4は、フィールド92DがABRモードを示すか否か
と、選ばれた優先(優先度)がフィールド92Q内のレ
ート外優先パラメータに等しいか否かと、を判定する。
もしそうであれば、スケジューラ34は、ステップ51
7において、フィールド92R内のレート外ポインタに
次のパラメータを設定する(例えば、レート外コネクシ
ョンを選ぶ)。もしそうでないならば、スケジューラ3
4は、ステップ519においてフィールド92F内の待
ち行列ポインタに次のパラメータを設定する。ステップ
517の後、スケジューラ34はステップ514へ進
む。ステップ519の後、スケジューラ34はステップ
516へ進む。
【0101】ステップ514において、スケジューラ3
4は、待ち行列38内のテイルポインタによって指示さ
れるコネクション状態90のフィールド92DがABR
モードを示すか否かを判定する。もしそうであれば、ス
ケジューラ34は、ステップ518へ進み、待ち行列3
8のテイルポインタによって示されるコネクションに関
する状態90におけるレート外ポインタフィールド92
Rを次のパラメータに設定する。ステップ518の後、
スケジューラ34はステップ516へ進む。
【0102】ステップ514においては、フィールド9
2DがABRモードを示さないならば、スケジューラ3
4はステップ520へ進む。ステップ520において
は、スケジューラ34は、待ち行列38のテイルポイン
タによって指示されるコネクション状態90におけるフ
ィールド92F内の待ち行列ポインタを次のパラメータ
に設定する。ステップ520の後、スケジューラ34は
ステップ516へ進む。
【0103】ステップ516においては、スケジューラ
34は、待ち行列38のカラム60内のヘッドポインタ
を次のパラメータへ設定する。従って、スケジューラ3
4は、次のパラメータによって示される次のコネクショ
ンにリンクされたリストを効果的に設定する。ステップ
516の後、フローチャート500を完了する。
【0104】ステップ506において(図11)、コネ
クションに関するデータ利用可能フィールド92Aが、
データが利用可能であることを示せば、スケジューラ3
4はステップ530へ進む。ステップ530において、
スケジューラ34は、フィールド92CがABRモード
を示すか否かを判定する。もしそうであれば、スケジュ
ーラ34はステップ532へ進む。ステップ532にお
いては、スケジューラ34は、制御バス58上において
ABRマネージャからセルタイプ(セル型)を受け取
り、コネクション情報(例えば、コネクション番号とコ
ネクションのタイプ)をスケジュールFIFOメモリ4
2へ書き込む。ステップ532の後、スケジューラ34
はステップ534へ進む。
【0105】ステップ534においては、スケジューラ
34は、優先待ち行列38内の選ばれた優先レベルが、
フィールド92Q内のレート外優先パラメータに等しい
か否かを判定する。もしそうであれば、スケジューラ3
4はステップ560(図13)へ進む。もしそうでない
ならば、スケジューラ34はステップ580(図13)
へ進む。
【0106】ステップ530においては、コネクション
がABRモードでないことをフィールド92Dが示せ
ば、スケジューラ34は、コネクションをスケジュール
FIFOメモリ42へスケジューラ34が書き込むステ
ップ536へ進む。ステップ538において、スケジュ
ーラ34は、フィールド92DがUBRモードを示すか
否かを判定する。もしそうであれば、スケジューラ34
はステップ560へ進む。もしそうでないならば、スケ
ジューラ34はステップ580へ進む。スケジューラ3
4がステップ560に達すると、交信のUBRモードを
利用しているコネクションがスケジュールFIFOメモ
リ42へ書き込まれた。ステップ560において、スケ
ジューラ34は、レベル64A〜64Dの選ばれた優先
レベルがトンネルモード(待ち行列38には図示せず)
を示すか否かを判定する。もしそうであれば、スケジュ
ーラ34はステップ562においてトンネルアクティブ
表示をクリアし、ステップ564へ進む。もしそうでな
いならば、スケジューラ34はステップ564へ進む。
【0107】ステップ564において、スケジューラ3
4は、選ばれた優先レベルに関する待ち行列38のカラ
ム60内のヘッドポインタが、カラム62内のテイルポ
インタと等しいか否かを判定する。もしそうであれば、
環状にリンクされたリストは唯一のコネクションから成
るので、フローチャート500を完了する。もしそうで
ないならば、スケジューラ34はステップ566へ進
む。
【0108】ステップ566においては、スケジューラ
34は、待ち行列38のカラム62内のテイルポインタ
をコネクション(例えば、待ち行列38内のヘッドポイ
ンタ)へ設定し、ステップ567へ進む。ステップ56
7においては、スケジューラ34は、フィールド92D
がABRモードを示すか否かを判定する。もしそうであ
れば、スケジューラ34は、ステップ568において、
コネクションに関するコネクション状態90のフィール
ド92F内の待ち行列ポインタに待ち行列38内のヘッ
ドポインタを設定する。もしそうでないならば、スケジ
ューラ34は、ステップ570において、フィールド9
2Q内のレート外ポインタに待ち行列38内のヘッドポ
インタを設定する。ステップ566、568及び570
は、次のコネクションがリストの先頭になるように、A
BRモードとUBRモードに関連付けられ環状にリンク
されるリストを回転させる。ステップ568と570の
後、フローチャート500を完了する。
【0109】スケジューラ34がステップ580に達す
ると、スケジューラ34はVBRコネクションがスケジ
ュールFIFOメモリ42に書き込まれたことを判定し
たことになる。ステップ580において、スケジューラ
34は、待ち行列38内のヘッドポインタがテイルポイ
ンタと等しいか否かを判定する。もしそうであれば、ス
ケジューラ34は、ステップ582において、待ち行列
38内のカラム60内のヘッドポインタをヌルに設定す
る。もしそうでないならば、スケジューラ34は、ステ
ップ584へ進み、コネクションに関するコネクション
状態90の待ち行列ポインタフィールド92Fにヘッド
ポインタを設定する。
【0110】ステップ582と584の後、スケジュー
ラ34は図14〜図16を参照して記述されるスケジュ
ールレートフローチャート600へ進む。フローチャー
ト600を完了すると、フローチャート500を完了す
る。
【0111】スケジューラ34はスケジュールレートフ
ローチャート600を利用し、動的スケジュールテーブ
ル88内のスロット88A〜88Gのうち一つのスケジ
ュールスロット上へコネクションをリンクすることによ
って、将来におけるコネクションをスケジュールする。
このようにして、スケジューラ34は、ABRモードと
VBRモードを利用してコネクションを動的に割り当
て、通信システム20の帯域幅を最大にする。スケジュ
ーラ34は、単一バケットスケジューリングアルゴリズ
ムと二重バケットスケジューリングアルゴリズムを利用
して、テーブル88のスロット88A〜88G内の交信
のVBRモードとABRモードを適切にスケジュールす
る。統計的にマルチプレックス化することは、交信のV
BRモードとABRモードに関して、コネクションを送
信することが許されなかった期間から回復するために、
L1及びL2パラメータによって許される程度にコネク
ションをバースト(burst)することによって達成され
る。
【0112】図14〜図16を参照すると、スケジュー
ラ34は、ステップ602において、タイマー36によ
って与えられる現在時間に等しいナウ・パラメータ(now
parameter)を設定する。ステップ604において、ス
ケジューラ34は、コネクション状態90のVBRリセ
ットフィールド92Gが、コネクションに関するデルタ
1パラメータとデルタ2パラメータがリセットされるべ
きであることを示しているか否かを判定する。デルタ1
パラメータとデルタ2パラメータがリセットされると、
VBRバケットはそれらの最大バースト状態に設定され
る。もしそうであれば、スケジューラ34はステップ6
06へ進む。もしそうでないならば、スケジューラ34
はステップ612へ進む。
【0113】ステップ606において、経過パラメータ
(elapsed paraameter)が最大値に設定される。ステッ
プ606の後、スケジューラ34はステップ608へ進
み、フィールド92M内のデルタ1パラメータとフィー
ルド92N内のデルタ2パラメータとを、零に設定す
る。ステップ608の後、スケジューラ34はステップ
610へ進む。
【0114】ステップ612において、スケジューラ3
4は、ナウ・パラメータからフィールド92L内の現在
パラメータ(present parameter)を差し引いて経過パラ
メータを設定する。経過パラメータは、コネクションに
関する最後のVBR伝送以来の時間の長さを表す。ステ
ップ610において、スケジューラ34は、コネクショ
ン状態90のフィールド92DがVBRCモードを示す
か否か、また、CLPフィールド92Bが設定されてい
るか否か、を判定する。もしそうであれば、スケジュー
ラ34はステップ650(図15)へ進み、VBRCバ
ケットアルゴリズムに従ってコネクションをスケジュー
ルする。もしそうでなければ、スケジューラ34はステ
ップ614へ進む。
【0115】ステップ614において、遅れパラメータ
(late parameter)が、コネクションに関するコネクショ
ン状態90のデルタ1フィールド92M内に格納されて
いるデルタ1パラメータを経過パラメータから差引いた
ものに等しく設定される。ステップ614の後、スケジ
ューラ34はステップ616へ進み、コネクションに関
するフィールド92DがABRモードに設定されている
か否かを判定する。もしそうでないならば、スケジュー
ラ34はステップ618へ進む。もしそうであれば、ス
ケジューラ34はステップ624へ進む。
【0116】ステップ618において、スケジューラ3
4は、遅れパラメータがコネクションに関するコネクシ
ョン状態90のL1フィールド92I内のL1パラメー
タより大きいか否かを判定する。もしそうであれば、ス
ケジューラ34はステップ620へ進み、フィールド9
2I内のL1パラメータに等しい遅れパラメータを設定
する。もしそうでないならば、スケジューラ34はステ
ップ622へ進む。ステップ620の後、スケジューラ
34はステップ622へ進む。
【0117】ステップ624において、コネクションに
関するフィールド92H内のI1パラメータを遅れパラ
メータに加えたものが、MCRフィールド92P内のM
CR制限パラメータより大きければ、スケジューラ34
はステップ626へ進む。そうでないならば、スケジュ
ーラ34はステップ618へ進む。ステップ624にお
いて、スケジューラ34は、フィールド92O内にMC
R優先パラメータを設定する。このため、MCR優先パ
ラメータとMCR制限パラメータを介して好ましいスケ
ジューリング(scheduling)が達成される。
【0118】ステップ622において、スケジューラ3
4は、フィールド92H内のI1パラメータから遅れパ
ラメータを差引いたものに等しくフィールド92M内の
デルタ1パラメータを設定する。ステップ622の後、
スケジューラ34はステップ650(図15)へ進む。
ステップ650において、スケジューラ34は、スケジ
ュールモードフィールド62CがVBR1モードまたは
ABRモードを示すか否かを判定する。もしそうであれ
ば、スケジューラ34はステップ652へ進み、フィー
ルド92M内のデルタ1パラメータに等しくデルタパラ
メータを設定する。もしそうでないならば、スケジュー
ラ34は、遅れパラメータが経過パラメータからフィー
ルド92N内のデルタ2パラメータを差引いたものに等
しく設定されるステップ654へ進む。
【0119】ステップ654の後、スケジューラ34
は、遅れパラメータがコネクションに関するフィールド
92K内に格納されているL2パラメータに比較される
ステップ656へ進む。遅れパラメータがL2パラメー
タより大きければ、スケジューラ34は、遅れパラメー
タがフィールド92K内のL2パラメータに等しく設定
されるステップ658へ進む。ステップ656と658
の後、スケジューラ34はステップ660へ進む。
【0120】ステップ660において、スケジューラ3
4は、I2フィールド92J内のI2パラメータから遅
れパラメータを差引いたものにデルタ2フィールド92
N内のデルタ2パラメータを設定する。ステップ660
の後、スケジューラ34は、ステップ662において、
フィールド92DがVBRCモードを指示するか否か、
また、最後のCLPフィールド92Bが設定されている
か否かを判定する。もしそうであれば、スケジューラ3
4は、デルタパラメータがコネクションに関するフィー
ルド92N内のデルタ2パラメータに設定されるステッ
プ664に進む。もしそうでないならば、スケジューラ
34はステップ666へ進む。
【0121】ステップ666において、スケジューラ3
4は、フィールド92M内のデルタ1パラメータがフィ
ールド92N内のデルタ2パラメータより小さいかを判
定する。もしそうであれば、スケジューラ34はステッ
プ664へ進む。もしそうでないならば、スケジューラ
34はステップ652へ進む。
【0122】ステップ652と664の後、スケジュー
ラ34は、コネクションに関するフィールド92L内の
現在パラメータがナウ・パラメータに等しく設定される
ステップ668へ進む。
【0123】ステップ668の後、ステップ669(図
16)において、スケジューラ34は、デルタパラメー
タが1より小さいかを判定する。デルタパラメータが1
より小さければ、スケジューラ34はステップ670へ
進み、また1に等しいデルタパラメータを設定する。ス
テップ670の後、スケジューラ34はステップ672
へ進む。
【0124】デルタパラメータがステップ669におい
て1より小さくなければ、スケジューラ34はステップ
672へ進む。ステップ672において、スケジューラ
34は、現在の位置にシーリング(最高限度、ceilin
g)(デルタパラメータ)を加えたものに等しい新しい
スケジュール位置パラメータを計算する。ファンクショ
ンシーリング(function ceiling)(デルタパラメー
タ)は、デルタパラメータに等しいかそれより大きい最
小の整数である。この新しいスケジュール位置は、スロ
ット88A〜88Gのうち一つの新しいスロットを示
す。
【0125】ステップ672の後、スケジューラ34
は、ステップ674において、新しいスケジュール位置
パラメータがスケジュールテーブルサイズパラメータに
等しいかそれより大きいかを判定する。スケジュールテ
ーブルサイズパラメータは、動的スケジュールテーブル
88に関するスロット88A〜88Gの数を示す使用者
設定(user-set)パラメータである。もしそうであれ
ば、新しいスケジュール位置パラメータは動的スケジュ
ールテーブル88の1サイクル内に合わず、またスケジ
ューラ34はステップ676において新しいスケジュー
ル位置パラメータからスケジュールテーブルサイズパラ
メータを差し引く。ステップ676の後、スケジューラ
34はステップ678へ進む。
【0126】新しいスケジュール位置パラメータがスケ
ジュールテーブルサイズパラメータより小さければ、ス
ケジューラ34はステップ674からステップ678へ
進む。ステップ678においては、スケジューラ34
は、スロット88A〜88Gのうちの一つのスロットに
関する、動的スケジュールテーブル88内のエントリ9
6A〜96Dのうちの一つのスロットテイルポインタエ
ントリを選ぶ。エントリ96A〜96Dの選択されたエ
ントリの優先レベルは、フィールド92E内の優先パラ
メータに、VBR優先オフセットを加えて、フィールド
92O内のMCR優先パラメータを差引いたものに等し
い。従って、新しいスケジュール位置が処理された後に
コネクションが伝送され易いように、新しいスケジュー
ルスロットに優先度を増加できる。
【0127】ステップ678の後、スケジューラ34
は、ステップ680において、エントリ96A〜96D
のスロットテイルポインタエントリがヌルであるかを判
定する。もしそうであれば、スケジューラ34は、ステ
ップ682において、コネクションに等しくフィールド
92F内の待ち行列ポインタを設定する。ステップ68
2の後、スケジューラ34はステップ684へ進む。
【0128】選ばれたエントリ内のスロットテーブルポ
インタがヌルでないならば、スケジューラ34はステッ
プ680からステップ686へ進み、エントリ96A〜
96Dの選ばれたエントリ内のスロットテイルポインタ
によって指し示されるコネクション状態90のフィール
ド92F内の待ち行列ポインタに等しいフィールド92
F内の待ち行列ポインタを設定する。ステップ686の
後、スケジューラ34は、選ばれたエントリのスロット
テイルポインタによって指し示されるコネクションに関
するコネクション状態90のフィールド92F内の待ち
行列ポインタをコネクションに設定する。ステップ68
8の後、スケジューラ34はステップ684へ進む。ス
テップ684において、スケジューラ34は、選ばれた
エントリに関するスロットテイルポインタをコネクショ
ンに設定する。ステップ684の後、フローチャート6
00を完了する。
【0129】代替として、スケジューラ34を修正し、
固定サイズを持たないデータのパケットを扱うことがで
きる。フローチャート600において、可変サイズのデ
ータパケットを扱うために、デルタパラメータの計算は
次の式によって行うことができる。 デルタパラメータ = (Iパラメータ・次のパケットサ
イズ)− 遅れ(Late) この式は、固定パケットサイズにおいて、次のパケット
サイズパラメータが1に等しいステップ622と660
における式と同じである。
【0130】以上、与えられた詳細な図面、特定の例、
及び具体的メモリ構造には、本発明の好ましい実施例が
記述されているが、これらはすべて例示のみを目的とす
るものである。本発明の装置と方法は、開示した正確な
詳細や条件に限定されない。例えば、スケジューラはA
TMスケジューラであるが、これを他の通信システムと
ともに利用できる。また、特定のタイミングパラメータ
が記述されているが、スケジューリング回数の他の追跡
する(トラッキング、tracking)方法を利用してもよ
い。更にまた、各図面中の一本線は複数の導体を表すこ
とができる。請求項によって定義される本発明の精神か
ら逸脱することなく、開示された詳細事項に様々な変更
を行うことができる。
【図面の簡単な説明】
【図1】 図1は、本発明の典型的な実施例に従う、制
御メモリと非同期式転送モード通信システムとに結合さ
れる交信クラス・マネージャ・システムの概略ブロック
図である。
【図2】 図2は、本発明の別の典型的な実施例に従
う、図1に図示した交信クラスシステム用の優先待ち行
列の概略ブロック図である。
【図3】 図3は、図2に図示した優先待ち行列によっ
て規定されるリンクされた一対のリストの概略ブロック
図である。
【図4】 図4は、本発明の典型的な別の実施例に従
う、図1に図示した交信クラス・マネージャ・システム
とともに使用するための、制御メモリにおけるコネクシ
ョン状態データ構造の概略ブロック図である。
【図5】 図5は、本発明の更に別の実施例に従う、図
1に図示した交信クラス・マネージャ・システムととも
に使用するための、制御メモリにおける動的スケジュー
ル・テーブルの概略ブロック図である。
【図6】 図6は、本発明の更に別の実施例による、図
1に図示した交信クラス・マネージャ・システムの一般
的な動作を示す上位レベルでのフローチャートである。
【図7】 図7は、図6に図示したレート外リンク(li
nk-out of-rate)動作を示すフローチャートである。
【図8】 図8は、図6に図示したスケジュール・コネ
クション動作を示すフローチャートである。
【図9】 図9は、図6に図示したプロセス・スロット
動作を示すフローチャートである。
【図10】 図10は、図9に図示したスロット・テイ
ル待ち行列数動作を示すフローチャートである。
【図11】 図11は、図6に示すセル送り動作を示す
フローチャートである。
【図12】 図12は、図6に示すセル送り動作を示す
フローチャートである。
【図13】 図13は、図6に示すセル送り動作を示す
フローチャートである。
【図14】 図14は、図13に示したレートをスケジ
ュールする動作を示すフローチャートである。
【図15】 図15は、図13に示したレートをスケジ
ュールする動作を示すフローチャートである。
【図16】 図16は、図13に示したレートをスケジ
ュールする動作を示すフローチャートである。
【符号の説明】
20…通信システム、25…交信マネージャ・ユニッ
ト、30…ATMシステムまたはATMネットワーク3
0、32…通信ライン、34…スケジューラ、36…タ
イマ、38…グローバル優先待ち行列、40…スタート
FIFOメモリ、ス42…ケジュールFIFOメモリ、
44…利用可能ビットレート(ABR)マネージャ、4
6…セル分割ユニット46、48…制御メモリ、50…
伝送FIFOメモリ、52、54、56、58…バス、
60、62…カラム
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年12月17日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】 通信システムに結合されたスケジューラ
    とともに用いる動的スケジュールテーブルであって、該
    スケジューラは該動的スケジュールテーブルにアクセス
    し該通信システムにおいて複数のコネクションに関連付
    けられたデータの伝送をスケジュールして、 複数のスロット場所を備え、該スロット場所の各々は、
    第一の記憶場所と、複数の第二の記憶場所とを含み、該
    第一の記憶場所は交信の固定ビットレートモードを利用
    するコネクションの表示を格納し、該第二の記憶場所は
    各々、交信の可変ビットレートモードを利用するコネク
    ションの表示を格納している、動的スケジュールテーブ
    ル。
  2. 【請求項2】 該スロット場所の各々に第三の記憶場所
    を更に備え、該第三の記憶場所は交信のトンネル固定ビ
    ットレートモードのためのコネクション数を格納する、
    請求項1に記載の動的スケジュールテーブル。
  3. 【請求項3】 該第二の記憶場所は優先順序で編成され
    る、請求項1に記載の動的スケジュールテーブル。
  4. 【請求項4】 該通信システムはATMシステムであ
    る、請求項1に記載の動的スケジュールテーブル。
  5. 【請求項5】 スロット場所の数はプログラム可能であ
    る、請求項1に記載の動的スケジュールテーブル。
  6. 【請求項6】 該第二の記憶場所は、リンクされたリス
    トのためのスロットテイルポインタを格納する、請求項
    1に記載の動的スケジュールテーブル。
  7. 【請求項7】 通信システムにおいて、複数のコネクシ
    ョンに関連付けられるデータの伝送をスケジュールする
    ための、該通信システムに結合される交信マネージャシ
    ステムであって、 複数のスロット場所を含む動的スケジュールテーブル
    と、 グローバル優先待ち行列と、 スケジューラメモリと、 該動的スケジュールテーブル、該グローバル優先待ち行
    列、及び該スケジューラメモリに結合されるスケジュー
    ラと、を備え、 該スケジューラは、該動的スケジュールテーブル内のス
    ロット場所を処理し、優先順序で該グローバル優先待ち
    行列に可変ビットレートモードを利用してコネクション
    を配置して、該スケジューラは、該優先順序に従って該
    グローバル優先待ち行列からコネクションを選択し、且
    つ該通信システムにおける最終的伝送のために該スケジ
    ューラメモリに選択されたコネクションを配置する、交
    信マネージャシステム。
  8. 【請求項8】 該スケジューラは、該動的スケジュール
    テーブル内の該スロットを処理し、該通信システムにお
    ける最終的伝送のために、直接、該スケジューラメモリ
    にコネクションを配置する、請求項7の交信マネージャ
    システム。
  9. 【請求項9】 該グローバル優先待ち行列は、トンネル
    モード優先レベルを含み、該グローバル優先待ち行列は
    該トンネルモード優先レベルにおいてリンクされたリス
    トを定義し、該スケジューラは、該スロットのうちのひ
    とつにおいてトンネルエントリを処理することに応答し
    てトンネル優先レベルをアクティブに設定し、該スケジ
    ューラは、該トンネル優先レベルがアクティブである場
    合、該トンネルモード優先レベルによって定義される該
    リンクされたリストからコネクションを選択する、請求
    項7の交信マネージャシステム。
  10. 【請求項10】 該VBRコネクションが二重バケット
    アルゴリズムに従って処理される、請求項7の交信マネ
    ージャシステム。
  11. 【請求項11】 該スケジューラは、二重バケットアル
    ゴリズムに基づき、該スロットのうちの将来のスロット
    にコネクションを再スケジュールする、請求項10の交
    信マネージャシステム。
  12. 【請求項12】 該スケジューラは、リアルタイムパラ
    メータを表示するタイミングパラメータに応答して該グ
    ローバル優先待ち行列から該コネクションを選択し、そ
    れよってCBRコネクションに関する優先分離を保証す
    る、請求項7の交信マネージャシステム。
  13. 【請求項13】 スケジュールテーブルと、コネクショ
    ン状態データ構造とを含む制御メモリを備え、該スケジ
    ュールテーブルは、複数のスロットを含み、該スロット
    の各々は少なくとも一つのコネクションを格納し、該コ
    ネクションは交信の可変ビットレートモードを用い、該
    コネクション状態データ構造は、該コネクションのため
    の可変ビットレートモードパラメータを含み、 該制御メモリに結合されるスケジューラを備え、該スケ
    ジューラは、該スケジュールテーブル内の該スロットを
    処理し最終的伝送のためのコネクションを選択し、該ス
    ケジューラは、該コネクションに関するタイミングパラ
    メータと可変ビットレートモードパラメータとに応答し
    て該スロットのうちの一つの新しいスロットにコネクシ
    ョンを動的に再スケジュールする、通信システム。
  14. 【請求項14】 該スケジューラは、単一バケットアル
    ゴリズムに従って動的に再スケジュールする、請求項1
    3の通信システム。
  15. 【請求項15】 該スケジューラは、二重バケットアル
    ゴリズムに従って動的に再スケジュールする、請求項1
    3の通信システム。
  16. 【請求項16】 該可変ビットレートモードパラメータ
    は、デルタ1パラメータ、デルタ2パラメータ、L1パ
    ラメータ、L2パラメータ、I1パラメータ、I2パラ
    メータを含む、請求項15の通信システム。
  17. 【請求項17】 最終的伝送のための該選択されたコネ
    クションを優先順序で格納するための優先メモリを更に
    備え、 該可変ビットレートモードパラメータは優先パラメータ
    を含み、該コネクションは、該優先パラメータに従って
    該新しいスロットに再スケジュールされる、請求項13
    の通信システム。
  18. 【請求項18】 通信ネットワーク上における伝送のた
    めのコネクションをスケジュールする方法であって、 スケジュールテーブルにスロットをアクセスし、コネク
    ションに関連付けられたコネクション情報を検索するス
    テップと、 該コネクションが交信のCBRモードを用いる場合に、
    該コネクション情報をメモリユニットに配置するステッ
    プであって、該メモリユニットは、該コネクションに関
    連付けられたデータの最終的伝送のための該コネクショ
    ン情報を格納し、 該コネクションが交信のCBRモードを用いない場合
    に、該コネクション情報を優先待ち行列へ転送するステ
    ップであって、該優先待ち行列は、該コネクションに関
    連付けられた優先レベルにおいて該コネクション情報を
    格納し、 該優先待ち行列の利用可能な最高優先レベルからの該コ
    ネクション情報を該メモリユニットに配置するステップ
    と、を備える方法。
  19. 【請求項19】 該スケジュールテーブルの該将来のス
    ロットに該コネクション情報を格納することによって交
    信のCBRモードを該コネクションが使用しない場合該
    コネクションを再スケジュールするステップを、更に備
    える請求項18の方法。
  20. 【請求項20】 該将来のスロットは、VBRモード基
    準に従って選択される、請求項19の方法。
  21. 【請求項21】 通信システムにおいて、複数のコネク
    ションに関連付けられるデータの伝送をスケジュールす
    るための、該通信システムに結合される交信マネージャ
    システムであって、 各コネクションに関する複数のフィールドを有するコネ
    クション状態データ構造を含む制御メモリを備え、該複
    数のフィールドは、待ち行列ポインタを別のコネクショ
    ンへ格納する待ち行列ポインタフィールドを含み、 ヘッドポインタとテイルポインタとを含むグローバル待
    ち行列と、 該制御メモリと該グローバル待ち行列とに結合されるス
    ケジューラを備え、該スケジューラは、該ヘッドポイン
    タ、該テイルポインタ、及び該待ち行列ポインタを設定
    しリンクされたリストを定義して、該リンクされたリス
    トは交信の第一のモードに関しては線形であり、該リン
    クされたリストは交信の第二のモードに関しては環状で
    ある、交信マネージャシステム。
  22. 【請求項22】 該第一のモードが交信のUBRモード
    であり、該第二のモードが交信のVBRモードである、
    請求項21の交信マネージャシステム。
  23. 【請求項23】 通信システムにおいて、複数のコネク
    ションに関連付けられたデータの伝送をスケジュールす
    るための、該通信システムに結合される交信マネージャ
    システムであって、 各コネクションに関する複数のフィールドを有するコネ
    クション状態データ構造を含む制御メモリを備え、該複
    数のフィールドは、待ち行列ポインタを別のコネクショ
    ンへ格納する待ち行列ポインタフィールドと、レート外
    ポインタを格納するレート外ポインタフィールドとを含
    み、 第一の優先レベルにおいて第一のヘッドポインタと第一
    のテイルポインタを含み、且つ第二の優先レベルにおい
    て第二のヘッドポインタと第二のテイルポインタを含む
    グローバル待ち行列と、 該制御メモリと該グローバル待ち行列とに結合されるス
    ケジューラを備え、該スケジューラは、第一のヘッドポ
    インタ、第一のテイルポインタ、及び第一のテイルポイ
    ンタを設定しレート内(in-rate)スケジューリングのた
    めのリンクされた第一のリストを定義すると共に、第二
    ヘッドポインタ、第二テイルポインタ、及びレート外(o
    ut-of-rate)ポインタを設定しレート外スケジューリン
    グのためのリンクされた第二のリストを定義する、交信
    マネージャシステム。
  24. 【請求項24】 該コネクションデータ構造は、レート
    外優先パラメータを格納するためのレート外優先フィー
    ルドを含み、該スケジューラは該レート外優先パラメー
    タに応答して該第二のリンクされたリストをスケジュー
    ルする、請求項23の交信マネージャシステム。
  25. 【請求項25】 通信システムにおいて、複数のコネク
    ションに関連付けられたデータの伝送をスケジュールす
    るための、該通信システムに結合される交信マネージャ
    システムであって、 複数のVBRスロット場所を含むスケジュールテーブル
    を備え、各VBRスロット場所が単一のテイルポインタ
    を有し、 該コネクションのための複数のフィールドを有するコネ
    クション状態データ構造を備え、該複数のフィールド
    は、別のコネクションへ待ち行列ポインタを格納する待
    ち行列ポインタフィールドを含み、該待ち行列ポインタ
    と該単一のテイルポインタはリンクされたリストを定義
    し、 該スケジュールテーブルと該コネクション状態データ構
    造とに結合されるスケジューラを備え、該スケジューラ
    は、該スケジュールテーブル内の該VBRスロット場所
    を処理し該通信システムにおける最終的伝送のための該
    リンクされたリストから少なくとも一つのコネクション
    を選択し、それよって、該スケジュールテーブル内のメ
    モリ空間が該単一のテイルポインタを該待ち行列ポイン
    タと組み合わせて利用し該リンクされたリストを定義す
    ることによって節約される、交信マネージャシステム。
  26. 【請求項26】 該テイルポインタは、該リンクされた
    リストの末尾においてコネクションを指し示す、請求項
    25の交信マネージャシステム。
  27. 【請求項27】 該テイルポインタによって指し示され
    る該コネクションのための該待ち行列ポインタは、該リ
    ンクされたリストの先頭を指し示す、請求項26の交信
    マネージャシステム。
  28. 【請求項28】 通信システムにおいて、複数のコネク
    ションに関連付けられたデータの伝送をスケジュールす
    るための、該通信システムに結合される交信マネージャ
    システムであって、 該各コネクションのための複数のフィールドを有するコ
    ネクション状態データ構造を備え、該複数のフィールド
    はVBRパラメータを格納し、 複数のスロットを含む動的スケジュールテーブルを備
    え、該スロットの各々はVBRエントリを含み、 該コネクション状態データ構造と該動的スケジュールテ
    ーブルとに結合されるスケジューラを含み、該スケジュ
    ーラは該スロットを処理し、且つ該VBRパラメータに
    応答して該スロットのうちの一つの将来のスロットのV
    BRエントリにコネクション情報をロードする、交信マ
    ネージャシステム。
  29. 【請求項29】 該VBRパラメータは、最小セルレー
    ト優先パラメータと最小セルレート制限パラメータとを
    含む、請求項28の交信マネージャシステム。
  30. 【請求項30】 該VBRパラメータはセルロス優先パ
    ラメータを含み、該スケジューラは単一バケットアルゴ
    リズムに従って該コネクション情報をロードする、請求
    項28の交信マネージャシステム。
  31. 【請求項31】 該VBRパラメータはセルロス優先パ
    ラメータを含み、該スケジューラは二重バケットアルゴ
    リズムに従って該コネクション情報をロードする、請求
    項28の交信マネージャシステム。
  32. 【請求項32】 該VBRパラメータはVBRリセット
    パラメータを含み、該スケジューラはバケットアルゴリ
    ズムに従って該コネクション情報をロードする、請求項
    28の交信マネージャシステム。
  33. 【請求項33】 該スケジューラは、バケットアルゴリ
    ズムと次のパケットサイズパラメータとに従って該コネ
    クション情報をロードし、可変パケットサイズ伝送を提
    供する、請求項28の交信マネージャシステム。
  34. 【請求項34】 該コネクション状態データ構造に結合
    されるABRマネージャを更に備え、該ABRマネージ
    ャはフィードバックに応答して該VBRパラメータを修
    正することによって、コネクションに関連付けられたレ
    ートを変更する、請求項28の交信マネージャシステ
    ム。
  35. 【請求項35】 該VBRパラメータはIパラメータと
    Lパラメータであり、それよって変動が目立たない範囲
    に細かに動的レートスケジューリングが達成される、請
    求項34の交信マネージャシステム。
  36. 【請求項36】 該VBRパラメータはL1パラメータ
    とL2パラメータとを含む、請求項28の交信マネージ
    ャシステム。
  37. 【請求項37】 該コネクション情報に関連付けられた
    該コネクションが該L1パラメータと該L2パラメータ
    とまでバーストし、該コネクションが伝送されることを
    許容されない期間から回復することを許容する、請求項
    36の交信マネージャシステム。
JP33222497A 1996-12-02 1997-12-02 動的スケジュールテーブルを利用するスケジューラ Expired - Lifetime JP2983011B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/759057 1996-12-02
US08/759,057 US5889779A (en) 1996-12-02 1996-12-02 Scheduler utilizing dynamic schedule table

Publications (2)

Publication Number Publication Date
JPH10215264A true JPH10215264A (ja) 1998-08-11
JP2983011B2 JP2983011B2 (ja) 1999-11-29

Family

ID=25054244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33222497A Expired - Lifetime JP2983011B2 (ja) 1996-12-02 1997-12-02 動的スケジュールテーブルを利用するスケジューラ

Country Status (3)

Country Link
US (2) US5889779A (ja)
EP (1) EP0845890A2 (ja)
JP (1) JP2983011B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704321B1 (en) 1998-03-06 2004-03-09 Nec Corporation Traffic shaper

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797042A (en) * 1995-03-16 1998-08-18 Intel Corporation Method and apparatus for adjusting the buffering characteristic in the pipeline of a data transfer system
JP3000913B2 (ja) * 1996-02-02 2000-01-17 富士ゼロックス株式会社 デ−タ伝送装置および方法
FR2745968B1 (fr) * 1996-03-08 1998-04-03 Thomson Csf Procede d'espacement de cellules atm et dispositif pour sa mise en oeuvre
US6049526A (en) * 1996-03-27 2000-04-11 Pmc-Sierra Ltd. Enhanced integrated rate based available bit rate scheduler
JPH10262050A (ja) * 1997-03-17 1998-09-29 Fujitsu Ltd Atm交換機およびatm通信システム
JPH10262046A (ja) * 1997-03-17 1998-09-29 Fujitsu Ltd Ubrコネクションのルート決定方式
US5970049A (en) * 1997-03-27 1999-10-19 Lucent Technologies Inc. Apparatus and method for template-based scheduling processes using regularity measures
US5987031A (en) * 1997-05-22 1999-11-16 Integrated Device Technology, Inc. Method for fair dynamic scheduling of available bandwidth rate (ABR) service under asynchronous transfer mode (ATM)
US6157654A (en) * 1997-06-24 2000-12-05 Alcatel Networks Corporation Adaptive service weight assignments for ATM scheduling
US5995487A (en) * 1997-08-06 1999-11-30 Northern Telecom Limited Method and apparatus for providing subscribers with unguaranteed bandwidth connections wherein subscribers are alerted by encoded messages or a warning tone
US6421350B1 (en) * 1997-09-30 2002-07-16 Lucent Technologies Inc. Device and method for controlling the quality-of service in data networks
US6198724B1 (en) * 1997-10-02 2001-03-06 Vertex Networks, Inc. ATM cell scheduling method and apparatus
US6034960A (en) * 1997-12-04 2000-03-07 Nortel Networks Corporation ATM service scheduler using reverse-binary scattering and time-space mapping
US6167059A (en) * 1998-01-26 2000-12-26 Motorola Inc. Apparatus and method for transmitting data
JP3234892B2 (ja) * 1998-02-16 2001-12-04 エヌイーシーインフロンティア株式会社 交換機
US6791943B1 (en) * 1998-02-27 2004-09-14 Agilent Technologies, Inc. Event-based technique for determining instantaneous cell bandwidth in a digital communications network
JPH11261589A (ja) * 1998-03-13 1999-09-24 Fujitsu Ltd Atmネットワーク装置
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
US6262989B1 (en) * 1998-03-18 2001-07-17 Conexant Systems, Inc. Apparatus and method for providing different quality of service connections in a tunnel mode
US6483839B1 (en) * 1998-03-18 2002-11-19 Conexant Systems, Inc. Apparatus and method for scheduling multiple and simultaneous traffic in guaranteed frame rate in ATM communication system
EP0952752B1 (en) * 1998-03-30 2013-05-15 Alcatel Lucent ATM adaption layer traffic scheduling
CA2233491A1 (en) * 1998-03-30 1999-09-30 Newbridge Networks Corporation Atm adaption layer traffic scheduling
US6414963B1 (en) * 1998-05-29 2002-07-02 Conexant Systems, Inc. Apparatus and method for proving multiple and simultaneous quality of service connects in a tunnel mode
US6247061B1 (en) * 1998-06-09 2001-06-12 Microsoft Corporation Method and computer program product for scheduling network communication packets originating from different flows having unique service requirements
US6446122B1 (en) * 1998-06-24 2002-09-03 Cisco Technology, Inc. Method and apparatus for communicating quality of service information among computer communication devices
US6807667B1 (en) 1998-09-21 2004-10-19 Microsoft Corporation Method and system of an application program interface for abstracting network traffic control components to application programs
US6490629B1 (en) * 1998-10-13 2002-12-03 Genuity Inc. System and method for scheduling the transmission of packet objects having quality of service requirements
US6661774B1 (en) * 1999-02-16 2003-12-09 Efficient Networks, Inc. System and method for traffic shaping packet-based signals
US6621792B1 (en) * 1999-02-23 2003-09-16 Avaya Technology Corp. Computationally-efficient traffic shaper
US7031305B1 (en) * 1999-05-24 2006-04-18 Advanced Micro Devices, Inc. Apparatus and method for programmable memory access slot assignment
KR100560970B1 (ko) * 1999-07-08 2006-03-15 삼성전자주식회사 가변 비트 레이트 서비스를 위한 적응적 스케쥴링 방법
US7305475B2 (en) * 1999-10-12 2007-12-04 Webmd Health System and method for enabling a client application to operate offline from a server
US7114000B1 (en) * 1999-11-29 2006-09-26 Cisco Technology, Inc. Scheduling network traffic using multiple logical schedule tables
US6785283B1 (en) * 1999-12-30 2004-08-31 Lucent Technologies Inc. Quality of service (QOS) enforcement method
JP2001292164A (ja) * 2000-04-06 2001-10-19 Nec Corp パケット・スイッチおよびその切替方法
IL142504A0 (en) * 2000-04-16 2002-03-10 Hughes Electronics Corp An approach to minimize worst-case queueing delay for a switching communication system with transmission constraints
US7002918B1 (en) 2000-05-22 2006-02-21 Northrop Grumman Corporation Method and apparatus for real time scheduling in a satellite communications network
JP3596603B2 (ja) 2000-10-13 2004-12-02 日本電気株式会社 スケジュールシステムとそのスケジュール方法
JP3575688B2 (ja) * 2001-02-16 2004-10-13 日本電気株式会社 パケットスイッチ
US6807426B2 (en) * 2001-04-12 2004-10-19 Qualcomm Incorporated Method and apparatus for scheduling transmissions in a communication system
US8418129B1 (en) 2001-12-14 2013-04-09 Qualcomm Incorporated Method for automatically generating code to define a system of hardware elements
US7352694B1 (en) * 2001-12-14 2008-04-01 Applied Micro Circuits Corporation System and method for tolerating data link faults in a packet communications switch fabric
US7424013B1 (en) * 2001-12-20 2008-09-09 Applied Micro Circuits Corporation System and method for granting arbitrated bids in the switching of information
US7079545B1 (en) * 2001-12-17 2006-07-18 Applied Microcircuits Corporation ( Amcc) System and method for simultaneous deficit round robin prioritization
WO2003067382A2 (en) * 2002-02-04 2003-08-14 Intel Corporation Service processor having a queue operations unit and an output scheduler
US7035273B1 (en) 2002-02-06 2006-04-25 Marvell International Ltd. Quality of service queueing system for a network switch
AU2002235903A1 (en) * 2002-02-15 2003-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and node for establishing priority connections in telecommunication networks
US7209440B1 (en) 2002-05-07 2007-04-24 Marvell International Ltd. Method and apparatus for preventing blocking in a quality of service switch
US7110415B1 (en) 2002-05-17 2006-09-19 Marvell International Ltd. Apparatus and method for dynamically limiting output queue size in a quality of service network
US6822939B2 (en) * 2002-05-20 2004-11-23 Transwitch Corporation Method and apparatus for guaranteeing a minimum cell rate (MCR) for asynchronous transfer mode (ATM) traffic queues
US7659904B2 (en) * 2003-04-07 2010-02-09 Ati Technologies Ulc System and method for processing high priority data elements
US7561590B1 (en) 2003-05-05 2009-07-14 Marvell International Ltd. Network switch having virtual input queues for flow control
US7477605B2 (en) * 2003-06-30 2009-01-13 Alcatel-Lucent Usa Inc. Methods providing variable granularity for data flow control using a leaky bucket
US20050047415A1 (en) * 2003-08-28 2005-03-03 Radhakrishna Channegowda Data traffic manager and method therefor
US7433364B2 (en) * 2003-12-24 2008-10-07 Intel Corporation Method for optimizing queuing performance
US7751421B2 (en) * 2004-12-29 2010-07-06 Alcatel Lucent Traffic generator and monitor
US8141080B2 (en) * 2007-08-30 2012-03-20 International Business Machines Corporation Asynchronous data structure pull application programming interface (API) for stream systems
US8131941B2 (en) * 2007-09-21 2012-03-06 Mips Technologies, Inc. Support for multiple coherence domains
US20090089510A1 (en) * 2007-09-28 2009-04-02 Mips Technologies, Inc. Speculative read in a cache coherent microprocessor
US8392663B2 (en) * 2007-12-12 2013-03-05 Mips Technologies, Inc. Coherent instruction cache utilizing cache-op execution resources
WO2009107094A2 (en) * 2008-02-26 2009-09-03 Nxp B.V. Systems and methods for task scheduling in multi-mode software defined radio devices
US20090248988A1 (en) * 2008-03-28 2009-10-01 Mips Technologies, Inc. Mechanism for maintaining consistency of data written by io devices
US9047421B2 (en) * 2008-04-30 2015-06-02 Alcatel Lucent Serial link buffer fill-level compensation using multi-purpose start of protocol data unit timing characters
CN101621478A (zh) * 2009-08-07 2010-01-06 中兴通讯股份有限公司 队列调度的方法及装置
US8310492B2 (en) * 2009-09-03 2012-11-13 Ati Technologies Ulc Hardware-based scheduling of GPU work
WO2011127849A2 (zh) * 2011-05-16 2011-10-20 华为技术有限公司 一种数据流传送方法及网络设备
RU2014128549A (ru) * 2011-12-14 2016-02-10 ОПТИС СЕЛЛЬЮЛАР ТЕКНОЛОДЖИ, ЭлЭлСи Способ управления ресурсами буфера и телекоммуникационное оборудование
CN114627684B (zh) * 2022-01-24 2023-08-18 中国民用航空中南地区空中交通管理局海南分局 受多重流量管理策略影响下航班起飞时隙分配计算方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2655464B2 (ja) * 1992-12-25 1997-09-17 日本電気株式会社 パケット交換方式
US5390184A (en) * 1993-09-30 1995-02-14 Northern Telecom Limited Flexible scheduling mechanism for ATM switches
US5619502A (en) * 1994-09-16 1997-04-08 Intel Corporation Static and dynamic scheduling in an asynchronous transfer mode communication network
EP0702473A1 (en) * 1994-09-19 1996-03-20 International Business Machines Corporation A method and an apparatus for shaping the output traffic in a fixed length cell switching network node
US5533020A (en) * 1994-10-31 1996-07-02 International Business Machines Corporation ATM cell scheduler
US5649110A (en) * 1994-11-07 1997-07-15 Ben-Nun; Michael Traffic shaping system with virtual circuit table time stamps for asynchronous transfer mode networks
EP0748086A1 (en) * 1995-06-09 1996-12-11 Siemens Aktiengesellschaft Method for scheduling message cells leaving an ATM node
US5638371A (en) * 1995-06-27 1997-06-10 Nec Usa, Inc. Multiservices medium access control protocol for wireless ATM system
US5633870A (en) * 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
US5610921A (en) * 1995-08-31 1997-03-11 Sun Microsystems, Inc. Scalable architecture for asynchronous transfer mode segmentation and reassembly
US5684791A (en) * 1995-11-07 1997-11-04 Nec Usa, Inc. Data link control protocols for wireless ATM access channels
US5712851A (en) * 1995-12-28 1998-01-27 Lucent Technologies Inc. Adaptive time slot scheduling apparatus and method utilizing a linked list mechanism
US5841772A (en) * 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5822612A (en) * 1996-09-12 1998-10-13 Thomas; Robert E. Apparatus and method for managing schedule table pointers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704321B1 (en) 1998-03-06 2004-03-09 Nec Corporation Traffic shaper

Also Published As

Publication number Publication date
US5889779A (en) 1999-03-30
US6005866A (en) 1999-12-21
JP2983011B2 (ja) 1999-11-29
EP0845890A2 (en) 1998-06-03

Similar Documents

Publication Publication Date Title
JP2983011B2 (ja) 動的スケジュールテーブルを利用するスケジューラ
US6414963B1 (en) Apparatus and method for proving multiple and simultaneous quality of service connects in a tunnel mode
EP1064761B1 (en) Communication system and method for scheduling multiple and simultaneous connections in a communication system
EP1062780B1 (en) Apparatus and method for providing different quality of service connections in a tunnel mode
US5995511A (en) Digital network including mechanism for grouping virtual message transfer paths having similar transfer service rates to facilitate efficient scheduling of transfers thereover
EP0939573B1 (en) ATM cell transmission scheduling
US6272109B1 (en) Hierarchical schedules for different ATM traffic
US5640389A (en) Traffic shaper and packet communication apparatus
KR100222225B1 (ko) 적응 대역폭 할당 방법 및 송신 대역폭 할당을 동적으로 적응시키기 위한 시스템
JP5206714B2 (ja) 送信端末装置およびネットワークノードおよび中継スイッチ
EP1126666B1 (en) Packet flow control apparatuses and methods for controlling the same
US6442164B1 (en) Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic
EP0944976A2 (en) Distributed telecommunications switching system and method
JPH11252127A (ja) オーバースケジュール条件でのatmセル送信の公平なスケジューリング
JPH07321822A (ja) マルチキャスティング機能を備えた装置
US20050010676A1 (en) Time-based transmission queue for traffic management of asynchronous transfer mode virtual circuits on a multi-threaded, multi-processor system
US6320865B1 (en) Method and apparatus for implementing time-based data flow control and network implementation thereof
US7443793B2 (en) Processor with dynamic table-based scheduling using linked transmission elements for handling transmission request collisions
US7643413B2 (en) System and method for providing quality of service in asynchronous transfer mode cell transmission
JP3942237B2 (ja) 転送レートコントローラおよび動作方法
US6510155B1 (en) ATM layer device controlling method and ATM layer device
JPH10135957A (ja) トラヒックシェイパー装置
JPH1155276A (ja) シェーピング装置
JPH11145978A (ja) 多重化制御装置
JP2002077167A (ja) シェーピング機能を備えた通信装置及びその方法

Legal Events

Date Code Title Description
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

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

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 13