(57)【特許請求の範囲】
【請求項１】
データをトランスポートするシステムにおいて、
少なくとも１つの入力ラインからデータを受信し、規定の複数のＡＴＭセルからなる少なくとも１つのスーパーセルを生成する入力手段と、
前記規定の複数のＡＴＭセルが前記入力手段に到着したときに前記入力手段から要求を受信し、前記入力手段に前記少なくとも１つのスーパーセルを生成するように指示する承諾を生成するスケジューリング手段と、
クロスバ交換機を介して、前記承諾に従って、前記少なくとも１つのスーパーセルを受信する出力手段と、
を有し、
前記スーパーセルは２つだけのクラスのうちの一方からなり、前記出力手段に対応しており、
前記２つのクラスのうちの第１のクラスは、前記複数のＡＴＭセルのうち最小セルレート（ＭＣＲ）に適合する選択されたＡＴＭセルからなり、前記２つのクラスのうちの第２のクラスは、前記複数のＡＴＭセルのうち前記ＭＣＲに適合しない選択されたＡＴＭセルからなる、
ことを特徴とするデータトランスポートシステム。
【請求項２】
前記入力手段は、非適合セルからなるスーパーセルを生成する前に、適合セルからなる前記少なくとも１つのスーパーセルを生成することを特徴とする請求項１記載のシステム。
【請求項３】
前記入力手段に複数のキューをさらに有し、
前記複数のキューのそれぞれは、前記出力手段に対応する１つのサービス品質クラスを処理することを特徴とする請求項１記載のシステム。
【請求項４】
前記スケジューリング手段に対する送信のための前記要求を選択し、前記承諾を受信し、該承諾に従って前記スーパーセルを生成するポートセレクタをさらに有することを特徴とする請求項３記載のシステム。
【請求項５】
前記システムはマルチキャスティングをサポートするように構成されることを特徴とする請求項１記載のシステム。
【請求項６】
前記出力手段から前記スケジューリング装置へ生成されるバックプレッシャ信号をさらに有し、
前記スケジューリング手段は、前記バックプレッシャ信号に従って前記承諾を生成することを特徴とする請求項１記載のシステム。
【請求項７】
前記スケジューリング手段は、前記複数のＡＴＭセルのそれぞれに対するヘッダ情報を必要としないことを特徴とする請求項１記載のシステム。
【請求項８】
前記出力手段は、前記スーパーセルを分解して出力を生成することを特徴とする請求項１記載のシステム。
【請求項９】
前記入力手段は、最小セルレートに適合する前記規定の複数のＡＴＭセルが前記入力手段によって受信された場合に前記２つのクラスのうちの第１のクラスに対する前記要求を送信し、最小セルレートに適合しない前記規定の複数のＡＴＭセルが前記入力手段によって受信された場合に前記２つのクラスのうちの第２のクラスに対する前記要求を送信することを特徴とする請求項１記載のシステム。
【請求項１０】
前記スーパーセルを生成するために使用される前記規定の複数のＡＴＭセルの優先度を決定する先入れ先出し（ＦＩＦＯ）キューをさらに有することを特徴とする請求項９記載のシステム。
【請求項１１】
前記入力手段は、
前記入力ラインから前記データを受信する分類手段と、
前記分類手段から前記データのマルチキャストコピーを生成するマルチキャスティング手段へ前記データをルーティングするルーティング手段と、
前記データを分割する分割手段と、
前記分割されたデータを前記規定の複数のＡＴＭセルのうちの１つへと多重化するマルチプレクサと、
を有することを特徴とする請求項１記載のシステム。
【請求項１２】
前記出力手段は、
前記規定の複数のＡＴＭセルのそれぞれを受信しそのマルチキャストコピーを作成する第１マルチキャストコピー手段と、
前記ＡＴＭセルを分解し、該分解されたＡＴＭセルを、複数のキューのうち前記出力手段の出力オフセットに対応するキューへトランスポートするデマルチプレクサと、
前記複数のキューのそれぞれにおいて、前記分解されトランスポートされたＡＴＭセルのマルチキャストコピーを作成する第２マルチキャストコピー手段と、
複数のサービス品質クラスに対応し、対応する出力ラインへのＩＰデータグラムを生成する複数のキューと、
を有することを特徴とする請求項１記載のシステム。
【請求項１３】
データをトランスポートする方法において、
入力ポートで受信された複数のセルが適合ステータスまたは非適合ステータスのいずれを有するかを判定するステップと、
前記入力ポートの前記キューにおいて、所定数の前記受信されたセルが前記キューにおいて予約されるまで、適合セルのためにキュー位置を予約し、続いて、非適合セルのためにキュー位置を予約するステップと、
前記入力ポートが、前記予約するステップの結果に従って、スケジューラへの要求を生成し送信するステップと、
前記スケジューラから前記入力ポートによって受信された承諾に従って、前記適合セルおよび前記非適合セルの一方からなるスーパーセルを生成しトランスポートするステップと、
出力装置において、前記スーパーセルを受信し分解するステップと、
を有することを特徴とするデータをトランスポートする方法。
【請求項１４】
適合セルが前記入力ポートで受信されるごとに適合セルカウンタをインクリメントし、前記適合セルのキュー番号を適合セルのための先入れ先出し（ＦＩＦＯ）キューイングリストに付加するステップと、
非適合セルが前記入力ポートで受信されるごとに非適合セルカウンタをインクリメントし、前記非適合セルのキュー番号を非適合セルのための先入れ先出し（ＦＩＦＯ）キューイングリストに付加するステップと、
前記適合セルおよび前記非適合セルの一方からなるキューを生成するステップと、
対応して、前記所定数のセルが前記キューに対して予約された後、適合セル要求および非適合セル要求の一方を前記スケジューラへ送るステップと、
前記スケジューラが前記送るステップに従って前記承諾を生成するステップと、
前記承諾に従って、適合スーパーセルおよび非適合スーパーセルの一方を形成するステップと、
を有することを特徴とする請求項１３記載の方法。
【請求項１５】
前記適合セルは、前記複数のＡＴＭセルのうち最小セルレート（ＭＣＲ）に適合する選択されたＡＴＭセルからなり、前記非適合セルは、前記複数のＡＴＭセルのうち前記ＭＣＲに適合しない選択されたＡＴＭセルからなることを特徴とする請求項１３記載の方法。
【請求項１６】
前記スーパーセルを生成しトランスポートするステップは、非適合セルからなるスーパーセルを生成する前に、適合セルからなる少なくとも１つのスーパーセルを生成することを特徴とする請求項１３記載の方法。
【請求項１７】
前記入力ポートにおける複数のキューで複数のサービス品質クラスを処理するステップをさらに有し、
前記入力ポートは１つの出力ポートに対応することを特徴とする請求項１３記載の方法。
【請求項１８】
前記入力ポートにおけるポートセレクタで前記スケジューラに対する送信のための前記要求を選択し、前記承諾を受信し、該承諾に従って前記スーパーセルを生成するステップをさらに有することを特徴とする請求項１７記載の方法。
【請求項１９】
前記方法はマルチキャスティングをサポートするように構成されることを特徴とする請求項１３記載の方法。
【請求項２０】
前記出力装置において前記スケジューラへのバックプレッシャ信号を生成し、該バックプレッシャ信号に従って前記承諾を生成するステップをさらに有することを特徴とする請求項１３記載の方法。
【請求項２１】
前記承諾を生成することは前記複数のセルのそれぞれに対するヘッダ情報を必要としないことを特徴とする請求項１３記載の方法。
【請求項２２】
前記入力ポートは、最小セルレートに適合する規定の複数のＡＴＭセルが前記入力ポートによって受信された場合に２つのクラスのうちの第１のクラスに対する前記要求を送信し、最小セルレートに適合しない前記規定の複数のＡＴＭセルが前記入力ポートによって受信された場合に前記２つのクラスのうちの第２のクラスに対する前記要求を送信することを特徴とする請求項１３記載の方法。
【請求項２３】
前記入力ポートにおける前記セルの受信は、
入力ラインから前記データを分類装置で受信し分類するステップと、
前記分類装置から前記データのマルチキャストコピーを生成するマルチキャスティング装置へ前記データをルーティングするステップと、
前記データを分割装置で分割するステップと、
前記分割されたデータを規定の複数のＡＴＭセルのうちの１つへと多重化するステップと、
を有することを特徴とする請求項１３記載の方法。
【請求項２４】
規定の複数のＡＴＭセルのそれぞれを受信し、そのマルチキャストコピーを作成するステップと、
前記ＡＴＭセルを分解し、該分解されたＡＴＭセルを、複数のキューのうち前記出力装置の出力オフセットに対応するキューへトランスポートするステップと、
前記複数のキューのそれぞれにおいて、前記分解されトランスポートされたＡＴＭセルの第２のマルチキャストコピーを作成するステップと、
前記複数のキューにおいて、複数のサービス品質クラスに対応し、対応する出力ラインごとにＩＰデータグラムを生成するステップと、
を有することを特徴とする請求項１３記載の方法。
【請求項２５】
データをトランスポートするシステムにおいて、
各キューが第１のタイプおよび第２のタイプの複数のセルを受信し、複数の出力ポートに対する複数のサービス品質レベルに対応する複数のキューを有する入力ポートと、
前記入力ポートにおいて、前記入力ポートの前記複数のキューからセルを受信し、前記キューのそれぞれについて将来のタイムスロットのための予約を示す予約ベクトルに従ってスーパーセルを形成するスケジューリングモジュールと、
を有し、
前記複数のキューのうちの非空キューは、前記スケジューリングモジュールへの公平なアクセスを有し、前記スーパーセルは、前記入力ポートからの要求に基づいて生成される承諾に従って前記出力ポートへトランスポートされる、
ことを特徴とするデータをトランスポートするシステム。
【請求項２６】
前記予約ベクトルは、前記スケジューリングモジュールおよび前記複数の出力のうちの対応する出力に対して、後続フレームにおける対応するタイムスロットを予約することを特徴とする請求項２５記載のシステム。
【請求項２７】
前記予約ベクトルは、前記後続フレームの前記対応するタイムスロットが前記スケジューリングモジュールに対して予約されることができない場合、前記後続フレームの次のフレームにおける対応するタイムスロットに対する予約を保持することを特徴とする請求項２６記載のシステム。
【請求項２８】
前記スケジューリングモジュールは、
（ａ）現タイムスロットに対して優先度が保持されているかどうかを判定するステップと、
（ｂ）前記現タイムスロットに対して前記優先度が保持されている場合、前記タイムスロットがＭＣＲに適合するトラフィックによって予約されているかどうかを判定するステップと、
（ｃ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されている場合、または、前記現タイムスロットに対して前記優先度が保持されていない場合、
（ｉ）現出力キューが空であるかどうかを判定するステップと、
（ｉｉ）前記現出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｉｉｉ）前記現出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから後続キューを選択するステップと、
（ｉｖ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記現タイムスロットに対する出力を予約するステップと、を実行するステップと、
（ｄ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されていない場合、保持されている優先度で出力を予約し、次フレームに対する保持優先度を解放するステップと、
（ｅ）ステップ（ｄ）およびステップ（ｉｖ）の一方の完了後、
（ｖ）前記次フレームに対する出力キューが空であるかどうかを判定するステップと、
（ｖｉ）前記次フレームに対する出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｖｉｉ）前記次フレームに対する出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから前記後続キューを選択するステップと、
（ｖｉｉｉ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記次フレームにおける前記タイムスロットに対する出力を予約するステップと、
を実行するステップと、
を実行するように設定されたソフトウェアを有するコンピュータ可読媒体を有することを特徴とする請求項２５記載のシステム。
【請求項２９】
前記ソフトウェアはさらに、
ステップ（ｉ）およびステップ（ｖ）の少なくとも一方を実行する前に、動的ラウンドロビンリストの先頭から開始するステップと、
ステップ（ｉｖ）および（ｖｉｉｉ）の少なくとも一方を実行した後に、前記動的ラウンドロビンリストの末尾へ、予約された出力を移動するステップとを実行し、
前記動的ラウンドロビンは、ステップ（ｉｉｉ）および（ｖｉｉ）の少なくとも一方において、前記後続キューを選択するために適用されることを特徴とする請求項２８記載のシステム。
【請求項３０】
前記第１のタイプのセルは最小セルトランスポートレートに適合し、前記第２のタイプのセルは前記最小セルトランスポートレートに適合しないことを特徴とする請求項２５記載のシステム。
【請求項３１】
前記第１のタイプのセルは、前記第２のタイプのセルの前に、スーパーセルへと構成されることを特徴とする請求項３０記載のシステム。
【請求項３２】
前記公平なアクセスは、前記非空キューのそれぞれに対する均一タイムスロットアクセスからなることを特徴とする請求項２５記載のシステム。
【請求項３３】
データをトランスポートする方法において、
入力装置でデータを受信してセルを生成するステップと、
最小セルレート（ＭＣＲ）条件に適合するセルからなる適合クラスと、非適合クラスの一方に、前記セルを分類するステップと、
前記入力装置からスケジューラへ要求を送信するステップと、
前記スケジューラからの承諾に従って、前記入力装置において前記セルを含む複数のキューに公平なアクセスを提供するように、前記入力装置から出力装置への前記セルのトランスポートを制御するスケジューリングモジュールを動作させるステップと、
前記出力装置で前記セルを分解し、ＩＰデータグラムを出力するステップと、
を有し、
前記動作させるステップは、２つの異なるタイムフレームの２つの異なるタイムスロットについて前記スケジューリングモジュールを動作させることを特徴とするデータをトランスポートする方法。
【請求項３４】
データをトランスポートする方法において、
入力装置でデータを受信してセルを生成するステップと、
最小セルレート（ＭＣＲ）条件に適合するセルからなる適合クラスと、非適合クラスの一方に、前記セルを分類するステップと、
前記入力装置からスケジューラへ要求を送信するステップと、
前記スケジューラからの承諾に従って、前記入力装置において前記セルを含む複数のキューに公平なアクセスを提供するように、前記入力装置から出力装置への前記セルのトランスポートを制御するスケジューリングモジュールを動作させるステップと、
前記出力装置で前記セルを分解し、ＩＰデータグラムを出力するステップと、
を有し、
前記動作させるステップは、現タイムフレームと同一のタイムスロットである後続フレームのタイムスロットに対して規定のキューについて前記スケジューリングモジュールを予約することを含むことを特徴とするデータをトランスポートする方法。
【請求項３５】
前記後続フレームの前記タイムスロットが前記規定のキューについて利用可能でないとき、前記後続フレームの後のフレームの、現フレームと同一のタイムスロットにおけるタイムスロットに対して、予約が保持されることを特徴とする請求項３４記載の方法。
【請求項３６】
前記方法のセルトランスポートレートを制御するために、前記出力装置から前記スケジューラへのバックプレッシャ信号を生成するステップをさらに有することを特徴とする請求項３３記載の方法。
【請求項３７】
前記スケジューリングモジュールを動作させるステップは、
（ａ）現タイムスロットに対して優先度が保持されているかどうかを判定するステップと、
（ｂ）前記現タイムスロットに対して前記優先度が保持されている場合、前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されているかどうかを判定するステップと、
（ｃ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されている場合、または、前記現タイムスロットに対して前記優先度が保持されていない場合、
（ｉ）現出力キューが空であるかどうかを判定するステップと、
（ｉｉ）前記現出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｉｉｉ）前記現出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから後続キューを選択するステップと、
（ｉｖ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記現タイムスロットに対する出力を予約するステップとを実行するステップと、
（ｄ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されていない場合、保持されている優先度で出力を予約し、次フレームに対する保持優先度を解放するステップと、
（ｅ）ステップ（ｄ）およびステップ（ｉｖ）の一方の完了後、
（ｖ）前記次フレームに対する出力キューが空であるかどうかを判定するステップと、
（ｖｉ）前記次フレームに対する出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｖｉｉ）前記次フレームに対する出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから前記後続キューを選択するステップと、
（ｖｉｉｉ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記次フレームにおける前記タイムスロットに対する出力を予約するステップと、
を実行するステップとを有することを特徴とする請求項３３記載の方法。
【請求項３８】
ステップ（ｉ）およびステップ（ｖ）の少なくとも一方を実行する前に、動的ラウンドロビンリストの先頭から開始するステップと、
ステップ（ｉｖ）および（ｖｉｉｉ）の少なくとも一方を実行した後に、前記動的ラウンドロビンリストの末尾へ、予約された出力を移動するステップとをさらに有し、
前記動的ラウンドロビンは、ステップ（ｉｉｉ）および（ｖｉｉ）の少なくとも一方において、前記後続キューを選択するために適用されることを特徴とする請求項３７記載の方法。
【請求項３９】
請求項２５記載のシステムにおける前記スケジューリングモジュールを実現するためにコンピュータを動作させるスケジューリングプログラムにおいて、
（ａ）現タイムスロットに対して優先度が保持されているかどうかを判定するステップと、
（ｂ）前記現タイムスロットに対して前記優先度が保持されている場合、前記タイムスロットがＭＣＲに適合するトラフィックによって予約されているかどうかを判定するステップと、
（ｃ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されている場合、または、前記現タイムスロットに対して前記優先度が保持されていない場合、
（ｉ）現出力キューが空であるかどうかを判定するステップと、
（ｉｉ）前記現出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｉｉｉ）前記現出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから後続キューを選択するステップと、
（ｉｖ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記現タイムスロットに対する出力を予約するステップと、を実行するステップと、
（ｄ）前記タイムスロットが前記ＭＣＲに適合するトラフィックによって予約されていない場合、保持されている優先度で出力を予約し、次フレームに対する保持優先度を解放するステップと、
（ｅ）ステップ（ｄ）およびステップ（ｉｖ）の一方の完了後、
（ｖ）前記次フレームに対する出力キューが空であるかどうかを判定するステップと、
（ｖｉ）前記次フレームに対する出力キューが空でない場合、前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていないかどうかを判定するステップと、
（ｖｉｉ）前記次フレームに対する出力キューが空であるか、または、前記出力ポートが利用可能でないかもしくは別の入力ポートによって保持されている場合、ラウンドロビンリストから前記後続キューを選択するステップと、
（ｖｉｉｉ）前記出力ポートが利用可能でありかつ別の入力ポートによって保持されていない場合、前記次フレームにおける前記タイムスロットに対する出力を予約するステップと、
を実行するステップと、
を有することを特徴とするスケジューリングプログラム。
【請求項４０】
前記スケジューリングプログラムは、さらに、
ステップ（ｉ）およびステップ（ｖ）の少なくとも一方を実行する前に、動的ラウンドロビンリストの先頭から開始するステップと、
ステップ（ｉｖ）および（ｖｉｉｉ）の少なくとも一方を実行した後に、前記動的ラウンドロビンリストの末尾へ、予約された出力を移動するステップと、
を有し、
前記動的ラウンドロビンは、ステップ（ｉｉｉ）および（ｖｉｉ）の少なくとも一方において、前記後続キューを選択するために適用されることを特徴とする請求項３９記載のスケジューリングプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スーパーセルを形成することにより入力ポートと出力ポートの間のトラフィックをスケジューリングする方法およびシステムに係り、特に、クロスバ交換機およびクレジットシステムを仮想出力キューイング（ＶＯＱ：ｖｉｒｔｕａｌ−ｏｕｔｐｕｔ  ｑｕｅｕｉｎｇ）とともに用いた方法およびシステムに関する。
【０００２】
【従来の技術】
従来技術のｄｉｆｆｓｅｒｖトラフィックスケジューリングシステムでは、データグラムヘッダ内の固定フィールドがそのデータグラムのクラスを示し、これが、各ｄｉｆｆｓｅｒｖルータで受信されるデータグラムＰＨＢ（ホップごとの動作：ｐｅｒ−ｈｏｐ−ｂｅｈａｖｉｏｒ）を決定する。トラフィックの各クラスは、個々のトラフィックフローの集合であり、フローをクラスにまとめることは、ネットワークのバウンダリ（境界）ノードでのみ起こる。同様に、フローを条件付けること（すなわち、シェーピングおよびポリシング）は、バウンダリノードでのみ起こる。
【０００３】
従来技術のｄｉｆｆｓｅｒｖルータは、トラフィックの相異なるクラスごとに帯域を予約することによってサービス品質（ＱｏＳ）を提供する。一般に、高ＱｏＳのクラスが上位の扱いを受けることを保証するように、与えられたクラスのトラフィックに対して十分な帯域を予約することが必要である。上記の従来のｄｉｆｆｓｅｒｖ技術はスケーラブルである。その理由は、内部ノードは、少数の集合フローに帯域保証を提供することのみに留意し、トラフィックのシェーピングやポリシングはしないからである。さらに、従来のｄｉｆｆｓｅｒｖ技術は、キューイングについて、ナイーブなアルゴリズムを使用している。
【０００４】
【発明が解決しようとする課題】
しかし、上記の従来技術のスケジューリングの方法およびシステムは、さまざまな問題点および欠点を有する。例えば、以下の例には限定されないが、従来技術の内部ルータは、コンプライアンスチェックを行わない。さらに、従来技術のシステムは、非適合セル（すなわち、全サイズがセルトランスポートのために利用可能な容量より大きいセルの列）を処理することができず、その代わりに、単にそれらのセルを廃棄する結果、従来技術のスケジューラによれば、あるセルはトランスポートされないことが起こる。
【０００５】
さらに、従来技術のスケジューラは、各タイムスロットにおいて、完全なステータス情報を送信する結果、システム資源が浪費され、処理時間が増大する。キューイングに用いられるナイーブなアルゴリズムの結果として、キュー内のセル数がそれらのセルを処理するためのしきい値より少ないときにセルが無制限の時間キューイングされたままとなることがあり、その結果、処理遅延が大きくなる。さらに、従来技術のシステムおよび方法は、従来技術のラウンドロビンアルゴリズムの使用中を含めて、入力ポート１ａ〜１Ｎにおけるセルの不公平な扱いにより、不公平である。従来技術のラウンドロビンアルゴリズムでは、入力ポートにおけるすべての非空キューによるスケジューラへのアクセスの均一のまたは規定の重み付けによって、従来技術のフェアネス（公平性）問題を克服することはできない。
【０００６】
本発明の目的は、従来技術の方法およびシステムの問題点および欠点を克服することである。
【０００７】
本発明のもう１つの目的は、速度を改善した、スケーラブルな、完全稼働（ｗｏｒｋ−ｃｏｎｓｅｒｖｉｎｇ）のパイプラインスケジューリングシステムを提供することである。
【０００８】
本発明のさらにもう１つの目的は、各クラスが固有のサービス品質（ＱｏＳ）を有し、伝送単位として固定サイズのスーパーセルを有するような、トラフィックの複数のクラスをサポートすることである。
【０００９】
本発明のさらにもう１つの目的は、保証レートより大きいトラフィックに対して、非適合トラフィックをサポートする手段を提供することである。
【００１０】
本発明のもう１つの目的は、スケジューリングおよび予約プロセス中に公平に入力および出力ポートを扱うことである。
【００１１】
【課題を解決するための手段】
以上およびその他の目的を達成するため、データをトランスポートするシステムが提供される。このシステムは、（ａ）少なくとも１つの入力ラインからデータを受信し、規定の複数のＡＴＭセルからなる少なくとも１つのスーパーセルを生成する入力装置と、（ｂ）前記規定の複数のＡＴＭセルが前記入力装置に到着したときに前記入力装置から要求を受信し、前記入力装置に前記少なくとも１つのスーパーセルを生成するよう命令する承諾を生成するスケジューリング装置と、（ｃ）クロスバ交換機を介して前記承諾に従って前記少なくとも１つのスーパーセルを受信する出力装置とを有し、前記スーパーセルは、２つだけのクラスのうちの一方からなり、前記出力装置に対応し、前記２つのクラスのうちの第１のクラスは、前記複数のＡＴＭセルのうち最小セルレート（ＭＣＲ：ｍｉｎｉｍｕｍ  ｃｅｌｌ  ｒａｔｅ）に適合する選択されたＡＴＭセルからなり、前記２つのクラスのうちの第２のクラスは、前記複数のＡＴＭセルのうち前記ＭＣＲに適合しない選択されたＡＴＭセルからなる。
【００１２】
さらに、データをトランスポートする方法が提供される。この方法は、（ａ）入力ポートで受信されたセルが適合ステータスまたは非適合ステータスのいずれを有するかを判定するステップと、（ｂ）前記入力ポートの前記キューにおいて、所定数の前記受信されたセルが前記キューにおいて予約されるまで、適合セルのためにキュー位置を予約し、続いて、非適合セルのためにキュー位置を予約するステップと、（ｃ）前記入力ポートが、前記予約するステップの結果に従って、スケジューラへの要求を生成し送信するステップと、（ｄ）前記スケジューラから前記入力ポートによって受信された承諾に従って、前記適合セルおよび前記非適合セルの一方からなるスーパーセルを生成しトランスポートするステップと、（ｅ）出力装置において、前記スーパーセルを受信し分解するステップとを有する。
【００１３】
さらに、データをトランスポートするシステムが提供される。このシステムは、各キューが第１のタイプおよび第２のタイプの複数のセルを受信し、複数の出力ポートに対する複数のサービス品質レベルに対応する複数のキューを有する入力ポートと、前記入力ポートにおいて、前記入力ポートの前記複数のキューからセルを受信し、前記キューのそれぞれに対する予約ベクトルに従ってスーパーセルを形成するスケジューリングモジュールとを有し、前記複数のキューのうちの非空キューは前記スケジューリングモジュールへの公平なアクセスを有し、前記スーパーセルは、前記入力ポートからの要求に基づいて生成される承諾に従って前記出力ポートへトランスポートされる。
【００１４】
さらに、データをトランスポートするもう１つの方法が提供される。この方法は、（ａ）入力装置でデータを受信してセルを生成するステップと、（ｂ）最小セルレート（ＭＣＲ）条件に適合するセルからなる適合クラスと、非適合クラスの一方に、前記セルを分類するステップと、（ｃ）前記入力装置からスケジューラへ要求を送信するステップとを有する。この方法はさらに、（ｄ）前記スケジューラからの承諾に従って、前記入力装置において前記セルを含む複数のキューに公平なアクセスを提供するように、前記入力装置から出力装置への前記セルのトランスポートを制御するスケジューリングモジュールを動作させるステップと、（ｅ）前記出力装置で前記セルを分解し、ＩＰデータグラムを出力するステップとを有する。
【００１５】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について詳細に説明する。実施例は、添付図面に示されている。本発明において、用語は、明細書で与えられた定義を有することを意図しており、それ以外の点では明細書によって限定されない。
【００１６】
［Ｉ．システム全体の説明］
［Ａ．システムアーキテクチャ］
このセクションでは、図１および図２に示されているような、本発明の好ましい実施の形態の全体のアーキテクチャについて説明する。図１は、本発明の好ましい実施の形態のシステムアーキテクチャを示す。Ｎ個の入力ポート１ａ〜１ＮおよびＮ個の出力ポート２ａ〜２Ｎを有するスイッチングシステムが設けられている。入力ポート１ａ〜１Ｎおよび出力ポート２ａ〜２Ｎはそれぞれ、Ｒ個の入力または出力ライン３ａ〜３Ｒを収容する。したがって、図１に示したスイッチングシステムは、全部でＬ＝ＮＲ個のライン（１〜Ｌ）を収容する。あるいは、各ラインは、そのポート番号と、各ポートにおけるオフセット番号とによって識別することもできる。例えば、以下の例には限定されないが、入力ライン数がＲ＝８である場合、入力ポート９の５番目のオフセットは、ライン番号（９×８＋５＝７７）によって表される。
【００１７】
図１に示すように、入力ポートと出力ポート２ａ〜２Ｎとは、ＩＰまたはＡＴＭのトラフィックを収容するＮ×Ｎクロスバ交換機５を通じて通信する。本発明の好ましい実施の形態では、このトラフィックは、データグラムを含むが、これには限定されない。集中スケジューラ４は、入力ポートと出力ポート２ａ〜２Ｎに対する通信パターンを決定する。入力ポート１ａ〜１Ｎにおいて、同じ出力宛先を有する入ＡＴＭセル（例えば、５３バイトのデータグラム）は、より大きい固定サイズのスーパーセル（すなわち、Ｃセル）にまとめられる。その後、スーパーセルは、クロスバ交換機５によってルーティングされ、出力ポート２ａ〜２Ｎで標準セルに再び分解された後、データグラムへと再結合される。スケジューラ４は、以下でさらに詳細に説明するように、クロスバ交換機５にも接続される。
【００１８】
さらに、スケジューラは、ソフトウェアプログラムを蓄積可能なコンピュータ可読媒体を有するスケジューリングモジュールからなることも可能である。ソフトウェアプログラムは、グローバルラウンドロビン、動的ラウンドロビンおよびグローバル動的ラウンドロビンプロセスを実行することが可能である。これらのすべてについては、本明細書で説明するその他の方法、アルゴリズムおよび処理とともに、以下でさらに詳細に説明する。別法として、上記の方法を実行するために、スケジューリングモジュールにおいてハードウェアを使用することも可能である。
【００１９】
図２に、本発明の好ましい実施の形態によるシステムパラメータおよび代表的な値のリストを示す。前述したシステムパラメータＮ、ＬおよびＲに加えて、Ｋはトラフィックのクラスの総数を表し、Ｍはスケジューリングモジュールの総数を表し、Ｓはスケジューリングモジュールあたりのパイプライン段の数を表し、Ｃはスーパーセルあたりのセルの総数を表す。本発明の好ましい実施の形態では、システムパラメータの例示的な値としては、Ｎ＝６４、Ｌ＝５１２、Ｒ＝８、Ｋ＝８、Ｍ＝１６、Ｓ＝１およびＣ＝８があるが、これには限定されない。
【００２０】
［Ｂ．キューイング構造］
このセクションでは、図３および図４に示されているような、入力バッファモジュールにおけるキューイング構造について説明する。前述のように、本発明の好ましい実施の形態は、スーパーセルを出力ポート２ａ〜２Ｎへ送信する。スーパーセルを図３に示す。各スーパーセルは、セル７ａ〜７Ｃを含む。ここで、Ｃ個のセルがスーパーセルに含まれ、各スーパーセルのラベリング情報８ａ〜８Ｃに対応する。出力ポートにおける出力ラインは、各セルの入力ポート、入力オフセット、出力オフセット、およびクラスを知らなければならない。本発明の好ましい実施の形態では、１個のスーパーセル内のすべてのセルは入力ポートが同一である一方、１個のスーパーセル内の各セルはその固有の入力オフセット、出力オフセットおよびクラスを有することが可能である。しかし、以下でさらに説明するように、ヘッダ情報８ａ〜８Ｃは、スケジューラ４がシステムを制御するためには必要とされず、単に、出力ポートの出力ラインのために付加されている。
【００２１】
サービス品質（ＱｏＳ）を考慮したキューイング構造に関して、本発明の好ましい実施の形態によるスイッチングシステムは、トラフィックのＫ個のクラスをサポートし、その各クラスが１つのＱｏＳ（例えば、相異なるサービスレート）をサポートする。各入力ポートモジュールはＫＮ個のキュー（すなわち、それぞれの＜クラス，出力ポート＞のペアごとに１個のキュー）を有する。以下でさらに詳細に説明するように、スケジューラの複雑さを低減するために、ＫＮ２個の入力キューは、その後、２個の仮想キューにまとめられる。
【００２２】
スケジューラ４は、それぞれの＜入力ポート，出力ポート＞のペアごとにＫ個の物理キューを２個の仮想キューにまとめることにより、２Ｎ２個の入力キューをスケジューリングするだけである。入力ポート１ａ〜１Ｎのそれぞれは、その仮想キューのそれぞれについて、クラスＫとは独立のステータスをスケジューラ４へ送り、スケジューラ４は、各タイムスロットにおいてルーティングされるべき部分置換（すなわち、入出力接続の選択の部分的セット）を選択する。タイムスロットごとにただ１つのスーパーセルが各入力ポートスケジューリングモジュールからクロスバ交換機５へ送信され、１タイムステップにただ１つのスーパーセルが各出力ポートへ送信されるように、スケジューラ４は、各タイムスロットにおいてサービスする仮想キューを選択する。スケジューラ４がクロスバ交換機５を制御することも可能であり、あるいは、出力ポートアドレスを、選択されるスーパーセルのヘッダに付加すること（すなわち、自己ルーティングを行うこと）も可能である。
【００２３】
図４に、本発明の好ましい実施の形態による入力ポートｉのモジュールのキュー構造を示す。各入力ポートｉおよび出力ポートｊについて、トラフィックの各クラス（すなわち、ＱｏＳ）を表すＫ個のキューがあることになる。データグラムが入力ルータに到着すると、次ホップおよびクラスが判定され、データグラムはセルに分割された後、セルは適当なキューに送られる。ポートセレクタ６は、入データ伝送で受信された情報に従って、入力ポートｉにおけるキューに対する出力ポートを選択する。
【００２４】
同じく図４に示されているように、ＡＴＭセルが入力ポート１ａ〜１Ｎに到着すると、同じクラスおよび出力ポートのセルは、１個のキューにおいて１個の完全な将来のスーパーセルを作成するのに十分なセルが入るまで、個別のキューにバッファリングされる。次に、スケジューラ４には、将来のスーパーセルの入力ポート、出力ポート、および適合／非適合ステータスに関する情報を含めて、スーパーセルの到着が通知される。将来のスーパーセルは、そのすべてのセルが適合であるときに適合であり、そのすべてのセルが非適合であるときに非適合である。スケジューラ４は、受信したが未サービスの要求の数を保持する変数を管理する。その結果、全部で２Ｎ２個の変数、すなわち、適合トラフィックについてＮ２個、および、非適合トラフィックについてＮ２個の変数が必要とされる。
【００２５】
［Ｃ．入力バッファモジュールのプロセス］
［１．方法の説明］
図５（ａ）および図５（ｂ）に、本発明の好ましい実施の形態によるセルのキューイングおよび入力バッファの動作の方法を示す。図５（ａ）に示すように、最初のステップＳ１で、セルが入力ポートのうちの１つに到着する。次に、ステップＳ２で、ルックアップテーブルにアクセスして、ステップＳ１で到着したセルのクラスおよび出力ポート宛先を判定し、セルがキューイングされる。以下でさらに詳細に説明するように、ステップＳ２８で、キューに対するクレジットカウンタが更新される。
【００２６】
ステップＳ３で、クレジットが利用可能であるかどうかを判定する。クレジットが利用可能である場合、セルは適合であるとみなされ、クレジットが利用可能でない場合、セルは非適合であるとみなされる。クレジットが利用可能である場合、ステップＳ４で、適合セルカウンタをインクリメントし、ステップＳ５で、適合セルカウンタをチェックすることによって、完全な適合スーパーセルのために十分なセルが蓄積したかどうかを判定する。ステップＳ５でスーパーセルのために十分なセルがないと判定された場合、プロセスは終了する。これに対して、スーパーセルのために十分なセルがあると判定された場合、ステップＳ６で、適合スーパーセルを求める要求をスケジューラに送り、ステップＳ７で、適合セルカウンタをＣだけデクリメントする。このＣは、１個のスーパーセル内のセルの数である。これで、入力バッファにおける適合セルの到着に対するプロセスは完了する。
【００２７】
ステップＳ３で、クレジットが利用可能でないと判定された場合、セルは非適合であるとみなされる。その場合、ステップＳ８で、非適合セルカウンタをインクリメントする。ステップＳ９で、非適合セルカウンタをチェックすることによって、完全な非適合スーパーセルのために十分なセルが蓄積したかどうかを判定する。十分なセルが蓄積されていない場合、プロセスは終了する。これに対して、十分なセルが蓄積された場合、ステップＳ１０で、非適合スーパーセルを求める要求をスケジューラに送る。ステップＳ１１で、非適合セルカウンタをＣだけデクリメントし、これで、入力バッファにおける非適合セルの到着に対するプロセスは完了する。
【００２８】
図５（ｂ）は、入力バッファモジュールにおける本発明の好ましい実施の形態による、スーパーセルの形成のためのプロセスを示す。前述のように、いったん適合または非適合のいずれかのスーパーセルのために十分なセルがあると判定されると、要求がスケジューラへ送られる。ステップＳ１２で、入力バッファモジュールは、承諾を受信したかどうかを判定する。承諾を受信していない場合、プロセスは終了する。これに対して、承諾を受信した場合、ステップＳ１３で、スーパーセルがオンザフライで形成され、ステップＳ１４で、そのスーパーセルがクロスバ交換機へ送られる。
【００２９】
図５（ｂ）に示した、本発明の好ましい実施の形態によりオンザフライでスーパーセルの形成を実行する例示的な方法について以下で説明する。固定優先度方式を有する、入力ポートｉから出力ポートｊへのＫ個のクラスキューを考える。スキャン装置がすべてのキューのステータスを検査し、スロット時間をＣで除したものに等しいセル時間内に追加すべき１個のセルを選択する。その結果、Ｃセル時間内に、Ｃ個のセルを選択することが可能であり、スーパーセルは、Ｃセル時間後にルーティングの準備が整うことになる。スキャン装置は、いったん伝送承諾がスケジューラ４から到着した後、スーパーセルを形成するために１スロット時間のレイテンシを被るが、スーパーセルを形成する十分なフレキシビリティを提供する。
【００３０】
各タイムスロットにおける対応するキューに割り当てられるクレジットの数（セル数の単位で）をｚｉｊｋで表す。一般に、ｚｉｊｋは小数値である。例えば、以下の例には限定されないが、入力ポートｉから出力ポートｊへのクラスｋのフローが入力ポートの最大帯域幅の約２０％を利用している場合、ｚｉｊｋは約０．２×Ｃｐｏｒｔに設定される。ここで、Ｃｐｏｒｔは、１個の出力ポートの全容量を表す。公式ｃｉｊｋ＝ｃｉｊｋ＋ｚｉｊｋを用いて各タイムスロットにおけるクレジットを増加させることが理論的には有効となるが、このような高い頻度で必要な変数を更新することは困難である。更新コストを低減するため、本発明は、新たなセルがキューに到着したときにのみ、クレジットを更新する。その結果、各キューは、そのキューに対するクレジット値の最終更新時を示す追加変数を管理する。新たなセルが到着すると、最終クレジット更新以来のタイムスロットの数が計算され、クレジット変数が更新される。
【００３１】
本発明の好ましい実施の形態において、クレジットの無制限の増大を防ぐため、各ｃｉｊｋに対して最大値を強制することが必要である。さらに、キュー到着の間の時間が拡大したことによるラップアラウンド問題が生じる可能性があるため、最終到着以来のタイムスロットの数を表現することが不可能となりうる。ラップアラウンド問題を克服するため、本発明の好ましい実施の形態は、低オーバーヘッドのバックグラウンド更新メカニズムを含む。
【００３２】
将来のスーパーセルの存在が通知される時刻を決定するため、Ｃ個の適合セルまたはＣ個の非適合セルのいずれかがキューに蓄積したときに、入力ポート１ａ〜１Ｎのうちの１つがスケジューラ４に通知する。
【００３３】
これで、入力バッファモジュールと、関連する入力キューイング構造とに関するスーパーセル形成のプロセスは完了する。
【００３４】
［２．例示的な擬似コード］
図５（ａ）および図５（ｂ）に示した本発明の好ましい実施の形態による、入力ポートに対する例示的な擬似コードは以下の通りである。
【００３５】
0003614132.tif 000002
0003614132.tif 000003
【００３６】
上記の擬似コードを実装するため、前述と同様に、送信がスケジューラ４によって承諾されると、ラウンドロビン型のアルゴリズムがスーパーセルをオンザフライで形成する。別法として、先入れ先出し（ＦＩＦＯ）キューを用いてスーパーセルを形成することも可能である。ＦＩＦＯキュー法では、セルが到着すると必ず、セルのキュー番号がＦＩＦＯキューにキューイングされる。適合トラフィックはその固有のＦＩＦＯキューを有し、非適合トラフィックもまたその固有のＦＩＦＯキューを有する。入力バッファがスケジューラ４から承諾を受け取ると、クラスキューはＦＩＦＯの順序で空にされる。
【００３７】
このオプションのＦＩＦＯ法を実装するには、次の擬似コードを実装することが可能である。ここで、ＦＶｉｊは、入力ポートｉから出力ポートｊへの適合セルのキュー番号を保持するＦＩＦＯであり、ＦＷｉｊは、入力ポートｉから出力ポートｊへの非適合セルのキュー番号を保持するＦＩＦＯである。
【００３８】
0003614132.tif 000004
0003614132.tif 000005
【００３９】
［Ｄ．スケジューラの仮想キューイング構造］
このセクションでは、複数のチップを有するスケジューラの仮想キューイング構造について説明する。具体的には、入力バッファモジュールに関してスケジューラで行われるアクティビティについて説明する。
【００４０】
図６に、本発明の好ましい実施の形態によるスケジューラの構造を示す。以下でさらに詳細に説明するように、複数のチップ１００、１０１が設けられ（例えば、１〜Ｍ）、チップ１００、１０１のそれぞれは、複数の入力ポート１ａ〜１ｎを処理することが可能である。ただし、ｎ＝Ｎ／Ｍである。入力ポートごとに、各出力について、適合および非適合スーパーセルに対するカウンタがある。図６は、本発明のスケジューリングモジュールの例示的記述であるが、本発明はこれに限定されない。図６に示すように、第１のスケジュールモジュールは時刻（ｔ）に動作し、第２のスケジュールモジュールは時刻（ｔ＋１）に動作し、第３のスケジュールモジュールは時刻（ｔ＋２）に動作し、第４のスケジュールモジュールは時刻（ｔ＋３）に動作する。さらに、チップ１００と１０１の間には接続があり、以下でさらに詳細に説明するように、フェアネスを確保し最小帯域幅を保証するためにメッセージを送信することができるようになっている。
【００４１】
スケジューラは、どの入力ポートも複数のスーパーセルを送信せず、どの出力ポートも複数のスーパーセルを受信しないという制約の下で、各スロットごとに入出力接続のセットを選択する。スケジューラをＮ（入力または出力ポートの数）とともにスケーラブルにするためには、パイプラインアーキテクチャを有する分散スケジューラが必要である。このパイプラインスケジューラアーキテクチャでは、Ｎ×Ｎシステムのスケジューリングタスクが、モジュールあたりＮ／Ｍ個の入力ポートの、複数（例えば、Ｍ個）のスケジューラモジュール（ＳＭ：Ｓｃｈｅｄｕｌｅｒ  Ｍｏｄｕｌｅ）に分散される。これらのＳＭは、ラウンドロビンリング方式で接続される。与えられたタイムスロットにおいて、各ＳＭは、その上流の隣接ＳＭからスケジューリングメッセージを受け取り、スケジューリング決定を行い、おそらくは変更されたスケジューリングメッセージをその下流の隣接ＳＭに渡す。各ＳＭはすべて互いに独立のスケジューリング決定を行うため、あるタイムスロットに対して、他の決定とは異なるスケジューリング決定を行うことが必要とされる。したがって、この分散スケジューラがＮ個のポートに対するＭ個のスケジューリングスロットを完了するには、Ｍ個のタイムスロットからなるフレームが必要となる。
【００４２】
図１１に、４個のＳＭを有する４×４システムを示す。各ＳＭがその入力ポートについて相異なるタイムスロットでスケジューリングを行うことを示すために、スケジューリングウィンドウも用いられている。このウィンドウの各ボックス内の数字は、対応するＳＭ（縦軸）がその入力のために対応するタイムスロット（横軸）でスケジューリングを行うタイムスロットを示す。例えば、以下の例には限定されないが、タイムスロット１において、ＳＭ１は入力ポート１のためにタイムスロット５および出力ポート２の決定を行い、ＳＭ２は入力ポート２のためにタイムスロット６および出力ポート２の決定を行い、ＳＭ３は入力ポート３のためにタイムスロット７および出力ポート２の決定を行い、ＳＭ４は入力ポート４のためにタイムスロット８および出力ポート３の決定を行う。１タイムスロット後で、各ＳＭは、その入力ポートのために、その上流のＳＭから受け取ったタイムスロットについて、スケジューリングをしようと試みる。４タイムスロットからなるフレームの後、すべてのＳＭは、４タイムスロットすべてについて、すべての入力ポートのためにスケジューリングを試みていることになる。
【００４３】
［Ｅ．パイプラインスケジューラの遅延］
［１．遅延の概念］
パイプライン実装についてさらに説明するために、Ｓ個のパイプライン段からなるスケジューリングモジュールを有する単純なハードウェアモデルを提供する。ここで、Ｓの値は実装に依存するが、１≦Ｓ≦Ｎ／Ｍの範囲内の整数となる。一般に、各パイプライン段は、Ｎ／Ｍ／Ｓ個の入力ポートからなるブロックを処理する。パイプライン段は、互いに予約ベクトルを受け渡す。予約ベクトルは、将来のある時点でルーティングされるべき部分置換を表す。これは単に、どの出力ポートがそのスロットのためにすでに予約されているかを示し、したがって、必要とされるのはＮビットだけである。
【００４４】
あるタイムスロットにおいて、各パイプライン段は、そのＮ／Ｍ／Ｓ個の入力ポートのそれぞれについて（可能であれば）予約を行い、その隣のパイプライン段に予約ベクトルを渡すことができる。このアプローチでは、すべての入力ポートは、ＳＭタイムスロットのレイテンシで、予約ベクトルにおける予約をしようとすることが許される。システムのスループットを増大させるには、各予約モジュールが予約ベクトルから開始するようにすることによって、スケジューリングウィンドウが開始される。このようにして、ＳＭ個の予約ベクトルをＳＭスロット時間で計算することができる。
【００４５】
このように、各入力ポートが各予約ベクトルを見る２回の機会を有するという事実を考慮することによって、スケジューラの複雑さは増大する。１回目に予約ベクトルを見るときには、適合トラフィックのみを予約しようとする。２回目にその予約ベクトルを見るときには、非適合トラフィックも予約しようとすることができる。２つのスケジューリング段階を有するため、スケジューラのレイテンシは２ＳＭタイムスロットへと倍になる。すなわち、ＳＭタイムスロットごとに出力をスケジューリングするために２ＳＭタイムスロットを必要とする。われわれは、タイムスロットごとに１セットの出力ポート予約をスケジューリングする必要があるため、これは不十分である。この問題点を克服するために、各スケジューリングモジュールにおける資源を倍にする。各スケジューリングモジュールは、各スロット時間において２個の予約ベクトルを処理しなければならない。
【００４６】
時刻ｔ＝１において、ＳＭ個のパイプライン段にわたって分散されたＳＭ個の予約ベクトルから開始する。時刻ｔ＝ＳＭにおいて、それらのベクトルは適合トラフィックのための予約を有する。時刻ｔ＝ＳＭ＋１において、ＳＭ個の予約ベクトルの新たなバッチを開始する一方、もとのバッチについて、パイプラインを通るその２回目のパスを開始させる。このように、各スロット時間において、各パイプライン段は、１つのベクトルについて適合予約を、もう１つのベクトルについて非適合予約を処理している。１個のベクトルをスケジューリングするための全レイテンシは２ＳＭであるが、システムはＳＭスロットごとにＳＭ個のベクトル（このスケジューリングウィンドウで計算されるが次のスケジューリングウィンドウで用いるための）を出力する結果、要求されるスループットが得られる。
【００４７】
現在のハードウェアの制約をより正確にモデル化するため、ここで、モジュール間で予約ベクトルを転送するためには１タイムスロットかかると仮定する。１個だけのベクトルを考えると、レイテンシは２（ＳＭ＋Ｍ）へと増大している。前の段落に記載した技術を用いることは実行不能となる。その理由は、ＳＭ＋ＭタイムスロットごとにＳＭ個の部分置換しか計算しないことになるからである。与えられた時刻において、２（ＳＭ＋Ｍ）個の予約ベクトルを処理している必要がある。この目標を達成するには、転送時間は、処理が行われないパイプライン段と等価である。予約ベクトルのバッチの最初に、転送段もまた予約ベクトルから開始する。実効的に、各バッチは、ＳＭの代わりにＳＭ＋Ｍ個の予約ベクトルから開始する。繰り返していえば、レイテンシは２（ＳＭ＋Ｍ）となっており、システムは、ＳＭ＋ＭタイムスロットごとにＳＭ＋Ｍ個の予約ベクトルを出力する。
【００４８】
［２．例示的な説明］
Ｎ＝４、Ｍ＝２、およびＳ＝２の場合の小さいスケジューリングアルゴリズムの例を図７に示す。これは、１つの予約ベクトルの操作を強調している。行列ｘおよびｙはそれぞれ、適合および非適合トラフィックの転送を待機するスーパーセルの数を表すｘｉｊおよびｙｉｊを保持する。この例では、これらの値は、予約ベクトルがスケジューラを通るときに変化しないが、一般にこの通りである必要はない。この例はまた、モジュール間の通信が余分の遅延を被らないことも仮定している。パイプラインを通る１回目のパスで、入力ポート１は出力ポート１を予約し、入力ポート４は出力ポート４を予約する。２回目のパスで、入力ポート３は出力ポート２を予約する。なお、与えられた入力ポートは、与えられたタイムスロットにおいて１個の予約のみをすることができる。１個のベクトルをスケジューリングするためのレイテンシは２ＳＭ＝８タイムスロットである。
【００４９】
図８に、スケジューリングウィンドウ内の予約ベクトルの動きを強調する、より大きい例（Ｎ＝３２、Ｍ＝４、およびＳ＝２）を示す。モジュール間の遅延が存在するため、スケジューラは、１２スロットごとにＳＭ＋Ｍ＝１２個の予約ベクトルを出力する。図示したウィンドウにおいて、タイムスロット１〜１２に対する予約ベクトルは、適当または非適合のいずれかのトラフィックのために予約をすることができる。その理由は、前の処理動作において、適合のみの予約がこれらのタイムスロットに対してなされていたからである。これらは破線のボックスとして示されている。タイムスロット１３〜２４に対する予約ベクトルは、新たな適合トラフィックのみに対する予約をすることができる。これらは実線のボックスとして示されている。
【００５０】
［Ｆ．スケジューラの方法］
図９に、本発明の好ましい実施の形態による、スケジューラが入力バッファモジュールからの情報を処理する方法を示す。最初のステップＳ１５で、入力バッファモジュールから要求を受け取る。前述のように、クレジットが利用可能であるかどうかに依存して、この要求は、適合または非適合のいずれかのスーパーセルに対するものとなる。ステップＳ１６で、要求のタイプに基づいて、適合または非適合のいずれかのキューのキュー長をインクリメントする。その後、スケジューラは、タイムスロットｔにおけるセルを出力のためにスケジューリングする（これは、相異なる入力のそれぞれに対して相異なるタイムスロットにおいてなされる）ことによって、必要な予約を行う。その後、各入力に対して、スーパーセルが入力のためにスケジューリングされ、入力バッファモジュールへ承諾が送られる。
【００５１】
入力バッファモジュールが承諾を受け取ると、プロセスは、図５（ｂ）に示しすでに詳細に説明したように、実行される。
【００５２】
図１０に、本発明の好ましい実施の形態によって、スケジューラがトランスポートのためにスーパーセルをスケジューリングする方法を示す。最初のステップＳ１７で、スーパーセルが、将来のタイムスロットｔにおけるトランスポートのために、接続された入力に対してスケジューリングされる。次に、ステップＳ１８で、接続された入力のうちの１つに承諾が送られる。ステップＳ１９で、スケジューラ内の次のチップ（すなわち、スケジューリングモジュール）に予約ステータスが送信される。ステップＳ２０で、フレームが完了したかどうかを判定するチェックが実行される。フレームが完了した場合、プロセスは終了する。フレームが完了していない場合、ステップＳ２０でフレームが完了したと判定されるまで、ステップＳ１７〜Ｓ２０が繰り返される。
【００５３】
［ＩＩ．フェアネス問題とパイプラインスケジューラ］
従来技術のパイプラインスケジューラの動作については、上記のセクションＩで詳細に説明した。従来技術のパイプラインスケジューラには、フェアネス問題として知られる問題が存在する。フェアネス問題の基礎は、すべての入力ポートあるいは出力ポートが、利用可能なタイムスロットを等しく共有するとは限らないということである。
【００５４】
そこで、フェアネスは、全利用可能容量のシェアに対するスケジューリングモジュールの公平なアクセスによって定義することができる。フェアネスは、さらに、均一重み型であるかそれとも不均一重み型であるかに基づいて分けることができる。例えば、以下の例には限定されないが、トラフィックを有するすべてのスケジューリングモジュールが全容量に関して均一なアクセスを保証されている場合、均一フェアネスが保証されている。例えば、均一フェアネスは、それぞれトラフィックを運んでいるアクティブなスケジューリングモジュール（ＳＭ）が、以下でさらに詳細に説明する入力および出力のボトルネック状況であっても、全容量への均一なアクセスを有するとき、均一フェアネスが存在する。
【００５５】
別法として、フェアネスは重み付けすることも可能である。特定のスケジューリングモジュールが、重いトラフィックにより、またはその他の何らかの理由のために、優先権を与えられる場合、そのスケジューリングモジュールは、より大きい重みが与えられることになる。例えば、第１のＳＭが第２のＳＭより高く重み付けされる場合（例えば、７５／２５）、全容量に対するアクセスのうち第１のＳＭが受けるシェア（例えば、７５％）は、第２のＳＭ（例えば、２５％）よりも比例的に大きい。
【００５６】
さらに、重み付けの概念は、上記の例における２つのスケジューリングモジュールの間の比較には限定されず、トラフィックを運んでいるすべてのアクティブなスケジューリングモジュールの間で重み付けを分配するためにも使用可能である。
【００５７】
［Ａ．出力ポートにおけるボトルネック］
フェアネス問題は、入力ポートあるいは出力ポートにおけるボトルネックにより起こりうる。特定の入力ポートが多くの相異なる出力ポートに対するキューを有する場合、キューどうしの間の伝送容量の割当ての問題がある。割当てが適切でない場合、出力ポート選択の順序がフェア（公平）でなければ出力間にコリジョン（衝突）があり得る。さらに、出力フェアネスを維持しないと、ビジーな出力ポートにおける輻輳が生じうる。以下でさらに詳細に説明するように、本発明の好ましい実施の形態は、出力ポートにおける従来技術のボトルネック問題を克服する。
【００５８】
出力ボトルネック問題の一例は次の通りである。まず、タイムフレームに関して、特定のタイムスロットに対する従来技術のスケジューリングのシーケンスは常に固定され、分散アーキテクチャにおけるＳＭの接続のトポロジーにより、スケジューラモジュール（ＳＭ）間でアンフェア（不公平）であると仮定される。図１１（以下でさらに詳細に説明する）に示すように、タイムスロット５、９、１３など（すなわち、各タイムフレームの最初のタイムスロット）に対して、スケジューリング順序は常に、ＳＭ１→ＳＭ２→ＳＭ３→ＳＭ４である。
【００５９】
例えば、以下の例には限定されないが、ＳＭ１およびＳＭ２にはトラフィックがなく、ＳＭ３およびＳＭ４はいずれも出力ポート１のみへ行くトラフィックを有する。従来技術のスケジューラでは、ＳＭ３がタイムフレーム２の３個のタイムスロット５、６、および７をすべて消費し、ＳＭ４はタイムスロット８のみを得る。このため、ＳＭ３は全容量の３／４を得る一方、ＳＭ４は全容量の１／４しか得られない。このパターンは、残りのタイムフレームの動作中も続くことになる。上記の状況では、理想的には、第１および第２のＳＭはそれぞれ全容量の５０％を得るべきである。結果として、ＳＭ４は、ＳＭ３に関して、フェアなアクセスを有しない。上記の問題を、出力ポートボトルネック問題という。
【００６０】
［Ｂ．入力ポートにおけるボトルネック］
さらに、ボトルネック問題は入力ポートでも起こりうる。例えば、以下の例には限定されないが、入力ポートが出力ポートに関してアンフェアに扱われる（すなわち、全容量が、相異なる入力ポートと同一の出力ポートを有する複数の複数のスケジューラモジュール間でフェアに割り当てられない）とき、入力ポートのうちのいくつかで輻輳が起こりうる。以下でさらに詳細に説明するように、本発明の好ましい実施の形態は、入力ポートにおける従来技術のボトルネック問題を克服する。
【００６１】
［ＩＩＩ．均一フェアネスの達成（グローバル動的ラウンドロビン）］
前述のように、パイプラインスケジューラにおけるフェアネス問題は、均一フェアネスまたは重み付きフェアネスのいずれかを有することによって克服される。均一フェアネスを達成するには、グローバル動的ラウンドロビン（ＧＤＲＲ：ｇｌｏｂａｌ  ｄｙｎａｍｉｃ  ｒｏｕｎｄ  ｒｏｂｉｎ）が適用される。このセクションは、前述の従来技術の出力ポートおよび入力ポートのボトルネック問題を克服することについて個別に説明した後、ボトルネック問題に対する、均一フェアネスを達成する組み合わされた全体的な解決法について説明する。１つの例も提供される。
【００６２】
［Ａ．出力ボトルネック問題の克服（グローバルラウンドロビン）］
前のセクションで説明したように、複数の入力ポートが同一の出力ポートへ出力を送るときに出力ボトルネック問題が起こる。この問題を克服するため、グローバルラウンドロビン（ＧＲＲ：Ｇｌｏｂａｌ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）が適用される。このセクションでは、ＧＲＲの適用について説明する。
【００６３】
従来技術では、出力における速度ボトルネック問題を克服するため、ラウンドロビン方式を用いて上記の例を実現する。図１１に示すように、ラウンドロビン（ＲＲ：ｒｏｕｎｄ  ｒｏｂｉｎ）方式では、各スケジューラモジュールＳＭ１〜ＳＭ４は、与えられたタイムスロットに対して、予約ステータスベクトルを生成するために、現フレームの１フレーム前にスケジューリングを行う。与えられたタイムフレームにおいて、各ＳＭにより４個のスーパーセルが送信されることが可能である。したがって、ＴＳ１では、ＳＭ１はＴＳ５を予約し、ＳＭ２はＴＳ６を予約し、などとなる。ＴＳ２では、ＳＭ２はフレーム２に対するＴＳ５を（それがまだＳＭ１によって予約されていなければ）予約する機会を有し、ＳＭ３はＴＳ６について同じ機会を有し、ＳＭ４はＴＳ７について同じ機会を有し、ＳＭ１はＴＳ８について同じ機会を有する。こうして、前述のように、この基本的な従来技術のパイプラインスケジューラから、フェアネス問題が生じる。
【００６４】
出力ポートボトルネックに関係するフェアネス問題を克服するため、本発明の好ましい実施の形態のＧＲＲアルゴリズムを図１２（ａ）および図１２（ｂ）に示す。最初のステップＳ２１で、現タイムスロットについて優先度が保持されているかどうかを判定する。判定がＹＥＳである場合、ステップＳ２２で、現タイムスロットが最小セルレート（ＭＣＲ）トラフィックによって予約されているかどうかを判定する。ＭＣＲトラフィックの概念については以下で詳細に説明する。
【００６５】
ステップＳ２２の判定がＮＯである場合、ステップＳ２３で、出力は保持されている優先度で予約され、ステップＳ２４で、次フレームに対する保持優先度を解放する。これに対して、ステップＳ２２の判定がＹＥＳである場合、ステップＳ２５で、保持優先度を解放する。
【００６６】
ステップＳ２５の後、あるいは、ステップＳ２１の判定がＮＯである場合、ステップＳ２６で、出力キューが空であるかどうかを判定する。出力キューが空である場合、ステップＳ２７で、ラウンドロビンリスト内の別のキューを試み、空でない出力キューが見つかるまでステップＳ２６およびＳ２７を繰り返す。
【００６７】
Ｓ２６の判定がＮＯである場合、ステップＳ２９で、（ａ）出力ポートが利用可能であり、かつ、（ｂ）出力ポートが別の入力ポートによって保持されていないかどうかを判定する。ステップＳ２９の判定がＮＯである場合、すでに詳細に説明したようにステップＳ２７が実行される。ステップＳ２９の判定がＹＥＳである場合、ステップＳ３０で、出力ポートが予約される。
【００６８】
図１２（ｂ）に示すように、ステップＳ３０、あるいは、ステップＳ２４が完了した後、ステップＳ３１で、次フレームについて出力キューが空であるかどうかを判定する。ステップＳ３１の判定がＹＥＳである場合、ステップＳ３２で、ラウンドロビンリスト内の次のキューを試み、次フレームに対する空でない出力キューが見つかるまでステップＳ３１およびＳ３２を繰り返す。
【００６９】
ステップＳ３１の判定がＮＯである場合、ステップＳ３３で、次フレームについて、利用可能な出力ポートがあり、かつ、それが別の入力ポートによって保持されていないかどうかを判定する。ステップＳ３３の判定がＮＯである場合、すでに詳細に説明したようにステップＳ３２が実行される。これに対して、ステップＳ３３の判定がＹＥＳである場合、ステップＳ３４で、次フレームにある出力（すなわち、Ｊ）に対して予約が保持される。
【００７０】
本発明の代替実施形態では、最小セルレート（ＭＣＲ）予約をすることができる。これは、保持優先度での入力ポートによる出力ポートの予約に対する許可をブロックすることができる。このような実施の形態については、すでにステップＳ２２およびＳ２５に関して記載されているが、以下でも詳細に説明する。上記の代替実施形態は、特定の入力ポートが多くの相異なる出力ポート２ａ〜２Ｎに対するキューを有し、その特定の入力ポートがそのキューの間で伝送容量を均一に分けて出力フェアネスを維持しなければならないような場合に実行される。
【００７１】
［Ｂ．入力ボトルネック問題の克服（動的ラウンドロビン）］
前のセクションでも説明したように、相異なる出力ポートが共通の入力ポートを共有するときに入力ボトルネック問題が起こる。この問題を克服するため、動的ラウンドロビン（ＤＲＲ：Ｄｙｎａｍｉｃ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）が適用される。このセクションでは、ＤＲＲの適用について説明する。
【００７２】
個々の入力におけるボトルネック速度問題を克服するため、ＤＤＲアルゴリズムを適用する。本発明による好ましい実施の形態では、ＳＭは、出力ポート２ａ〜２Ｎが入力ポートによって選択される順序を管理する動的に調整されたラウンドロビンリストを使用する。動的ラウンドロビン（ＤＲＲ）リストの選択および順序づけのプロセスは、リスト内の選択／サービスされる要素がリストの末尾へ移動され、サービスされない場合にはリストの先頭にとどまるという点で、従来技術のラウンドロビンリストとは異なる。
【００７３】
例えば、以下の例には限定されないが、図１１において、入力ポート１が出力ポート１、２、および３に対するキューを有する場合、動的ラウンドロビンリストの初期選択順序は（１，２，３）である。出力ポート１がサービスされると、リストは（２，３，１）となる。これに対して、ポート１がブロックされ（すなわち、他の入力によって予約され）ているために最初に出力ポート２がサービスされる場合、リストは（１，３，２）となり、出力ポート１は次のタイムフレームでも優先的に選択される。
【００７４】
［Ｃ．出力および入力ボトルネック問題の克服（グローバル動的ラウンドロビン）］
上記のセクションＩＩＩ．ＡおよびＩＩＩ．Ｂで説明したように、出力および入力ボトルネックはそれぞれ、ＧＲＲおよびＤＲＲを適用することによって個別に克服することができる。しかし、入力ボトルネック問題を出力ボトルネック問題とともに実質的に同時に克服するため、以下でさらに詳細に説明するように、グローバル動的ラウンドロビン（ＧＤＲＲ）解決法が提供される。
【００７５】
図１３（ａ）および図１３（ｂ）に、本発明の好ましい実施の形態によるＧＤＲＲのステップを示す。指示するところでは、ＤＲＲおよびＧＲＲ法がすでに説明したように実行される。最初のステップＳ３５で、現タイムスロットについて優先度が保持されているかどうかを判定する。判定がＹＥＳである場合、ステップＳ３６で、現タイムスロットが最小セルレート（ＭＣＲ）トラフィックによって予約されているかどうかを判定する。これについては、すでに図１２（ａ）および図１２（ｂ）に関して説明したが、以下でもさらに説明する。
【００７６】
ステップＳ３６の判定がＮＯである場合、ステップＳ３８で、出力は保持されている優先度で予約され、ステップＳ３９で、次フレームに対する保持優先度を解放する。これに対して、ステップＳ３６の判定がＹＥＳである場合、ステップＳ３７で、保持優先度を解放する。
【００７７】
ステップＳ３７の後、あるいは、ステップＳ３５の判定がＮＯである場合、ステップＳ４０で、プロセスは、上記のＤＲＲプロセスによって決定されるＤＲＲリストの先頭から開始される。そこで、ステップＳ４１で、出力キューが空であるかどうかを判定する。出力キューが空である場合、ステップＳ４２で、ＤＲＲリスト内の別のキューを試み、現フレームにおける現タイムスロットに対して空でない出力キューが見つかるまでステップＳ４０〜Ｓ４２を繰り返す。
【００７８】
Ｓ４１の判定がＮＯである場合、ステップＳ４３で、現フレームにおける現タイムスロットに対して、（ａ）出力ポートが利用可能であり、かつ、（ｂ）出力ポートが別の入力ポートによって保持されていないかどうかを判定する。ステップＳ４３の判定がＮＯである場合、すでに詳細に説明したようにステップＳ４２が実行される。ステップＳ４３の判定がＹＥＳである場合、ステップＳ４４で、出力ポートが予約される。次に、ステップＳ４５で、ＤＲＲアルゴリズムに関してすでに説明した方法によって、現タイムスロットおよび現フレームに対する出力が、ＤＲＲリストの末尾に移動される。
【００７９】
図１３（ｂ）に示すように、ステップＳ４５、あるいは、ステップＳ３９が完了した後、ステップＳ４６で、プロセスは、次フレームのＤＲＲリストの先頭から開始される。そこで、ステップＳ４７で、次フレームについて出力キューが空であるかどうかを判定する。ステップＳ４７の判定がＹＥＳである場合、ステップＳ４８で、ＤＲＲリスト内の次のキューを試み、次フレームに対する空でない出力キューが見つかるまでステップＳ４６およびＳ４７を繰り返す。
【００８０】
ステップＳ４７の判定がＮＯである場合、ステップＳ４９で、次フレームについて、利用可能な出力ポートがあり、かつ、それが別の入力ポートによって保持されていないかどうかを判定する。ステップＳ４９の判定がＮＯである場合、すでに詳細に説明したようにステップＳ４８が実行される。これに対して、ステップＳ４９の判定がＹＥＳである場合、ステップＳ５０で、次フレームにある出力（すなわち、Ｊ）に対して予約が保持される。次に、次フレームに対する出力が、ＤＲＲリストの末尾に移動される。
【００８１】
すでに説明したように、本発明の代替実施形態では、最小セルレート（ＭＣＲ）予約をすることができる。これは、保持優先度での入力ポートによる出力ポートの予約に対する許可をブロックすることができる。
【００８２】
このように、ＧＤＲＲアルゴリズムは、前述のＧＲＲおよびＤＲＲアルゴリズムの特徴を組み合わせて、単一のアルゴリズム（すなわち、ＧＤＲＲ）において上記の入力ボトルネックおよび出力ボトルネックの問題を克服することにより、均一フェアネスを提供する。
【００８３】
［Ｄ．例示的な説明］
図１４（ａ）および図１４（ｂ）に、本発明の好ましい実施の形態の第１の例を示す。図１４（ａ）において、４×４システムの簡単な例を用いて、スケジューリングアルゴリズムの詳細を例示する。この例では、ポート１／ＳＭ１は出力ポート２へのトラフィックを有し、ポート２／ＳＭ２は出力ポート２へのトラフィックを有し、ポート３／ＳＭ３は出力ポート２および４へのトラフィックを有し、ポート４／ＳＭ４は出力ポート３および４へのトラフィックを有する。
【００８４】
図１４（ａ）において、ＳＭ１は、ポート２が保持されておらず利用可能であるため、タイムスロット５について出力ポート２に対する予約を行う。＜ＯＲ，Ｐ＞ベクトルは、タイムスロット５における予約により＜００００，００００＞から＜０１００，００００＞に変化する。＜ＰＩ，ＰＯ＞ベクトルは、ポート２がラウンドロビン順序の先頭にあるため、＜０，２＞となる。更新された＜ＰＩ，ＰＯ＞ベクトルは、現タイムフレームの最初のタイムスロットにおいてＳＭ１とともにとどまり、次タイムフレームの最初のタイムスロットにおいてＳＭ１によって継承されることになる。
【００８５】
また、ＳＭ２は、ポート２がタイムスロット５において予約されたが、保持のためには開かれているため、タイムスロット９について出力ポート２に対する予約許可を保持する。＜ＯＲ，Ｐ＞ベクトルは、タイムスロット９における保持により＜０１００，００００＞から＜０１００，０１００＞に変化する。＜ＰＩ，ＰＯ＞ベクトルは、ポート２がラウンドロビン順序の先頭にあり、入力ポート２が今度はタイムスロット９において出力ポート２について予約権を保持しているため、＜２，２＞となる。第３のエントリは、ＳＭ３が、タイムスロット６において出力ポート４を予約するのみならず、タイムスロット１０において出力ポート２に対する許可を保持することも示す。
【００８６】
次に、ＳＭ３は、ポート２がタイムスロット５において予約されており、その保持権はタイムスロット９において保持されたため、タイムスロット５について出力ポート４に対する予約を行う。＜ＯＲ，Ｐ＞ベクトルは、出力ポート４に対するタイムスロット５における予約により＜０１０１，０１００＞から＜０１０１，０１００＞に変化する。＜ＰＩ，ＰＯ＞ベクトルは、＜０，２＞となる。ポート４が最初にサービスされたが、ポート２は、ラウンドロビン順序の先頭としてとどまる。この方式は、ポート２がサービスされる機会を失わないように、スケジューリングプロセスの次のラウンドについてポート２に優先権を与えることになる。
【００８７】
図１４（ａ）および図１４（ｂ）は、ＳＭ１およびＳＭ２の両方が、予約も保持も、スケジューリングを行うことから完全にブロックされることを示している。したがって、＜ＯＲ，Ｐ＞ベクトルは同一にとどまる。＜ＰＩ，ＰＯ＞ベクトルは、＜０，２＞となる。ポート２は、ラウンドロビン順序の先頭である。
【００８８】
タイムスロット４の終了、すなわち、タイムフレーム１の終了時に、タイムスロット５、６、７、および８はスケジューリングされている。スケジューラは、スケジューリングのためにタイムフレーム２にスライドする。
【００８９】
なお、ＳＭ１、ＳＭ２、ＳＭ３、およびＳＭ４のＯＲベクトルは、タイムフレーム２の最初に０に設定されるが、Ｐベクトルは、タイムフレーム１の終了時のＳＭ４、ＳＭ１、ＳＭ２、およびＳＭ３からそれぞれ継承される。ＳＭ１およびＳＭ２は、スケジューリングからブロックされる。その理由は、いくつかの他の入力ポートが、このタイムフレームにおいてタイムスロット５および６に対して予約権を保持しているからである。
【００９０】
ＳＭ２は、ＳＭ２／入力ポート２がタイムスロット９に対して予約権を保持したため、出力ポート２に対する予約を行う。ＳＭ２は、いったんこの権利を執行したら、他のＳＭがこの権利を使うことができるように、ベクトルＰを０１００から００００に変化させることによって、この権利を返さなければならない。さらに、ＰＩは０にリセットされなければならない。
【００９１】
図１４（ａ）および図１４（ｂ）に示す残りのスケジューリングステップについてはこれ以上説明しない。それらのステップは、すでに詳細に説明したのと同じ方法に従うからである。
【００９２】
［ＩＶ．最小帯域幅の保証］
［Ａ．２段階スケジューリングシステム］
適合トラフィックに優先権を与えるため、２段階スケジューリングアプローチを使用する。第１段階では、適合トラフィックのみが予約をする一方、第２段階では、非適合トラフィックのみが予約をする。セルは、入力バッファモジュールに到着すると、その関連するクレジットプールに未使用のクレジットを見つけた場合には、適合型として分類される。そうでない場合、セルは非適合型として分類される。したがって、集合フローにおけるトラフィックは、その割り当てられた帯域幅しか利用しない場合、適合型である。スケジューラ４は、非適合トラフィックを（従来技術のシステムのようには）廃棄しないが、その代わりに、適合トラフィックと衝突しないように、非適合トラフィックをルーティングする。
【００９３】
別法として、第２段階において、適合もしくは非適合またはその両方の予約をすることも可能である。適合トラフィックは、最小セルレート（ＭＣＲ）トラフィックとも呼ばれる。その理由は、それぞれの仮想出力キュー（ＶＯＱ）が、指定された最小セルレートで長時間にわたり伝送クレジットを蓄積するからである。キューのうちの１つに、スーパーセルを形成するのに十分な（同一の入力ポートおよび出力ポートの、またおそらくは（必ずしも必要ではないが）相異なるクラスの）セルが到着すると、入力ポートはスケジューラ４に、スーパーセルが適合型であるか否かを含めて、スーパーセルの新たな到着を通知する。
【００９４】
到着通知がスケジューラ４によって受信されると、スケジューラ４は、スーパーセルの入力ポート、出力ポート、および確認ステータスに関連する変数をインクリメントする。変数は、ｘｉｊ（適合スーパーセルについて）およびｙｉｊ（非適合スーパーセルについて）である。なお、ｘｉｊは実際には、Ｖｉｊ／Ｃの整数商であり、ｙｉｊは、Ｗｉｊ／Ｃの整数商である。全体で、スケジューラ４は２Ｎ２個の変数を必要とする。スケジューラ４がスーパーセルをルーティングするように選択すると、変数はデクリメントされる。
【００９５】
本発明の好ましい実施の形態は、クラス別キューイング（ＣＢＱ：ｃｌａｓｓ−ｂａｓｅｄ  ｑｕｅｕｉｎｇ）を使用する。これは、従来技術のＩＥＦＴで規定されたｄｉｆｆｓｅｒｖ（ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  ｓｅｒｖｉｃｅ）技術をサポートする。さらに、各フローが１個のスーパーセルの伝送帯域幅の一部をタイムスロットごとに蓄積するようにするクレジットシステムを使用することにより全伝送容量をフローにわたって分配することによって、帯域保証が達成される。フローが少なくとも１つのクレジットを生じると、このフローにおける１個のスーパーセルが伝送され、スーパーセルはその伝送クレジットを消費する。
【００９６】
スケジューラ４は、トラフィックのＫ個のクラスどうしの間を区別する必要はなく、各入力ポートから各出力ポートへの適合および非適合スーパーセルの数を記憶するだけでよい。それが可能であるのは、スケジューラ４は、入力を、各入力ポートｉからそのそれぞれの出力ポートｊへの２つの仮想キューとみなしているからである。ここで、仮想キューの一方は適合トラフィックを保持し、他方の仮想キューは非適合トラフィックを保持する。スケジューラ４は、仮想キューのサイズに関する情報（例えば、将来のスーパーセルの単位数）を管理し、これに基づいて、トランスポートのための部分置換を選択する。
【００９７】
本発明の好ましい実施の形態では、入力ポート１ａ〜１Ｎのそれぞれが、スケジューラ４と通信する専用ライン９ａ、９ｂを有し、各キューにおける適合および非適合スーパーセルの数を常にモニタする。図４に示すように、同一の入力ポート、出力ポート、およびクラスを有するすべてのセルは、それらが適合型であるか非適合型であるかにかかわらず、入力ポートにおける同一のキューで管理される。しかし、スーパーセルは、相異なるクラスからのセルを含むことがある。スーパーセルは、スケジューラ４からの伝送承諾を受けた後に、あらかじめ規定されたポリシーに基づいて形成されるだけであるからである。
【００９８】
承諾段階と要求段階は互いに独立である。さらに、入力ポートスケジューラモジュールは、Ｃセルをどのようにして形成するかを決定する。例えば、以下の例には限定されないが、Ｃセルは、出力ポートに送られる順序で形成されることが可能である。また、キュー内での各セルの位置は、与えられたキュー内の適合セルの数ほど重要ではない。
【００９９】
クレジットは入力ポートキューでのみ管理され、スケジューラ４はクレジットの情報を有しない。さらに、各入力ポートにおける各キュー内のセルは、適合または非適合とラベリングされる必要はない。図４において、ｑｉｊｋは、入力ポートｉから出力ポートｊへのクラスｋのトラフィックに対するキューを表し、ｃｉｊｋは、ｑｉｊｋに関連するクレジットの数（例えば、セルの単位数）を表し、ｖｉｊｋおよびｗｉｊｋはそれぞれ、キューｑｉｊｋ内の適合セルおよび非適合セルの数に対する整数を表す。セルがキューに到着すると、そのキューにクレジットが残っているかどうかが判定される。ｃｉｊｋ≧１である場合、ｖｉｊｋがインクリメントされ、セルはキューｑｉｊｋに入れられる。そうでない場合、ｗｉｊｋがインクリメントされ、セルはｑｉｊｋに入れられる。こうして、セルは、出力ポートに基づいて入力ポートに送られ、クラスに基づいて入力ポート内のキューに送られる。
【０１００】
ＶｉｊおよびＷｉｊはそれぞれ、クラスとは独立に、スケジューラ４がまだ通知されていない、入力ポートｉから出力ポートｊへの適合セルおよび非適合セルの数に対する整数を表す。新たなセルが、入力ポートｉにおけるｉからｊへのキューのいずれかに到着すると、ＶｉｊまたはＷｉｊのいずれかがインクリメントされる。Ｖｉｊ＝Ｃ（ただし、Ｃは１個のスーパーセル内のセルの数を表す）である場合（例えば、Ｃ＝８）、承諾がスケジューラ４によって与えられると、新たな適合スーパーセルが形成される。適合要求がスケジューラ４に送られ、ＣがＶｉｊから差し引かれる。次に、ＷｉｊおよびＣに基づいて、スケジューラ４には、新たな将来の非適合スーパーセルの存在が通知される。蓄積したＣ個の適合セルまたはＣ個の非適合セルのいずれかに基づいて、承諾を求める要求が、スケジューラ４に対してなされる。
【０１０１】
入力ポートがスケジューラ４から承諾を受け取ると、スーパーセルが「オンザフライ」で形成され、スケジューラ４とクロスバ交換機５へ送信され、到着信号がスケジューラ４へ送られる。入力バッファは各サービスキュー内の適合および非適合セルの数を知っているため、非適合セルが考慮される前に適合セルがスーパーセルに付加される。さらに、セルがスーパーセルに付加されるとき、付加されるセルは、そのセルがもともと適合と分類されていたかどうかにかかわらず、サービスキューの先頭から来る。
【０１０２】
例えば、以下の例には限定されないが、キューが３個の非適合セルを保持し、そのとき１個の適合セルがそのキューに到着した後、スケジューラ４からの伝送承諾が到着した（すなわち、スーパーセルを形成することができる）場合、入力ポートにおけるスーパーセルコンストラクタは、キューが適合セルを有することを知っている。その適合セルを含めるため、コンストラクタは、後から到着した適合セルではなく、キューの先頭にあるセルをとることになる。
【０１０３】
本発明のもう１つの好ましい実施の形態では、スーパーセルは、適合セルおよび非適合セルの混合を含むことも可能である。
【０１０４】
本発明の好ましい実施の形態は通常、クラスとは独立に、非適合セルの前に適合セルを選択する。しかし、入力ポート１ａ〜１Ｎにおけるスーパーセルコンストラクタがトラフィックのクラスに基づく優先権を有することができる場合がある。例えば、以下の例には限定されないが、入力ポート１ａ〜１Ｎのスーパーセルコンストラクタにおいて非適合セルの前に適合セルを選択する代わりに、固定優先度方式（例えば、小さい番号のクラスが優先権を有する）を実装することも可能である。あるいは、いくつかの「低レイテンシ」クラスを優先度とみなすことも可能である。前述のように、クラスに基づくセルの区別は、スケジューラ４ではなく入力ポート１ａ〜１Ｎで起こる。
【０１０５】
［Ｂ．例示的な説明］
図１５に示すように、２段階ＭＣＲスケジューリングは、２フレームのスケジューリングウィンドウに適している。各ＳＭが、一時に２個の相異なるタイムスロット（一方はＭＣＲのために、他方はフェアネスのために）をスケジューリングする必要があるからである。各ＳＭがその要求を処理する順序は次の通りである。（ａ）スケジューリングウィンドウのＦ１部分では、動的ラウンドロビン順序で、前に保持された許可に対する予約をするか、または、非適合トラフィックに対する予約をする。（ｂ）適合トラフィック（ＭＣＲトラフィック）に対する予約をする。（ｃ）前に保持された許可がＭＣＲトラフィックによって再びブロックされている場合にはそれを解放し、あるいは、動的ラウンドロビンリストの先頭にある出力ポートに対する予約権を保持する。
【０１０６】
こうして、将来のタイムフレームにおける与えられた位置のタイムスロットｋに対してどの出力ポート２ａ〜２Ｎがすでに予約されているかを示すために、１＜ｊ＜Ｎおよび１＜ｋ＜Ｍに対する新たなベクトルＯＲＭｋｊ（「１」は予約されていることを示し、「０」は予約されていないことを示す）が必要となる。これは、各タイムフレームの最初にオール０で初期化される。また、ＯＲｋｊは、今度は、各タイムフレームの最初に、０に初期化される代わりに、ＯＲＭｋｊの情報を継承する。
【０１０７】
図１５に示すように、タイムフレーム１の期間中、各ＳＭは、スケジューリングウィンドウ１１のＦ１部分（フレーム２）に対するフェアネストラフィックと、Ｆ２部分（フレーム３）に対するＭＣＲトラフィックをスケジューリングする。その後、スケジューラがウィンドウ１１を１フレーム前方（フレーム２）へスライドすると、ＳＭは、フレーム３に対するフェアネストラフィックと（ＯＲ２ｊはＯＲＭ２ｊを継承する）、フレーム４に対するＭＣＲトラフィックをスケジューリングすることになる。ウィンドウ１１内の各ボックスは、１つのＳＭが２個の相異なるタイムフレームで２個の相異なるタイムスロットを処理していることを表す。例えば、タイムスロット１において、ＳＭ１はフレーム２におけるタイムスロット５に対するフェアネストラフィックと、フレーム３におけるタイムスロット９に対するＭＣＲトラフィックをスケジューリングしている。新たなタイムフレームは常にＭＣＲトラフィックに対して最初にスケジューリングされるため、ＭＣＲ保証を達成することができる。もちろん、ＳＭ間でこの情報を伝えるためには追加の予約ＯＲＭが必要となる。スケジューラのスループットは同一のままであるが、スケジューラのレイテンシは倍になる。
【０１０８】
図１６に、適合セルに対するＭＣＲおよび保証トラフィックのある、図１４（ａ）および図１４（ｂ）に類似した例を示す。この２段階アプローチでは、スケジューラは、フレーム１においては適合セルについてのみ予約の実行および保持をし、その後、フレーム２において、適合セルとともに非適合セルについて予約の実行および保持をする。ＴＳ１において、ＳＭ３（出力２）はＭＣＲ要求を満たすため、適合セルを有する。その結果、ＳＭ３はもはやＴＳ１１（出力２）に対する予約を保持しない。適合セルに対してもはや予約の必要がないため、予約は放棄される。そこで、ＴＳ３においてＳＭ１によって行われているように、非適合セルが出力２、ＴＳ１１を予約することがある。
【０１０９】
図１６では、入力ポート３から出力ポート２へのトラフィックがＭＣＲ保証されることを除いては、図１４（ａ）および図１４（ｂ）で示したのと同じ例が用いられている。もう１つのベクトルＯＲＭｋｊが、ＳＭ間で受け渡しされたセットに追加される。ＭＣＲトラフィックが優先権を与えられるように、タイムフレームの終了時のＯＲＭベクトルのステータスは、次タイムフレームの最初にＯＲベクトルを初期化することになる。さらに、それらの「予約の保持されている許可」ポートは、同一のタイムフレームにおいてＭＣＲ予約により先取りされた場合には、解放されなければならない。
【０１１０】
さらに、タイムスロット２において、ポート２がブロックされたため、ＳＭ３はタイムスロット６における出力４に対する予約を行う。しかし、ＳＭ３は、タイムスロット１０におけるポート２に対する予約権を保持することはできない。そのスロットはＭＣＲトラフィックによって使用されたからである。さらに、タイムスロット３において、ＳＭ１は、タイムスロット１１について出力ポート２に対する予約権を（このスロットはすでに他のＳＭによって予約されたが）ともかく保持する。その理由は、ＳＭ１は、予約権を保持しようとする一方で、ＯＲＭのステータスをチェックしないからである。このため、保持された予約権は、タイムスロット１１において、ＳＭ１がその権利を執行しようとするとき、入力ポート１によって解放される。また、ポート２の予約権はタイムスロット２においてＳＭ２によって保持されたが、ＳＭ３はタイムスロット９について出力ポート２に対してＭＣＲ予約を行う。これにより、ＳＭ２は、後でその権利を執行しようとするときに、その保持する権利を解放することを強制される。
【０１１１】
図１に模式的に示すように、各出力ポートは、スケジューラ４に通知するための２本のラインを有することになる。一方のラインは、「非適合トラフィックのみ停止」を通知する。他方のラインは、「適合および非適合の両方のトラフィックの停止」を通知する。出力ポートは、接近するオーバーフローを検知すると、いずれかのラインをアサートすることができる。この場合も、ＣＡＣは、出力ポート（および出力ライン）がすべての適合トラフィックをサポートすることができることを保証することになり、非適合トラフィックのみに停止を要求すれば通常は十分である。出力ポートへのすべてのトラフィックを停止することを求める頻繁な要求は、ＣＡＣの調整が必要であることをおそらく示している。
【０１１２】
フェアネスと帯域保証スケジューリングの組合せによるさらに別の実施の形態では、ＭＣＲスケジューリングによる先取りされた予約の許可を前に保持した入力ポートが、再び同じ出力ポートの予約の許可を保持する優先度を有し続ける。この代替例は、ＭＣＲスケジューリングの有無にかかわらず、与えられた出力ポートの入力フェアネスを保証する。
【０１１３】
［Ｖ．マルチキャスティングとバックプレッシャ］
本発明の好ましい実施の形態は、それぞれの所望されるユニキャストキューに、マルチキャストデータグラムのコピーを入れる。データグラムのコピーは、絶対的に必要になるまでは作成されない。例えば、以下の例には限定されないが、マルチキャストデータグラムが２つの異なる出力ポート宛である場合、データグラムは、入力ポートにおける対応する関連キューにコピーされる。しかし、マルチキャストデータグラムが、同じ出力ポートに接続された２本の出力ライン宛である場合、データグラムのただ１つのコピーが出力ポートに送られ、出力ポートにおいて、そのデータグラムがコピーされ、対応する出力ラインキューに入れられる。ＡＴＭやＭＰＬＳの場合、同じ出力ラインを通じてマルチキャストデータグラムの複数のコピーを送信することが好ましいことがある。前述の方式は、出力ポートにおいて同様に扱われることになる。
【０１１４】
例えば、以下の例には限定されないが、マルチキャストセルが、入力ｉに、ｊ、ｋ、およびｌを宛先として到着した場合、３個のすべての関連するキューにコピーが入れられる。このアプローチでは、入力ポート１ａ〜１Ｎにおけるマルチキャストセルの複数のコピーの維持を含む余分なコストがかかるが、このアプローチは、単純なユニキャストスケジューラを使用することができるという利点を有する。このアプローチは、ユニキャスト帯域保証の単純な拡張であり、前述の「最大付加」保証帯域アプローチに従い、したがって、ＣＡＣが扱うのは容易である。例えば、以下の例には限定されないが、上記のフローは、ｉからｊへ、ｉからｋへ、およびｉからｌへの関連するクラスに対する予約された帯域を要求することになる。
【０１１５】
交換機インタフェースに関連するいくつかの問題点に対するコア交換機サポートとしては、（ｉ）出力におけるデータグラムの再構成と、（ｉｉ）出力ポートからスケジューラへのバックプレッシャ信号がある。
【０１１６】
基本的な交換機モデルでは、ＩＰデータグラムはクロスバ交換機５の入力においてセルに分割され、出力において、セルは連結されてデータグラムに戻される。本発明の好ましい実施の形態では、各入力ポートに対応して８本の入力ラインがあり、各出力ポートに対応して８本の出力ラインがある。１個のポートに接続されたラインの容量の和は、そのポートの全容量にほぼ等しい。具体的にするため、入力（出力）ラインは２．４Ｇｂｓをサポートすることが可能であり、入力（出力）ポートは２０Ｇｂｓをサポートすることが可能であると仮定する。
【０１１７】
図１７に示すように、相異なるデータグラムが、相異なるラインから同時に１個の入力ポートに入る可能性がある。データグラムが到着すると、そのクラスが判定され、次ホップが判定される。必要であれば、マルチキャストコピーが上記のように作成され、個々のコピーがそれぞれ個々の出力ポートごとに作られ、データグラムはセルに分割される。その後、セルは単一のフローへと多重化される。特定の入力ラインに到着するデータグラムは、順にルーティングされる（すなわち、同じラインに到着するデータグラムからのセルどうしのインタリーブはない）。
【０１１８】
図１８に、出力ラインインタフェースの設計を示す。まず、複数の出力ラインがマルチキャスト経路上にある場合、マルチキャストコピーが作成される。これは、データグラムがまだ組み立てられていないことにより、やや複雑である。次に、各データグラムを適当な出力ラインへルーティングするために、分離化が必要とされる。各出力ラインは、最悪の場合に８ＮＫ個のデータグラムを同時に形成している可能性があるため、データグラムを再構成するためには８ＮＫ個のキューが必要である。ＡＴＭおよびＭＰＬＳ環境を扱うために、マルチキャストコピーが再び行われる。その後、データグラムは、出力ライン上に送出される前に、クラスに従って再びキューイングされる。
【０１１９】
交換機５は、出力ポート２ａ〜２Ｎが正しくデータグラムを再構成することができるために、十分な情報を提供しなければならない。出力ポートは、各セルの入力ライン（すなわち、入力ポートおよび入力オフセット）、出力オフセット、およびクラス（これは、交換機５を通る各セルに付随するヘッダで送信されるオーバーヘッド情報である）を知る必要がある。図３に、オーバーヘッドラベリング情報を含めて、スーパーセルを示す。
【０１２０】
各スーパーセル内のＣ個のセルは相異なる入力オフセット、出力オフセット、およびクラスを有する可能性があるため、各セルは３個のラベルを必要とする。ポートあたりＲ個のオフセットと、Ｋ個のクラスがあるため、これは全部でスーパーセルあたりＣ×（２ｌｏｇＲ＋ｌｏｇＫ）ビットとなる。さらに、入力ポートは既知でなければならないが、スーパーセル内のすべてのセルは同一の入力ポートを有する。したがって、その共通の入力ポートをラベルするためのビット数はｌｏｇＮであり、スーパーセルあたりのオーバーヘッドビットの総数はＣ×（２ｌｏｇＲ＋ｌｏｇＫ）＋ｌｏｇＮビットとなる。
【０１２１】
出力ラインは出力ポートよりも容量が小さいため、出力ポートにおけるキューイングが必要である。ＣＡＣは、出力ラインの容量より大きい適合トラフィックをどの出力ラインもサポートしないことを保証する。しかし、非適合トラフィックは、単一の入力ラインの容量を超える可能性がある。例えば、以下の例には限定されないが、出力ポートは、２０Ｇｂｓのレートで非適合トラフィックを受信し、それがすべて、２．４Ｇｂｓしか処理することができない同一の出力ライン宛である場合がある。
【０１２２】
クロスバ交換機５は、長期間にわたるこのような負荷に対して安定であることはできないが、バースト性トラフィックはサポートされる。いくつかの過剰バッファが各出力ポートに配置される。さらに、出力ポートは、スケジューラに通知することによって、トラフィックの低速化あるいは停止さえ要求することができる。このバックプレッシャ技術を使用することにより、入力ポート１ａ〜１Ｎおよび出力ポート２ａ〜２Ｎの両方におけるバッファは、このようなトラフィックバーストをサポートすることができる。
【０１２３】
バックプレッシャ要求をサポートするようにスケジューラの設計を変更することは論理的には簡単である。しかし、提案した方式のナイーブな従来技術による実装は、スケーラビリティの問題を有する。その理由は、Ｍ個のスケジューリングモジュールはそれぞれ、バックプレッシャを要求するすべての出力ポート２ａ〜２Ｎを知る必要があるためである。確かに、各スケジューリングモジュールに２Ｎ個の追加ピンを収容することはできない。さらに、バックプレッシャ情報をスケジューリングモジュール間でパイプライン転送するものから、バックプレッシャステータスの変化のみをブロードキャストするものまで、いくつかの実装方式が可能である。
【０１２４】
【発明の効果】
［Ｖ．効果］
本発明は、従来技術に比べてさまざまな利点を有する。例えば、以下の例には限定されないが、本発明の好ましい実施の形態によるスケジューリングおよび予約の方法では、速度が改善される。前述のように、本発明の好ましい実施の形態は、各段における動作の単純なパイプライン技術を使用し、タイムスロットあたりの入出力接続の選択の１部分セットのスループットが改善される。さらに、本発明の好ましい実施の形態による２段階スケジューリングシステムを用いて、最小帯域幅が保証される。
【０１２５】
さらに、本発明の好ましい実施の形態は、各クラスがその固有のＱｏＳを有する、トラフィックの複数のクラスをサポートするということは利点である。各クラスにはクレジットが付与され、クラスに対する保証帯域幅に等しいレートで新たなクレジットが生成される。クレジットを有するセルは高い優先度を有し、スケジューリングアルゴリズムの第１段階で予約をすることができる。前述のように、ＣＡＣは、各クラスに保証可能な帯域幅を決定する。帯域割当てを制御することによって、相異なるクラスには相異なるＱｏＳが提供される。
【０１２６】
もう１つの利点として、本発明の好ましい実施の形態は、非適合（すなわち、ベストエフォート型）トラフィックもサポートする。保証されたレートより高いトラフィックを送信するクラスは、それに属するすべてのセルのために十分なクレジットを有さず、クレジットのないセルは、スケジューリングアルゴリズムの第２段階でのみ予約をすることができる。
【０１２７】
さらに、本発明のもう１つの利点として、入力および出力ポートは公平に扱われる。また、本発明は、スケジューラが完全稼働であるという点で利点を有する。各タイムスロットにおいて、キューの最大セットがサービスされる。また、ポート間のフェアネスが保証される（例えば、ある一定のポートに対する均一フェアネスまたは重み付きフェアネス）。フェアネス問題は、さらに、予約優先度を保持することによって緩和される。
【０１２８】
本発明はまた、スケーラブルな設計を提供する。サポートされるクラスの数を増大させることは、入力ポート１ａ〜１Ｎ（これはより多くのキューを管理しなければならない）において少ない余分のコストがかかることを除いては、スケジューラの設計には影響しない。
【０１２９】
さらに、本発明の好ましい実施の形態は、少なくとも２つの理由で、高度のスケーラビリティを有する。第１に、サポートされるクラスの数を増大させることは、スケジューラの複雑さを増大させない。その理由は、スケジューラは、適合トラフィックと非適合トラフィックとを区別するだけでよいからである。したがって、ＣＡＣおよび入力ポート１ａ〜１Ｎのみが、相異なるクラスに対する相異なるサービスの提供を処理する。第２に、入力または出力ポート２ａ〜２Ｎの数を増大させることは、スケジューラ４のスループットに悪影響を与えない。
【０１３０】
本発明はまた、効率的でもある。例えば、以下の例には限定されないが、本発明に従って、スケジューラ４に将来のスーパーセルの到着を通知する好ましい方法は、タイムスロットごとに完全なステータス情報をスケジューラ４に送信する従来技術の方法よりも効率的である。本発明の好ましい実施の形態によるスケジューラ４が入力ポートｉから出力ポートｊへの適合および非適合スーパーセルの存在について知る必要がある場合、「完全ステータス」の従来技術のアプローチは、各スロットごとに、各入力ポートモジュールとスケジューラとの間で少なくとも２Ｎビットの通信を必要とし、これは全部で２Ｎ２ビットとなる。これに対して、本発明の好ましい実施の形態の「到着信号」法を使用する場合、各入力ポートビットごとに（ｌｏｇ２Ｎ＋１）個の通信ビット（すなわち、出力ポート番号および適合情報を示すため）しか必要でなく、全部でＮ（ｌｏｇ２Ｎ＋１）ビットとなる。
【０１３１】
当業者には明らかなように、本発明の技術思想および技術的範囲を離れることなく、上記の本発明の好ましい実施の形態に対してさまざまな変更や変形が可能である。したがって、本発明は、特許請求の範囲およびその均等物と矛盾しない、本発明のすべての変更および変形を含むことが意図される。
【図面の簡単な説明】
【図１】本発明の好ましい実施の形態によるスイッチングシステムの図である。
【図２】本発明の好ましい実施の形態に対するシステムパラメータを示す図である。
【図３】本発明の好ましい実施の形態によるスーパーセルフォーマットの図である。
【図４】本発明の好ましい実施の形態による入力ポートモジュールのキュー構造を示す図である。
【図５】本発明の好ましい実施の形態によるセルのキューイングおよび入力バッファの動作の方法を示す図である。
【図６】本発明の好ましい実施の形態によるパイプラインスケジューラアーキテクチャを示す図である。
【図７】本発明の好ましい実施の形態による予約ベクトルの適用例を示す図である。
【図８】本発明の好ましい実施の形態による予約ベクトルの適用例を示す図である。
【図９】本発明の好ましい実施の形態による、スケジューラが入力バッファモジュールからの情報を処理する方法を示す図である。
【図１０】本発明の好ましい実施の形態によって、トランスポートのためにスーパーセルをスケジューリングする方法を示す図である。
【図１１】本発明の好ましい実施の形態による分散スケジューラアーキテクチャのラウンドロビン接続を示す図である。
【図１２】本発明の好ましい実施の形態に対するグローバルラウンドロビンアーキテクチャを示す図である。
【図１３】本発明の好ましい実施の形態に対するグローバル動的ラウンドロビンアーキテクチャを示す図である。
【図１４】本発明の好ましい実施の形態によるフェアネス解決法の例を示す図である。
【図１５】本発明の好ましい実施の形態による２段階ＭＣＲ解決法の適用例を示す図である。
【図１６】本発明の好ましい実施の形態による２段階ＭＣＲ解決法の適用例を示す図である。
【図１７】本発明の好ましい実施の形態による、入力ポートにおけるマルチキャスティングの処理を示す図である。
【図１８】本発明の好ましい実施の形態による、出力ポートにおけるマルチキャスティングの処理を示す図である。
【符号の説明】
１ａ〜１Ｎ  入力ポート
２ａ〜２Ｎ  出力ポート
３ａ〜３Ｒ  入力または出力ライン
４  集中スケジューラ
５  Ｎ×Ｎクロスバ交換機
６  ポートセレクタ
７ａ〜７Ｃ  セル
８ａ〜８Ｃ  ラベリング情報（ヘッダ情報）
９ａ，９ｂ  専用ライン
１００，１０１  チップ
【図１】
0003614132.tif 000006
【図２】
0003614132.tif 000007
【図３】
0003614132.tif 000008
【図４】
0003614132.tif 000009
【図５】
0003614132.tif 000010
【図６】
0003614132.tif 000011
【図７】
0003614132.tif 000012
【図８】
0003614132.tif 000013
【図９】
0003614132.tif 000014
【図１０】
0003614132.tif 000015
【図１１】
0003614132.tif 000016
【図１２】
0003614132.tif 000017
【図１３】
0003614132.tif 000018
【図１４】
0003614132.tif 000019
【図１５】
0003614132.tif 000020
【図１６】
0003614132.tif 000021
【図１７】
0003614132.tif 000022
【図１８】
0003614132.tif 000023