JP3567878B2 - パケット交換装置 - Google Patents

パケット交換装置 Download PDF

Info

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
Application number
JP2000302551A
Other languages
English (en)
Other versions
JP2002111715A (ja
Inventor
聡史 神谷
博一 尾崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2000302551A priority Critical patent/JP3567878B2/ja
Priority to CNB011416394A priority patent/CN100454885C/zh
Priority to US09/966,099 priority patent/US6977935B2/en
Priority to EP01123225A priority patent/EP1193922B1/en
Priority to DE60137106T priority patent/DE60137106D1/de
Priority to KR10-2001-0061154A priority patent/KR100411221B1/ko
Publication of JP2002111715A publication Critical patent/JP2002111715A/ja
Priority to HK02108891.1A priority patent/HK1047507A1/xx
Application granted granted Critical
Publication of JP3567878B2 publication Critical patent/JP3567878B2/ja
Priority to US11/255,173 priority patent/US7161943B2/en
Priority to US11/562,923 priority patent/US7680126B2/en
Priority to US11/842,075 priority patent/US7602790B2/en
Priority to US12/550,941 priority patent/US8005092B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3063Pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing

Description

【0001】
【発明の属する技術分野】
本発明はパケットスイッチを備えたパケット交換装置に係わり、特に高速でスイッチ動作を行うことのできるパケット交換装置に関する。
【0002】
【従来の技術】
インターネットが爆発的に普及している。これに伴って公衆通信インフラストラクチャの急激な変革が求められている。また、インターネットの枠組み自体を通信インフラストラクチャとして活用しようとする機運が高まっている。インターネットがこのような役割を果たすためには、サービスノードとしてのルータにデータ転送処理の高速化および高機能化が求められている。
【0003】
現在の高速ルータでは、ハードウェアによるIP(internet protocol)アドレス検索と、セルフルーティングによる高速スイッチファブリックを用いたデータ転送処理が適用されている。
【0004】
高速大容量ルータのスイッチを実現するために、VOQ(Virtual Output Queuing)を使用した入力バッファスイッチが広く使用されている。従来のFIFO(first−in first−out:先入れ先出し)式の入力バッファ型スイッチではスループット低下の問題があったが、これを解決したノンブロッキングスイッチとして高速化が可能となっている。
【0005】
図15は、VOQを使用した入力バッファ型スイッチの構成を表わしたものである。このスイッチ100は、第1〜第Nの入力インタフェース部101〜101と、第1〜第Nの出力インタフェース部102〜102と、これらの間に配置されたスイッチ部103によって構成されている。
【0006】
第1〜第Nの出力インタフェース部102〜102のそれぞれは、宛先解決エンジン部(FE)104、パケット生成分解部(PAD)105およびVOQ106から構成されている。ここで、宛先解決エンジン部104は図示しない伝送路から送られてきたパケット(図示せず)の宛先の解決を行う。パケット生成分解部105は、このパケットスイッチの転送単位の固定長セルに分解する。分解されたそれぞれのセルは、宛先に応じてVOQ106内の出力インタフェース部102〜102に対応したバッファに格納される。
【0007】
スイッチ部103は、クロスポイントスイッチ108とスイッチスケジューラ109とによって構成されている。ここでスイッチスケジューラ109は、第1〜第Nの入力インタフェース部101〜101のVOQ106から得られた情報を基にしてこれら第1〜第Nの入力インタフェース部101〜101のセル転送要求を調停して、それぞれのVOQ106にセル転送許可を与える。また、クロスポイントスイッチ108を制御して、VOQ106から出力される調停後のセルを出力インタフェース部102〜102のうちの対応する宛先へスイッチングさせるようになっている。
【0008】
第1〜第Nの出力インタフェース部102〜102は、VIQ(Virtual Input Queuing)111とパケット組立部(PAD)112から構成されている。スイッチ部103から送られてきたセルは、第1〜第Nの出力インタフェース部102〜102における対応する出力インタフェース部の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本の入力ライン124、124、……124と接続された入力ポートと、同じくN本の出力ライン125、125、……125と接続された出力ポートが配置されている。各入力ポートは図15で示したVOQ106と同様のVOQ126を備えている。それぞれの入力ポートのVOQ126にはスイッチスケジューラ123内の分散スケジューリング・モジュール127、127、……127が対応して配置されている。
【0015】
スイッチスケジューラ123はタイムスロット単位に入力ポートから出力ポートごとの接続要求情報(Request)を受信して、これを基にしてこれらの間の接続許可情報(Grant)を決定する。スイッチスケジューラ123はまた接続許可情報を基にして入力ポートと出力ポートの接続情報(MSEL)を生成して、クロスポイントスイッチ122に通知して、クロスポイントスイッチ122の入出力の接続を設定する。また、スイッチスケジューラ123は接続許可情報を元にして、各入力ポートがどの出力ポートへのデータ転送を許可されているかを示す転送許可情報(DSTMSG)を作成して、各入力ポートに対して転送許可情報を通知する。入力ポートは転送許可情報にしたがって、データをクロスポイントスイッチ122へ出力して、出力ポート側がデータを受信することでスイッチングが完了するようになっている。
【0016】
このようなスイッチスケジューラ123の機能は、N×Nの接続要求情報からN×Nの接続許可情報を生成することである。接続許可情報生成するにあたって、各分散スケジューリング・モジュール127、127、……127は、個々の入力ポートに対する出力ポートへの接続の可否を決定する。
【0017】
ところで、1999年にラウンド・ロビン・グリーディ・スケジューリング(RRGS)アルゴリズムが発表された。スイッチスケジューラ123はこのRRGSアルゴリズムを用いている。RRGSアルゴリズムを用いたスイッチスケジューラ123は、分散スケジューリング・モジュール127、127、……127がリング状に接続されている。そして、これらの隣接したモジュール間でメッセージの受け渡しが行われる。RRGSアルゴリズムでは、各分散スケジューリング・モジュール127、127、……127が、対象となるタイムスロットの予約(接続許可決定)を行い、その結果情報を次の分散スケジューリング・モジュールに渡すようにしている。
【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)151〜151から構成される。インプットモジュール151〜151には、フレームの先頭を示すフレームパルス(FP)152が入力される。各インプットモジュール151〜151はフレームパルス152に同期して動作する。
【0021】
各インプットモジュール151〜151にはそれぞれのインプットモジュールを識別するための物理番号155〜155が設定される。第1〜第4の各入力ポートからそれぞれ対応する接続要求情報156〜156がインプットモジュール151〜151に入力されると、これらのインプットモジュール151〜151は接続要求の調停を行い、その結果として予約(接続許可)を決定し、接続許可情報157〜157を出力するようになっている。
【0022】
RRGSおよびフレーム化RRGSでは、隣接分散スケジューリング・モジュール間で接続許可情報から入力ポート情報を縮退させた情報(入力ポート情報を参照して作成した情報)としての「出力ポート予約済情報」を受け渡すことにより、出力ポートに対する接続要求の競合を回避している。例えば、第3のインプットモジュール151は、前段の第2のインプットモジュール151から出力ポート予約済情報161を出力ポート予約済情報162として受信して接続要求の調停に使用する。接続許可情報決定後、出力ポート予約済情報161を次段の第4のインプットモジュール151に通知するようになっている。
【0023】
図18はフレーム化RRGSの一般的な動作例を示したものである。図17と共にフレーム化RRGSの動作を説明する。ここでは、4×4の入出力ポートを有するスイッチの動作となる。
【0024】
図17に示した出力ポート予約済み情報161の転送方向は、インプットモジュール151の番号が増加する方向であり、この例では第4のインプットモジュール151まで転送したら再び第1のインプットモジュール151に戻ってここから第2のインプットモジュール151、第3のインプットモジュール151、……という順序で転送が行われる。
【0025】
接続要求情報156等の各情報の極性は次のように定義される。まず、第1〜第4の入力ポートの接続要求156〜156は、信号“1”が要求ありを示し、信号“0”が要求なしを示す。第1〜第4の入力ポートの接続許可情報(予約情報)157〜157は、信号“1”が許可(予約済み)を示し、信号“0”が禁止(未予約)を示す。出力ポート予約済み情報161〜161は、信号“1”が予約済みを示し、信号“0”が未予約を示す。
【0026】
またこの例では4タイムスロットが1フレームを構成しており、フレームパルス152は4タイムスロット周期で入力される。図18では、第1〜第4の各タイムスロットT〜Tにおける動作に分けて示している。
【0027】
まず、第1の各タイムスロットTでは、図17に示した第1〜第4のインプットモジュール151〜151にフレームパルス152が入力されると、第1のインプットモジュール151が次フレームのタイムスロットTにおける第1の入力ポートの接続要求情報を最初に決定する。最初の決定であるので、出力ポート予約済情報162は、第1の出力ポートから第4の出力ポートまで順番に(0,0,0,0)となっている。第1の入力ポートの接続要求156が第1の出力ポートから第4の出力ポートまで順番に(0,1,0,1)であるとする。第1のインプットモジュール151が第2および第4の出力ポートの中から第2の出力ポートを選択したとする。この場合第1のインプットモジュール151は次フレームのタイムスロットTの接続許可情報157として第2の出力ポートを記憶し、出力ポート予約済情報161を(0,1,0,0)として第2のインプットモジュール151に通知する。
【0028】
続けてタイムスロットTで第2のインプットモジュール151が次フレームのタイムスロットTに対する第2の入力ポートの接続許可情報157を決定する。第2のインプットモジュール151は出力ポート予約済情報162(0,1,0,0)を受信する。第2の入力ポートの接続要求156が(0,1,1,1)であるとすると、第2の出力ポートに対する割当は行えない。このため、第2のインプットモジュール151は第2の出力ポートに対する接続要求は拒否し、第3または第4の出力ポートの接続要求から許可する出力ポートを選択する。ここで第3の出力ポートを選択したとすると、第2のインプットモジュール151は接続許可情報157として第3の出力ポートを記憶し、出力ポート予約済情報161を(0,1,1,0)として第3のインプットモジュール151に通知する。
【0029】
以下、タイムスロットTで第3のインプットモジュール151が、またタイムスロットTで第4のインプットモジュール151が次フレームのタイムスロットTの接続許可情報157、157を決定する。タイムスロットTが終了した時点で各モジュールは次フレームのタイムスロットTにおける接続許可情報157を有しているので、次フレームのタイムスロットTにおける4×4の接続許可情報が確定することとなる。
【0030】
以上説明した処理手順では、タイムスロットTで第1のインプットモジュール151以外のモジュールがそれぞれ異なるタイムスロットに対する「予約」を開始するようになっている。例えば、第2のインプットモジュール151は次フレームのタイムスロットTに、第3のインプットモジュール151は次フレームのタイムスロットTに、また第4のインプットモジュール151は次フレームのタイムスロットTに対する「予約」を開始する。
【0031】
各モジュールは当該タイムスロットにて各予約タイムスロットの処理を行い、該当する予約タイムスロットの出力ポート予約情報161をそれぞれ次段のインプットモジュールに転送することにより、各インプットモジュール151〜151とも未動作の時間がないようにスケジューリング処理を実行することができる。タイムスロットTが終了した時点で、各モジュールは次フレームのタイムスロットTからTまでの接続許可情報157を有している。従って、次フレームのタイムスロットTからTまでの4×4の接続許可情報157〜157が確定することとなる。
【0032】
図19は各モジュールの予約(接続許可決定)順序を示したものである。この図は上の例で説明した4×4スケジューラの場合を示している。横軸は時間であり4タイムスロットで1つのフレームを構成している。縦軸にはモジュールの物理番号155〜155が並べられている。出力ポート予約済情報の転送方向は、インプットモジュールの物理番号で示すと、物理番号155、物理番号155、物理番号155、物理番号155、物理番号155、物理番号155、……の順序となる。マトリックス内の数字は予約をする次フレーム内のタイムスロットの番号を指す。
【0033】
図19に示されているように、物理番号155のインプットモジュールは、フレームの先頭(タイムスロットT)で次フレームのタイムスロットTの予約から開始する。以下同様に、物理番号155のインプットモジュールはタイムスロットTの予約から開始し、物理番号155のインプットモジュールはタイムスロットTの予約から開始する。物理番号155のインプットモジュールはタイムスロットTの予約から開始する。
【0034】
【発明が解決しようとする課題】
【0035】
以上説明したパケットスイッチでは、入力ポート側をパイプライン化することで、どの出力ラインに出力するかの調停をスイッチスケジューラ123(図16参照)で調停している。この結果、たとえば図17に示す第1のインプットモジュール151が、図19に示したように第1のタイムスロットTに出力ポートの予約を開始し、以後、第2のインプットモジュール151以降のインプットモジュールに対して順次各タイムスロットごとに出力ポート予約済み情報161を受け渡していくとき、第2のインプットモジュール151は第2のタイムスロットTに出力ポートの予約を開始し、以後、第3のインプットモジュール151以降のインプットモジュールに対して順次各タイムスロットごとに出力ポート予約済み情報161を受け渡していくことになる。第3のインプットモジュール151および第4のインプットモジュール151も、それぞれ更に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本の入力ライン204、204、……204と接続された入力ポートと、同じくN本の出力ライン205、205、……205と接続された出力ポートが配置されている。各入力ポートは図15で示したVOQ106と同様のVOQ206、206、……206を備えている。
【0052】
転送対象のパケットは、図15に示したパケット生成分解部(PAD)105と同一の回路部分でクロスポイントスイッチ202の転送単位の固定長セルに分解されている。この固定長セル単位での転送時間を1タイムスロットと呼んでいる。N本の入力ライン204、204、……204は、M個(ここで数値Mは2以上の整数であり、かつ整数Nの約数。)のグループ211に均等に分割されている。N本の出力ライン205、205、……205も同様にM個のグループ212に均等に分割されている。これらM個の入力グループ211とM個の出力グループ212の組み合わせは、Mとなる。スイッチスケジューラ203は、これらMの組み合わせに対してスケジューリング・モジュールを用意している。
【0053】
図2は、これらM個のスケジューリング・モジュールとその働きを示したものである。スケジューリング・モジュール221、……221MMは、この図2で横軸方向すなわち図1に示す出力ライン205、205、……205の方向にM個ずつの組(221、221、……221)、(221M+1、221M+2、……2212M)、……を、縦軸方向すなわち図1で入力ライン204、204、……204の方向にM回繰り返して配置したものと等しい。この場合、最後の組は図2で一番下に示した組(221M(M−1)+1、221M(M−1)+2、……221MM)となる。
【0054】
それぞれのスケジューリング・モジュール221、……221MMは、VOQ206、206、……206のうちの対応するものからのパケット(固定長セル)転送要求に基づいて、予め定められた未来のタイムスロットにおける(N/M)×(N/M)通りのスケジューリングを実行する。そして、それぞれのスケジューリングの結果として予約済み出力ポート情報231、231、……231と、予約済み入力ポート情報232、232、……232とを、それぞれ予め定められた次段のスケジューリング・モジュールに転送するようになっている。
【0055】
この図2に示した例では、パイプライン処理で情報が一巡するためのこのような転送処理を、図で横方向に隣接するそれぞれのスケジューリング・モジュール221の間で一巡させる処理と、図で縦方向に隣接するそれぞれのスケジューリング・モジュール221の間で一巡させる処理について示している。このような処理におけるスケジューリング・モジュール221同士の接続順序は、これら隣接するもの同士に限る必要はない。すなわち、横方向あるいは縦方向のそれぞれについて、情報が一巡するような任意の順序で各スケジューリング・モジュール221の接続順序を定めることができる。この接続順序は、後に説明するダイアゴナル・モジュール群の選び方によって規定されることになる。スケジューリングおよび情報転送の処理は、それぞれ1タイムスロット以内に実行される。次段のスケジューリング・モジュールでは、対応する論理キューからのパケット転送要求と、前段からの予約済み入出力ポート情報に基づいて、衝突を回避するような予約が行われる。
【0056】
図3は、VOQの1つを拡大して図解したものである。VOQ206、206、……206はそれぞれ同一構成となっているので、ここでは第1のVOQ206を例示的に示すものとする。第1のVOQ206は、図1に示した第1の入力ライン204に対応しており、図15で示したパケット生成分解部(PAD)105を経た固定長セル241をN本の出力ライン205、205、……205に対応させた論理キュー(バッファメモリ)242、242、……242に格納するようになっている。この図で各論理キュー242、242、……242によって固定長セル241の格納された部分の長さが異なって表示されているのは、格納された固定長セル241の数がそれぞれ異なっているためである。
【0057】
図3に示した第1のVOQ206は、全部でMのグループに分けられている。図2では全部でM個のスケジューリング・モジュール221、……221MMを表わしたが、これらは出力ライン205、205、……205の方向にMグループに分かれている。図3ではこれと同様に第1のVOQ206の各論理キュー242、242、……242をMグループに分けている。図3で太線で示した第1のグループ244は、第1〜第N/Mの論理キュー242、242、……242N/Mに対応している。第2のグループ244は、第N/M+1〜第2N/Mの論理キュー242N/M+1、242N/M+2、……2422N/Mに対応している。以下同様にして、第Mのグループ244は、第N−N/M+1〜第Nの論理キュー242N−N/M+1、242N−N/M+2、……242に対応している。
【0058】
以上のような構成のパケットスイッチの動作を次に説明する。ただし、説明を分かりやすくするために、以上説明した数値Nが“16”で、数値Mが“4”という比較的小さな値の場合の例を挙げる。これは、16×16のクロスポイントスイッチの縦方向と横方向をそれぞれ4つのグループに区分けした場合と等しい。
【0059】
図4はこの16×16のクロスポイントスイッチにおけるスケジューリング・モジュールを表わしたものである。この例では、16本の入力を4本ずつ4グループに分割することにしている。16本の出力も同様に4本ずつ4グループに分割される。入力が4グループで出力が4グループの場合には、これらを組み合わせたとき16対のグループが存在する。これらを第1〜第16のスケジューリング・モジュール221〜22116で表わすものとする。
【0060】
第1〜第16のスケジューリング・モジュール221〜22116には、それぞれの処理対象とする入力ポートから出力ポートへの転送要求が入力される。この例では合計16本の入力ライン204、204、……20416と、同じく16本の出力ライン205、205、……20516が存在しているので、これらがそれぞれ4つのグループに分けられて第1〜第16のスケジューリング・モジュール221〜22116に入力される。たとえば、第2の入力ポートから入力された固定長セルの宛先が第3の出力ポートであるとする。第2の入力ポートは入力ポートを4つのグループに分けたときの図4における縦方向に示した第1のグループに属し、第3の出力ポートは図4における横方向に示した出力ポートを4つのグループに分けたときの第1のグループに属する。したがってこの転送要求は図4における、縦方向も横方向も最初のグループとして位置付けられている第1のスケジューリング・モジュール221に入力されることになる。
【0061】
また、第7の入力ポートから第11の出力ポートへの転送要求については、第7の入力ポートが入力ポートを4つのグループに分けたときの図4における縦方向に示した第2のグループに属し、第11の出力ポートは図4における横方向に示した出力ポートを4つのグループに分けたときの第3のグループに属する。したがってこの転送要求は図4における、縦方向が2つ目のグループで横方向が3つ目のグループとして位置付けられている第7のスケジューリング・モジュール221に入力されることになる。
【0062】
図5は、第1のスケジューリング・モジュールのマトリックスの内部の信号配置を一例として示したものである。この図に例示したように、図4の各スケジューリング・モジュール221〜22116の中に示したマトリックスには、それぞれの論理キューから受信したパケット転送要求の有無を示す信号“0”または信号“1”が格納される。ここで、信号“0”は論理キューからのパケット転送の要求がないことを示しており、信号“1”は論理キューからのパケット転送の要求があることを示している。
【0063】
本実施例では、ダイアゴナル・サービス・パタンを構成するダイアゴナル・モジュール群として、図4で太枠で示した第1のスケジューリング・モジュール221、第6のスケジューリング・モジュール221、第11のスケジューリング・モジュール22111および第16のスケジューリング・モジュール22116の4つを選択している。これらはマトリックス上で各入力ポートおよび出力ポートの競合が生じないような組み合わせとなっている。すなわち、第1のスケジューリング・モジュール221では第1〜第4の入力ポートからの転送要求の有無を示す信号が格納されるようになっており、これは第5〜第8の入力ポートを扱う第6のスケジューリング・モジュール221や、第9〜第12の入力ポートを扱う第11のスケジューリング・モジュール22111や、第13〜第16の入力ポートを扱う第16のスケジューリング・モジュール22116と入力ポート間で競合しない。同様に、第1のスケジューリング・モジュール221では第1〜第4の出力ポートへの転送要求の有無を示す信号が格納されるようになっており、これは第5〜第8の出力ポートを扱う第6のスケジューリング・モジュール221や、第9〜第12の出力ポートを扱う第11のスケジューリング・モジュール22111や、第13〜第16の出力ポートを扱う第16のスケジューリング・モジュール22116と出力ポート間でも競合しない。
【0064】
このようなダイアゴナル・サービス・パタンを構成するダイアゴナル・モジュール群は、時間的に重複して他にも3組存在することができる。これらは(S、S、S12、S13)、(S、S、S、S14)、(S、S、S10、S15)の各組である。但しここでは表記を単純化するために、スケジューリング・モジュール221を単にSと表記し、ダイアゴナル・モジュール群ごとに括弧で括って示している。
【0065】
図4に示した各スケジューリング・モジュール221〜22116は、1つの固定長セルの転送時間内に、予め定められたある未来のタイムスロットについての4×4のスケジューリングを実行する。そして、その結果得られる予約済み出力ポート情報261〜264を図の縦方向(縦の矢印方向)の次段に位置するスケジューリング・モジュール221に転送する。また、同時に予約済み入力ポート情報265〜268を図の横方向(横の矢印方向)の次段に位置するスケジューリング・モジュール221にも転送する。たとえば、第1のスケジューリング・モジュール221について説明すると、予約済み出力ポート情報261を第13のスケジューリング・モジュール22113に転送すると共に、予約済み入力ポート情報265を第2のスケジューリング・モジュール221に転送する。なお、本実施例では図4で太枠で示した第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116は、対応する論理キューから転送要求の有無を示す信号を格納されるので、予約はこれらのスケジューリング・モジュール221、221、22111、22116から開始されることになる。
【0066】
各スケジューリング・モジュール221〜22116は、対応する論理キューからの転送要求と前段からの予約済み入出力ポート情報に基づいて、次のタイムスロットについて4×4のスケジューリングを実行し、その結果を更に(縦横両方向の)次段のスケジューリング・モジュール221に転送することになる。このようにして、4タイムスロットかけて、このような処理が第1〜第16のスケジューリング・モジュール221〜22116のすべてで行われることになる。これにより、ある未来のタイムスロットについてのスケジューリングが完成する。
【0067】
以上の処理が実行されていくためには、幾つかの条件が必要である。まず、1つのスケジューリング・モジュール221内における4×4のスケジューリングについての処理は、次段への情報転送を含めて1タイムスロット内で完了しなければならない。また、4入力の論理キューの予約機会が均等になることである。
【0068】
以上の条件を満たすものであれば、各種のアルゴリズムを本実施例のパケット交換装置に適用することができる。たとえば入力×出力の転送要求をマトリックス状に並べて検索を行い、割り当てを行うアルゴリズムが特開平6−233337号公報あるいは特開平9−326828号公報に開示されている。これらの技術も前記した条件を満たすものであれば、本実施例のパケット交換装置に使用することができる。
【0069】
図6〜図8は、各スケジューリング・モジュールのスケジューリングの様子を時間の変化と共に表わしたものである。図6は最初のタイムスロットTからの処理を表わしており、図7、図8は順次時間が経過した状態を表わしている。これらの図を用いて、本実施例の第1〜第16のスケジューリング・モジュール221〜22116(図ではS〜S16と略記する。)によるスケジューリングを具体的に説明する。
【0070】
すでに説明したように本実施例では、ある未来のタイムスロットの割り当てとしての入力と出力の組み合わせの決定を、図2に示した予約済み出力ポート情報231あるいは予約済み入力ポート情報232の流れる順路で予約を行うようにしている。たとえば図4に太枠で記した第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)は、本実施例でダイアゴナル・モジュール群を構成しているため、最初のタイムスロットTで、これから4つ後のタイムスロットTにおける入力と出力の組み合わせの予約を1番目に行う権利を有する。
【0071】
たとえば、タイムスロットTで第1〜第4の入力ポートから第1〜第4の出力ポートへ固定長セルの転送要求があったとする。これらの入出力ポートに対応する第1の分散スケジューリング・モジュール127(S)は、これらの要求が競合するような場合には、その時点で各要求を調停する。一例としては、第1〜第4の入力ポートがすべて第1の出力ポートへ固定長セルを転送する要求を行っていたとすると、このうちの1つの入力ポートしか第1の出力ポートへ固定長セルを転送することはできない。したがって、これら競合した入力ポートの要求をいずれか1つに選択するための調停が行われる。
【0072】
同様に第5〜第8の入力ポートから第5〜第8の出力ポートへ固定長セルの転送要求があった場合には、第6の分散スケジューリング・モジュール127(S)はそれらの要求を調停して出力を予約する。また、第9〜第12の入力ポートから第9〜第12の出力ポートへ固定長セルの転送要求があった場合には、第11の分散スケジューリング・モジュール12711(S11)がそれらの要求を調停して出力を予約する。更に、第13〜第16の入力ポートから第13〜第16の出力ポートへ固定長セルの転送要求があった場合には、第16の分散スケジューリング・モジュール12716(S16)がそれらの要求を調停して出力を予約することになる。これら、ダイアゴナル・モジュール群を構成する第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)の処理は、図6における1つの処理群281内での最初のタイムスロットTの処理として表わしている。
【0073】
このようにして、ダイアゴナル・モジュール群を構成する第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)が最初に出力ポートの予約を行うと、次のタイムスロットTで次のスケジューリング・モジュールに予約処理が引き継がれる。このために、タイムスロットTで得られた予約済み出力ポート情報261〜264は、それぞれ図4に示す縦方向(縦の矢印方向)における次段としての第13、第2、第7および第12のスケジューリング・モジュール22113、221、221、22112(S13、S、S、S12)に転送される。また、同時に予約済み入力ポート情報265〜268は横方向(横の矢印方向)における次段としての第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)にも転送されることになる。
【0074】
この結果、タイムスロットTでは、第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)でタイムスロットTの予約が行われることになる。この際には、第6、第11、第16および第1のスケジューリング・モジュール221、22111、22116、221(S、S11、S16、S)から縦方向(縦の矢印方向)に転送されてきた予約済み出力ポート情報262〜264、261と、第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)から横方向(横の矢印方向)に転送されてきた予約済み入力ポート情報265〜268を参照して、グループ内の論理キューからの要求に基づいて予約を行う。当然ながら、先のタイムスロットTで予約を行った入出力関係について予約を行うことはできず、未予約となっている入出力の組み合わせの中から新たな予約を行うことになる。
【0075】
このようにして第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)でタイムスロットTの予約が行われると、タイムスロットTで次のスケジューリング・モジュールに予約処理が引き継がれる。このために、タイムスロットTで得られた予約済み出力ポート情報262〜264、265は、それぞれ図4に示す縦方向(縦の矢印方向)における次段としての第14、第3、第8および第9のスケジューリング・モジュール22114、221、221、221(S14、S、S、S)に転送される。また、同時に予約済み入力ポート情報265〜268は横方向(横の矢印方向)における次段としての第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)に転送される。そして、第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)でタイムスロットTの予約が行われる。
【0076】
以下同様にして、タイムスロットTの次のタイムスロットTでは、第4、第5、第10および第15のスケジューリング・モジュール221、221、22110、22115(S、S、S10、S15)でタイムスロットTの予約が行われる。このようにして、図7の1つの処理群281における処理が終了すると、第1〜第16のスケジューリング・モジュール221〜22116(S〜S16)のすべてについて、すなわち第1〜第4の入力ポートから第1〜第4の出力ポートに出力される固定長セルの全転送要求についてのタイムスロットTの予約が完了することになる。
【0077】
ところで、図4で太枠で示したダイアゴナル・サービス・パタンを構成する第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)の4つに着目してみると、これらはタイムスロットTの予約のための最初のタイムスロットTにおける処理で、それぞれの分担する予約処理を完了させてしまう。したがって、これ以後のタイムスロットTまでの時間を空き時間として何らの処理も行わないのは効率的ではない。また、これらの処理結果を引き継いでタイムスロットTで予約処理を行う第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)について見てみると、最初のタイムスロットTで何の処理も行わずに待機しているのは時間の無駄であるし、同様にタイムスロットTで予約処理を行った後に次に予約処理を行うまで新たに3タイムスロット分だけ何らの処理も行わないのも時間の無駄である。第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)および第4、第5、第10および第15のスケジューリング・モジュール221、221、22110、22115(S、S、S10、S15)についても、同様に時間に対する稼働率が4分の1であるという問題が生じる。
【0078】
そこで、本実施例のスケジューリング処理では、図6に示した処理群281の他に、その上の部分に示した処理群282〜284が並列して動作するようになっている。すなわち、処理群282について見てみると、最初のタイムスロットTで第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)がタイムスロットTにおける予約処理を行い、その結果を第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)に渡してタイムスロットTでタイムスロットTにおける予約処理を行わせる。以下同様にしてタイムスロットTでは第4、第5、第10および第15のスケジューリング・モジュール221、221、22110、22115(S、S、S10、S15)でタイムスロットTにおける予約処理が行われ、タイムスロットTでは第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)でタイムスロットTにおける予約処理が行われることになる。
【0079】
処理群283については、最初のタイムスロットTで第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)がタイムスロットTにおける予約処理を行い、以下同様にして以降のタイムスロットでそれぞれ対応するスケジューリング・モジュールがタイムスロットTにおける予約処理を行う。最後の処理群284では、同様にしてそれぞれ同一のタイムスロットで処理の行われなかったスケジューリング・モジュールがタイムスロットTにおける予約処理を行うことになる。
【0080】
図7および図8に示した各処理群285〜292についても同様である。このように4×4のスケジューリングは、図4で太枠で示したダイアゴナル・サービス・パタンを構成する第1、第6、第11および第16のスケジューリング・モジュール221、221、22111、22116(S、S、S11、S16)の4つのみが予約処理に優先するのではなく、それぞれ起点となるタイムスロットを異にした第2、第7、第12および第13のスケジューリング・モジュール221、221、22112、22113(S、S、S12、S13)、第3、第8、第9および第14のスケジューリング・モジュール221、221、221、22114(S、S、S、S14)、第4、第5、第10および第15のスケジューリング・モジュール221、221、22110、22115(S、S、S10、S15)の各組も優先の機会を与えられる。すなわち、第1〜第16のスケジューリング・モジュール221〜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】本実施例におけるM個のスケジューリング・モジュールの処理動作を示した説明図である。
【図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)

  1. 複数の入力ポートのそれぞれに用意され、入力されるそれぞれのパケットを宛先の出力ポートに対応した格納場所に順に格納するバッファメモリと、
    それぞれの入力ポートのバッファメモリに格納されたパケットについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、
    このグループ別割振り手段によって割り振られたそれぞれのグループの中で、前記M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループを前記M×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して前記固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、
    この予約処理手段の予約処理結果に対応させて前記バッファメモリに格納されたパケットの入出力を設定して転送要求のあった前記パケットの転送を行うスイッチ
    とを具備することを特徴とするパケット交換装置。
  2. 複数の入力ポートに入力されるそれぞれのパケットを所定の固定長セルに分解する固定長セル分解手段と、
    それぞれの入力ポートに対応して配置され、この固定長セル分解手段によって分解されたそれぞれのセルを宛先の出力ポートに対応した格納場所に順に格納する論理キューと、
    それぞれの入力ポートの論理キューに格納された固定長セルについての転送要求の有無を表わした情報を、予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせからなるM×Mのマトリックス状に配置された複数のグループのうちの該当する入力ポートと出力ポートに対応した1つずつのグループに割り振るグループ別割振り手段と、
    このグループ別割振り手段によって割り振られたそれぞれのグループの中で、前記M×Mのマトリックス上で行および列方向に競合が生じないM個のグループを選択したときのこれらのグループを前記M×Mのマトリックスの行方向と列方向の2方向にパイプライン処理して前記固定長セルの転送要求を表わした情報の予約をグループ単位で行う予約処理手段と、
    この予約処理手段の予約処理結果に対応させて前記論理キューに格納された固定長セルの入出力を設定して転送要求のあった前記固定長セルの転送を行うスイッチと、
    このスイッチによってそれぞれの出力側に得られた固定長セルをパケットに組み立てるパケット組立手段
    とを具備することを特徴とするパケット交換装置。
  3. 前記予約処理手段は、1つのグループの予約から次のグループへの予約結果の転送までを1つのタイムスロットで行うことを特徴とする請求項1または請求項2記載のパケット交換装置。
  4. 予め全入力ポートと全出力ポートを重複しないように等しい数ずつ選択してなる入力ポートと出力ポートの組み合わせは、ダイアゴナル・サービス・パタンであり、そのM個の組み合わせからなるダイアゴナル・モジュール群を用いてパイプライン処理が行われることを特徴とする請求項1または請求項2記載のパケット交換装置。
  5. 前記予約処理手段は、予め定めた未来の所定のタイムスロットに対して、前記ダイアゴナル・サービス・パタンに該当するグループから該当する出力ポートに対して順次転送要求予約を行うことを特徴とする請求項4記載のパケット交換装置。
JP2000302551A 2000-10-02 2000-10-02 パケット交換装置 Expired - Fee Related JP3567878B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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