JPH11340983A - スケジュ―リング回路及び方法 - Google Patents
スケジュ―リング回路及び方法Info
- Publication number
- JPH11340983A JPH11340983A JP13048399A JP13048399A JPH11340983A JP H11340983 A JPH11340983 A JP H11340983A JP 13048399 A JP13048399 A JP 13048399A JP 13048399 A JP13048399 A JP 13048399A JP H11340983 A JPH11340983 A JP H11340983A
- Authority
- JP
- Japan
- Prior art keywords
- calendar
- scheduling
- slave
- entry
- master
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L12/5602—Bandwidth control in ATM Networks, e.g. leaky bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
(57)【要約】
【課題】 スケジューリング回路に関し、特にATMネ
ットワークユニット内で効率のよいセル転送をスケジュ
ール可能なスケジューリング回路を提供する。 【解決手段】 マスタカレンダー1は所定のマスタカレ
ンダースケジューリング範囲(SR)内で発生するイベ
ントにそれぞれ対応したエントリを保持する。スレーブ
カレンダー12は前記スケジューリング範囲外で発生す
るイベントにそれぞれ対応したエントリを保持する。イ
ベントがスケジュールされる時、カレンダ制御回路24
は現時間とそのイベントの所望のスケジューリング時間
との間隔が前記スケジューリング範囲を超える場合に、
前記スレーブカレンダー12にそれに対応したエントリ
を作成する。カレンダー制御回路24は、さらに前記ス
レーブカレンダー12のエントリをモニタし、前記エン
トリに対応するイベントが前記スケジューリング範囲内
にあるエントリをマスタカレンダ−1に転送する。
ットワークユニット内で効率のよいセル転送をスケジュ
ール可能なスケジューリング回路を提供する。 【解決手段】 マスタカレンダー1は所定のマスタカレ
ンダースケジューリング範囲(SR)内で発生するイベ
ントにそれぞれ対応したエントリを保持する。スレーブ
カレンダー12は前記スケジューリング範囲外で発生す
るイベントにそれぞれ対応したエントリを保持する。イ
ベントがスケジュールされる時、カレンダ制御回路24
は現時間とそのイベントの所望のスケジューリング時間
との間隔が前記スケジューリング範囲を超える場合に、
前記スレーブカレンダー12にそれに対応したエントリ
を作成する。カレンダー制御回路24は、さらに前記ス
レーブカレンダー12のエントリをモニタし、前記エン
トリに対応するイベントが前記スケジューリング範囲内
にあるエントリをマスタカレンダ−1に転送する。
Description
【0001】
【発明の属する技術分野】本発明はスケジューリング回
路及び使用方法に関し、例えば、非同期転送モード(A
TM)通信ネトワークにおけるセル伝送動作のスケジュ
ーリングに関するものである。
路及び使用方法に関し、例えば、非同期転送モード(A
TM)通信ネトワークにおけるセル伝送動作のスケジュ
ーリングに関するものである。
【0002】
【従来の技術】ATM通信ネットワークにおいては、ユ
ーザデータや制御情報を異なるネットワークユニット間
で伝送するために、複数の“仮想チャネル(VC)”が
使われる。そのようなユーザデータ及び制御情報はAT
Mセル形式で転送され、各セルはセル制御及びアドレス
情報を含むヘッダ部と、ユーザデータや他の制御情報を
含むペイロード部とからなる。
ーザデータや制御情報を異なるネットワークユニット間
で伝送するために、複数の“仮想チャネル(VC)”が
使われる。そのようなユーザデータ及び制御情報はAT
Mセル形式で転送され、各セルはセル制御及びアドレス
情報を含むヘッダ部と、ユーザデータや他の制御情報を
含むペイロード部とからなる。
【0003】所定のネットワークユニットは、それを1
つ又はより多くのネットワークユニットに接続する複数
の仮想チャネルを有する。従って、各ネットワークユニ
ットにはトラフィックマネジャが必要となり、それが関
連する異なった仮想チャネルへ与えられるセルの生成時
間を管理する。
つ又はより多くのネットワークユニットに接続する複数
の仮想チャネルを有する。従って、各ネットワークユニ
ットにはトラフィックマネジャが必要となり、それが関
連する異なった仮想チャネルへ与えられるセルの生成時
間を管理する。
【0004】トラフィックマネジャのタスクは、異なる
形式のトラッフィクを伝送するのに異なる仮想チャネル
が使用され、それには異なる優先度を有するトラフィッ
ク形式が含まれるため複雑である。例えば、次のトラフ
ィック形式がATMネットワークにおいて使用される。
形式のトラッフィクを伝送するのに異なる仮想チャネル
が使用され、それには異なる優先度を有するトラフィッ
ク形式が含まれるため複雑である。例えば、次のトラフ
ィック形式がATMネットワークにおいて使用される。
【0005】i )固定ビット速度(CBR)トラッフィ
ク。これは、典型的には、ビデオ信号のような高優先度
データに使用される。 ii)可変ビット速度(VBR)トラッフィック。この形
式のトラフィックもまた、比較的高い優先度を有する
(しかしながら、CBRトラッフィクよりは低い)。幾
つかの遅延許容度が利用可能なところ、例えば圧縮ビデ
オ(モーション・ピクチャ・エキスパート・グループ
MPEG2)トラフィックや音声トラフィック、で使わ
れる。
ク。これは、典型的には、ビデオ信号のような高優先度
データに使用される。 ii)可変ビット速度(VBR)トラッフィック。この形
式のトラフィックもまた、比較的高い優先度を有する
(しかしながら、CBRトラッフィクよりは低い)。幾
つかの遅延許容度が利用可能なところ、例えば圧縮ビデ
オ(モーション・ピクチャ・エキスパート・グループ
MPEG2)トラフィックや音声トラフィック、で使わ
れる。
【0006】iii )利用可能ビット速度(ABR)トラ
フィック。ABRトラフィックを転送するため使用する
仮想チャネルは、そのチャネルユーザとネットワークオ
ペレータの間で合意したトラフィックパラメータを有す
る。合意したパラメータにより課せられる制限の範囲内
において、ABRチャネルはネットワークの空き容量を
利用するためその伝送速度を可変とすることが許され
る。ABRトラフィックは低い優先度を有する(CBR
及びVBRトラフィックよりも低い)。ABRチャネル
は、例えばファイルやデータの伝送に使用される。 iv)未定義ビット速度(UBR)トラフィック。例え
ば、Eメールや幾つかのファイル及びデータ伝送等で使
用される。
フィック。ABRトラフィックを転送するため使用する
仮想チャネルは、そのチャネルユーザとネットワークオ
ペレータの間で合意したトラフィックパラメータを有す
る。合意したパラメータにより課せられる制限の範囲内
において、ABRチャネルはネットワークの空き容量を
利用するためその伝送速度を可変とすることが許され
る。ABRトラフィックは低い優先度を有する(CBR
及びVBRトラフィックよりも低い)。ABRチャネル
は、例えばファイルやデータの伝送に使用される。 iv)未定義ビット速度(UBR)トラフィック。例え
ば、Eメールや幾つかのファイル及びデータ伝送等で使
用される。
【0007】図1は、ATMネットワークユニットから
のセルの伝送時間を管理するために先に提案された“カ
レンダー(calendar) ”スケジューリング方法を説明す
るためのものである。図1において、カレンダー1は各
々一連のタイムスロットに対応する記憶ロケーション2
のリストから成る。各タイムスロットの所要時間は、A
TMネットワークの最大要求データ速度で1つのATM
セルを転送するのに要する時間に等しい。
のセルの伝送時間を管理するために先に提案された“カ
レンダー(calendar) ”スケジューリング方法を説明す
るためのものである。図1において、カレンダー1は各
々一連のタイムスロットに対応する記憶ロケーション2
のリストから成る。各タイムスロットの所要時間は、A
TMネットワークの最大要求データ速度で1つのATM
セルを転送するのに要する時間に等しい。
【0008】各記憶ロケーション2は1つ以上のエント
リを記憶することが可能であり、各エントリは特定の仮
想チャネルがその記憶ロケーションの対応するタイムス
ロットのトラフィックマネジャによって提供されるべき
ことを指示する。例えば、カレンダー1の記憶ロケーシ
ョン2A は、仮想チャネルVCW が記憶ロケーション2
A と対応するタイムスロットのトラフィックマネジャに
よって提供されるべきことを示す1つのエントリを有す
る。
リを記憶することが可能であり、各エントリは特定の仮
想チャネルがその記憶ロケーションの対応するタイムス
ロットのトラフィックマネジャによって提供されるべき
ことを指示する。例えば、カレンダー1の記憶ロケーシ
ョン2A は、仮想チャネルVCW が記憶ロケーション2
A と対応するタイムスロットのトラフィックマネジャに
よって提供されるべきことを示す1つのエントリを有す
る。
【0009】1つ以上のVCを同じ記憶ロケーションに
入力(enter) することが可能である。例えば、カレンダ
ー1の記憶ロケーション2B はその中に入力された3つ
の仮想チャネルVCx 、VCy 及びVCz を有し、これ
らの各チャネルが記憶ロケーション2B に対応するタイ
ムスロットで提供されるべきことを指示する。記憶ロケ
ーション2B の3つのエントリはリンクリスト形式で作
成され、タイムスロット当たり大容量のメモリをリザー
ブすることを回避し、特定の記憶ロケーションに入力可
能なVC最大可能数を収容する。
入力(enter) することが可能である。例えば、カレンダ
ー1の記憶ロケーション2B はその中に入力された3つ
の仮想チャネルVCx 、VCy 及びVCz を有し、これ
らの各チャネルが記憶ロケーション2B に対応するタイ
ムスロットで提供されるべきことを指示する。記憶ロケ
ーション2B の3つのエントリはリンクリスト形式で作
成され、タイムスロット当たり大容量のメモリをリザー
ブすることを回避し、特定の記憶ロケーションに入力可
能なVC最大可能数を収容する。
【0010】トラフィックマネジャは、カレンダー1を
処理するのに2つのポインタ3及び4を使用する。第1
のポインタ3はカレントタイムポインタ(T)であり、
実時間を表す。カレントタイムポインタTは、各セル間
隔の後、常にインクリメントされる。第2のポインタ4
はアクティビティポインタ(A)であり、Tポインタ3
を追い越すことなく、それに常に追いつこうとする。
処理するのに2つのポインタ3及び4を使用する。第1
のポインタ3はカレントタイムポインタ(T)であり、
実時間を表す。カレントタイムポインタTは、各セル間
隔の後、常にインクリメントされる。第2のポインタ4
はアクティビティポインタ(A)であり、Tポインタ3
を追い越すことなく、それに常に追いつこうとする。
【0011】カレンダー1の各記憶ロケーションでは、
VCが存在しなければAポインタが次の記憶ロケーショ
ンへ単にインクリメントされる。この場合、Aポインタ
はTポインタにキャチアップしようとする。一方、もし
一つ以上のVCがAポインタが示す記憶ロケーションに
存在する場合、全てのVCが処理されるまでこのポイン
タはインクリメントされない(この場合、全てのVCを
処理するのに必要な時間中、Tポインタは一回以上イン
クリメントされ、その結果AポインタはTポインタより
かなり遅れることになる)。
VCが存在しなければAポインタが次の記憶ロケーショ
ンへ単にインクリメントされる。この場合、Aポインタ
はTポインタにキャチアップしようとする。一方、もし
一つ以上のVCがAポインタが示す記憶ロケーションに
存在する場合、全てのVCが処理されるまでこのポイン
タはインクリメントされない(この場合、全てのVCを
処理するのに必要な時間中、Tポインタは一回以上イン
クリメントされ、その結果AポインタはTポインタより
かなり遅れることになる)。
【0012】トラフィックマネジャはカレンダー内のエ
ントリに次のサービスを行う。第1に、エントリにおい
て指定されたVCのセルが転送される。第2に、もし必
要なら、このチャネルの新たなインターセル (inter-ce
ll) 間隔が計算される(CBRチャネルは常に同じイン
ターセル間隔を有するが、VBR、ABR及びUBRに
ついてはセル間隔はチャネルの使用によって変化する。
そのため、時々計算し直す必要がある)。指定されたV
Cの次のセル伝送は、カレンダー1の異なる記憶ロケー
ション2内のVCに新たなエントリを作成することによ
って再スケジューリングされる。
ントリに次のサービスを行う。第1に、エントリにおい
て指定されたVCのセルが転送される。第2に、もし必
要なら、このチャネルの新たなインターセル (inter-ce
ll) 間隔が計算される(CBRチャネルは常に同じイン
ターセル間隔を有するが、VBR、ABR及びUBRに
ついてはセル間隔はチャネルの使用によって変化する。
そのため、時々計算し直す必要がある)。指定されたV
Cの次のセル伝送は、カレンダー1の異なる記憶ロケー
ション2内のVCに新たなエントリを作成することによ
って再スケジューリングされる。
【0013】例えば、もしVCx が、関連するATMネ
ットワークユニットからの利用可能な伝送容量の33%
を有するならば、ロケーション2B でサービスされる時
に、カレントタイムポインタTから3セルタイムスロッ
ト前方の記憶ロケーション2 C で再スケージュリングさ
れることになる。
ットワークユニットからの利用可能な伝送容量の33%
を有するならば、ロケーション2B でサービスされる時
に、カレントタイムポインタTから3セルタイムスロッ
ト前方の記憶ロケーション2 C で再スケージュリングさ
れることになる。
【0014】ところで、本例において、現時間で記憶ロ
ケーション2B を示しているAポインタはTポインタの
5つ後方の記憶ロケーションであることが分かる。2つ
のポインタ間の記憶ロケーションに空きがあるため、A
ポインタはTポインタに対して追いつくことも可能であ
る。しかしながら、A及びTポインタ間でサービスを行
うには3つの仮想チャネルVCy 、VCz 、及びVCw
が存在する。このことは、実際にVCx が次の処理に再
び遭遇する前に3セル期間以上あることを意味する。
ケーション2B を示しているAポインタはTポインタの
5つ後方の記憶ロケーションであることが分かる。2つ
のポインタ間の記憶ロケーションに空きがあるため、A
ポインタはTポインタに対して追いつくことも可能であ
る。しかしながら、A及びTポインタ間でサービスを行
うには3つの仮想チャネルVCy 、VCz 、及びVCw
が存在する。このことは、実際にVCx が次の処理に再
び遭遇する前に3セル期間以上あることを意味する。
【0015】
【発明が解決しようとする課題】図1に示したカレンダ
ースケージューリング方法の1つの問題は、大きく異な
る伝送速度を有するチャネル同士が協働可能なことを要
求される点である。最大データ速度155MbpsのA
TMネットワークにおける各セル期間は2.726μs
である。しかしながら、ある形式のVCは非常に遅いセ
ル速度を有する。例えば、ABRチャネルは制御のため
にリソース管理(RM)セルを使用するが、そのような
RMセルのセル速度は1秒当たり10セル程度である。
このことは、図1のカレンダー1が35000エントリ
(すなわち、35000×2.726μs=0.1s)
を備えることを要求する。これでは、カレンダー1が各
タイムスロットのための記憶ロケーション2を必要とす
ることから、非実用的である。
ースケージューリング方法の1つの問題は、大きく異な
る伝送速度を有するチャネル同士が協働可能なことを要
求される点である。最大データ速度155MbpsのA
TMネットワークにおける各セル期間は2.726μs
である。しかしながら、ある形式のVCは非常に遅いセ
ル速度を有する。例えば、ABRチャネルは制御のため
にリソース管理(RM)セルを使用するが、そのような
RMセルのセル速度は1秒当たり10セル程度である。
このことは、図1のカレンダー1が35000エントリ
(すなわち、35000×2.726μs=0.1s)
を備えることを要求する。これでは、カレンダー1が各
タイムスロットのための記憶ロケーション2を必要とす
ることから、非実用的である。
【0016】この問題に対する1つの解決策は、先に提
案されており、各VCにカウンタを持たせることであ
る。このカウンタはある正の値に初期設定され、トラフ
ィックマネジャによる各VCエントリの検査時、カレン
ダーに関する各パス上でデクリメントされる。VCはそ
のカウンタがゼロになった時だけサービスされる(すな
わち、1つのセルが転送され、次のセル転送がスケジュ
ールされる)。このように、VC当たり6ビットのカウ
ンタを使用して、カレンダーのサイズを(例えば)10
00記憶ロケーションに低減可能である。セル速度が3
70セル/秒(155Mbpsで2. 7マイクロ秒のイ
ンターセル期間)より大きなVCは、常にカレンダーで
“ヒット (hit)”する。すなわち、各VCのカウンタは
永久にゼロである。
案されており、各VCにカウンタを持たせることであ
る。このカウンタはある正の値に初期設定され、トラフ
ィックマネジャによる各VCエントリの検査時、カレン
ダーに関する各パス上でデクリメントされる。VCはそ
のカウンタがゼロになった時だけサービスされる(すな
わち、1つのセルが転送され、次のセル転送がスケジュ
ールされる)。このように、VC当たり6ビットのカウ
ンタを使用して、カレンダーのサイズを(例えば)10
00記憶ロケーションに低減可能である。セル速度が3
70セル/秒(155Mbpsで2. 7マイクロ秒のイ
ンターセル期間)より大きなVCは、常にカレンダーで
“ヒット (hit)”する。すなわち、各VCのカウンタは
永久にゼロである。
【0017】上述した解決策は、部分的にはカレンダー
サイズを低減するのに有効である。しかしながら、たと
え特定のVCはカレンダーを通した各パス (pass) 上で
遭遇しても、各遭遇に関してサービスされることを必ず
しも意味しない点でトラフィックマネジャのリソースを
浪費する。従って、しばしばエントリはカレンダーのこ
の特定パス上でのサービスを要求しないトラフィックマ
ネジャによって読み出される。
サイズを低減するのに有効である。しかしながら、たと
え特定のVCはカレンダーを通した各パス (pass) 上で
遭遇しても、各遭遇に関してサービスされることを必ず
しも意味しない点でトラフィックマネジャのリソースを
浪費する。従って、しばしばエントリはカレンダーのこ
の特定パス上でのサービスを要求しないトラフィックマ
ネジャによって読み出される。
【0018】別の欠点は、フォワードポインタと同様
に、カレンダーの各エントリに必要な(リンクリストの
先のエントリへの)バックワードポインタを備えること
と関連する。なぜなら、各VCはそれ自身のカウンタを
持ち、リンクリストは初めから最後へと処理され、各カ
ウンタがゼロのVCはもはや必要とされないからであ
る。カウンタが非ゼロであるリンクリストの残りのVC
は、次のカレンダーパスのリンクリストのため保持して
おく必要がある。カウンタがゼロになったVCを他のV
C(非ゼロカウンタ)を保持しながらリンクリストから
削除可能とするには、削除されるVCのバックワードポ
インタを使用してリンクリストにおける直前のVCを識
別し、それによってその直前のVCのフォワードポイン
タが、削除されるVCのフォワードポインタと等しくな
るようにすることが必要である。その結果、削除される
VCに関するリンクリストは再構築される。VC毎のバ
ックワードポインタを提供する必要から、リンクリスト
の処理が複雑となり、トラフィックマネジャがたくわえ
なければならない情報量が大きく増大する。
に、カレンダーの各エントリに必要な(リンクリストの
先のエントリへの)バックワードポインタを備えること
と関連する。なぜなら、各VCはそれ自身のカウンタを
持ち、リンクリストは初めから最後へと処理され、各カ
ウンタがゼロのVCはもはや必要とされないからであ
る。カウンタが非ゼロであるリンクリストの残りのVC
は、次のカレンダーパスのリンクリストのため保持して
おく必要がある。カウンタがゼロになったVCを他のV
C(非ゼロカウンタ)を保持しながらリンクリストから
削除可能とするには、削除されるVCのバックワードポ
インタを使用してリンクリストにおける直前のVCを識
別し、それによってその直前のVCのフォワードポイン
タが、削除されるVCのフォワードポインタと等しくな
るようにすることが必要である。その結果、削除される
VCに関するリンクリストは再構築される。VC毎のバ
ックワードポインタを提供する必要から、リンクリスト
の処理が複雑となり、トラフィックマネジャがたくわえ
なければならない情報量が大きく増大する。
【0019】そこで本発明の目的は、上記種々の問題に
鑑み、特別な処理パワー及び/又は記憶容量を必要とせ
ず、異種速度のVCを効果的に制御可能な、改良したト
ラフィックマネジャ及び改良したトラフィック管理方法
を提供することにある。
鑑み、特別な処理パワー及び/又は記憶容量を必要とせ
ず、異種速度のVCを効果的に制御可能な、改良したト
ラフィックマネジャ及び改良したトラフィック管理方法
を提供することにある。
【0020】
【課題を解決するための手段】本発明の第1の態様によ
れば、所定のイベントをスケジュールするためのスケジ
ューリング回路は、所定のマスタカレンダースケジュー
リング範囲内で発生するイベントにそれぞれ対応したエ
ントリを保持するマスタカレンダー手段と、このスケジ
ューリング範囲外で発生するイベントにそれぞれ対応し
たエントリを保持するスレーブカレンダー手段と、イベ
ントがスケジュールされる時、現時間とそのイベントの
所望のスケジューリング時間との間隔がスケジューリン
グ範囲を超える場合に、スレーブカレンダー手段にそれ
に対応したエントリを作成するカレンダ制御手段とを有
し、カレンダー制御手段は、さらにスレーブカレンダー
手段のエントリをモニタし、エントリに対応するイベン
トがスケジューリング範囲内にあるエントリをマスタカ
レンダ−手段に転送することを特徴とするスケジューリ
ング回路が提供される。
れば、所定のイベントをスケジュールするためのスケジ
ューリング回路は、所定のマスタカレンダースケジュー
リング範囲内で発生するイベントにそれぞれ対応したエ
ントリを保持するマスタカレンダー手段と、このスケジ
ューリング範囲外で発生するイベントにそれぞれ対応し
たエントリを保持するスレーブカレンダー手段と、イベ
ントがスケジュールされる時、現時間とそのイベントの
所望のスケジューリング時間との間隔がスケジューリン
グ範囲を超える場合に、スレーブカレンダー手段にそれ
に対応したエントリを作成するカレンダ制御手段とを有
し、カレンダー制御手段は、さらにスレーブカレンダー
手段のエントリをモニタし、エントリに対応するイベン
トがスケジューリング範囲内にあるエントリをマスタカ
レンダ−手段に転送することを特徴とするスケジューリ
ング回路が提供される。
【0021】また本発明の第2の態様によれば、所定の
イベントをスケジュールするスケジューリング方法は、
イベントがスケジュールされる時、現時間とそのイベン
トの所望のスケジューリング時間との間隔が所定のマス
タカレンダースケジューリング範囲内の場合に、それに
対応したエントリがマスタカレンダー手段に作成される
こと、もしその間隔が所定のマスタカレンダースケジュ
ーリング範囲外の場合にはイベントに対応するエントリ
がマスタカレンダー手段とは独立にスレーブカレンダー
手段に作成されること、スレーブカレンダー手段におけ
るエントリはモニタされること、その対応するイベント
がマスタカレンダースケジューリング範囲内となったエ
ントリはマスタカレンダー手段へ転送されること、から
成るスケジューリング方法が提供される。
イベントをスケジュールするスケジューリング方法は、
イベントがスケジュールされる時、現時間とそのイベン
トの所望のスケジューリング時間との間隔が所定のマス
タカレンダースケジューリング範囲内の場合に、それに
対応したエントリがマスタカレンダー手段に作成される
こと、もしその間隔が所定のマスタカレンダースケジュ
ーリング範囲外の場合にはイベントに対応するエントリ
がマスタカレンダー手段とは独立にスレーブカレンダー
手段に作成されること、スレーブカレンダー手段におけ
るエントリはモニタされること、その対応するイベント
がマスタカレンダースケジューリング範囲内となったエ
ントリはマスタカレンダー手段へ転送されること、から
成るスケジューリング方法が提供される。
【0022】
【発明の実施の形態】図2は、本発明を実施したスケジ
ューリング回路部分を示したものであり、その原理を説
明するためのものである。図1を参照して述べたこれま
でのスケジューリング回路に対し、図2のスケジューリ
ング回路は、それぞれ一連のタイムスロットに対応した
複数の記憶ロケーション2から成るマスタカレンダー1
を有する。各記憶ロケーション2は、1つ以上のエント
リを持つことが可能で、各エントリはその記憶ロケーシ
ョンに対応したタイムスロットでサービスされる仮想チ
ャネル(VC)を規定する。図1の回路のように、マス
タカレンダー1は、各セル期間でインクリメントされる
カレントタイムポインタ(T)3と、現在サービスされ
ている記憶ロケーション2(又は、それとは別に、サー
ビスされる次の記憶ロケーション)を規定するカレント
アクティビティポインタ(A)4とを有する。Aポイン
タは、常時Tポインタに追いつこうとする。特定の記憶
ロケーションにエントリが無い時には追いつく機会が生
じるが、1つ以上のVCが記憶ロケーション2に入力さ
れるとTポインタの後方に遅れる。
ューリング回路部分を示したものであり、その原理を説
明するためのものである。図1を参照して述べたこれま
でのスケジューリング回路に対し、図2のスケジューリ
ング回路は、それぞれ一連のタイムスロットに対応した
複数の記憶ロケーション2から成るマスタカレンダー1
を有する。各記憶ロケーション2は、1つ以上のエント
リを持つことが可能で、各エントリはその記憶ロケーシ
ョンに対応したタイムスロットでサービスされる仮想チ
ャネル(VC)を規定する。図1の回路のように、マス
タカレンダー1は、各セル期間でインクリメントされる
カレントタイムポインタ(T)3と、現在サービスされ
ている記憶ロケーション2(又は、それとは別に、サー
ビスされる次の記憶ロケーション)を規定するカレント
アクティビティポインタ(A)4とを有する。Aポイン
タは、常時Tポインタに追いつこうとする。特定の記憶
ロケーションにエントリが無い時には追いつく機会が生
じるが、1つ以上のVCが記憶ロケーション2に入力さ
れるとTポインタの後方に遅れる。
【0023】図2に示すスケジューリング回路では、
“スレーブ”と呼ばれるカレンダー6が与えられ、この
点で図1のスケジューリング回路と異なる。このスレー
ブカレンダー6は、複数の記憶ロケーション7と、現在
サービス中のスレーブカレンダー6の記憶ロケーション
7の1つを示すスレーブポインタ(S)8とを有する。
マスタ及びスレーブカレンダー及び関連するA、T及び
Sポインタはカレンダー制御回路9によって制御され
る。
“スレーブ”と呼ばれるカレンダー6が与えられ、この
点で図1のスケジューリング回路と異なる。このスレー
ブカレンダー6は、複数の記憶ロケーション7と、現在
サービス中のスレーブカレンダー6の記憶ロケーション
7の1つを示すスレーブポインタ(S)8とを有する。
マスタ及びスレーブカレンダー及び関連するA、T及び
Sポインタはカレンダー制御回路9によって制御され
る。
【0024】図2のスケジューリング回路は、以下のよ
うに動作する。マスタカレンダー1の記憶ロケーション
2は、現在サービス中の記憶ロケーションを識別するた
め、Aポインタ4を使いカレンダー制御回路9によって
順次サービスされる。従来と同様に、Aポインタによっ
て指示される記憶ロケーションの各エントリがサービス
されると、第1にそのエントリで指定されるVCのセル
が転送される。第2に、既存の技術を使って、指定され
たVCの次のセルが転送されるべき時間(以降では、
“次のスケジュール時間”又はNSTという)が計算さ
れる。そして、図1の回路とは異なる再スケジューリン
グ動作が実行される。この異なる再スケジューリング動
作において、カレンダー制御回路は指定のVCのNST
を調べ、マスタカレンダーのスケジューリング範囲SR
内か否かを判断する。本明細書において以降で詳細に説
明するように、このスケジューリング範囲SRは記憶ロ
ケーションの現在の数未満でマスタカレンダーの記憶ロ
ケーション2の数に比例し、Tポインタがその記憶ロケ
ーション数を縦断するのにかかる時間を表す。
うに動作する。マスタカレンダー1の記憶ロケーション
2は、現在サービス中の記憶ロケーションを識別するた
め、Aポインタ4を使いカレンダー制御回路9によって
順次サービスされる。従来と同様に、Aポインタによっ
て指示される記憶ロケーションの各エントリがサービス
されると、第1にそのエントリで指定されるVCのセル
が転送される。第2に、既存の技術を使って、指定され
たVCの次のセルが転送されるべき時間(以降では、
“次のスケジュール時間”又はNSTという)が計算さ
れる。そして、図1の回路とは異なる再スケジューリン
グ動作が実行される。この異なる再スケジューリング動
作において、カレンダー制御回路は指定のVCのNST
を調べ、マスタカレンダーのスケジューリング範囲SR
内か否かを判断する。本明細書において以降で詳細に説
明するように、このスケジューリング範囲SRは記憶ロ
ケーションの現在の数未満でマスタカレンダーの記憶ロ
ケーション2の数に比例し、Tポインタがその記憶ロケ
ーション数を縦断するのにかかる時間を表す。
【0025】もし、NSTがマスタカレンダー1のスケ
ジューリング範囲SR内ならば、図1のスケジューリン
グ回路のように、指定されたVCのための新たなエント
リがマスタカレンダーの適当な1つの記憶ロケーション
に作成される。一方、もしNSTがマスタカレンダー1
のスケジューリング範囲SR外ならば、指定されたVC
はマスタカレンダー1に入力されない。その代わり、ス
レーブカレンダー6の記憶ロケーション7の1つに入力
され、その記憶ロケーションはまた指定されたVCのN
STを記憶するのに使われる。
ジューリング範囲SR内ならば、図1のスケジューリン
グ回路のように、指定されたVCのための新たなエント
リがマスタカレンダーの適当な1つの記憶ロケーション
に作成される。一方、もしNSTがマスタカレンダー1
のスケジューリング範囲SR外ならば、指定されたVC
はマスタカレンダー1に入力されない。その代わり、ス
レーブカレンダー6の記憶ロケーション7の1つに入力
され、その記憶ロケーションはまた指定されたVCのN
STを記憶するのに使われる。
【0026】カレンダ制御回路9は、スレーブポインタ
Sを使ってスレーブカレンダー6の記憶ロケーション7
を連続的に巡回し、現在処理されている記憶ロケーショ
ンを識別する。次に、スレーブカレンダー記憶ロケーシ
ョン7が特定のVCに対応するアクティブ(又は“ビジ
ー”)エントリを含むことを検出すると、そのVCに記
憶したNSTを調べる。NSTはマスタカレンダーのカ
レントタイムポインタTと比較される。もし、NSTと
現時間(Tポインタ)の間の時間間隔がマスタカレンダ
ーのスケジューリング範囲SRより小さい場合、スレー
ブカレンダー記憶ロケーション7で指定されるVCはマ
スタカレンダーへ転送される。すなわち、そのVCに対
応する新たなエントリがマスタカレンダー記憶ロケーシ
ョン2の適当な1つに作成される。
Sを使ってスレーブカレンダー6の記憶ロケーション7
を連続的に巡回し、現在処理されている記憶ロケーショ
ンを識別する。次に、スレーブカレンダー記憶ロケーシ
ョン7が特定のVCに対応するアクティブ(又は“ビジ
ー”)エントリを含むことを検出すると、そのVCに記
憶したNSTを調べる。NSTはマスタカレンダーのカ
レントタイムポインタTと比較される。もし、NSTと
現時間(Tポインタ)の間の時間間隔がマスタカレンダ
ーのスケジューリング範囲SRより小さい場合、スレー
ブカレンダー記憶ロケーション7で指定されるVCはマ
スタカレンダーへ転送される。すなわち、そのVCに対
応する新たなエントリがマスタカレンダー記憶ロケーシ
ョン2の適当な1つに作成される。
【0027】もし、調べたスレーブカレンダー記憶ロケ
ーション7の記憶したNSTと現時間との間の時間間隔
がマスタカレンダーのスケジューリング範囲SRより大
きければ、スレーブカレンダーの記憶ロケーションは変
更されず、スレーブポインタSのスレーブカレンダー記
憶ロケーションによる次のパス完了が保留される。な
お、スレーブカレンダーからマスタカレンダーへの不要
なVC転送を確実に防止するためには、スレーブポイン
タSがスレーブカレンダー6の1つのパスを完了するの
にかかる時間をマスタカレンダーのスケジューリング範
囲SRより小さいか又は等しくする必要がある。
ーション7の記憶したNSTと現時間との間の時間間隔
がマスタカレンダーのスケジューリング範囲SRより大
きければ、スレーブカレンダーの記憶ロケーションは変
更されず、スレーブポインタSのスレーブカレンダー記
憶ロケーションによる次のパス完了が保留される。な
お、スレーブカレンダーからマスタカレンダーへの不要
なVC転送を確実に防止するためには、スレーブポイン
タSがスレーブカレンダー6の1つのパスを完了するの
にかかる時間をマスタカレンダーのスケジューリング範
囲SRより小さいか又は等しくする必要がある。
【0028】図2のスケジューリング回路において、マ
スタカレンダーのサイズは図1のスケジューリング回路
のカレンダー1よりもかなり小さくできる。例えば、マ
スタカレンダー1のサイズは設定済みの全VC数(いか
なる所定時間においても、設定チャネルの全てがアクテ
ィブというわけではない)と単純に等しくすることが可
能である。例えば、30のそのような設定チャネルが存
在する場合、マスタカレンダーのサイズは図1の回路の
カレンダー1と比べて顕著に減少できる。図1の回路の
カレンダー1では、さらにVCあたりカウンタを伴い、
典型的には1000個の記憶ロケーションを有する。実
際、異なるアプリケーションには設定すべき異なる数の
VCが必要である。例えば、いくつかのアプリケーショ
ンでは1000、4000又は64000個のVCが存
在し得る。スレーブカレンダー6については、いかなる
時でも存在する設定VCと同数の多くの記憶ロケーショ
ン7が必要となる。無論、再スケジューリングにおいス
レーブカレンダーへ転送されることのない非常に高い伝
送速度のVCが存在する。この場合には、スレーブカレ
ンダーにおける記憶ロケーション7の数を全てのアクテ
ィブなVCの数以上にまで減少させることが可能であ
る。
スタカレンダーのサイズは図1のスケジューリング回路
のカレンダー1よりもかなり小さくできる。例えば、マ
スタカレンダー1のサイズは設定済みの全VC数(いか
なる所定時間においても、設定チャネルの全てがアクテ
ィブというわけではない)と単純に等しくすることが可
能である。例えば、30のそのような設定チャネルが存
在する場合、マスタカレンダーのサイズは図1の回路の
カレンダー1と比べて顕著に減少できる。図1の回路の
カレンダー1では、さらにVCあたりカウンタを伴い、
典型的には1000個の記憶ロケーションを有する。実
際、異なるアプリケーションには設定すべき異なる数の
VCが必要である。例えば、いくつかのアプリケーショ
ンでは1000、4000又は64000個のVCが存
在し得る。スレーブカレンダー6については、いかなる
時でも存在する設定VCと同数の多くの記憶ロケーショ
ン7が必要となる。無論、再スケジューリングにおいス
レーブカレンダーへ転送されることのない非常に高い伝
送速度のVCが存在する。この場合には、スレーブカレ
ンダーにおける記憶ロケーション7の数を全てのアクテ
ィブなVCの数以上にまで減少させることが可能であ
る。
【0029】また、図2のスケジューリング回路は、先
に述べた各VCにそれ自身のカウンタを持たせることに
関する欠点を解消するのに有効である。第1に、VCが
マスタカレンダーに入力される時はいつも次にサービス
される必要があることから、マスタカレンダーの全ての
エントリで“ヒット”が保証される。第2に、マスタカ
レンダー1の同じ記憶ロケーション内に複数のエントリ
がリンクリストを使って作成される場合、各エントリに
図1のカウンタベースの手法で用いる種類のバックワー
ドポインタを与える必要がない。なぜなら、その特定の
マスタカレンダー記憶ロケーション2がサービスされる
時に各リンクリストは一回だけ使用されるからである。
サービスの後、そのリンクリストに属する各エントリは
マスタカレンダーの異なる記憶ロケーションか又はスレ
ーブカレンダー6の適当な記憶ロケーションのいずれか
に再スケジュールされる(より多くのデータが送信可能
なように与えられる)。削除されたエントリに関するリ
ンクリストは再構築の必要がない。このことは、リンク
リストの操作を非常に簡潔且つ高速にする。
に述べた各VCにそれ自身のカウンタを持たせることに
関する欠点を解消するのに有効である。第1に、VCが
マスタカレンダーに入力される時はいつも次にサービス
される必要があることから、マスタカレンダーの全ての
エントリで“ヒット”が保証される。第2に、マスタカ
レンダー1の同じ記憶ロケーション内に複数のエントリ
がリンクリストを使って作成される場合、各エントリに
図1のカウンタベースの手法で用いる種類のバックワー
ドポインタを与える必要がない。なぜなら、その特定の
マスタカレンダー記憶ロケーション2がサービスされる
時に各リンクリストは一回だけ使用されるからである。
サービスの後、そのリンクリストに属する各エントリは
マスタカレンダーの異なる記憶ロケーションか又はスレ
ーブカレンダー6の適当な記憶ロケーションのいずれか
に再スケジュールされる(より多くのデータが送信可能
なように与えられる)。削除されたエントリに関するリ
ンクリストは再構築の必要がない。このことは、リンク
リストの操作を非常に簡潔且つ高速にする。
【0030】次に、本発明の第1の実施例について図3
〜9を参照して説明する。先ず図3を参照して、第1の
実施例のスケジューリング回路は、マスタカレンダー
1、各T、A及びSポインタ3、4及び8、そしてカレ
ンダー制御回路24からなる。Tポインタ3は、2.7
26μs(155Mbpsの伝送速度での1セル期間に
相当)の細分化を伴う10.23秒(ABRチャネルの
許可セル速度(ACR)減少時間要素(ADTF)タイ
ムアウト値に相当)を測るのに必要な22ビットのディ
ジタル値である。
〜9を参照して説明する。先ず図3を参照して、第1の
実施例のスケジューリング回路は、マスタカレンダー
1、各T、A及びSポインタ3、4及び8、そしてカレ
ンダー制御回路24からなる。Tポインタ3は、2.7
26μs(155Mbpsの伝送速度での1セル期間に
相当)の細分化を伴う10.23秒(ABRチャネルの
許可セル速度(ACR)減少時間要素(ADTF)タイ
ムアウト値に相当)を測るのに必要な22ビットのディ
ジタル値である。
【0031】なお、可能な形態として、2.831μs
の異なるセル期間を使用してもよい。このセル期間は以
下のように実現される。先ず、セル/秒で155.52
Mbps(各セルは各々8ビトの53バイトを有する)
―これは先に示したように2.726μsに相当する―
のビット速度を表すことによって最大要求データ速度が
計算される。そして、このセル速度をSTS3cフレー
ム(すなわち、全体で270バイトの内の260データ
バイト―各STSフレームは260データバイトと10
オーバヘッドバイトを含む)のデータに比例して表され
る要素と乗算する。従って、セル期間は以下の式で表さ
れる。 (8×53)/(155.52×106 )×(270/
260)=2.831μs
の異なるセル期間を使用してもよい。このセル期間は以
下のように実現される。先ず、セル/秒で155.52
Mbps(各セルは各々8ビトの53バイトを有する)
―これは先に示したように2.726μsに相当する―
のビット速度を表すことによって最大要求データ速度が
計算される。そして、このセル速度をSTS3cフレー
ム(すなわち、全体で270バイトの内の260データ
バイト―各STSフレームは260データバイトと10
オーバヘッドバイトを含む)のデータに比例して表され
る要素と乗算する。従って、セル期間は以下の式で表さ
れる。 (8×53)/(155.52×106 )×(270/
260)=2.831μs
【0032】Aポインタ4は16ビットのパラメータで
ある。従って、Aポインタの範囲は、216×2.726
μs=0.1787sまで対応する。これは略10セル
/秒の最低セル速度(RMセル速度)を扱うのに十分で
ある。Aポインタのサイズは、マスタカレンダーの動的
な範囲(1024(=210)VCに対し10ビットで十
分であるが、16ビットによりNST(タイムスタン
プ)が216セル期間の範囲で可能となる)を決定する。
ある。従って、Aポインタの範囲は、216×2.726
μs=0.1787sまで対応する。これは略10セル
/秒の最低セル速度(RMセル速度)を扱うのに十分で
ある。Aポインタのサイズは、マスタカレンダーの動的
な範囲(1024(=210)VCに対し10ビットで十
分であるが、16ビットによりNST(タイムスタン
プ)が216セル期間の範囲で可能となる)を決定する。
【0033】本実施例において、記憶ロケーション14
の一組12はマスタカレンダー及びスレーブカレンダー
でエントリを作成するのに使用される。これらの記憶ロ
ケーション14は、関連するATMネットワークユニッ
トの異なるVCにそれぞれ対応する。この理由から、記
憶ロケーション14はこれ以降においてVC毎のパラメ
ータブロック(per−VCパラメータブロック)とし
て述べる。
の一組12はマスタカレンダー及びスレーブカレンダー
でエントリを作成するのに使用される。これらの記憶ロ
ケーション14は、関連するATMネットワークユニッ
トの異なるVCにそれぞれ対応する。この理由から、記
憶ロケーション14はこれ以降においてVC毎のパラメ
ータブロック(per−VCパラメータブロック)とし
て述べる。
【0034】図4を参照すると、VC毎のパラメータブ
ロック14は3つの異なる形式に分割される。第1は、
マスタカレンダー1にエントリを作成するブロックを有
する。図1を参照して先に説明したように、マスタカレ
ンダー1の記憶ロケーション2は、その中に1つ以上の
エントリを持つことが可能で、その記憶ロケーションに
対応したタイムスロットでサービスされるVCの数に依
存する。従って、各マスタカレンダー記憶ロケーション
2は各々の開始及び終了ポインタを有する。開始ポイン
タは関連する記憶ロケーション2の最初のエントリを構
成するVC毎のパラメータブロック14を指示し、そし
て終了ポインタは関連する記憶ロケーション2に入力さ
れた最後のVC毎のパラメータブロックを指示する。も
し、記憶ロケーション2に入力されたVCが1つだけの
場合には、開始及び終了ポインタは同じ値であり、両者
とも1つのVCに対応するVC毎のパラメータブロック
を指し示す。
ロック14は3つの異なる形式に分割される。第1は、
マスタカレンダー1にエントリを作成するブロックを有
する。図1を参照して先に説明したように、マスタカレ
ンダー1の記憶ロケーション2は、その中に1つ以上の
エントリを持つことが可能で、その記憶ロケーションに
対応したタイムスロットでサービスされるVCの数に依
存する。従って、各マスタカレンダー記憶ロケーション
2は各々の開始及び終了ポインタを有する。開始ポイン
タは関連する記憶ロケーション2の最初のエントリを構
成するVC毎のパラメータブロック14を指示し、そし
て終了ポインタは関連する記憶ロケーション2に入力さ
れた最後のVC毎のパラメータブロックを指示する。も
し、記憶ロケーション2に入力されたVCが1つだけの
場合には、開始及び終了ポインタは同じ値であり、両者
とも1つのVCに対応するVC毎のパラメータブロック
を指し示す。
【0035】1つより多くのVCが特定のマスタカレン
ダー記憶ロケーション2に入力された時には、VC毎の
パラメータブロックは全てのエントリのリンクリストを
構成するのに使われる。この目的のために、各VC毎の
パラメータブロックは“NEXT_VC”フィールドを
有し、そこにはマスタカレンダー記憶ロケーション2に
入力される次のVCのVC毎のパラメータブロックのメ
モリロケーションを示すポインタ値が含まれる。リンク
リストにおける最後のVC毎のパラメータブロックのN
EXT_VCフィールドは“don’t care”状
態である。
ダー記憶ロケーション2に入力された時には、VC毎の
パラメータブロックは全てのエントリのリンクリストを
構成するのに使われる。この目的のために、各VC毎の
パラメータブロックは“NEXT_VC”フィールドを
有し、そこにはマスタカレンダー記憶ロケーション2に
入力される次のVCのVC毎のパラメータブロックのメ
モリロケーションを示すポインタ値が含まれる。リンク
リストにおける最後のVC毎のパラメータブロックのN
EXT_VCフィールドは“don’t care”状
態である。
【0036】例えば、図4の例で示すように、記憶ロケ
ーション2A は内部に入力された4つのVCs である。
VC2、VC5,VC8,及びVC3をこの順序で有す
る。従って、開始ポインタはVC2を指し示す。VC2
のNEXT_VCフィールドはVC5を指し示す。順
次、VC5のNEXT_VCフィールドはVC8を指示
する。VC8のNEXT_VCフィールドはVC3を指
示する。VC3のNEXT_VCフィールドはそれが記
憶ロケーション2A に入力された最後のVCであること
から、“don’t care”に設定される。マスタ
カレンダーの終了ポインタはまたVC3を指示する。
ーション2A は内部に入力された4つのVCs である。
VC2、VC5,VC8,及びVC3をこの順序で有す
る。従って、開始ポインタはVC2を指し示す。VC2
のNEXT_VCフィールドはVC5を指し示す。順
次、VC5のNEXT_VCフィールドはVC8を指示
する。VC8のNEXT_VCフィールドはVC3を指
示する。VC3のNEXT_VCフィールドはそれが記
憶ロケーション2A に入力された最後のVCであること
から、“don’t care”に設定される。マスタ
カレンダーの終了ポインタはまたVC3を指示する。
【0037】VC毎のパラメータブロック14の第2の
形式は、スレーブカレンダーエントリである。このブロ
ックは図4において斜線で示してある。この本例では、
VC1、VC6、及びVC7がスレーブカレンダーエン
トリとして現在使用中である。これらのパラメータブロ
ックは、関連するVCによって1つのセルを転送するた
めの次のスケジュール時間NSTを記憶するためNST
フィールドを用いる。NSTフィールドは、16ビット
パラメータとしてNSTを記憶する。VC毎のパラメー
タブロックの第3の形式は未使用ブロックであり、図4
ではVC4を例として示している。
形式は、スレーブカレンダーエントリである。このブロ
ックは図4において斜線で示してある。この本例では、
VC1、VC6、及びVC7がスレーブカレンダーエン
トリとして現在使用中である。これらのパラメータブロ
ックは、関連するVCによって1つのセルを転送するた
めの次のスケジュール時間NSTを記憶するためNST
フィールドを用いる。NSTフィールドは、16ビット
パラメータとしてNSTを記憶する。VC毎のパラメー
タブロックの第3の形式は未使用ブロックであり、図4
ではVC4を例として示している。
【0038】図4に示すように、VC毎のパラメータブ
ロック14の第1及び第2の両形式ともそれぞれ“QU
EUE_START”フィールドを含んでいる。スケジ
ューリング回路を含むATMネットワークユニットの動
作中、スケジューリング回路によって転送されるセルデ
ータはネットワークユニットの別の回路によって連続し
て生成される。セルデータは待ち行列(キュー)を作っ
てVC毎の原則で記憶される。従って、VC毎のパラメ
ータブロック14のQUEUE_STARTフィールド
はそのセルデータキューの先頭を指し示す。セルが送出
された後、QUEUE_STARTフィールドは新たな
セルデータキューの先頭を指示するように更新される。
なお、スレーブカレンダーエントリを与えるのに使われ
るVC毎のパラメータブロックは、スレーブカレンダー
のVCがリンクリスト中で互いにリンクされないよう
に、それらの各NEXT_VCフィールドを“don’
t care”状態にする。
ロック14の第1及び第2の両形式ともそれぞれ“QU
EUE_START”フィールドを含んでいる。スケジ
ューリング回路を含むATMネットワークユニットの動
作中、スケジューリング回路によって転送されるセルデ
ータはネットワークユニットの別の回路によって連続し
て生成される。セルデータは待ち行列(キュー)を作っ
てVC毎の原則で記憶される。従って、VC毎のパラメ
ータブロック14のQUEUE_STARTフィールド
はそのセルデータキューの先頭を指し示す。セルが送出
された後、QUEUE_STARTフィールドは新たな
セルデータキューの先頭を指示するように更新される。
なお、スレーブカレンダーエントリを与えるのに使われ
るVC毎のパラメータブロックは、スレーブカレンダー
のVCがリンクリスト中で互いにリンクされないよう
に、それらの各NEXT_VCフィールドを“don’
t care”状態にする。
【0039】図3に戻って、第1の実施例のスケジュー
リング回路はさらにそれぞれスレーブ及びマスタのスヌ
ープ(snoop) メモリ16及び20を有する。まず、スレ
ーブスヌープメモリ16の処理を取り扱うために、一組
12のVC毎のパラメータブロック14はNブロック
(本例ではN=32)のグループに分割される。スレー
ブスヌープメモリ16はNビット幅を有する。従って、
スレーブスヌープメモリ16の各Nビットワード18は
組12のN連続したVC毎のパラメータブロック14の
1つのグループと対応し、Nビットワード18の各ビッ
トはそのワード18に対応するグループのパラメータブ
ロック14の1つと個々に対応する。1つのビットが1
に設定された時、対応するVC毎のパラメータブロック
14がスレーブカレンダーエントリとして使用されるこ
とを意味する。そのビットがリセットされると、それと
は反対に、対応するパラメータブロック14がマスタカ
レンダーに入力されるか又は全く未使用であることを意
味する。
リング回路はさらにそれぞれスレーブ及びマスタのスヌ
ープ(snoop) メモリ16及び20を有する。まず、スレ
ーブスヌープメモリ16の処理を取り扱うために、一組
12のVC毎のパラメータブロック14はNブロック
(本例ではN=32)のグループに分割される。スレー
ブスヌープメモリ16はNビット幅を有する。従って、
スレーブスヌープメモリ16の各Nビットワード18は
組12のN連続したVC毎のパラメータブロック14の
1つのグループと対応し、Nビットワード18の各ビッ
トはそのワード18に対応するグループのパラメータブ
ロック14の1つと個々に対応する。1つのビットが1
に設定された時、対応するVC毎のパラメータブロック
14がスレーブカレンダーエントリとして使用されるこ
とを意味する。そのビットがリセットされると、それと
は反対に、対応するパラメータブロック14がマスタカ
レンダーに入力されるか又は全く未使用であることを意
味する。
【0040】スレーブスヌープメモリ16により、カレ
ンダー制御回路24は各パラメータブロックを直接読み
出す必要もなしにスレーブカレンダーエントリを構成す
るこれらのパラメータブロック14を識別することが可
能になる。スレーブポインタSはマスタカレンダー1の
スケジューリング範囲SRより決して大きくならない時
間でVC毎のパラメータブロック14の組12のパス
(pass) を完了する必要がある。このことは、記憶に留
めるべき重要な点である。
ンダー制御回路24は各パラメータブロックを直接読み
出す必要もなしにスレーブカレンダーエントリを構成す
るこれらのパラメータブロック14を識別することが可
能になる。スレーブポインタSはマスタカレンダー1の
スケジューリング範囲SRより決して大きくならない時
間でVC毎のパラメータブロック14の組12のパス
(pass) を完了する必要がある。このことは、記憶に留
めるべき重要な点である。
【0041】マスタスヌープメモリ20は、マスタカレ
ンダー1に関して同様な目的で使用される。ここでも、
マスタカレンダーはN個の連続した記憶ロケーション2
(本例でもN=32)のグループに分割される。マスタ
スヌープメモリ20はNビット幅を有し、各Nビットワ
ード22はN個の連続した記憶ロケーション2の1つの
グループに対応する。Nビットワード22内の各ビット
は、個々にそのグループの1つの記憶ロケーション2に
対応する。この場合、ワード22の1ビットが1にセッ
トされた時、対応する記憶ロケーション2はその中に入
力された少なくとも1つのVCを有することを意味す
る。もし、このビットがゼロならば、反対に、対応する
記憶ロケーション2は“空”、すなわち有効なエントリ
を含まない、ことになる。
ンダー1に関して同様な目的で使用される。ここでも、
マスタカレンダーはN個の連続した記憶ロケーション2
(本例でもN=32)のグループに分割される。マスタ
スヌープメモリ20はNビット幅を有し、各Nビットワ
ード22はN個の連続した記憶ロケーション2の1つの
グループに対応する。Nビットワード22内の各ビット
は、個々にそのグループの1つの記憶ロケーション2に
対応する。この場合、ワード22の1ビットが1にセッ
トされた時、対応する記憶ロケーション2はその中に入
力された少なくとも1つのVCを有することを意味す
る。もし、このビットがゼロならば、反対に、対応する
記憶ロケーション2は“空”、すなわち有効なエントリ
を含まない、ことになる。
【0042】マスタスヌープメモリ20は、カレンダー
制御回路24によっていかなるVCエントリをも含まな
い記憶ロケーション2の検査を回避するために使用され
る。これは、Aポインタ4がTポインタ3に追いつくこ
とを可能とする点で有用である。マスタカレンダースヌ
ープ20の具体的な使用例を図5及び6を参照して説明
する。
制御回路24によっていかなるVCエントリをも含まな
い記憶ロケーション2の検査を回避するために使用され
る。これは、Aポインタ4がTポインタ3に追いつくこ
とを可能とする点で有用である。マスタカレンダースヌ
ープ20の具体的な使用例を図5及び6を参照して説明
する。
【0043】図5には、マスタカレンダースヌープメモ
リ20の特定のワード22A に対応した32個のマスタ
カレンダー記憶ロケーション2のグループが示されてい
る。このグループの記憶ロケーションは、物理的な記憶
ロケーション0020(16進)〜003F(16進)
を有する。ワード22A において、最初の非ゼロビット
は最下位のビット(LSB)の左側6番目に位置し、関
連グループの最初のカレンダーエントリは0020+6
=0026(16進)の位置であることを意味する。
リ20の特定のワード22A に対応した32個のマスタ
カレンダー記憶ロケーション2のグループが示されてい
る。このグループの記憶ロケーションは、物理的な記憶
ロケーション0020(16進)〜003F(16進)
を有する。ワード22A において、最初の非ゼロビット
は最下位のビット(LSB)の左側6番目に位置し、関
連グループの最初のカレンダーエントリは0020+6
=0026(16進)の位置であることを意味する。
【0044】その結果、カレンダー制御回路24は、ワ
ード22A を読むことによって0020〜0025(1
6進)の記憶ロケーションをサービスする必要がないこ
とを知る。図6に示すように、処理すべき最初の記憶ロ
ケーションは0026(16進)である。なお、この記
憶ロケーション(本例では0026)はカレントタイム
ポインタTの前方であってもよい。この場合、カレンダ
ー制御回路24は、Tポインタが記憶ロケーション00
26のエントリにサービスを行う前、そのロケーション
に達するまで待つ。そのような待ちを要求できるのは、
さもなければ、Tポインタの前方の記憶ロケーションが
許可されていないのにサービスを受ける可能性がおきる
からである。
ード22A を読むことによって0020〜0025(1
6進)の記憶ロケーションをサービスする必要がないこ
とを知る。図6に示すように、処理すべき最初の記憶ロ
ケーションは0026(16進)である。なお、この記
憶ロケーション(本例では0026)はカレントタイム
ポインタTの前方であってもよい。この場合、カレンダ
ー制御回路24は、Tポインタが記憶ロケーション00
26のエントリにサービスを行う前、そのロケーション
に達するまで待つ。そのような待ちを要求できるのは、
さもなければ、Tポインタの前方の記憶ロケーションが
許可されていないのにサービスを受ける可能性がおきる
からである。
【0045】先に述べたように、アクティビティポイン
タAは、どんな特定のタイムスロットでもスケジュール
されたVCを超えてよいため、カレントタイムポインタ
Tの後方に遅れる可能性がある。マスタカレンダー1は
連続したループ中で処理がなされるため(すなわち、A
及びTポインタは、マスタカレンダーの最後の記憶ロケ
ーションに達した後、その最初の記憶ロケーション2へ
“ラップアラウンド (wrap around)”するか又は戻
る)、マスタカレンダーの範囲近傍にスケジュールされ
ているチャネルが、アクティビティポインタAのまだサ
ービスされていない、従ってそのチャネルデータフロー
を破壊し得るマスタカレンダーの一部へ書き込まれない
ようにする保護機構が必要になる。
タAは、どんな特定のタイムスロットでもスケジュール
されたVCを超えてよいため、カレントタイムポインタ
Tの後方に遅れる可能性がある。マスタカレンダー1は
連続したループ中で処理がなされるため(すなわち、A
及びTポインタは、マスタカレンダーの最後の記憶ロケ
ーションに達した後、その最初の記憶ロケーション2へ
“ラップアラウンド (wrap around)”するか又は戻
る)、マスタカレンダーの範囲近傍にスケジュールされ
ているチャネルが、アクティビティポインタAのまだサ
ービスされていない、従ってそのチャネルデータフロー
を破壊し得るマスタカレンダーの一部へ書き込まれない
ようにする保護機構が必要になる。
【0046】そのような保護機構を与えるため、マスタ
カレンダーのスケジューリング範囲SRは、記憶ロケー
ションのプリセット数によりマスタカレンダーの全記憶
ロケーションの数Lより少なく設定される。もし、マス
タカレンダーにおける記憶ロケーションの数が約100
0ならば、一例として256記憶ロケーションが設定さ
れる。
カレンダーのスケジューリング範囲SRは、記憶ロケー
ションのプリセット数によりマスタカレンダーの全記憶
ロケーションの数Lより少なく設定される。もし、マス
タカレンダーにおける記憶ロケーションの数が約100
0ならば、一例として256記憶ロケーションが設定さ
れる。
【0047】図7を参照して、アクティビティポインタ
Aは、マスタカレンダーの記憶ロケーションのある数
(256以下)だけタイムポインタTの後方に遅れて示
されている。先述したように、Aポインタによって指し
示される記憶ロケーションの各エントリがサービスされ
る時、次のスケジュール時間(NST)がマスタカレン
ダー1のスケジューリング範囲(図7の斜線範囲)より
前方(すなわち、Tポインタによって測量されるような
現時間の前方)のさらに先にある場合、関連するVCを
スレーブカレンダーで再スケジュールすべきかを判断さ
れる。言いかえれば、NSTとカレントタイムポインタ
Tとの間の差がカレンダーのスケジューリングより大き
いか否かがチェックされる。この差は、Tポインタがマ
スタカレンダーを“ラップアラウンド”していても容易
に計算できる。なぜなら、NSTはTに関して常に先方
にあると仮定し得るからである。
Aは、マスタカレンダーの記憶ロケーションのある数
(256以下)だけタイムポインタTの後方に遅れて示
されている。先述したように、Aポインタによって指し
示される記憶ロケーションの各エントリがサービスされ
る時、次のスケジュール時間(NST)がマスタカレン
ダー1のスケジューリング範囲(図7の斜線範囲)より
前方(すなわち、Tポインタによって測量されるような
現時間の前方)のさらに先にある場合、関連するVCを
スレーブカレンダーで再スケジュールすべきかを判断さ
れる。言いかえれば、NSTとカレントタイムポインタ
Tとの間の差がカレンダーのスケジューリングより大き
いか否かがチェックされる。この差は、Tポインタがマ
スタカレンダーを“ラップアラウンド”していても容易
に計算できる。なぜなら、NSTはTに関して常に先方
にあると仮定し得るからである。
【0048】それとは異なる再スケジューリングの可能
性を以下で説明する。もし、計算したNSTが現時刻よ
りも前ならば(CBRチャネルで可能なように)、図7
のTポインタの前方の記憶ロケーションBはNSTに対
応し、カレントタイムポインタTによって指示される記
憶ロケーションの後の次の記憶ロケーション(T+1)
でスケジュールされるよう、カレンダー制御回路24は
NSTを切り上げる。
性を以下で説明する。もし、計算したNSTが現時刻よ
りも前ならば(CBRチャネルで可能なように)、図7
のTポインタの前方の記憶ロケーションBはNSTに対
応し、カレントタイムポインタTによって指示される記
憶ロケーションの後の次の記憶ロケーション(T+1)
でスケジュールされるよう、カレンダー制御回路24は
NSTを切り上げる。
【0049】なお、CBRトラフィックはAポインタと
の関連でスケジュールされるが、もしNSTがTポイン
タ(それ以下)の前方にあるなら、Tポインタの後(T
+1)に置かれなければならない。他の全てのトラフィ
ックはTポインタとの関連でスケジュールされる。マス
タスヌープメモリはAポインタの前方ロケーションの読
み出しを許容できるため、AポインタはTポインタの前
を走行可能である。しかしながら、この場合、そのよう
なロケーションへのいかなるサービスもTポインタがそ
れらに追いつくまでは実行されない。
の関連でスケジュールされるが、もしNSTがTポイン
タ(それ以下)の前方にあるなら、Tポインタの後(T
+1)に置かれなければならない。他の全てのトラフィ
ックはTポインタとの関連でスケジュールされる。マス
タスヌープメモリはAポインタの前方ロケーションの読
み出しを許容できるため、AポインタはTポインタの前
を走行可能である。しかしながら、この場合、そのよう
なロケーションへのいかなるサービスもTポインタがそ
れらに追いつくまでは実行されない。
【0050】NSTがスケジューリング範囲SR内なら
ば、図7の記憶ロケーションCはNSTに対応し、カレ
ンダー制御回路24はスケジューリング範囲内で記憶ロ
ケーションCにVCを入力する。もし、記憶ロケーショ
ンが先に空であった場合には、そのロケーションの開始
及び終了ポインタは再スケジュールされるVCに対応し
たVC毎のパラメータブロックを指し示すように更新さ
れる。しかしながら、もし関連する記憶ロケーションに
すでに1つ以上のエントリが存在していた場合、カレン
ダー制御回路24は記憶ロケーションCにおける既存リ
ンクリストの最後に再スケジュールされるVCに対応し
たVC毎のパラメータブロック14を付加する。このこ
とは、そのリストに付加されるVC毎のパラメータブロ
ック14のメモリロケーションを指し示すように既存リ
ンクリストにおける最終VC毎のパラメータブロック1
4のNEXT_VCフィールドの更新と、そして次にこ
の付加されたVC毎のパラメータブロック14を指し示
すようマスタカレンダー記憶ロケーション2の終了ポイ
ンタの更新とを伴う。
ば、図7の記憶ロケーションCはNSTに対応し、カレ
ンダー制御回路24はスケジューリング範囲内で記憶ロ
ケーションCにVCを入力する。もし、記憶ロケーショ
ンが先に空であった場合には、そのロケーションの開始
及び終了ポインタは再スケジュールされるVCに対応し
たVC毎のパラメータブロックを指し示すように更新さ
れる。しかしながら、もし関連する記憶ロケーションに
すでに1つ以上のエントリが存在していた場合、カレン
ダー制御回路24は記憶ロケーションCにおける既存リ
ンクリストの最後に再スケジュールされるVCに対応し
たVC毎のパラメータブロック14を付加する。このこ
とは、そのリストに付加されるVC毎のパラメータブロ
ック14のメモリロケーションを指し示すように既存リ
ンクリストにおける最終VC毎のパラメータブロック1
4のNEXT_VCフィールドの更新と、そして次にこ
の付加されたVC毎のパラメータブロック14を指し示
すようマスタカレンダー記憶ロケーション2の終了ポイ
ンタの更新とを伴う。
【0051】もし、NSTがスケジューリング範囲(例
えば、図7の記憶ロケーションD)を超えてVCを再ス
ケジュールすべきことを指示していた場合、カレンダー
制御回路はマスタカレンダーにエントリを作成すること
を許可せずに、代わりにスレーブカレンダーにVCを入
力する。これは、再スケジュールされるVCに対応した
スレーブスヌープメモリ16のビットを1に設定し、そ
して計算したNSTを反映すべくこのVCに対応したV
C毎のパラメータブロック14のNSTフィールドを更
新することによって単純に達成される。
えば、図7の記憶ロケーションD)を超えてVCを再ス
ケジュールすべきことを指示していた場合、カレンダー
制御回路はマスタカレンダーにエントリを作成すること
を許可せずに、代わりにスレーブカレンダーにVCを入
力する。これは、再スケジュールされるVCに対応した
スレーブスヌープメモリ16のビットを1に設定し、そ
して計算したNSTを反映すべくこのVCに対応したV
C毎のパラメータブロック14のNSTフィールドを更
新することによって単純に達成される。
【0052】次に図8を参照して、マスタカレンダーエ
ントリをサービスするのにカレンダー制御回路24が実
行するステップを説明する。初めに、ステップS1にお
いて、カレンダー制御回路24はAポインタで指し示さ
れた記憶ロケーションで処理すべき次のエントリを決定
する。このエントリは(関連する記憶ロケーションで処
理すべき2番目の又は引き続くエントリであっても)、
記憶ロケーションの開始ポインタを使って識別される。
ポインタは、関連するVCのVC毎のパラメータブロッ
ク14のメモリロケーションを指し示す。一旦、処理す
べきVCのVC毎のパラメータブロック14が識別され
ると、そのパラメータブロックのQUEUE_STAR
Tフィールドが調べられ、送信すべきセルの位置を決定
する。このセルは次に送信され、QUEUE_STAR
TフィールドはこのVCの次のサービスの準備のため更
新される。
ントリをサービスするのにカレンダー制御回路24が実
行するステップを説明する。初めに、ステップS1にお
いて、カレンダー制御回路24はAポインタで指し示さ
れた記憶ロケーションで処理すべき次のエントリを決定
する。このエントリは(関連する記憶ロケーションで処
理すべき2番目の又は引き続くエントリであっても)、
記憶ロケーションの開始ポインタを使って識別される。
ポインタは、関連するVCのVC毎のパラメータブロッ
ク14のメモリロケーションを指し示す。一旦、処理す
べきVCのVC毎のパラメータブロック14が識別され
ると、そのパラメータブロックのQUEUE_STAR
Tフィールドが調べられ、送信すべきセルの位置を決定
する。このセルは次に送信され、QUEUE_STAR
TフィールドはこのVCの次のサービスの準備のため更
新される。
【0053】記憶ロケーションの開始ポインタもまた、
その記憶ロケーションにおける次のエントリ(もしある
なら)を指し示すため更新される。すなわち、開始ポイ
ンタは現在処理中のエントリのNEXT_VCフィール
ドに保持された位置に設定される。そのようなエントリ
が存在しなければ、すなわちその時点で開始ポインタが
終了ポインタと同じ値を持つなら、マスタスヌープメモ
リ20がマスタカレンダーからその記憶ロケーションを
とり除くべく更新される。
その記憶ロケーションにおける次のエントリ(もしある
なら)を指し示すため更新される。すなわち、開始ポイ
ンタは現在処理中のエントリのNEXT_VCフィール
ドに保持された位置に設定される。そのようなエントリ
が存在しなければ、すなわちその時点で開始ポインタが
終了ポインタと同じ値を持つなら、マスタスヌープメモ
リ20がマスタカレンダーからその記憶ロケーションを
とり除くべく更新される。
【0054】ステップS2では、処理されるVCのNS
Tを決定するのに従来の処理が適用される。なお、NS
Tを計算する時、その計算は好適には1つのフルレート
(full-rate) セル期間よりも高い精度で、すなわちセル
期間の端数 (fraction) を用いて、実行される。この端
数は(例えば、NSTフィールドに付加された端数フィ
ールドを使って関連するVCのVC毎のパラメータブロ
ックに)保持され、NSTが計算される各時間毎に使用
される。これにより、マスタカレンダーにおけるスケジ
ューリングスロットの各々が1つのフルレートセル期間
に対応していたとしても、VCはインターセル間隔がフ
ルレートセル期間の整数に等しくない平均転送速度を実
現することができる。ステップS3では、計算したNS
Tがマスタカレンダーのスケジューリング範囲内か否か
が決定される。
Tを決定するのに従来の処理が適用される。なお、NS
Tを計算する時、その計算は好適には1つのフルレート
(full-rate) セル期間よりも高い精度で、すなわちセル
期間の端数 (fraction) を用いて、実行される。この端
数は(例えば、NSTフィールドに付加された端数フィ
ールドを使って関連するVCのVC毎のパラメータブロ
ックに)保持され、NSTが計算される各時間毎に使用
される。これにより、マスタカレンダーにおけるスケジ
ューリングスロットの各々が1つのフルレートセル期間
に対応していたとしても、VCはインターセル間隔がフ
ルレートセル期間の整数に等しくない平均転送速度を実
現することができる。ステップS3では、計算したNS
Tがマスタカレンダーのスケジューリング範囲内か否か
が決定される。
【0055】もし、NSTがスケジューリング範囲内な
らば、処理はステップS4へ進み、そこでNSTがTポ
インタと比較される。NSTがTポインタの後方ならば
(ステップS4で“yes”)、処理はステップS5へ
進み、そこでカレンダー制御回路はNSTを切り上げて
Tポインタに1を加算した値(T+1)に等しくする。
反対に、ステップS4で結果が“no”なら、処理はス
テップS6へ直接進む。
らば、処理はステップS4へ進み、そこでNSTがTポ
インタと比較される。NSTがTポインタの後方ならば
(ステップS4で“yes”)、処理はステップS5へ
進み、そこでカレンダー制御回路はNSTを切り上げて
Tポインタに1を加算した値(T+1)に等しくする。
反対に、ステップS4で結果が“no”なら、処理はス
テップS6へ直接進む。
【0056】ステップS6では、VCはマスタカレンダ
ーで再スケジュールされる。VCが再スケジュールされ
るマスタカレンダー記憶ロケーションは、NSTに基づ
いて決定される。その記憶ロケーションが初め空きなら
ば、その開始及び終了ポインタが更新され、処理される
VCに対するVC毎のパラメータブロック14を指し示
す。さもなければ、先述したように、VC毎のパラメー
タブロックが関連する記憶ロケーションの位置で既存の
リンクリストに付加される。
ーで再スケジュールされる。VCが再スケジュールされ
るマスタカレンダー記憶ロケーションは、NSTに基づ
いて決定される。その記憶ロケーションが初め空きなら
ば、その開始及び終了ポインタが更新され、処理される
VCに対するVC毎のパラメータブロック14を指し示
す。さもなければ、先述したように、VC毎のパラメー
タブロックが関連する記憶ロケーションの位置で既存の
リンクリストに付加される。
【0057】もし、ステップS3の結果が“no”な
ら、すなわち計算したNSTがマスタカレンダーのスケ
ジューリング範囲SR外なら、処理はステップS7へ進
む。ステップS7では、処理されるVCがスレーブカレ
ンダーで再スケジュールされる。初めに、計算されたN
STがそのVCに対応するVC毎のパラメータブロック
14のNSTフィールドに記憶される。次に、そのVC
に対応したスレーブスヌープメモリ16のビットが1に
セットされる。そして、処理はステップS8へ進む。
ら、すなわち計算したNSTがマスタカレンダーのスケ
ジューリング範囲SR外なら、処理はステップS7へ進
む。ステップS7では、処理されるVCがスレーブカレ
ンダーで再スケジュールされる。初めに、計算されたN
STがそのVCに対応するVC毎のパラメータブロック
14のNSTフィールドに記憶される。次に、そのVC
に対応したスレーブスヌープメモリ16のビットが1に
セットされる。そして、処理はステップS8へ進む。
【0058】最後に、ステップS8で、ちょうど処理し
たVCがその記憶ロケーション(その記憶ロケーション
をマスタカレンダーから削除するためステップS1で更
新されたマスタスヌープメモリ20)で処理すべき最後
のVCであったか否かが決定される。もし、そうなら、
次のビジーロケーションを判断して、次のサービス動作
の準備のためにマスタスヌープメモリ20を使ってAポ
インタが更新され、そして処理は終了する。
たVCがその記憶ロケーション(その記憶ロケーション
をマスタカレンダーから削除するためステップS1で更
新されたマスタスヌープメモリ20)で処理すべき最後
のVCであったか否かが決定される。もし、そうなら、
次のビジーロケーションを判断して、次のサービス動作
の準備のためにマスタスヌープメモリ20を使ってAポ
インタが更新され、そして処理は終了する。
【0059】ここでは、スレーブカレンダーの処理を図
9を参照して説明する。スレーブカレンダーの処理は、
マスタカレンダーの処理と並行して実行される。最初の
ステップS10では、カレンダー制御回路24は、スレ
ーブスヌープメモリ16を使って、スレーブカレンダー
におけるSポインタ8の前方の最初のビジーロケーショ
ンを決定する。そして、ステップS11で、そのビジー
ロケーションでVC毎のパラメータブロックのNSTフ
ィールドを読み出す。ステップS12では、NSTフィ
ールド中の記憶されたNSTをカレントタイムポインタ
Tと比較する。記憶したNSTとTとの間の差がマスタ
カレンダーのスケジューリング範囲SR内である場合
は、処理がS13へ進む。
9を参照して説明する。スレーブカレンダーの処理は、
マスタカレンダーの処理と並行して実行される。最初の
ステップS10では、カレンダー制御回路24は、スレ
ーブスヌープメモリ16を使って、スレーブカレンダー
におけるSポインタ8の前方の最初のビジーロケーショ
ンを決定する。そして、ステップS11で、そのビジー
ロケーションでVC毎のパラメータブロックのNSTフ
ィールドを読み出す。ステップS12では、NSTフィ
ールド中の記憶されたNSTをカレントタイムポインタ
Tと比較する。記憶したNSTとTとの間の差がマスタ
カレンダーのスケジューリング範囲SR内である場合
は、処理がS13へ進む。
【0060】なお、図9に示すように、記憶したNST
は、実際には、Tポインタに所定のオフセット時間ΔT
を加算したものと比較される。記憶したNSTと(T+
ΔT)との間の差がマスタカレンダーのスケジューリン
グ範囲SR内である場合は、処理はS13へ進む。オフ
セット時間ΔTはマスタカレンダーへのVC転送に伴う
メモリ書き込み動作の時間を許容するのに必要であるた
め比較で用いる。オフセット時間はゼロに設定してもよ
い。
は、実際には、Tポインタに所定のオフセット時間ΔT
を加算したものと比較される。記憶したNSTと(T+
ΔT)との間の差がマスタカレンダーのスケジューリン
グ範囲SR内である場合は、処理はS13へ進む。オフ
セット時間ΔTはマスタカレンダーへのVC転送に伴う
メモリ書き込み動作の時間を許容するのに必要であるた
め比較で用いる。オフセット時間はゼロに設定してもよ
い。
【0061】ステップS13では、カレンダー制御回路
24が、NSTからマスタカレンダーに入力すべきVC
の位置(記憶ロケーション2)を決定する。そして、ス
テップS14で、VCがその記憶ロケーション入力され
る。このステップS14は、基本的に図8と関連して先
述したステップS6と同様である。次に、ステップS1
5で、このVCに対応するスレーブスヌープメモリ16
のビットがリセットされ、VCに対応するマスタスヌー
プメモリ20のビットがセットされる。それによりスレ
ーブカレンダーからマスタカレンダーへのVC転送が反
映され(ステップS16)、処理が終了する。ステップ
S12では、記憶したNSTとT(又はT+ΔT)との
間の差がマスタカレンダーのスケジューリング範囲SR
を超えることが判明した場合に、アクションなしに処理
が終了する。
24が、NSTからマスタカレンダーに入力すべきVC
の位置(記憶ロケーション2)を決定する。そして、ス
テップS14で、VCがその記憶ロケーション入力され
る。このステップS14は、基本的に図8と関連して先
述したステップS6と同様である。次に、ステップS1
5で、このVCに対応するスレーブスヌープメモリ16
のビットがリセットされ、VCに対応するマスタスヌー
プメモリ20のビットがセットされる。それによりスレ
ーブカレンダーからマスタカレンダーへのVC転送が反
映され(ステップS16)、処理が終了する。ステップ
S12では、記憶したNSTとT(又はT+ΔT)との
間の差がマスタカレンダーのスケジューリング範囲SR
を超えることが判明した場合に、アクションなしに処理
が終了する。
【0062】図10は、本発明の第2の実施例によるス
ケジューリング回路部分を示している。本実施例は異な
る優先度のセルを効果的に制御可能とすることを意図し
ている。図10の回路は、4つのマスタカレンダー1−
1〜1−4と、有効な4つのスレーブカレンダー6−1
〜6−4とを有する。各マスタカレンダー1−1〜1−
4は第1の実施例のマスタカレンダー1と同じ構成を有
する。第2の実施例のスレーブカレンダー6−1〜6−
4もまた第1の実施例のスレーブカレンダー6と基本的
な構成を同じくする。
ケジューリング回路部分を示している。本実施例は異な
る優先度のセルを効果的に制御可能とすることを意図し
ている。図10の回路は、4つのマスタカレンダー1−
1〜1−4と、有効な4つのスレーブカレンダー6−1
〜6−4とを有する。各マスタカレンダー1−1〜1−
4は第1の実施例のマスタカレンダー1と同じ構成を有
する。第2の実施例のスレーブカレンダー6−1〜6−
4もまた第1の実施例のスレーブカレンダー6と基本的
な構成を同じくする。
【0063】各マスタカレンダーは、それ自身のTポイ
ンタ3及びAポインタ4を有する。例えば、マスタカレ
ンダー1−1はTポインタ3−1(T1)及びAポイン
タ4−1(A1)を有する。各スレーブカレンダー6
は、それ自身のSポインタ8を有する。例えば、スレー
ブカレンダー6−1はそれ自身のSポインタ8−1(S
1)を有する。カレンダー制御回路34は、全てのマス
タ及びスレーブカレンダー1及び6に接続され、そして
スケジューリング回路の制御動作のために全てのポイン
タ3、4及び8に接続される。
ンタ3及びAポインタ4を有する。例えば、マスタカレ
ンダー1−1はTポインタ3−1(T1)及びAポイン
タ4−1(A1)を有する。各スレーブカレンダー6
は、それ自身のSポインタ8を有する。例えば、スレー
ブカレンダー6−1はそれ自身のSポインタ8−1(S
1)を有する。カレンダー制御回路34は、全てのマス
タ及びスレーブカレンダー1及び6に接続され、そして
スケジューリング回路の制御動作のために全てのポイン
タ3、4及び8に接続される。
【0064】図10の回路において、各マスタカレンダ
ー1−1〜1−4はATMネットワークユニット内で異
なる優先レベルのセルトラフィックに対応する。例え
ば、マスタカレンダー1−1は最高の優先度を有し、そ
してマスタカレンダー1−2は次の高い優先度を有す
る、等である。本明細書の最初の部分で指摘したよう
に、ATMネットワークの異なる仮想チャネルは、異な
る優先度を有する異なる形式のセルトラフィックを伝送
する。高優先度の仮想チャネルは一定ビット速度(CB
R)チャネルを含む。図10の回路において、従って、
そのようなチャネルは最高優先度のマスタカレンダー1
−1でスケジュールされる。可変ビット速度(VBR)
チャネルもまた高い優先度を有し(しかしながら、CB
Rチャネルよりは低い)、マスタカレンダー1−2でス
ケジュールされる。利用可能ビット速度(ABR)チャ
ネルは低い優先度を有し、マスタカレンダー1−3でス
ケジュールされる。最後に、不特定ビット(UBR)速
度チャネルは最低優先度のマスタカレンダー1−4でス
ケジュール可能である。
ー1−1〜1−4はATMネットワークユニット内で異
なる優先レベルのセルトラフィックに対応する。例え
ば、マスタカレンダー1−1は最高の優先度を有し、そ
してマスタカレンダー1−2は次の高い優先度を有す
る、等である。本明細書の最初の部分で指摘したよう
に、ATMネットワークの異なる仮想チャネルは、異な
る優先度を有する異なる形式のセルトラフィックを伝送
する。高優先度の仮想チャネルは一定ビット速度(CB
R)チャネルを含む。図10の回路において、従って、
そのようなチャネルは最高優先度のマスタカレンダー1
−1でスケジュールされる。可変ビット速度(VBR)
チャネルもまた高い優先度を有し(しかしながら、CB
Rチャネルよりは低い)、マスタカレンダー1−2でス
ケジュールされる。利用可能ビット速度(ABR)チャ
ネルは低い優先度を有し、マスタカレンダー1−3でス
ケジュールされる。最後に、不特定ビット(UBR)速
度チャネルは最低優先度のマスタカレンダー1−4でス
ケジュール可能である。
【0065】各マスタカレンダー1は、それ自身個々に
対応したスレーブカレンダー6を有する。例えば、スレ
ーブカレンダー6−1は、図10のマスタカレンダー1
−1に対応する。各マスタカレンダー1及びそれに個々
に対応したスレーブチャネルは、基本的には上述した第
1の実施例と同様に動作する。特に、マスタカレンダー
はそれぞれのVCに対応したエントリを記憶するように
与えられる記憶ロケーション(図10には示していな
い)を有する。これらの記憶ロケーションは、関連する
マスタカレンダーのAポインタが進む時に、カレンダー
制御回路34によって連続してサービスされる。関連す
るマスタカレンダーのTポインタは各セル期間ごとに進
み、Aポインタは典型的にはTポインタの項方に遅れる
ことになる(しかしながら、常時追いつこうとする)。
対応したスレーブカレンダー6を有する。例えば、スレ
ーブカレンダー6−1は、図10のマスタカレンダー1
−1に対応する。各マスタカレンダー1及びそれに個々
に対応したスレーブチャネルは、基本的には上述した第
1の実施例と同様に動作する。特に、マスタカレンダー
はそれぞれのVCに対応したエントリを記憶するように
与えられる記憶ロケーション(図10には示していな
い)を有する。これらの記憶ロケーションは、関連する
マスタカレンダーのAポインタが進む時に、カレンダー
制御回路34によって連続してサービスされる。関連す
るマスタカレンダーのTポインタは各セル期間ごとに進
み、Aポインタは典型的にはTポインタの項方に遅れる
ことになる(しかしながら、常時追いつこうとする)。
【0066】Aポインタによって指し示された記憶ロケ
ーションのエントリがサービスされる時、そのエントリ
で特定されるVCセルが転送され、そのVCは再スケジ
ュールされる。そのような再スケジューリングでは、も
しVCの次のスケジュール時間NSTがマスタカレンダ
ーのスケジューリング範囲SR内の場合には、VCはマ
スタカレンダーの適当に引き続くエントリにおいて再ス
ケジュールされる。一方、NSTがマスタカレンダーの
スケジューリング範囲SRを超える場合には、VCは関
連するマスタカレンダーに対応するスレーブカレンダー
6に入力される。第1の実施例と関連して先に述べたよ
うに、NSTもまたスレーブカレンダーのエントリに含
まれる。
ーションのエントリがサービスされる時、そのエントリ
で特定されるVCセルが転送され、そのVCは再スケジ
ュールされる。そのような再スケジューリングでは、も
しVCの次のスケジュール時間NSTがマスタカレンダ
ーのスケジューリング範囲SR内の場合には、VCはマ
スタカレンダーの適当に引き続くエントリにおいて再ス
ケジュールされる。一方、NSTがマスタカレンダーの
スケジューリング範囲SRを超える場合には、VCは関
連するマスタカレンダーに対応するスレーブカレンダー
6に入力される。第1の実施例と関連して先に述べたよ
うに、NSTもまたスレーブカレンダーのエントリに含
まれる。
【0067】各スレーブカレンダー6は、関連するSポ
インタによって連続的にスキャンされる。Sポインタに
より関連するスレーブカレンダー6を通したパスの完了
にかかる全体の時間は、それが対応するマスタカレンダ
ーのスケジューリング範囲SRより少なく与えられる。
Sポインタにより指し示される記憶ロケーションでVC
がスレーブカレンダーにおいて発見されると、先に述べ
たようにVCの記憶したNSTは関連するスレーブカレ
ンダーが対応するマスタカレンダーのカレントタイムポ
インタTと比較される。もし、VCが現在マスタカレン
ダーのスケジュール範囲内にあるならば、そのVCはス
レーブカレンダーからマスタカレンダーへ転送される。
反対に、VCがいまだにスケジューリング範囲外なら
ば、そのVCはSポインタによってスレーブカレンダー
を通った次のパスのために残される。
インタによって連続的にスキャンされる。Sポインタに
より関連するスレーブカレンダー6を通したパスの完了
にかかる全体の時間は、それが対応するマスタカレンダ
ーのスケジューリング範囲SRより少なく与えられる。
Sポインタにより指し示される記憶ロケーションでVC
がスレーブカレンダーにおいて発見されると、先に述べ
たようにVCの記憶したNSTは関連するスレーブカレ
ンダーが対応するマスタカレンダーのカレントタイムポ
インタTと比較される。もし、VCが現在マスタカレン
ダーのスケジュール範囲内にあるならば、そのVCはス
レーブカレンダーからマスタカレンダーへ転送される。
反対に、VCがいまだにスケジューリング範囲外なら
ば、そのVCはSポインタによってスレーブカレンダー
を通った次のパスのために残される。
【0068】図10には示されていないが簡易化のた
め、第2の実施例におけるスケジューリング回路が、オ
プションとして各マスタカレンダー1のマスタスヌープ
メモリ及び/又は各スレーブカレンダー6のスレーブス
ヌープメモリに与えられる。実際、セル優先度が認識さ
れるATMネットワークユニットにおける異なるチャネ
ルの競合する要求のため、第2の実施例におけるそのよ
うなマスタ及びスレーブスヌープメモリの使用は好まし
いものである。
め、第2の実施例におけるスケジューリング回路が、オ
プションとして各マスタカレンダー1のマスタスヌープ
メモリ及び/又は各スレーブカレンダー6のスレーブス
ヌープメモリに与えられる。実際、セル優先度が認識さ
れるATMネットワークユニットにおける異なるチャネ
ルの競合する要求のため、第2の実施例におけるそのよ
うなマスタ及びスレーブスヌープメモリの使用は好まし
いものである。
【0069】次に、第2の実施例(そのようなマスタ及
びスレーブスヌープメモリを含む)の動作を図11を参
照して説明する。図11は、マスタカレンダー1−1〜
1−4と関連する動作を示している。各スレーブカレン
ダー6−1〜6−4は、図9で参照したこれより前に述
べたフローチャートと自動的に一致して動作する。図1
1に示すステップシーケンスは各セル期間で実行され
る。セル期間の開始で、ステップS20では、処理され
るマスタカレンダーの優先レベルを表すパラメータPR
Lは1(最高優先度)にセットされる。そして、ステッ
プS21では、優先レベルPRLを持つマスタカレンダ
ー1のT及びAポインタの間のギャップがある所定の閾
値THR(例えば、256)より大きいか否かがチェッ
クされる。大きくなければ、関連するマスタカレンダー
のTポインタはステップS22で1インクリメントされ
る。さもなければ、Tポインタはインクリメントされ
ず、関連するマスタカレンダーは実質的には停止され、
AポインタにTポインタに追いつく機会を与える。
びスレーブスヌープメモリを含む)の動作を図11を参
照して説明する。図11は、マスタカレンダー1−1〜
1−4と関連する動作を示している。各スレーブカレン
ダー6−1〜6−4は、図9で参照したこれより前に述
べたフローチャートと自動的に一致して動作する。図1
1に示すステップシーケンスは各セル期間で実行され
る。セル期間の開始で、ステップS20では、処理され
るマスタカレンダーの優先レベルを表すパラメータPR
Lは1(最高優先度)にセットされる。そして、ステッ
プS21では、優先レベルPRLを持つマスタカレンダ
ー1のT及びAポインタの間のギャップがある所定の閾
値THR(例えば、256)より大きいか否かがチェッ
クされる。大きくなければ、関連するマスタカレンダー
のTポインタはステップS22で1インクリメントされ
る。さもなければ、Tポインタはインクリメントされ
ず、関連するマスタカレンダーは実質的には停止され、
AポインタにTポインタに追いつく機会を与える。
【0070】ステップS23で、カレンダー制御回路3
4は優先レベルPRL(初期1)に対するマスタスヌー
プメモリを読み出す。ステップS24では、ステップS
23で読み出されたマスタスヌープメモリの結果が分析
され、Aポインタに即近の範囲に如何なる“ビジー”マ
スタカレンダー記憶ロケーション、すなわち少なくとも
1つのエントリを含む記憶ロケーション、があるか否か
が判断される。もしあるなら、カレンダー制御回路34
は、ステップS25でこのビジーロケーションがTポイ
ンタの前方であるか否かを判断する。ビジーロケーショ
ンがTポインタの前方にない場合には、カレンダー制御
回路34は処理すべき次のエントリが現在の優先レベル
マスタカレンダーのビジーロケーションにおけるエント
リ(又は2以上のエントリなら次のエントリ)かを判断
する。
4は優先レベルPRL(初期1)に対するマスタスヌー
プメモリを読み出す。ステップS24では、ステップS
23で読み出されたマスタスヌープメモリの結果が分析
され、Aポインタに即近の範囲に如何なる“ビジー”マ
スタカレンダー記憶ロケーション、すなわち少なくとも
1つのエントリを含む記憶ロケーション、があるか否か
が判断される。もしあるなら、カレンダー制御回路34
は、ステップS25でこのビジーロケーションがTポイ
ンタの前方であるか否かを判断する。ビジーロケーショ
ンがTポインタの前方にない場合には、カレンダー制御
回路34は処理すべき次のエントリが現在の優先レベル
マスタカレンダーのビジーロケーションにおけるエント
リ(又は2以上のエントリなら次のエントリ)かを判断
する。
【0071】このエントリは、ステップS26で処理さ
れる。ステップS26で実行される処理ステップは、実
行的には図8のステップS1〜S9に対応する。ステッ
プS24でビジーロケーションがなければ、又はステッ
プS25でTポインタの前方に次のビジーロケーション
が発見された場合には、カレンダー制御回路34は、こ
の場合、現在の優先レベルPRL(初期1)でマスタカ
レンダーをサービスする必要なしと判断し、そしてステ
ップS27で次の最低優先レベルへ移動するために優先
レベルパラメータPRLをインクリメントする。ステッ
プS28で、可能な全ての優先レベルがサービスされた
か否かを判断する。そうでなければ、処理はステップS
21へ戻り、次の優先レベルに対するマスタカレンダー
をサービスする。4つの全ての優先レベルが処理された
ならば、処理はステップS28の後に終了する。
れる。ステップS26で実行される処理ステップは、実
行的には図8のステップS1〜S9に対応する。ステッ
プS24でビジーロケーションがなければ、又はステッ
プS25でTポインタの前方に次のビジーロケーション
が発見された場合には、カレンダー制御回路34は、こ
の場合、現在の優先レベルPRL(初期1)でマスタカ
レンダーをサービスする必要なしと判断し、そしてステ
ップS27で次の最低優先レベルへ移動するために優先
レベルパラメータPRLをインクリメントする。ステッ
プS28で、可能な全ての優先レベルがサービスされた
か否かを判断する。そうでなければ、処理はステップS
21へ戻り、次の優先レベルに対するマスタカレンダー
をサービスする。4つの全ての優先レベルが処理された
ならば、処理はステップS28の後に終了する。
【0072】このように、図11で示したように、もし
ある優先レベルに対しマスタスヌープメモリにより指示
されるビジーロケーションがなければ、カレンダー制御
回路は次の最低優先レベルへ移動し、そのレベルのマス
タスヌープメモリを読み出す。同様に、ある優先レベル
でマスタカレンダーの次のビジーロケーションがそのレ
ベルのカレントタイムポインタTの前方にある場合に
は、カレンダー制御回路34は次の最低優先レベルへ移
動し、より低い優先度のマスタカレンダーから送信する
のに適任のロケーションを探査する。
ある優先レベルに対しマスタスヌープメモリにより指示
されるビジーロケーションがなければ、カレンダー制御
回路は次の最低優先レベルへ移動し、そのレベルのマス
タスヌープメモリを読み出す。同様に、ある優先レベル
でマスタカレンダーの次のビジーロケーションがそのレ
ベルのカレントタイムポインタTの前方にある場合に
は、カレンダー制御回路34は次の最低優先レベルへ移
動し、より低い優先度のマスタカレンダーから送信する
のに適任のロケーションを探査する。
【0073】第2の実施例において、4つのスレーブカ
レンダー6−1〜6−4が1つのスレーブメモリによっ
て与えられることが可能である。すなわち、メモリの共
通エリア内には4つの論理スレーブカレンダーが存在す
る。この場合、1つのスレーブメモリの各エントリは適
当な方法によって4つの論理スレーブカレンダー6−1
〜6−4の1つに割り当てられる。例えば、各エントリ
に4つの優先レベルの1つを識別可能な2ビットの優先
レベルフィールドが与えられる。この場合、各スレーブ
カレンダーは(上述したような)そのスレーブポインタ
を持つことが可能であり、又はシングルスレーブポイン
タが優先順位により4つの論理スレーブカレンダーの全
てをサービスするのに使用可能である。ステップS21
をクロックサイクル毎に全ての優先レベルで並列に実行
させることで、図11のフローチャートに示す処理がち
ょうど1クロックサイクルを表すことも可能である。
レンダー6−1〜6−4が1つのスレーブメモリによっ
て与えられることが可能である。すなわち、メモリの共
通エリア内には4つの論理スレーブカレンダーが存在す
る。この場合、1つのスレーブメモリの各エントリは適
当な方法によって4つの論理スレーブカレンダー6−1
〜6−4の1つに割り当てられる。例えば、各エントリ
に4つの優先レベルの1つを識別可能な2ビットの優先
レベルフィールドが与えられる。この場合、各スレーブ
カレンダーは(上述したような)そのスレーブポインタ
を持つことが可能であり、又はシングルスレーブポイン
タが優先順位により4つの論理スレーブカレンダーの全
てをサービスするのに使用可能である。ステップS21
をクロックサイクル毎に全ての優先レベルで並列に実行
させることで、図11のフローチャートに示す処理がち
ょうど1クロックサイクルを表すことも可能である。
【0074】図12は本発明によるスケジューリング回
路の第3の実施例部分を示す。本実施例では、(第1の
実施例におけるような)マスタカレンダー1が存在する
が、第1の実施例における1つのスレーブカレンダー6
に代えて、それぞれ第1順位及び第2順位のスレーブカ
レンダー36及び46が存在する。第1順位のスレーブ
カレンダー36はSポインタ38(1S)を有し、そし
て第2順位のスレーブカレンダー46はSポインタ48
(2S)を有する。マスタカレンダー1は通常のT及び
Aポインタ(図12には示されていない)を有する。
路の第3の実施例部分を示す。本実施例では、(第1の
実施例におけるような)マスタカレンダー1が存在する
が、第1の実施例における1つのスレーブカレンダー6
に代えて、それぞれ第1順位及び第2順位のスレーブカ
レンダー36及び46が存在する。第1順位のスレーブ
カレンダー36はSポインタ38(1S)を有し、そし
て第2順位のスレーブカレンダー46はSポインタ48
(2S)を有する。マスタカレンダー1は通常のT及び
Aポインタ(図12には示されていない)を有する。
【0075】第3の実施例は、次の見地から与えられ
る。第1の実施例では、スレーブカレンダーの各エント
リがマスタカレンダーのスケジューリング範囲より小さ
いか又は等しい間隔でサービスされる必要がある。しか
しながら、スレーブカレンダーで読み出すべきロケーシ
ョンが多ければそれだけカレンダー制御回路が全てのス
レーブカレンダーエントリをスケジューリング範囲より
少ないか又は等しい時間で処理するのが困難となる。こ
の困難を緩和するために、第3の実施例ではスレーブカ
レンダーの“階層化(hierarchy) ”を行う。この場合、
階層における2つのスレーブカレンダー36及び46は
時間の大きさの異なる順位を表す。例えば、マスタカレ
ンダーのスケジューリング範囲SRが1ミリ秒なら、第
1順位のスレーブカレンダー36は次の10ミリ秒で送
出が必要なセルを有するVCを処理するのに使われ、そ
して第2順位のスレーブカレンダーは次の100ミリ秒
で送出が必要なセルを有するVCを処理するのに使われ
る。従って、マスタカレンダー1に入力されたVCが処
理され次に再スケジュールされる時、もし計算したNS
Tが10ミリ秒より大きければ、そのVCは第2順位の
スレーブカレンダー46で再スケジュールされる。しか
しながら、その計算したNSTがマスタカレンダーのス
ケジューリング範囲(1ミリ秒)より大きく且つ10ミ
リ秒より小さい場合、それは第1順位のスレーブカレン
ダー36で再スケジュールされる。先の実施例と同様
に、そのNSTがスケジューリング範囲内の場合は、V
Cはマスタカレンダーで直接再スケジュールされる。
る。第1の実施例では、スレーブカレンダーの各エント
リがマスタカレンダーのスケジューリング範囲より小さ
いか又は等しい間隔でサービスされる必要がある。しか
しながら、スレーブカレンダーで読み出すべきロケーシ
ョンが多ければそれだけカレンダー制御回路が全てのス
レーブカレンダーエントリをスケジューリング範囲より
少ないか又は等しい時間で処理するのが困難となる。こ
の困難を緩和するために、第3の実施例ではスレーブカ
レンダーの“階層化(hierarchy) ”を行う。この場合、
階層における2つのスレーブカレンダー36及び46は
時間の大きさの異なる順位を表す。例えば、マスタカレ
ンダーのスケジューリング範囲SRが1ミリ秒なら、第
1順位のスレーブカレンダー36は次の10ミリ秒で送
出が必要なセルを有するVCを処理するのに使われ、そ
して第2順位のスレーブカレンダーは次の100ミリ秒
で送出が必要なセルを有するVCを処理するのに使われ
る。従って、マスタカレンダー1に入力されたVCが処
理され次に再スケジュールされる時、もし計算したNS
Tが10ミリ秒より大きければ、そのVCは第2順位の
スレーブカレンダー46で再スケジュールされる。しか
しながら、その計算したNSTがマスタカレンダーのス
ケジューリング範囲(1ミリ秒)より大きく且つ10ミ
リ秒より小さい場合、それは第1順位のスレーブカレン
ダー36で再スケジュールされる。先の実施例と同様
に、そのNSTがスケジューリング範囲内の場合は、V
Cはマスタカレンダーで直接再スケジュールされる。
【0076】スレーブカレンダーエントリの処理に関す
る限り、第2順位のスレーブカレンダー46の場合に
は、その中の各エントリは10ミリ秒毎に少なくとも一
度サービスされる必要があり、その結果VCはそのNS
Tが10ミリ秒離れていない時に第1順位のスレーブカ
レンダーへ転送される。第1順位のスレーブカレンダー
36の場合には、各エントリが1ミリ秒毎に少なくとも
一度サービスされる必要があり、その結果VCはそのN
STがマスタカレンダーのスケジューリング範囲内の時
に第1順位のスレーブカレンダーからマスタカレンダー
へ転送される。
る限り、第2順位のスレーブカレンダー46の場合に
は、その中の各エントリは10ミリ秒毎に少なくとも一
度サービスされる必要があり、その結果VCはそのNS
Tが10ミリ秒離れていない時に第1順位のスレーブカ
レンダーへ転送される。第1順位のスレーブカレンダー
36の場合には、各エントリが1ミリ秒毎に少なくとも
一度サービスされる必要があり、その結果VCはそのN
STがマスタカレンダーのスケジューリング範囲内の時
に第1順位のスレーブカレンダーからマスタカレンダー
へ転送される。
【0077】従って、セル転送の間隔が10ミリ秒より
大きいいかなるVCも、第2順位のスレーブカレンダー
でその時間部分を費やし、それによって第1順位のスレ
ーブカレンダー上の負荷を軽減する。100ミリ秒のセ
ル転送間隔を有するVCは、第2順位のスレーブカレン
ダー46に入力された時間の略90%を、第1順位のス
レーブカレンダー46に入力された時間の略9%を費や
し、そしてマスタカレンダーに入力された時間に費やす
時間は単に1%である。スレーブのカレンダーの順位数
は幾つでもよく、カレンダーのサイズ(利用可能なメモ
リ量)及びトラフィック速度の相違等に基づく。
大きいいかなるVCも、第2順位のスレーブカレンダー
でその時間部分を費やし、それによって第1順位のスレ
ーブカレンダー上の負荷を軽減する。100ミリ秒のセ
ル転送間隔を有するVCは、第2順位のスレーブカレン
ダー46に入力された時間の略90%を、第1順位のス
レーブカレンダー46に入力された時間の略9%を費や
し、そしてマスタカレンダーに入力された時間に費やす
時間は単に1%である。スレーブのカレンダーの順位数
は幾つでもよく、カレンダーのサイズ(利用可能なメモ
リ量)及びトラフィック速度の相違等に基づく。
【0078】本発明の第3の実施例は、特に、大きく異
なる範囲のトラフィック速度、すなわち非常に低速なV
Cや他の非常に高速なVC等、が存在するATMネット
ワークユニットで使用するのに適している。そのような
状況において、第3の実施例はスレーブカレンダーを通
したサーチ時間の短縮に顕著な有効性を示す。
なる範囲のトラフィック速度、すなわち非常に低速なV
Cや他の非常に高速なVC等、が存在するATMネット
ワークユニットで使用するのに適している。そのような
状況において、第3の実施例はスレーブカレンダーを通
したサーチ時間の短縮に顕著な有効性を示す。
【0079】第1順位及び第2順位のスレーブカレンダ
ーのエントリは、マスタカレンダーと同様に、先述した
ような1組のVC毎のパラメータブロックを使って作成
される。この場合、各スレーブカレンダーは、それ自体
個々に対応するスレーブスヌープメモリが与えられ、各
パラメータブロックが対応するスレーブカレンダーのエ
ントリとして現在使用されいるか否かを示す。これによ
り、スレーブカレンダー間のVC転送を各スレーブスヌ
ープメモリの1ビットを変えることで簡易且つ素早く実
行することが可能となる。
ーのエントリは、マスタカレンダーと同様に、先述した
ような1組のVC毎のパラメータブロックを使って作成
される。この場合、各スレーブカレンダーは、それ自体
個々に対応するスレーブスヌープメモリが与えられ、各
パラメータブロックが対応するスレーブカレンダーのエ
ントリとして現在使用されいるか否かを示す。これによ
り、スレーブカレンダー間のVC転送を各スレーブスヌ
ープメモリの1ビットを変えることで簡易且つ素早く実
行することが可能となる。
【0080】
【発明の効果】以上、本発明をATMセル転送のスケジ
ューリングに関して説明してきた。本発明は、他の実施
例において、例えばあるイベント(事象)をスケジュー
リングする必要がある状況下で提供可能なことは容易に
理解されるところである。このように本発明によれば、
特別な処理パワー及び/又は記憶容量を必要とせず、異
種速度のVCを効果的に制御可能な、改良したトラフィ
ックマネジャ及び改良したトラフィック管理方法が提供
可能となる。
ューリングに関して説明してきた。本発明は、他の実施
例において、例えばあるイベント(事象)をスケジュー
リングする必要がある状況下で提供可能なことは容易に
理解されるところである。このように本発明によれば、
特別な処理パワー及び/又は記憶容量を必要とせず、異
種速度のVCを効果的に制御可能な、改良したトラフィ
ックマネジャ及び改良したトラフィック管理方法が提供
可能となる。
【図1】ATMネットワークで用いられる従来のカレン
ダースケジューリング方法の図式的な説明図である。
ダースケジューリング方法の図式的な説明図である。
【図2】本発明によるスケジューリング回路の基本構成
を図式的に示した図である。
を図式的に示した図である。
【図3】本発明による第1の実施例のスケジューリング
回路部分を示した図である。
回路部分を示した図である。
【図4】第1の実施例である図3の詳細図である。
【図5】第1の実施例におけるマスタスヌープメモリの
動作の説明図である。
動作の説明図である。
【図6】マスタスヌープメモリの使用を説明した図であ
る。
る。
【図7】第1の実施例の再スケジューリング動作の説明
図である。
図である。
【図8】第1の実施例のマスタカレンダーにおけるエン
トリ処理のフロー図である。
トリ処理のフロー図である。
【図9】第1の実施例のスレーブカレンダーにおけるエ
ントリ処理のフロー図である。
ントリ処理のフロー図である。
【図10】本発明による第2の実施例であって、異なる
形式のセルトラフィック処理を可能としたスケジューリ
ング回路部分を示した図である。
形式のセルトラフィック処理を可能としたスケジューリ
ング回路部分を示した図である。
【図11】第2の実施例の動作フロー図である。
【図12】本発明による第3の実施例のスケジューリン
グ回路部分を示した図である。
グ回路部分を示した図である。
1、1−1〜1−4…マスタカレンダー 2、7、14…記憶ロケーション 3、3−1〜3−4…カレントタイムポインタ 4、4−1〜4−4…カレントアクティビティポインタ 6、6−1〜6−4…スレーブカレンダー 8、8−1〜8−4、38、48…スレーブポインタ 9、24、34…カレンダー制御回路 12…一組の記憶ロケーション 14…VC毎のパラメータブロック 16…スレーブスヌープメモリ 18、22…Nビットワード 20…マスタスヌープメモリ 36…第1順位のスレーブカレンダー 46…第2順位のスレーブカレンダー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 サイモン ティモシー スミス イギリス国,マンチェスター エム21 0 ティーキュー,コールトン,リズバーン アベニュ 1
Claims (13)
- 【請求項1】 所定のイベントをスケジュールするため
のスケジューリング回路は、 所定のマスタカレンダースケジューリング範囲内で発生
するイベントにそれぞれ対応したエントリを保持するマ
スタカレンダー手段と、 前記スケジューリング範囲外で発生するイベントにそれ
ぞれ対応したエントリを保持するスレーブカレンダー手
段と、 イベントがスケジュールされる時、現時間とそのイベン
トの所望のスケジューリング時間との間隔が前記スケジ
ューリング範囲を超える場合に、前記スレーブカレンダ
ー手段にそれに対応した前記所望のスケジューリング時
間を示すタイミング情報を含むエントリを作成するカレ
ンダ制御手段とを有し、 前記カレンダー制御手段は、さらに前記スレーブカレン
ダー手段のエントリをモニタし、前記エントリに対応す
るイベントが前記スケジューリング範囲内にあるエント
リを前記マスタカレンダ−手段に転送することを特徴と
するスケジューリング回路。 - 【請求項2】 前記カレンダー制御手段は、前記イベン
トのスケジューリング中に、前記間隔がスケジューリン
グ範囲を超えない場合には、前記マスタカレンダー手段
においてスケジュールされるイベントに対応したイベン
トを作成する請求項1記載のスケジューリング回路。 - 【請求項3】 前記スレーブカレンダー手段の各エント
リに含まれるタイミング情報の細分性は前記現時間を測
定した細分性に等しく、 前記カレンダー制御手段は、前記スレーブカレンダー手
段におけるエントリのモニタの間に、そのエントリに含
まれるタイミング情報によって示される所望のスケジュ
ーリング時間と前記現時間とを比較し、その比較結果に
より前記転送を実行するか否かを判断する請求項1又は
2に記載のスケジューリング回路。 - 【請求項4】 前記転送は、前記エントリのタイミング
情報によって示される所望のスケジューリング時間の差
が、前記スケジューリング範囲及び所定のオフセット時
間の合計より小さいか等しい量だけ前記現時間と異なる
時に実行される請求項3記載のスケジューリング回路。 - 【請求項5】 前記所定のイベントは、複数の異なるユ
ニットの各々に対する一連のイベントを含み、前記マス
タカレンダ−手段又はスレーブカレンダー手段における
エントリの各々は、前記ユニットの1つに対する一連の
イベントの次のイベントに対応する請求項1〜4のいず
れか一つに記載のスケジューリング回路。 - 【請求項6】 前記カレンダー制御手段は、前記マスタ
カレンダー手段におけるエントリをシーケンシャルに処
理し、そして処理される各エントリに対し、対応するイ
ベントを生成し、処理したエントリを削除し、そしてマ
スタカレンダー手段又はスレーブカレンダー手段の1つ
に前記関連するユニットの一連の次のイベントに対応す
る新たなエントリを作成する請求項5記載のスケジュー
リング回路。 - 【請求項7】 前記カレンダー制御回路によって現在処
理中の前記マスタカレンダー手段の記憶ロケーションの
1つを識別するアクティビティポインタを有し、そして
対応するタイムスロットが前記現時間であるマスタカレ
ンダー手段の記憶ロケーションの1つを識別するタイム
ポインタを有する請求項6記載のスケジューリング回
路。 - 【請求項8】 前記アクティビティポインタは現在処理
中の記憶ロケーションで、前記エントリの処理、もし1
つ以上の場合は前記エントリの全ての処理の終了時に更
新され、そして前記タイムポインタは前記現在時間に従
って更新される請求項7記載のスケジューリング回路。 - 【請求項9】 前記複数のエントリの前記ユニットはそ
れ自身個々に対応するパラメータブロックを有し、前記
パラメータブロックは選択的に前記マスタカレンダー手
段におけるエントリ又は前記スレーブカレンダー手段に
おけるエントリを構成する請求項5〜8のいずれか一つ
に記載のスケジューリング回路。 - 【請求項10】 さらに、前記マスタ及びスレーブカレ
ンダー手段におけるエントリとは独立に、前記カレンダ
ー制御手段によってアクセスされるエントリ形式のスヌ
ープメモリを有し、前記スヌープメモリは前記ユニット
の1つに対応するパラメータブロックが前記マスタカレ
ンダー手段におけるエントリ又は前記スレーブカレンダ
ー手段におけるエントリを現在構成しているか否かを指
示する請求項9記載のスケジューリング回路。 - 【請求項11】 前記イベントの複数の異なる優先レベ
ルの各々に対する前記マスタカレンダー手段及びスレー
ブカレンダー手段を有し、 各優先レベルは他の優先レベルの現在時間とは独立した
それ自身の現在時間を有し、もし前記所望のスケジュー
リング時間がその優先レベルに対する現在時間の後方又
はそれに等しいイベントに対応したエントリをより高い
優先レベルのマスタカレンダー手段が有する場合、前記
カレンダー制御手段は特定の優先レベルに対するマスタ
カレンダー手段でのエントリ処理を停止する請求項1〜
10のいずれか一つに記載のスケジューリング回路。 - 【請求項12】 前記スレーブカレンダー手段は、各第
1順位及び第2順位のスレーブカレンダーを有し、 前記カレンダー制御手段は、前記イベントスケジューリ
ング中に、もし前記現在時間とそのイベントの所望のス
ケジューリング時間との間隔が前記マスタカレンダース
ケジューリング範囲よりも大きな閾値を越えた場合に、
第2順位スレーブカレンダーのイベントに対応したエン
トリを作成し、そして前記間隔が前記マスタカレンダー
スケジューリング範囲外であるが前記閾値を越えない場
合には、第1順位スレーブカレンダーのイベントに対応
したエントリを作成し、 前記カレンダー制御手段は、また第1順位及び第2順位
のスレーブカレンダーをモニタし、その対応イベントが
前記閾値よりも近くなった時点で第2順位スレーブカレ
ンダーのエントリを第1順位のスレーブカレンダーへ転
送し、そしてその対応イベントがマスタカレンダースケ
ジューリング範囲内となった時点で第1順位スレーブカ
レンダーのエントリを前記マスタカレンダー手段へ転送
する請求項1〜11のいずれか一つに記載のスケジュー
リング回路。 - 【請求項13】 所定のイベントをスケジュールするス
ケジューリング方法は、 イベントがスケジュールされる時、現時間とそのイベン
トの所望のスケジューリング時間との間隔が所定のマス
タカレンダースケジューリング範囲内の場合にはそれに
対応したエントリがマスタカレンダー手段に作成される
こと、 もし前記間隔が前記所定のマスタカレンダースケジュー
リング範囲外の場合には前記イベントに対応するエント
リが前記マスタカレンダー手段とは独立にスレーブカレ
ンダー手段に作成されること、 前記スレーブカレンダー手段におけるエントリはモニタ
されること、 その対応するイベントが前記マスタカレンダースケジュ
ーリング範囲内になったエントリは前記マスタカレンダ
ー手段へ転送されること、を特徴とするスケジューリン
グ方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9810089A GB2337406B (en) | 1998-05-11 | 1998-05-11 | Scheduling circuitry and methods |
| GB9810089:4 | 1998-05-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11340983A true JPH11340983A (ja) | 1999-12-10 |
Family
ID=10831858
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13048399A Withdrawn JPH11340983A (ja) | 1998-05-11 | 1999-05-11 | スケジュ―リング回路及び方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6810043B1 (ja) |
| JP (1) | JPH11340983A (ja) |
| GB (1) | GB2337406B (ja) |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7315901B1 (en) * | 2000-04-13 | 2008-01-01 | International Business Machines Corporation | Method and system for network processor scheduling outputs using disconnect/reconnect flow queues |
| US7126969B1 (en) * | 2000-07-06 | 2006-10-24 | Cisco Technology, Inc. | Scalable system and method for reliably sequencing changes in signaling bits in multichannel telecommunication lines transmitted over a network |
| DE60213616T2 (de) * | 2001-08-24 | 2007-08-09 | Intel Corporation, Santa Clara | Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung |
| US9836424B2 (en) | 2001-08-24 | 2017-12-05 | Intel Corporation | General input/output architecture, protocol and related methods to implement flow control |
| US7283530B2 (en) * | 2001-09-27 | 2007-10-16 | International Business Machines Corporation | Apparatus and method to coordinate calendar searches in a network scheduler |
| US7317683B2 (en) * | 2001-11-01 | 2008-01-08 | International Business Machines Corporation | Weighted fair queue serving plural output ports |
| US7310345B2 (en) * | 2001-11-01 | 2007-12-18 | International Business Machines Corporation | Empty indicators for weighted fair queues |
| US7280474B2 (en) * | 2001-11-01 | 2007-10-09 | International Business Machines Corporation | Weighted fair queue having adjustable scaling factor |
| US7103051B2 (en) * | 2001-11-01 | 2006-09-05 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with aging time stamps |
| US7046676B2 (en) * | 2001-11-01 | 2006-05-16 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with cached status array |
| US7187684B2 (en) * | 2001-11-01 | 2007-03-06 | International Business Machines Corporation | Weighted fair queue having extended effective range |
| EP1324553A3 (en) * | 2001-12-31 | 2006-03-22 | Alcatel Canada Inc. | Method and apparatus for scheduling and servicing events using a calendar structure |
| US7257124B2 (en) * | 2002-03-20 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler |
| US7680043B2 (en) | 2002-03-20 | 2010-03-16 | International Business Machines Corporation | Network processor having fast flow queue disable process |
| US7469282B2 (en) | 2003-01-21 | 2008-12-23 | At&T Intellectual Property I, L.P. | Method and system for provisioning and maintaining a circuit in a data network |
| US8199638B2 (en) | 2003-12-23 | 2012-06-12 | At&T Intellectual Property I, L.P. | Method and system for automatically rerouting logical circuit data in a data network |
| US8223632B2 (en) | 2003-12-23 | 2012-07-17 | At&T Intellectual Property I, L.P. | Method and system for prioritized rerouting of logical circuit data in a data network |
| US7646707B2 (en) | 2003-12-23 | 2010-01-12 | At&T Intellectual Property I, L.P. | Method and system for automatically renaming logical circuit identifiers for rerouted logical circuits in a data network |
| US7609623B2 (en) | 2003-12-23 | 2009-10-27 | At&T Intellectual Property I, L.P. | Method and system for automatically rerouting data from an overbalanced logical circuit in a data network |
| US7639623B2 (en) | 2003-12-23 | 2009-12-29 | At&T Intellectual Property I, L.P. | Method and system for real time simultaneous monitoring of logical circuits in a data network |
| US7639606B2 (en) * | 2003-12-23 | 2009-12-29 | At&T Intellectual Property I, L.P. | Method and system for automatically rerouting logical circuit data in a virtual private network |
| US8203933B2 (en) | 2003-12-23 | 2012-06-19 | At&T Intellectual Property I, L.P. | Method and system for automatically identifying a logical circuit failure in a data network |
| US7630302B2 (en) * | 2003-12-23 | 2009-12-08 | At&T Intellectual Property I, L.P. | Method and system for providing a failover circuit for rerouting logical circuit data in a data network |
| US7466646B2 (en) | 2004-04-22 | 2008-12-16 | At&T Intellectual Property I, L.P. | Method and system for automatically rerouting logical circuit data from a logical circuit failure to dedicated backup circuit in a data network |
| US8339988B2 (en) | 2004-04-22 | 2012-12-25 | At&T Intellectual Property I, L.P. | Method and system for provisioning logical circuits for intermittent use in a data network |
| US7768904B2 (en) | 2004-04-22 | 2010-08-03 | At&T Intellectual Property I, L.P. | Method and system for fail-safe renaming of logical circuit identifiers for rerouted logical circuits in a data network |
| US7460468B2 (en) | 2004-04-22 | 2008-12-02 | At&T Intellectual Property I, L.P. | Method and system for automatically tracking the rerouting of logical circuit data in a data network |
| US20050238008A1 (en) * | 2004-04-23 | 2005-10-27 | Fraser Alexander G | Method and apparatus for the encapsulation of control information in a real-time data stream |
| US8295162B2 (en) | 2006-05-16 | 2012-10-23 | At&T Intellectual Property I, L.P. | System and method to achieve sub-second routing performance |
| US20100070894A1 (en) * | 2008-09-16 | 2010-03-18 | International Business Machines Corporation | Federated calendar entry presence indicator |
| US20180039931A1 (en) * | 2016-08-04 | 2018-02-08 | International Business Machines Corporation | System, method and recording medium for resolving calendar conflicts |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5519507A (en) * | 1993-12-22 | 1996-05-21 | Octel Communications Corp. | Batching and delayed transmission of facsimiles |
| EP0702472A1 (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 |
| GB9419802D0 (en) * | 1994-09-30 | 1994-11-16 | Roke Manor Research | Serial egress shaping for atm switch |
| EP0705007A3 (en) | 1994-09-30 | 2003-01-29 | Roke Manor Research Limited | ATM queuing and scheduling apparatus |
| US5535201A (en) * | 1995-05-10 | 1996-07-09 | Mitsubishi Electric Research Laboratories, Inc. | Traffic shaping system using two dimensional timing chains |
| WO1997022195A1 (en) * | 1995-12-14 | 1997-06-19 | Cisco Systems, Inc. | Multi-level rate scheduler |
| US6134217A (en) * | 1996-04-15 | 2000-10-17 | The Regents Of The University Of California | Traffic scheduling system and method for packet-switched networks with fairness and low latency |
| EP0972379A4 (en) * | 1997-04-04 | 2000-07-05 | Ascend Communications Inc | EXTREMELY FAST PACKET PROGRAMMING METHOD AND DEVICE |
| US6490251B2 (en) * | 1997-04-14 | 2002-12-03 | Nortel Networks Limited | Method and apparatus for communicating congestion information among different protocol layers between networks |
| US6041059A (en) * | 1997-04-25 | 2000-03-21 | Mmc Networks, Inc. | Time-wheel ATM cell scheduling |
| US6263359B1 (en) * | 1997-05-22 | 2001-07-17 | International Business Machines Corporation | Computer resource proportional utilization and response time scheduling |
| US6091709A (en) * | 1997-11-25 | 2000-07-18 | International Business Machines Corporation | Quality of service management for packet switched networks |
-
1998
- 1998-05-11 GB GB9810089A patent/GB2337406B/en not_active Expired - Fee Related
-
1999
- 1999-05-05 US US09/304,843 patent/US6810043B1/en not_active Expired - Lifetime
- 1999-05-11 JP JP13048399A patent/JPH11340983A/ja not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| GB2337406B (en) | 2003-05-14 |
| US6810043B1 (en) | 2004-10-26 |
| GB9810089D0 (en) | 1998-07-08 |
| GB2337406A (en) | 1999-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6810043B1 (en) | Scheduling circuitry and methods | |
| EP0924954B1 (en) | ATM cell transmissions | |
| US6205151B1 (en) | ATM cell scheduler which uses a heap memory and associates timestamps with each channel | |
| US6134217A (en) | Traffic scheduling system and method for packet-switched networks with fairness and low latency | |
| US6389019B1 (en) | Time-based scheduler architecture and method for ATM networks | |
| US5640389A (en) | Traffic shaper and packet communication apparatus | |
| US5987031A (en) | Method for fair dynamic scheduling of available bandwidth rate (ABR) service under asynchronous transfer mode (ATM) | |
| US5859835A (en) | Traffic scheduling system and method for packet-switched networks | |
| EP0986221B1 (en) | Port scheduler and method for scheduling service providing guarantees and hierarchical rate limiting with or without overbooking capability | |
| US6687225B1 (en) | Bandwidth control apparatus | |
| US6442164B1 (en) | Method and system for allocating bandwidth and buffer resources to constant bit rate (CBR) traffic | |
| US6175570B1 (en) | Method and an apparatus for shaping the output traffic in a fixed length cell switching network node | |
| US6633585B1 (en) | Enhanced flow control in ATM edge switches | |
| JP2959540B2 (ja) | ノード装置 | |
| US5764637A (en) | STM/ATM converter | |
| JPH09200231A (ja) | Atmネットワークにおけるエンドポイントの適応型タイムスロット スケジューリング装置及び方法 | |
| JPH08181703A (ja) | 仮想チャネルのセルの伝送を調整する方法及び装置 | |
| US6526062B1 (en) | System and method for scheduling and rescheduling the transmission of cell objects of different traffic types | |
| US6137779A (en) | Transmission rate calculation scheme using table-lookup | |
| US6154459A (en) | Data shaper for ATM traffic | |
| US5862127A (en) | Method of controlling the peak cell rate spacing of multiplexed ATM traffic | |
| JP3157113B2 (ja) | トラヒックシェイパー装置 | |
| US7130270B2 (en) | Method and apparatus for varying bandwidth provided to virtual channels in a virtual path | |
| JP3266139B2 (ja) | スケジューリング装置 | |
| KR100233318B1 (ko) | 통신 제어 장치 |
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: 20060801 |