JP3567878B2 - パケット交換装置 - Google Patents
パケット交換装置 Download PDFInfo
- Publication number
- JP3567878B2 JP3567878B2 JP2000302551A JP2000302551A JP3567878B2 JP 3567878 B2 JP3567878 B2 JP 3567878B2 JP 2000302551 A JP2000302551 A JP 2000302551A JP 2000302551 A JP2000302551 A JP 2000302551A JP 3567878 B2 JP3567878 B2 JP 3567878B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- group
- packet
- ports
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3045—Virtual queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1546—Non-blocking multistage, e.g. Clos using pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3063—Pipelined operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3072—Packet splitting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Description
【発明の属する技術分野】
本発明はパケットスイッチを備えたパケット交換装置に係わり、特に高速でスイッチ動作を行うことのできるパケット交換装置に関する。
【0002】
【従来の技術】
インターネットが爆発的に普及している。これに伴って公衆通信インフラストラクチャの急激な変革が求められている。また、インターネットの枠組み自体を通信インフラストラクチャとして活用しようとする機運が高まっている。インターネットがこのような役割を果たすためには、サービスノードとしてのルータにデータ転送処理の高速化および高機能化が求められている。
【0003】
現在の高速ルータでは、ハードウェアによるIP(internet protocol)アドレス検索と、セルフルーティングによる高速スイッチファブリックを用いたデータ転送処理が適用されている。
【0004】
高速大容量ルータのスイッチを実現するために、VOQ(Virtual Output Queuing)を使用した入力バッファスイッチが広く使用されている。従来のFIFO(first−in first−out:先入れ先出し)式の入力バッファ型スイッチではスループット低下の問題があったが、これを解決したノンブロッキングスイッチとして高速化が可能となっている。
【0005】
図15は、VOQを使用した入力バッファ型スイッチの構成を表わしたものである。このスイッチ100は、第1〜第Nの入力インタフェース部1011〜101Nと、第1〜第Nの出力インタフェース部1021〜102Nと、これらの間に配置されたスイッチ部103によって構成されている。
【0006】
第1〜第Nの出力インタフェース部1021〜102Nのそれぞれは、宛先解決エンジン部(FE)104、パケット生成分解部(PAD)105およびVOQ106から構成されている。ここで、宛先解決エンジン部104は図示しない伝送路から送られてきたパケット(図示せず)の宛先の解決を行う。パケット生成分解部105は、このパケットスイッチの転送単位の固定長セルに分解する。分解されたそれぞれのセルは、宛先に応じてVOQ106内の出力インタフェース部1021〜102Nに対応したバッファに格納される。
【0007】
スイッチ部103は、クロスポイントスイッチ108とスイッチスケジューラ109とによって構成されている。ここでスイッチスケジューラ109は、第1〜第Nの入力インタフェース部1011〜101NのVOQ106から得られた情報を基にしてこれら第1〜第Nの入力インタフェース部1011〜101Nのセル転送要求を調停して、それぞれのVOQ106にセル転送許可を与える。また、クロスポイントスイッチ108を制御して、VOQ106から出力される調停後のセルを出力インタフェース部1021〜102Nのうちの対応する宛先へスイッチングさせるようになっている。
【0008】
第1〜第Nの出力インタフェース部1021〜102Nは、VIQ(Virtual Input Queuing)111とパケット組立部(PAD)112から構成されている。スイッチ部103から送られてきたセルは、第1〜第Nの出力インタフェース部1021〜102Nにおける対応する出力インタフェース部のVIQ111が受け取り、パケット組立部112で元のパケットに組み立てる。そして図示しない伝送路に出力することになる。
【0009】
さて、最近のパケット交換装置では、図15に示した入力バッファ型スイッチのようなN入力およびN出力(Nは2以上の整数)のクロスポイントスイッチ(クロスポイントスイッチ108参照)が使用されることが多い。この場合には、入力部にN個の出力それぞれに対応した論理的待ち行列(論理キュー)(VOQ106参照)を備えると共に、各論理キューから発せられるパケット転送要求を調停して、クロスポイントスイッチの接続の制御を行うスケジューラ(スイッチスケジューラ109参照)が必要となる。
【0010】
複数の待ち行列を有するパケット交換装置でこのようなスケジューリングを行う技術は、特開平6−233337号公報や特開平9−326828号公報に開示がある。このうち特開平6−233337号公報に記載された技術では、入力ポートを表わす各行と、出力ポートを表わす各列とを備えた要求マトリックスを使用している。マトリックスの所与の行および列のビットが、対応する入力ポートから出力ポートへの接続要求を表わしているものとする。この技術では、マトリックス上で競合が生じないN個の要素を選択して、これをダイアゴナル・サービス・パタンとしている。
【0011】
ダイアゴナル・サービス・パタンの典型的な例は対角要素の集合である。マトリックス全体が重複なくすべて覆われるようにN個ずつの異なるダイアゴナル・サービス・パタンを決定し、スケジューリングでは図15で説明した分解後のパケットスイッチ転送単位の固定長セルの処理単位としての1タイムスロット内にダイアゴナル・サービス・パタンを順次、接続要求マトリックス上で適用して要求を処理していく。開始のダイアゴナル・サービス・パタンは、タイムスロットごとにラウンドロビンで適用するようにしている。
【0012】
一方、特開平9−326828号公報に記載されたスケジューリングの技術では、既に説明した特開平6−233337号公報に記載された技術と同様にそれぞれの入力からそれぞれの出力への転送要求をマトリックス上に並べ、対角線方向に検索と割り当てを行うようにしている。この技術では、タイムスロットごとに入力と出力をそれぞれランダムに並び替えるようにしている。これにより各入力側のパケットの処理の公平性が図られている。
【0013】
ところが、以上簡単に説明した従来のスケジューリングの手法では、入力ポートおよび出力ポートの数が増大すると、1タイムスロット内に行うべきデータの処理量がポート数の二乗に比例して増大し、このために高速なスケジューリングが困難になるという問題があった。特に最近ではインターネットにおけるデータの伝送量が増大するだけでなくデータ伝送の高速化が強く求められており、いままでと同様の入出力ポートの数であったとしても、より高速のスケジューリングが求められている。そこで、この問題を解決するためにスケジューリングをパイプライン化する技術が登場している。
【0014】
図16は、この技術を使用したスイッチ部およびその周辺の構成を示したものである。なお、この図16に示した部分は、図15におけるスイッチ部103とその周辺に対応する部分である。スイッチ部121は、スイッチ素子としてのN×Nのクロスポイントスイッチ122と、スイッチスケジューラ123によって構成されている。このスイッチ部121にはN本の入力ライン1241、1242、……124Nと接続された入力ポートと、同じくN本の出力ライン1251、1252、……125Nと接続された出力ポートが配置されている。各入力ポートは図15で示したVOQ106と同様のVOQ126を備えている。それぞれの入力ポートのVOQ126にはスイッチスケジューラ123内の分散スケジューリング・モジュール1271、1272、……127Nが対応して配置されている。
【0015】
スイッチスケジューラ123はタイムスロット単位に入力ポートから出力ポートごとの接続要求情報(Request)を受信して、これを基にしてこれらの間の接続許可情報(Grant)を決定する。スイッチスケジューラ123はまた接続許可情報を基にして入力ポートと出力ポートの接続情報(MSEL)を生成して、クロスポイントスイッチ122に通知して、クロスポイントスイッチ122の入出力の接続を設定する。また、スイッチスケジューラ123は接続許可情報を元にして、各入力ポートがどの出力ポートへのデータ転送を許可されているかを示す転送許可情報(DSTMSG)を作成して、各入力ポートに対して転送許可情報を通知する。入力ポートは転送許可情報にしたがって、データをクロスポイントスイッチ122へ出力して、出力ポート側がデータを受信することでスイッチングが完了するようになっている。
【0016】
このようなスイッチスケジューラ123の機能は、N×Nの接続要求情報からN×Nの接続許可情報を生成することである。接続許可情報生成するにあたって、各分散スケジューリング・モジュール1271、1272、……127Nは、個々の入力ポートに対する出力ポートへの接続の可否を決定する。
【0017】
ところで、1999年にラウンド・ロビン・グリーディ・スケジューリング(RRGS)アルゴリズムが発表された。スイッチスケジューラ123はこのRRGSアルゴリズムを用いている。RRGSアルゴリズムを用いたスイッチスケジューラ123は、分散スケジューリング・モジュール1271、1272、……127Nがリング状に接続されている。そして、これらの隣接したモジュール間でメッセージの受け渡しが行われる。RRGSアルゴリズムでは、各分散スケジューリング・モジュール1271、1272、……127Nが、対象となるタイムスロットの予約(接続許可決定)を行い、その結果情報を次の分散スケジューリング・モジュールに渡すようにしている。
【0018】
RRGSアルゴリズムを使用したスケジューラでは、分散スケジューリング・モジュールがリング状に接続され、隣接した分散スケジューリング・モジュール間でメッセージ受渡しを行う。RRGSアルゴリズムでは、各分散スケジューリング・モジュールが対象となるタイムスロットの予約(接続許可決定)を行い、結果の情報を次の分散スケジューリング・モジュールに渡す。メッセージ受渡し速度要求条件を緩和するために、RRGSはパイプライン機能を導入している。あるタイムスロットの予約過程は、各分散スケジューリング・モジュール間でメッセージ受渡しが一周することにより完了する。また、RRGSアルゴリズムでは、N個の分散スケジューリング・モジュールが、現在のスロットの少なくともNスロット先のタイムスロットに関して予約する。更に、RRGSアルゴリズムは、N個のタイムスロットに対する予約過程を1タイムスロットずつ位相をずらしながら同時に進行させていく。
【0019】
一方、RRGSアルゴリズムの変形として、複数のタイムスロットに対する予約過程をそれぞれ異なる分散スケジュールモジュールから同時に開始し、進行させ、同時に終了させるアルゴリズムも考えられる。これをフレーム化RRGSと呼ぶこととする。
【0020】
図17はRRGSおよびフレーム化RRGSを使用する分散型スケジューラの構成を示したものである。ここでは一例としてポート数Nが“4”の場合を示している。スイッチスケジューラ141は分散型スケジューリングのための第1〜第4のインプットモジュール(Input Module;IM)1511〜1514から構成される。インプットモジュール1511〜1514には、フレームの先頭を示すフレームパルス(FP)152が入力される。各インプットモジュール1511〜1514はフレームパルス152に同期して動作する。
【0021】
各インプットモジュール1511〜1514にはそれぞれのインプットモジュールを識別するための物理番号1551〜1554が設定される。第1〜第4の各入力ポートからそれぞれ対応する接続要求情報1561〜1564がインプットモジュール1511〜1514に入力されると、これらのインプットモジュール1511〜1514は接続要求の調停を行い、その結果として予約(接続許可)を決定し、接続許可情報1571〜1574を出力するようになっている。
【0022】
RRGSおよびフレーム化RRGSでは、隣接分散スケジューリング・モジュール間で接続許可情報から入力ポート情報を縮退させた情報(入力ポート情報を参照して作成した情報)としての「出力ポート予約済情報」を受け渡すことにより、出力ポートに対する接続要求の競合を回避している。例えば、第3のインプットモジュール1513は、前段の第2のインプットモジュール1512から出力ポート予約済情報1612を出力ポート予約済情報1623として受信して接続要求の調停に使用する。接続許可情報決定後、出力ポート予約済情報1613を次段の第4のインプットモジュール1514に通知するようになっている。
【0023】
図18はフレーム化RRGSの一般的な動作例を示したものである。図17と共にフレーム化RRGSの動作を説明する。ここでは、4×4の入出力ポートを有するスイッチの動作となる。
【0024】
図17に示した出力ポート予約済み情報161の転送方向は、インプットモジュール151の番号が増加する方向であり、この例では第4のインプットモジュール1514まで転送したら再び第1のインプットモジュール1511に戻ってここから第2のインプットモジュール1512、第3のインプットモジュール1513、……という順序で転送が行われる。
【0025】
接続要求情報156等の各情報の極性は次のように定義される。まず、第1〜第4の入力ポートの接続要求1561〜1564は、信号“1”が要求ありを示し、信号“0”が要求なしを示す。第1〜第4の入力ポートの接続許可情報(予約情報)1571〜1574は、信号“1”が許可(予約済み)を示し、信号“0”が禁止(未予約)を示す。出力ポート予約済み情報1611〜1614は、信号“1”が予約済みを示し、信号“0”が未予約を示す。
【0026】
またこの例では4タイムスロットが1フレームを構成しており、フレームパルス152は4タイムスロット周期で入力される。図18では、第1〜第4の各タイムスロットT1〜T4における動作に分けて示している。
【0027】
まず、第1の各タイムスロットT1では、図17に示した第1〜第4のインプットモジュール1511〜1514にフレームパルス152が入力されると、第1のインプットモジュール1511が次フレームのタイムスロットT1における第1の入力ポートの接続要求情報を最初に決定する。最初の決定であるので、出力ポート予約済情報1621は、第1の出力ポートから第4の出力ポートまで順番に(0,0,0,0)となっている。第1の入力ポートの接続要求1561が第1の出力ポートから第4の出力ポートまで順番に(0,1,0,1)であるとする。第1のインプットモジュール1511が第2および第4の出力ポートの中から第2の出力ポートを選択したとする。この場合第1のインプットモジュール1511は次フレームのタイムスロットT1の接続許可情報1571として第2の出力ポートを記憶し、出力ポート予約済情報1611を(0,1,0,0)として第2のインプットモジュール1512に通知する。
【0028】
続けてタイムスロットT2で第2のインプットモジュール1512が次フレームのタイムスロットT2に対する第2の入力ポートの接続許可情報1572を決定する。第2のインプットモジュール1512は出力ポート予約済情報1622(0,1,0,0)を受信する。第2の入力ポートの接続要求1562が(0,1,1,1)であるとすると、第2の出力ポートに対する割当は行えない。このため、第2のインプットモジュール1512は第2の出力ポートに対する接続要求は拒否し、第3または第4の出力ポートの接続要求から許可する出力ポートを選択する。ここで第3の出力ポートを選択したとすると、第2のインプットモジュール1512は接続許可情報1572として第3の出力ポートを記憶し、出力ポート予約済情報1612を(0,1,1,0)として第3のインプットモジュール1513に通知する。
【0029】
以下、タイムスロットT3で第3のインプットモジュール1513が、またタイムスロットT4で第4のインプットモジュール1514が次フレームのタイムスロットT1の接続許可情報1573、1574を決定する。タイムスロットT4が終了した時点で各モジュールは次フレームのタイムスロットT1における接続許可情報1574を有しているので、次フレームのタイムスロットT1における4×4の接続許可情報が確定することとなる。
【0030】
以上説明した処理手順では、タイムスロットT1で第1のインプットモジュール1511以外のモジュールがそれぞれ異なるタイムスロットに対する「予約」を開始するようになっている。例えば、第2のインプットモジュール1512は次フレームのタイムスロットT4に、第3のインプットモジュール1513は次フレームのタイムスロットT3に、また第4のインプットモジュール1514は次フレームのタイムスロットT2に対する「予約」を開始する。
【0031】
各モジュールは当該タイムスロットにて各予約タイムスロットの処理を行い、該当する予約タイムスロットの出力ポート予約情報161をそれぞれ次段のインプットモジュールに転送することにより、各インプットモジュール1511〜1514とも未動作の時間がないようにスケジューリング処理を実行することができる。タイムスロットT4が終了した時点で、各モジュールは次フレームのタイムスロットT1からT4までの接続許可情報157を有している。従って、次フレームのタイムスロットT1からT4までの4×4の接続許可情報1571〜1574が確定することとなる。
【0032】
図19は各モジュールの予約(接続許可決定)順序を示したものである。この図は上の例で説明した4×4スケジューラの場合を示している。横軸は時間であり4タイムスロットで1つのフレームを構成している。縦軸にはモジュールの物理番号1551〜1554が並べられている。出力ポート予約済情報の転送方向は、インプットモジュールの物理番号で示すと、物理番号1551、物理番号1552、物理番号1553、物理番号1554、物理番号1551、物理番号1552、……の順序となる。マトリックス内の数字は予約をする次フレーム内のタイムスロットの番号を指す。
【0033】
図19に示されているように、物理番号1551のインプットモジュールは、フレームの先頭(タイムスロットT1)で次フレームのタイムスロットT1の予約から開始する。以下同様に、物理番号1552のインプットモジュールはタイムスロットT4の予約から開始し、物理番号1553のインプットモジュールはタイムスロットT3の予約から開始する。物理番号1554のインプットモジュールはタイムスロットT2の予約から開始する。
【0034】
【発明が解決しようとする課題】
【0035】
以上説明したパケットスイッチでは、入力ポート側をパイプライン化することで、どの出力ラインに出力するかの調停をスイッチスケジューラ123(図16参照)で調停している。この結果、たとえば図17に示す第1のインプットモジュール1511が、図19に示したように第1のタイムスロットT1に出力ポートの予約を開始し、以後、第2のインプットモジュール1512以降のインプットモジュールに対して順次各タイムスロットごとに出力ポート予約済み情報161を受け渡していくとき、第2のインプットモジュール1512は第2のタイムスロットT2に出力ポートの予約を開始し、以後、第3のインプットモジュール1513以降のインプットモジュールに対して順次各タイムスロットごとに出力ポート予約済み情報161を受け渡していくことになる。第3のインプットモジュール1513および第4のインプットモジュール1514も、それぞれ更に1タイムスロットあるいは2タイムスロットずらした点から出力ポートの予約を開始し、以降のインプットモジュールに対して順次各タイムスロットごとに出力ポート予約済み情報161を受け渡していく。このような並行的な処理によって、パイプライン化しなかった場合と比べると、入力ポートおよび出力ポートの増大に対して処理の高速化が可能となる。
【0036】
以上、特願平11−355382号記載の技術について詳細に説明したが、同様の試みはたとえば特願平11−234158号でも行われている。
【0037】
しかしながら、このような入力ポート側のパイプライン化処理だけでは入力ポートと出力ポートの増加に伴い出力ポート側について調停を行わなければならないデータ処理量が出力ポートの数の増加に比例して増加する。転送するデータの大容量化が顕著となっている現在、データ伝送の高速化が大きな社会的要請となっており、パケットスイッチの転送単位としての固定長セルのスイッチングに遅延が生じることは避けなければならず、むしろ処理速度の高速化が急務となっている。
【0038】
そこで本発明の目的は、入力ポート側のパイプライン化処理を実現した場合よりも更に高速処理が可能なパケット交換装置を提供することにある。
【0039】
【課題を解決するための手段】
請求項1記載の発明では、(イ)複数の入力ポートのそれぞれに用意され、入力されるそれぞれのパケットを宛先の出力ポートに対応した格納場所に順に格納するバッファメモリと、(ロ)それぞれの入力ポートのバッファメモリに格納されたパケットについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、(ハ)このグループ別割振り手段によって割り振られたそれぞれのグループの中で、M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループをM×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、(ニ)この予約処理手段の予約処理結果に対応させてバッファメモリに格納されたパケットの入出力を設定して転送要求のあったパケットの転送を行うスイッチとをパケット交換装置に具備させる。
【0040】
すなわち請求項1記載の発明では、パケットの送られてくる入力ポートとこれらのパケットの出力先としての出力ポートをM個ずつに分けてなるM×Mのマトリックス状に配置されたグループにそれぞれのパケットの入出力の関係の情報としての転送要求の有無を表わした情報を割り振っておく。これらのグループは、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなっているので、マトリックスの行方向にも列方向にもパイプライン処理が可能である。そこで、予約処理手段は両方向にパイプライン処理を行って、転送要求の予約と結果の受け渡しをグループごとに受け継いでいく。スイッチはこのようにして得られた予約処理結果に対応させてバッファメモリに格納されたパケットの入出力を設定して転送要求のあったパケットをそれぞれの宛先としての出力ポートに転送させる。このように請求項1記載の発明ではマトリックスの行方向と列方向、すなわち入力ポート側と出力ポート側の双方にパイプライン処理を行うことで、パケットの転送処理の高速化を可能にしている。したがって、ポートの数の増大に十分対応することができる。
【0041】
請求項2記載の発明では、(イ)複数の入力ポートに入力されるそれぞれのパケットを所定の固定長セルに分解する固定長セル分解手段と、(ロ)それぞれの入力ポートに対応して配置され、この固定長セル分解手段によって分解されたそれぞれのセルを宛先の出力ポートに対応した格納場所に順に格納する論理キューと、(ハ)それぞれの入力ポートの論理キューに格納された固定長セルについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、(ニ)このグループ別割振り手段によって割り振られたそれぞれのグループの中で、M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループをM×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、(ホ)この予約処理手段の予約処理結果に対応させて論理キューに格納された固定長セルの入出力を設定して転送要求のあった固定長セルの転送を行うスイッチと、(へ)このスイッチによってそれぞれの出力側に得られた固定長セルをパケットに組み立てるパケット組立手段とをパケット交換装置に具備させる。
【0042】
すなわち請求項2記載の発明では、スイッチの処理単位としての所定の固定長セルにパケットを分解する一方、パケットの送られてくる入力ポートとこれらのパケットの分解後の固定長セルの出力先としての出力ポートをM個ずつに分けてなるM×Mのマトリックス状に配置されたグループにそれぞれの固定長セルの入出力の関係の情報としての転送要求の有無を表わした情報を割り振っておく。これらのグループは、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなっているので、マトリックスの行方向にも列方向にもパイプライン処理が可能である。そこで、予約処理手段は両方向にパイプライン処理を行って、固定長セルごとの転送要求の予約と結果の受け渡しをグループごとに受け継いでいく。スイッチはこのようにして得られた予約処理結果に対応させてバッファメモリに格納された固定長セルの入出力を設定して転送要求のあった固定長セルをそれぞれの宛先としての出力ポートに転送させる。このように請求項2記載の発明ではマトリックスの行方向と列方向、すなわち入力ポート側と出力ポート側の双方にパイプライン処理を行うことで、固定長セルの転送処理の高速化を可能にしている。したがって、ポートの数の増大に十分対応することができる。しかも、パケットを固定長セルに分解して処理するので、可変長のパケットについても高速処理が可能になる。
【0043】
請求項3記載の発明では、請求項1または請求項2記載のパケット交換装置で、予約処理手段は、1つのグループの予約から次のグループへの予約結果の転送までを1つのタイムスロットで行うことを特徴としている。
【0044】
すなわち請求項3記載の発明では、予約処理手段が、1つのグループの予約から次のグループへの予約結果の転送までを1つのタイムスロットで処理することにしているので、マトリックスの行方向にも列方向にも処理を行う本発明で全体としての処理が規則正しく進行することになる。
【0045】
請求項4記載の発明では、請求項1または請求項2記載のパケット交換装置で、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせは、ダイアゴナル・サービス・パタンであり、そのM個の組み合わせからなるダイアゴナル・モジュール群を用いてパイプライン処理が行われることを特徴としている。
【0046】
すなわち請求項4記載の発明では、M×Mのグループに対してM個からなるダイアゴナル・サービス・パタンをM通り用意することで、いずれのタイムスロットでも1組のダイアゴナル・サービス・パタンによる予約処理が開始するので、効率的な予約処理が可能になる。また、M×M個の全グループがダイアゴナル・サービス・パタンの構成となるので、予約処理の優先度が結果的に均等に割り振られることになり、入力ポートによって優劣が生じるといった問題を生じさせない。
【0047】
請求項5記載の発明では、請求項4記載のパケット交換装置で、予約処理手段は、予め定めた未来の所定のタイムスロットに対して、ダイアゴナル・サービス・パタンに該当するグループから該当する出力ポートに対して順次転送要求予約を行うことを特徴としている。
【0048】
すなわち請求項5記載の発明では、予め定めた未来の所定のタイムスロットに対して、ダイアゴナル・サービス・パタンに該当するグループを起点として予約を行うことにしているので、これら未来のタイムスロットを重複しないように割り当てることで、効率的な処理を実現することができる。また、これらのグループを必要な個数連結して順次予約処理を実行させることで、スケーラブルなスケジューラを実現することができる。
【0049】
【発明の実施の形態】
【0050】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0051】
図1は本発明の一実施例におけるパケット交換装置の入力バッファ型スイッチのスイッチ部およびその周辺の構成を表わしたものである。入力バッファ型スイッチ全体の構成は、先に示した図15と同様である。本実施例のスイッチ部201は、スイッチ素子としてのN×Nのクロスポイントスイッチ202と、スイッチスケジューラ203とによって構成されている。スイッチ部201にはN本の入力ライン2041、2042、……204Nと接続された入力ポートと、同じくN本の出力ライン2051、2052、……205Nと接続された出力ポートが配置されている。各入力ポートは図15で示したVOQ106と同様のVOQ2061、2062、……206Nを備えている。
【0052】
転送対象のパケットは、図15に示したパケット生成分解部(PAD)105と同一の回路部分でクロスポイントスイッチ202の転送単位の固定長セルに分解されている。この固定長セル単位での転送時間を1タイムスロットと呼んでいる。N本の入力ライン2041、2042、……204Nは、M個(ここで数値Mは2以上の整数であり、かつ整数Nの約数。)のグループ211に均等に分割されている。N本の出力ライン2051、2052、……205Nも同様にM個のグループ212に均等に分割されている。これらM個の入力グループ211とM個の出力グループ212の組み合わせは、M2となる。スイッチスケジューラ203は、これらM2の組み合わせに対してスケジューリング・モジュールを用意している。
【0053】
図2は、これらM2個のスケジューリング・モジュールとその働きを示したものである。スケジューリング・モジュール2211、……221MMは、この図2で横軸方向すなわち図1に示す出力ライン2051、2052、……205Nの方向にM個ずつの組(2211、2212、……221M)、(221M+1、221M+2、……2212M)、……を、縦軸方向すなわち図1で入力ライン2041、2042、……204Nの方向にM回繰り返して配置したものと等しい。この場合、最後の組は図2で一番下に示した組(221M(M−1)+1、221M(M−1)+2、……221MM)となる。
【0054】
それぞれのスケジューリング・モジュール2211、……221MMは、VOQ2061、2062、……206Nのうちの対応するものからのパケット(固定長セル)転送要求に基づいて、予め定められた未来のタイムスロットにおける(N/M)×(N/M)通りのスケジューリングを実行する。そして、それぞれのスケジューリングの結果として予約済み出力ポート情報2311、2312、……231Mと、予約済み入力ポート情報2321、2322、……232Mとを、それぞれ予め定められた次段のスケジューリング・モジュールに転送するようになっている。
【0055】
この図2に示した例では、パイプライン処理で情報が一巡するためのこのような転送処理を、図で横方向に隣接するそれぞれのスケジューリング・モジュール221の間で一巡させる処理と、図で縦方向に隣接するそれぞれのスケジューリング・モジュール221の間で一巡させる処理について示している。このような処理におけるスケジューリング・モジュール221同士の接続順序は、これら隣接するもの同士に限る必要はない。すなわち、横方向あるいは縦方向のそれぞれについて、情報が一巡するような任意の順序で各スケジューリング・モジュール221の接続順序を定めることができる。この接続順序は、後に説明するダイアゴナル・モジュール群の選び方によって規定されることになる。スケジューリングおよび情報転送の処理は、それぞれ1タイムスロット以内に実行される。次段のスケジューリング・モジュールでは、対応する論理キューからのパケット転送要求と、前段からの予約済み入出力ポート情報に基づいて、衝突を回避するような予約が行われる。
【0056】
図3は、VOQの1つを拡大して図解したものである。VOQ2061、2062、……206Nはそれぞれ同一構成となっているので、ここでは第1のVOQ2061を例示的に示すものとする。第1のVOQ2061は、図1に示した第1の入力ライン2041に対応しており、図15で示したパケット生成分解部(PAD)105を経た固定長セル241をN本の出力ライン2051、2052、……205Nに対応させた論理キュー(バッファメモリ)2421、2422、……242Nに格納するようになっている。この図で各論理キュー2421、2422、……242Nによって固定長セル241の格納された部分の長さが異なって表示されているのは、格納された固定長セル241の数がそれぞれ異なっているためである。
【0057】
図3に示した第1のVOQ2061は、全部でMのグループに分けられている。図2では全部でM2個のスケジューリング・モジュール2211、……221MMを表わしたが、これらは出力ライン2051、2052、……205Nの方向にMグループに分かれている。図3ではこれと同様に第1のVOQ2061の各論理キュー2421、2422、……242NをMグループに分けている。図3で太線で示した第1のグループ2441は、第1〜第N/Mの論理キュー2421、2422、……242N/Mに対応している。第2のグループ2442は、第N/M+1〜第2N/Mの論理キュー242N/M+1、242N/M+2、……2422N/Mに対応している。以下同様にして、第Mのグループ244Mは、第N−N/M+1〜第Nの論理キュー242N−N/M+1、242N−N/M+2、……242Nに対応している。
【0058】
以上のような構成のパケットスイッチの動作を次に説明する。ただし、説明を分かりやすくするために、以上説明した数値Nが“16”で、数値Mが“4”という比較的小さな値の場合の例を挙げる。これは、16×16のクロスポイントスイッチの縦方向と横方向をそれぞれ4つのグループに区分けした場合と等しい。
【0059】
図4はこの16×16のクロスポイントスイッチにおけるスケジューリング・モジュールを表わしたものである。この例では、16本の入力を4本ずつ4グループに分割することにしている。16本の出力も同様に4本ずつ4グループに分割される。入力が4グループで出力が4グループの場合には、これらを組み合わせたとき16対のグループが存在する。これらを第1〜第16のスケジューリング・モジュール2211〜22116で表わすものとする。
【0060】
第1〜第16のスケジューリング・モジュール2211〜22116には、それぞれの処理対象とする入力ポートから出力ポートへの転送要求が入力される。この例では合計16本の入力ライン2041、2042、……20416と、同じく16本の出力ライン2051、2052、……20516が存在しているので、これらがそれぞれ4つのグループに分けられて第1〜第16のスケジューリング・モジュール2211〜22116に入力される。たとえば、第2の入力ポートから入力された固定長セルの宛先が第3の出力ポートであるとする。第2の入力ポートは入力ポートを4つのグループに分けたときの図4における縦方向に示した第1のグループに属し、第3の出力ポートは図4における横方向に示した出力ポートを4つのグループに分けたときの第1のグループに属する。したがってこの転送要求は図4における、縦方向も横方向も最初のグループとして位置付けられている第1のスケジューリング・モジュール2211に入力されることになる。
【0061】
また、第7の入力ポートから第11の出力ポートへの転送要求については、第7の入力ポートが入力ポートを4つのグループに分けたときの図4における縦方向に示した第2のグループに属し、第11の出力ポートは図4における横方向に示した出力ポートを4つのグループに分けたときの第3のグループに属する。したがってこの転送要求は図4における、縦方向が2つ目のグループで横方向が3つ目のグループとして位置付けられている第7のスケジューリング・モジュール2217に入力されることになる。
【0062】
図5は、第1のスケジューリング・モジュールのマトリックスの内部の信号配置を一例として示したものである。この図に例示したように、図4の各スケジューリング・モジュール2211〜22116の中に示したマトリックスには、それぞれの論理キューから受信したパケット転送要求の有無を示す信号“0”または信号“1”が格納される。ここで、信号“0”は論理キューからのパケット転送の要求がないことを示しており、信号“1”は論理キューからのパケット転送の要求があることを示している。
【0063】
本実施例では、ダイアゴナル・サービス・パタンを構成するダイアゴナル・モジュール群として、図4で太枠で示した第1のスケジューリング・モジュール2211、第6のスケジューリング・モジュール2216、第11のスケジューリング・モジュール22111および第16のスケジューリング・モジュール22116の4つを選択している。これらはマトリックス上で各入力ポートおよび出力ポートの競合が生じないような組み合わせとなっている。すなわち、第1のスケジューリング・モジュール2211では第1〜第4の入力ポートからの転送要求の有無を示す信号が格納されるようになっており、これは第5〜第8の入力ポートを扱う第6のスケジューリング・モジュール2216や、第9〜第12の入力ポートを扱う第11のスケジューリング・モジュール22111や、第13〜第16の入力ポートを扱う第16のスケジューリング・モジュール22116と入力ポート間で競合しない。同様に、第1のスケジューリング・モジュール2211では第1〜第4の出力ポートへの転送要求の有無を示す信号が格納されるようになっており、これは第5〜第8の出力ポートを扱う第6のスケジューリング・モジュール2216や、第9〜第12の出力ポートを扱う第11のスケジューリング・モジュール22111や、第13〜第16の出力ポートを扱う第16のスケジューリング・モジュール22116と出力ポート間でも競合しない。
【0064】
このようなダイアゴナル・サービス・パタンを構成するダイアゴナル・モジュール群は、時間的に重複して他にも3組存在することができる。これらは(S2、S7、S12、S13)、(S3、S8、S9、S14)、(S4、S5、S10、S15)の各組である。但しここでは表記を単純化するために、スケジューリング・モジュール221Xを単にSXと表記し、ダイアゴナル・モジュール群ごとに括弧で括って示している。
【0065】
図4に示した各スケジューリング・モジュール2211〜22116は、1つの固定長セルの転送時間内に、予め定められたある未来のタイムスロットについての4×4のスケジューリングを実行する。そして、その結果得られる予約済み出力ポート情報261〜264を図の縦方向(縦の矢印方向)の次段に位置するスケジューリング・モジュール221に転送する。また、同時に予約済み入力ポート情報265〜268を図の横方向(横の矢印方向)の次段に位置するスケジューリング・モジュール221にも転送する。たとえば、第1のスケジューリング・モジュール2211について説明すると、予約済み出力ポート情報261を第13のスケジューリング・モジュール22113に転送すると共に、予約済み入力ポート情報265を第2のスケジューリング・モジュール2212に転送する。なお、本実施例では図4で太枠で示した第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116は、対応する論理キューから転送要求の有無を示す信号を格納されるので、予約はこれらのスケジューリング・モジュール2211、2216、22111、22116から開始されることになる。
【0066】
各スケジューリング・モジュール2211〜22116は、対応する論理キューからの転送要求と前段からの予約済み入出力ポート情報に基づいて、次のタイムスロットについて4×4のスケジューリングを実行し、その結果を更に(縦横両方向の)次段のスケジューリング・モジュール221に転送することになる。このようにして、4タイムスロットかけて、このような処理が第1〜第16のスケジューリング・モジュール2211〜22116のすべてで行われることになる。これにより、ある未来のタイムスロットについてのスケジューリングが完成する。
【0067】
以上の処理が実行されていくためには、幾つかの条件が必要である。まず、1つのスケジューリング・モジュール221内における4×4のスケジューリングについての処理は、次段への情報転送を含めて1タイムスロット内で完了しなければならない。また、4入力の論理キューの予約機会が均等になることである。
【0068】
以上の条件を満たすものであれば、各種のアルゴリズムを本実施例のパケット交換装置に適用することができる。たとえば入力×出力の転送要求をマトリックス状に並べて検索を行い、割り当てを行うアルゴリズムが特開平6−233337号公報あるいは特開平9−326828号公報に開示されている。これらの技術も前記した条件を満たすものであれば、本実施例のパケット交換装置に使用することができる。
【0069】
図6〜図8は、各スケジューリング・モジュールのスケジューリングの様子を時間の変化と共に表わしたものである。図6は最初のタイムスロットT1からの処理を表わしており、図7、図8は順次時間が経過した状態を表わしている。これらの図を用いて、本実施例の第1〜第16のスケジューリング・モジュール2211〜22116(図ではS1〜S16と略記する。)によるスケジューリングを具体的に説明する。
【0070】
すでに説明したように本実施例では、ある未来のタイムスロットの割り当てとしての入力と出力の組み合わせの決定を、図2に示した予約済み出力ポート情報231あるいは予約済み入力ポート情報232の流れる順路で予約を行うようにしている。たとえば図4に太枠で記した第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)は、本実施例でダイアゴナル・モジュール群を構成しているため、最初のタイムスロットT1で、これから4つ後のタイムスロットT5における入力と出力の組み合わせの予約を1番目に行う権利を有する。
【0071】
たとえば、タイムスロットT1で第1〜第4の入力ポートから第1〜第4の出力ポートへ固定長セルの転送要求があったとする。これらの入出力ポートに対応する第1の分散スケジューリング・モジュール1271(S1)は、これらの要求が競合するような場合には、その時点で各要求を調停する。一例としては、第1〜第4の入力ポートがすべて第1の出力ポートへ固定長セルを転送する要求を行っていたとすると、このうちの1つの入力ポートしか第1の出力ポートへ固定長セルを転送することはできない。したがって、これら競合した入力ポートの要求をいずれか1つに選択するための調停が行われる。
【0072】
同様に第5〜第8の入力ポートから第5〜第8の出力ポートへ固定長セルの転送要求があった場合には、第6の分散スケジューリング・モジュール1276(S6)はそれらの要求を調停して出力を予約する。また、第9〜第12の入力ポートから第9〜第12の出力ポートへ固定長セルの転送要求があった場合には、第11の分散スケジューリング・モジュール12711(S11)がそれらの要求を調停して出力を予約する。更に、第13〜第16の入力ポートから第13〜第16の出力ポートへ固定長セルの転送要求があった場合には、第16の分散スケジューリング・モジュール12716(S16)がそれらの要求を調停して出力を予約することになる。これら、ダイアゴナル・モジュール群を構成する第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)の処理は、図6における1つの処理群281内での最初のタイムスロットT1の処理として表わしている。
【0073】
このようにして、ダイアゴナル・モジュール群を構成する第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)が最初に出力ポートの予約を行うと、次のタイムスロットT2で次のスケジューリング・モジュールに予約処理が引き継がれる。このために、タイムスロットT1で得られた予約済み出力ポート情報261〜264は、それぞれ図4に示す縦方向(縦の矢印方向)における次段としての第13、第2、第7および第12のスケジューリング・モジュール22113、2212、2217、22112(S13、S2、S7、S12)に転送される。また、同時に予約済み入力ポート情報265〜268は横方向(横の矢印方向)における次段としての第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)にも転送されることになる。
【0074】
この結果、タイムスロットT2では、第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)でタイムスロットT5の予約が行われることになる。この際には、第6、第11、第16および第1のスケジューリング・モジュール2216、22111、22116、2211(S6、S11、S16、S1)から縦方向(縦の矢印方向)に転送されてきた予約済み出力ポート情報262〜264、261と、第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)から横方向(横の矢印方向)に転送されてきた予約済み入力ポート情報265〜268を参照して、グループ内の論理キューからの要求に基づいて予約を行う。当然ながら、先のタイムスロットT1で予約を行った入出力関係について予約を行うことはできず、未予約となっている入出力の組み合わせの中から新たな予約を行うことになる。
【0075】
このようにして第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)でタイムスロットT5の予約が行われると、タイムスロットT3で次のスケジューリング・モジュールに予約処理が引き継がれる。このために、タイムスロットT2で得られた予約済み出力ポート情報262〜264、265は、それぞれ図4に示す縦方向(縦の矢印方向)における次段としての第14、第3、第8および第9のスケジューリング・モジュール22114、2213、2218、2219(S14、S3、S8、S9)に転送される。また、同時に予約済み入力ポート情報265〜268は横方向(横の矢印方向)における次段としての第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)に転送される。そして、第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)でタイムスロットT5の予約が行われる。
【0076】
以下同様にして、タイムスロットT3の次のタイムスロットT4では、第4、第5、第10および第15のスケジューリング・モジュール2214、2215、22110、22115(S4、S5、S10、S15)でタイムスロットT5の予約が行われる。このようにして、図7の1つの処理群281における処理が終了すると、第1〜第16のスケジューリング・モジュール2211〜22116(S1〜S16)のすべてについて、すなわち第1〜第4の入力ポートから第1〜第4の出力ポートに出力される固定長セルの全転送要求についてのタイムスロットT5の予約が完了することになる。
【0077】
ところで、図4で太枠で示したダイアゴナル・サービス・パタンを構成する第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)の4つに着目してみると、これらはタイムスロットT5の予約のための最初のタイムスロットT1における処理で、それぞれの分担する予約処理を完了させてしまう。したがって、これ以後のタイムスロットT4までの時間を空き時間として何らの処理も行わないのは効率的ではない。また、これらの処理結果を引き継いでタイムスロットT2で予約処理を行う第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)について見てみると、最初のタイムスロットT1で何の処理も行わずに待機しているのは時間の無駄であるし、同様にタイムスロットT2で予約処理を行った後に次に予約処理を行うまで新たに3タイムスロット分だけ何らの処理も行わないのも時間の無駄である。第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)および第4、第5、第10および第15のスケジューリング・モジュール2214、2215、22110、22115(S4、S5、S10、S15)についても、同様に時間に対する稼働率が4分の1であるという問題が生じる。
【0078】
そこで、本実施例のスケジューリング処理では、図6に示した処理群281の他に、その上の部分に示した処理群282〜284が並列して動作するようになっている。すなわち、処理群282について見てみると、最初のタイムスロットT1で第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)がタイムスロットT6における予約処理を行い、その結果を第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)に渡してタイムスロットT2でタイムスロットT6における予約処理を行わせる。以下同様にしてタイムスロットT3では第4、第5、第10および第15のスケジューリング・モジュール2214、2215、22110、22115(S4、S5、S10、S15)でタイムスロットT6における予約処理が行われ、タイムスロットT4では第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)でタイムスロットT6における予約処理が行われることになる。
【0079】
処理群283については、最初のタイムスロットT1で第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)がタイムスロットT7における予約処理を行い、以下同様にして以降のタイムスロットでそれぞれ対応するスケジューリング・モジュールがタイムスロットT7における予約処理を行う。最後の処理群284では、同様にしてそれぞれ同一のタイムスロットで処理の行われなかったスケジューリング・モジュールがタイムスロットT8における予約処理を行うことになる。
【0080】
図7および図8に示した各処理群285〜292についても同様である。このように4×4のスケジューリングは、図4で太枠で示したダイアゴナル・サービス・パタンを構成する第1、第6、第11および第16のスケジューリング・モジュール2211、2216、22111、22116(S1、S6、S11、S16)の4つのみが予約処理に優先するのではなく、それぞれ起点となるタイムスロットを異にした第2、第7、第12および第13のスケジューリング・モジュール2212、2217、22112、22113(S2、S7、S12、S13)、第3、第8、第9および第14のスケジューリング・モジュール2213、2218、2219、22114(S3、S8、S9、S14)、第4、第5、第10および第15のスケジューリング・モジュール2214、2215、22110、22115(S4、S5、S10、S15)の各組も優先の機会を与えられる。すなわち、第1〜第16のスケジューリング・モジュール2211〜22116が、4つのダイアゴナル・サービス・パタンによって平等の処理を受けることになる。
【0081】
図9〜図14はスケジューリング・モジュールが4×4の合計16個で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序を示したものである。各4×4マトリックス内の黒丸がダイアゴナル・サービス・パタンを構成している。また、矢印で連結した横1行の4つのダイアゴナル・サービス・パタンが1組のダイアゴナルモジュール群を示している。
【0082】
これら図9〜図14で左上に括弧書きで示した数字は予約済み入力ポート情報の転送順序(列番号)を示しており、左端に示した数字は予約済み出力ポート情報の転送順序(行番号)を示している。それぞれのマトリックスの下に括弧で示した数字は、ダイアゴナル・サービス・パタンの種類を通し番号で表わしたものであり、同一番号は同一のパタンを示している。実施例で説明したダイアゴナルモジュール群は、この番号(1)〜(4)に示す4つのダイアゴナル・サービス・パタンに対応していることになる。
【0083】
なお、以上説明した実施例では説明を簡略に行うために4×4の比較的簡単なマトリックスを例に挙げて説明したが、マトリックスのサイズはこれに限定されないことは当然である。
【0084】
【発明の効果】
以上説明したように請求項1記載の発明によれば、パケットの送られてくる入力ポートとこれらのパケットの出力先としての出力ポートをM個ずつに分けてなるM×Mのマトリックス状に配置されたグループにそれぞれのパケットの入出力の関係の情報としての転送要求の有無を表わした情報を割り振っておき、これらのグループについては、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせとしているので、マトリックスの行方向にも列方向にもパイプライン処理が可能であり、パケットの転送処理の高速化を可能にすることができ、ポートの数の増大に十分対応することができる。
【0085】
また請求項2記載の発明によれば、入力ポートと固定長セルの出力先としての出力ポートをM個ずつに分けてなるM×Mのマトリックス状に配置されたグループにそれぞれの固定長セルの入出力の関係の情報としての転送要求の有無を表わした情報を割り振っておき、これらのグループについては、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせとしているので、マトリックスの行方向にも列方向にもパイプライン処理が可能であり、固定長セルの転送処理の高速化を可能にすることができ、ポートの数の増大に十分対応することができる。しかも、パケットを固定長セルに分解して処理するので、可変長のパケットについても高速処理が可能になる。
【0086】
更に請求項3記載の発明によれば、マトリックスの行方向にも列方向にも処理を行う本発明で全体としての処理が規則正しく進行し、処理の効率化を図ることができる。
【0087】
また請求項4記載の発明によれば、M×Mのグループに対してM個からなるダイアゴナル・サービス・パタンをM通り用意することで、いずれのタイムスロットでも1組のダイアゴナル・サービス・パタンによる予約処理が開始するので、効率的な予約処理が可能になる。また、M×M個の全グループがダイアゴナル・サービス・パタンの構成となるので、予約処理の優先度が結果的に均等に割り振られることになり、入力ポートによって優劣が生じるといった問題を生じさせないという効果もある。
【0088】
更に請求項5記載の発明によれば、予め定めた未来の所定のタイムスロットに対して、ダイアゴナル・サービス・パタンに該当するグループを起点として予約を行うことにしているので、これら未来のタイムスロットを重複しないように割り当てることで、効率的な処理を実現することができる。また、これらのグループを必要な個数連結して順次予約処理を実行させることで、スケーラブルなスケジューラを実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるパケット交換装置の入力バッファ型スイッチのスイッチ部およびその周辺の構成を表わしたブロック図である。
【図2】本実施例におけるM2個のスケジューリング・モジュールの処理動作を示した説明図である。
【図3】本実施例におけるVOQの1つを拡大して図解した説明図である。
【図4】本実施例で16×16のクロスポイントスイッチにおけるスケジューリング・モジュールを表わした説明図である。
【図5】本実施例で第1のスケジューリング・モジュールのマトリックスの内部の信号配置を一例として示した説明図である。
【図6】本実施例で各スケジューリング・モジュールのスケジューリングの様子を時間の変化と共に表わした最初の説明図である。
【図7】図6に引き続いて本実施例におけるスケジューリング・モジュールのスケジューリングの様子を時間の変化と共に表わした説明図である。
【図8】図7に引き続いて本実施例におけるスケジューリング・モジュールのスケジューリングの様子を時間の変化と共に表わした説明図である。
【図9】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第1の例を示した説明図である。
【図10】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第2の例を示した説明図である。
【図11】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第3の例を示した説明図である。
【図12】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第4の例を示した説明図である。
【図13】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第5の例を示した説明図である。
【図14】スケジューリング・モジュールが4×4で構成される場合のダイアゴナルモジュール群の選び方とモジュール間の接続の順序の第6の例を示した説明図である。
【図15】VOQを使用した入力バッファ型スイッチの一般的な構成を表わしたブロック図である。
【図16】スケジューリングをパイプライン化した従来のスイッチの構成の一例を示した概略構成図である。
【図17】従来のパイプライン化処理に使用されるパケットスイッチスケジューラのブロック図である。
【図18】従来のパイプライン化処理における接続許可情報の決定の様子を示した説明図である。
【図19】従来のパイプライン化処理における各インプットモジュールの予約順序を示した説明図である。
【符号の説明】
105 パケット生成分解部(PAD)
201 スイッチ部
202 クロスポイントスイッチ
203 スイッチスケジューラ
204 入力ライン
205 出力ライン
206 VOQ
221 スケジューリング・モジュール
231、261〜264 予約済み出力ポート情報
232、265〜268 予約済み入力ポート情報
241 固定長セル(パケット)
242 論理キュー
244 グループ
Claims (5)
- 複数の入力ポートのそれぞれに用意され、入力されるそれぞれのパケットを宛先の出力ポートに対応した格納場所に順に格納するバッファメモリと、
それぞれの入力ポートのバッファメモリに格納されたパケットについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、
このグループ別割振り手段によって割り振られたそれぞれのグループの中で、前記M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループを前記M×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して前記固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、
この予約処理手段の予約処理結果に対応させて前記バッファメモリに格納されたパケットの入出力を設定して転送要求のあった前記パケットの転送を行うスイッチ
とを具備することを特徴とするパケット交換装置。 - 複数の入力ポートに入力されるそれぞれのパケットを所定の固定長セルに分解する固定長セル分解手段と、
それぞれの入力ポートに対応して配置され、この固定長セル分解手段によって分解されたそれぞれのセルを宛先の出力ポートに対応した格納場所に順に格納する論理キューと、
それぞれの入力ポートの論理キューに格納された固定長セルについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、
このグループ別割振り手段によって割り振られたそれぞれのグループの中で、前記M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループを前記M×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して前記固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、
この予約処理手段の予約処理結果に対応させて前記論理キューに格納された固定長セルの入出力を設定して転送要求のあった前記固定長セルの転送を行うスイッチと、
このスイッチによってそれぞれの出力側に得られた固定長セルをパケットに組み立てるパケット組立手段
とを具備することを特徴とするパケット交換装置。 - 前記予約処理手段は、1つのグループの予約から次のグループへの予約結果の転送までを1つのタイムスロットで行うことを特徴とする請求項1または請求項2記載のパケット交換装置。
- 予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせは、ダイアゴナル・サービス・パタンであり、そのM個の組み合わせからなるダイアゴナル・モジュール群を用いてパイプライン処理が行われることを特徴とする請求項1または請求項2記載のパケット交換装置。
- 前記予約処理手段は、予め定めた未来の所定のタイムスロットに対して、前記ダイアゴナル・サービス・パタンに該当するグループから該当する出力ポートに対して順次転送要求予約を行うことを特徴とする請求項4記載のパケット交換装置。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000302551A JP3567878B2 (ja) | 2000-10-02 | 2000-10-02 | パケット交換装置 |
CNB011416394A CN100454885C (zh) | 2000-10-02 | 2001-09-29 | 流水线调度方法和调度装置 |
US09/966,099 US6977935B2 (en) | 2000-10-02 | 2001-10-01 | Two-dimensional pipelined scheduling technique |
EP01123225A EP1193922B1 (en) | 2000-10-02 | 2001-10-02 | Pipelined scheduling method and scheduler |
DE60137106T DE60137106D1 (de) | 2000-10-02 | 2001-10-02 | Nach dem Fliessbandprinzip arbeitenden Planungsverfahren und entsprechender Planer |
KR10-2001-0061154A KR100411221B1 (ko) | 2000-10-02 | 2001-10-04 | 파이프라인형 스케줄링 방법 및 스케줄러 |
HK02108891.1A HK1047507A1 (en) | 2000-10-02 | 2002-12-06 | Pipelined scheduling method and scheduler |
US11/255,173 US7161943B2 (en) | 2000-10-02 | 2005-10-21 | Two-dimensional pipelined scheduling technique |
US11/562,923 US7680126B2 (en) | 2000-10-02 | 2006-11-22 | Two-dimensional pipelined scheduling technique |
US11/842,075 US7602790B2 (en) | 2000-10-02 | 2007-08-20 | Two-dimensional pipelined scheduling technique |
US12/550,941 US8005092B2 (en) | 2000-10-02 | 2009-08-31 | Two-dimensional pipelined scheduling technique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000302551A JP3567878B2 (ja) | 2000-10-02 | 2000-10-02 | パケット交換装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002111715A JP2002111715A (ja) | 2002-04-12 |
JP3567878B2 true JP3567878B2 (ja) | 2004-09-22 |
Family
ID=18783886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000302551A Expired - Fee Related JP3567878B2 (ja) | 2000-10-02 | 2000-10-02 | パケット交換装置 |
Country Status (7)
Country | Link |
---|---|
US (5) | US6977935B2 (ja) |
EP (1) | EP1193922B1 (ja) |
JP (1) | JP3567878B2 (ja) |
KR (1) | KR100411221B1 (ja) |
CN (1) | CN100454885C (ja) |
DE (1) | DE60137106D1 (ja) |
HK (1) | HK1047507A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9166924B2 (en) | 2012-06-29 | 2015-10-20 | Electronics And Telecommunications Research Institute | Packet scheduling method and apparatus considering virtual port |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3567878B2 (ja) | 2000-10-02 | 2004-09-22 | 日本電気株式会社 | パケット交換装置 |
US7046661B2 (en) * | 2000-11-20 | 2006-05-16 | Polytechnic University | Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined hierarchical arbitration scheme |
USRE42600E1 (en) | 2000-11-20 | 2011-08-09 | Polytechnic University | Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme |
JP4072315B2 (ja) * | 2000-12-26 | 2008-04-09 | 富士通株式会社 | パケットスイッチ |
US7039011B1 (en) * | 2001-10-31 | 2006-05-02 | Alcatel | Method and apparatus for flow control in a packet switch |
GB0127650D0 (en) * | 2001-11-19 | 2002-01-09 | Nokia Corp | Improvements in and relating to content delivery |
US7385970B1 (en) * | 2001-12-07 | 2008-06-10 | Redback Networks, Inc. | Method and apparatus for balancing bandwidth among multiple ports of a network element |
US8418129B1 (en) | 2001-12-14 | 2013-04-09 | Qualcomm Incorporated | Method for automatically generating code to define a system of hardware elements |
US7424013B1 (en) | 2001-12-20 | 2008-09-09 | Applied Micro Circuits Corporation | System and method for granting arbitrated bids in the switching of information |
US7352694B1 (en) * | 2001-12-14 | 2008-04-01 | Applied Micro Circuits Corporation | System and method for tolerating data link faults in a packet communications switch fabric |
US7082132B1 (en) * | 2001-12-26 | 2006-07-25 | Nortel Networks Limited | Universal edge node |
US6922501B2 (en) * | 2002-04-11 | 2005-07-26 | Nortel Networks Limited | Fast optical switch |
WO2004002080A1 (en) * | 2002-06-21 | 2003-12-31 | Thomson Licensing S.A. | Fully redundant linearly expandable broadcast router |
US20040037558A1 (en) * | 2002-08-20 | 2004-02-26 | Nortel Networks Limited | Modular high-capacity switch |
US7154902B1 (en) * | 2002-10-21 | 2006-12-26 | Force10 Networks, Inc. | Epoch-based packet switching |
US7274701B2 (en) * | 2002-11-04 | 2007-09-25 | Tellabs Operations, Inc. | Cell based wrapped wave front arbiter (WWFA) with bandwidth reservation |
US7417985B1 (en) | 2003-01-30 | 2008-08-26 | Pmc-Sierra, Inc. | Egress selection switch architecture with power management |
US7404058B2 (en) * | 2003-05-31 | 2008-07-22 | Sun Microsystems, Inc. | Method and apparatus for avoiding collisions during packet enqueue and dequeue |
US20060285548A1 (en) * | 2003-09-29 | 2006-12-21 | Hill Alan M | Matching process |
WO2005032166A1 (en) * | 2003-09-29 | 2005-04-07 | British Telecommunications Public Limited Company | Channel assignment process |
US7492782B2 (en) * | 2003-12-27 | 2009-02-17 | Electronics And Telecommunications Research Institute | Scalable crossbar matrix switching apparatus and distributed scheduling method thereof |
US7486687B2 (en) * | 2004-02-27 | 2009-02-03 | International Business Machines Corporation | Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots |
US7542473B2 (en) * | 2004-12-02 | 2009-06-02 | Nortel Networks Limited | High-speed scheduling apparatus for a switching node |
US8135024B2 (en) * | 2005-11-14 | 2012-03-13 | Corning Incorporated | Method and system to reduce interconnect latency |
FR2893800B1 (fr) * | 2005-11-24 | 2008-01-04 | Alcatel Sa | Systeme de commutation de paquets pour noeud de reseau de telecommunication |
JP4162249B2 (ja) * | 2006-02-23 | 2008-10-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 複数の工程の配列順序を決定するシステム |
US7710953B2 (en) * | 2007-03-30 | 2010-05-04 | Alcatel-Lucent Usa Inc. | Method and apparatus for operating fast switches using slow schedulers |
US7974278B1 (en) * | 2007-12-12 | 2011-07-05 | Integrated Device Technology, Inc. | Packet switch with configurable virtual channels |
US8219657B2 (en) * | 2008-06-13 | 2012-07-10 | Microsoft Corporation | Automatic request categorization for internet applications |
CN101621460B (zh) * | 2008-06-30 | 2011-11-30 | 中兴通讯股份有限公司 | 一种分组调度方法和装置 |
CN101815025B (zh) * | 2009-02-24 | 2013-12-04 | 华为技术有限公司 | 单播多播的调度方法、装置和系统 |
US8738489B2 (en) * | 2010-10-27 | 2014-05-27 | Oracle International Corporation | Managing schedules in a financial close management system |
US8990490B2 (en) * | 2011-11-29 | 2015-03-24 | Rambus Inc. | Memory controller with reconfigurable hardware |
JP5687644B2 (ja) * | 2012-02-28 | 2015-03-18 | 日本電信電話株式会社 | パケット転送装置およびパケットスケジューリング方法 |
JP5775027B2 (ja) * | 2012-06-13 | 2015-09-09 | 日本電信電話株式会社 | スケジューラ、ネットワークシステム、プログラム |
RU2609086C2 (ru) * | 2014-05-07 | 2017-01-30 | Общество С Ограниченной Ответственностью "Яндекс" | Сетевое устройство пересылки пакетов (варианты), способ настройки сетевого устройства пересылки пакетов (варианты) и способ пересылки пакета |
CN105049262B (zh) * | 2015-08-24 | 2018-07-10 | 中国联合网络通信集团有限公司 | 调整端口流量负载的方法及装置 |
US10944694B2 (en) * | 2016-12-06 | 2021-03-09 | Hewlett Packard Enterprise Development Lp | Predictive arbitration circuit |
US10452573B2 (en) | 2016-12-06 | 2019-10-22 | Hewlett Packard Enterprise Development Lp | Scripted arbitration circuit |
US10237198B2 (en) | 2016-12-06 | 2019-03-19 | Hewlett Packard Enterprise Development Lp | Shared-credit arbitration circuit |
US10721185B2 (en) | 2016-12-06 | 2020-07-21 | Hewlett Packard Enterprise Development Lp | Age-based arbitration circuit |
US10693811B2 (en) | 2018-09-28 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Age class based arbitration |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5673252A (en) * | 1990-02-15 | 1997-09-30 | Itron, Inc. | Communications protocol for remote data generating stations |
US5299190A (en) * | 1992-12-18 | 1994-03-29 | International Business Machines Corporation | Two-dimensional round-robin scheduling mechanism for switches with multiple input queues |
US5506848A (en) * | 1994-06-22 | 1996-04-09 | At&T Corp. | Demand assignment system and method for mobile users in a community of interest |
TW267222B (en) * | 1994-10-05 | 1996-01-01 | Ibm | Improved method and system of addressing |
US5734649A (en) * | 1996-05-31 | 1998-03-31 | Bbn Corporation | Data packet router |
US5959993A (en) * | 1996-09-13 | 1999-09-28 | Lsi Logic Corporation | Scheduler design for ATM switches, and its implementation in a distributed shared memory architecture |
US5831980A (en) * | 1996-09-13 | 1998-11-03 | Lsi Logic Corporation | Shared memory fabric architecture for very high speed ATM switches |
US5923656A (en) * | 1996-10-22 | 1999-07-13 | Board Of Trustees Of The University Of Illinois | Scalable broad band input-queued ATM switch including weight driven cell scheduler |
US6208799B1 (en) * | 1997-04-29 | 2001-03-27 | Time Warner Entertainment Company L.P. | VCR recording timeslot adjustment |
US6263484B1 (en) * | 1997-10-01 | 2001-07-17 | Yang-Sei Yang | Prototyping system and a method of operating the same |
US6044061A (en) * | 1998-03-10 | 2000-03-28 | Cabletron Systems, Inc. | Method and apparatus for fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch |
US6334182B2 (en) * | 1998-08-18 | 2001-12-25 | Intel Corp | Scheduling operations using a dependency matrix |
US6618379B1 (en) | 1998-12-08 | 2003-09-09 | Nec Corporation | RRGS-round-robin greedy scheduling for input/output terabit switches |
US6661788B2 (en) * | 1999-05-14 | 2003-12-09 | Nortel Networks Limited | Multicast scheduling for a network device |
US7058063B1 (en) * | 1999-06-18 | 2006-06-06 | Nec Corporation | Pipelined packet scheduler for high speed optical switches |
US6781986B1 (en) * | 1999-06-25 | 2004-08-24 | Nortel Networks Limited | Scalable high capacity switch architecture method, apparatus and system |
CA2283627C (en) * | 1999-09-27 | 2008-08-12 | Nortel Networks Corporation | High-capacity wdm-tdm packet switch |
KR100363890B1 (ko) * | 1999-10-14 | 2002-12-11 | 주식회사 케이티 | 입출력 버퍼형 스위치의 다중 선택형 2차원 라운드로빈 스케줄링 방법 |
JP3389913B2 (ja) * | 1999-11-10 | 2003-03-24 | 日本電気株式会社 | グループ化パイプライン・スケジューリング方式及びその方法 |
DE19956359A1 (de) * | 1999-11-24 | 2001-05-31 | Alcatel Sa | Kartenbuchung mittels einer virtuellen Eintrittskarte |
JP3565121B2 (ja) * | 1999-12-15 | 2004-09-15 | 日本電気株式会社 | パケットスイッチ及びパケットスイッチング方法 |
JP3473687B2 (ja) * | 2000-03-29 | 2003-12-08 | 日本電気株式会社 | 分散パイプラインスケジューリング方法および方式 |
US20030058848A1 (en) * | 2000-04-11 | 2003-03-27 | Velio Communications, Inc. | Scheduling clos networks |
US20020175998A1 (en) * | 2000-05-31 | 2002-11-28 | Hoang Khoi Nhu | Data-on-demand digital broadcast system utilizing prefetch data transmission |
US7072353B2 (en) * | 2000-06-15 | 2006-07-04 | At&T Corp. | Flexible bandwidth allocation in high-capacity grooming switches |
JP3567878B2 (ja) * | 2000-10-02 | 2004-09-22 | 日本電気株式会社 | パケット交換装置 |
JP2004535744A (ja) * | 2001-07-16 | 2004-11-25 | ウェーブマーケット・インコーポレーテッド | ワイヤレス通信ネットワーク内の移動局に対してアラート‐ベースのサービスを提供するシステム |
US7298728B2 (en) * | 2002-12-23 | 2007-11-20 | Alcatel Lucent | Scheduling system and method for a burst switch |
US20050165631A1 (en) * | 2004-01-28 | 2005-07-28 | Microsoft Corporation | Time management representations and automation for allocating time to projects and meetings within an online calendaring system |
US20090138283A1 (en) * | 2007-11-27 | 2009-05-28 | Lizbeth Ann Brown | Appointment scheduling system and method |
-
2000
- 2000-10-02 JP JP2000302551A patent/JP3567878B2/ja not_active Expired - Fee Related
-
2001
- 2001-09-29 CN CNB011416394A patent/CN100454885C/zh not_active Expired - Fee Related
- 2001-10-01 US US09/966,099 patent/US6977935B2/en not_active Expired - Lifetime
- 2001-10-02 DE DE60137106T patent/DE60137106D1/de not_active Expired - Lifetime
- 2001-10-02 EP EP01123225A patent/EP1193922B1/en not_active Expired - Lifetime
- 2001-10-04 KR KR10-2001-0061154A patent/KR100411221B1/ko not_active IP Right Cessation
-
2002
- 2002-12-06 HK HK02108891.1A patent/HK1047507A1/xx not_active IP Right Cessation
-
2005
- 2005-10-21 US US11/255,173 patent/US7161943B2/en not_active Expired - Fee Related
-
2006
- 2006-11-22 US US11/562,923 patent/US7680126B2/en not_active Expired - Fee Related
-
2007
- 2007-08-20 US US11/842,075 patent/US7602790B2/en not_active Expired - Fee Related
-
2009
- 2009-08-31 US US12/550,941 patent/US8005092B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9166924B2 (en) | 2012-06-29 | 2015-10-20 | Electronics And Telecommunications Research Institute | Packet scheduling method and apparatus considering virtual port |
Also Published As
Publication number | Publication date |
---|---|
US20080037550A1 (en) | 2008-02-14 |
JP2002111715A (ja) | 2002-04-12 |
US8005092B2 (en) | 2011-08-23 |
US6977935B2 (en) | 2005-12-20 |
US7161943B2 (en) | 2007-01-09 |
US20090323695A1 (en) | 2009-12-31 |
US20020039364A1 (en) | 2002-04-04 |
KR20020027235A (ko) | 2002-04-13 |
EP1193922B1 (en) | 2008-12-24 |
CN1354579A (zh) | 2002-06-19 |
DE60137106D1 (de) | 2009-02-05 |
EP1193922A2 (en) | 2002-04-03 |
CN100454885C (zh) | 2009-01-21 |
US20070115958A1 (en) | 2007-05-24 |
US7602790B2 (en) | 2009-10-13 |
EP1193922A3 (en) | 2004-04-07 |
HK1047507A1 (en) | 2003-02-21 |
US20060104285A1 (en) | 2006-05-18 |
US7680126B2 (en) | 2010-03-16 |
KR100411221B1 (ko) | 2003-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3567878B2 (ja) | パケット交換装置 | |
JP3565121B2 (ja) | パケットスイッチ及びパケットスイッチング方法 | |
JP4381490B2 (ja) | マルチキャスト・パケット・アクセス調停方法 | |
US6633580B1 (en) | N×N crossbar packet switch | |
EP1625757B1 (en) | Time-division multiplexing circuit-switching router | |
JP3936044B2 (ja) | アクセス調停方法 | |
US7453898B1 (en) | Methods and apparatus for simultaneously scheduling multiple priorities of packets | |
JP2001285291A (ja) | 調停方式及びそれを用いたアービタ回路 | |
US6735212B1 (en) | Short and long term fair shuffling for crossbar switch arbiter | |
US7103056B2 (en) | Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module | |
JP2001203758A (ja) | グループ化パイプライン・スケジューリング方式及びその方法 | |
JP2009503932A (ja) | 交換装置における効果的なメッセージ交換方法 | |
JP3473687B2 (ja) | 分散パイプラインスケジューリング方法および方式 | |
JP4568364B2 (ja) | 相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法、装置、及びコンピュータ・プログラム(相互接続ファブリックにおいてユニキャスト・トラフィック及びマルチキャスト・トラフィックをスケジューリングする方法及び装置) | |
CA2011399C (en) | Routing apparatus and method for high-speed mesh connected local area network | |
JP5694064B2 (ja) | ルータおよび転送方法 | |
JPH10229404A (ja) | セルスイッチ | |
KR20040052306A (ko) | 크로스바 방식의 방송스위치 | |
JP4055752B2 (ja) | アービタおよびそのアービトレーション方法ならびにスイッチ装置 | |
KR20020054207A (ko) | 분배결합 패킷 스위칭 장치 | |
Jeong et al. | Three-dimensional round-robin scheduler for advanced input queuing switches | |
KR20030074665A (ko) | 간결한 중재용 교신 정보를 갖는 분배결합 패킷 스위칭장치 및 그를 이용한 내부 블록킹 중재 장치 | |
JPH0638608B2 (ja) | パケット・スイッチング・多重キュ−n×mスイッチ・ノ−ド及び処理方法 | |
WO2010040983A1 (en) | Switching device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |