JP4287157B2 - データトラフィックの転送管理方法及びネットワークスイッチ - Google Patents
データトラフィックの転送管理方法及びネットワークスイッチ Download PDFInfo
- Publication number
- JP4287157B2 JP4287157B2 JP2003004840A JP2003004840A JP4287157B2 JP 4287157 B2 JP4287157 B2 JP 4287157B2 JP 2003004840 A JP2003004840 A JP 2003004840A JP 2003004840 A JP2003004840 A JP 2003004840A JP 4287157 B2 JP4287157 B2 JP 4287157B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- credit count
- credit
- count
- regular
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- 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/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- 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/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- 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/623—Weighted service order
-
- 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/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- 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/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6265—Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明は、一般にデータ通信装置の技術分野に関し、特に共有されたデータ伝送資源を利用するためのクレジット調停(credit−based arbitration)を利用する装置に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】
共有される資源に対して複数のユーザが存在する場合には、データ通信装置にて調停技術が利用される。例えば、装置内でいくつかの共通のデータ経路を介して伝送されるデータパケットを包含する複数のキュー(queue)が存在し得る。データ経路の伝送容量が複数のキューの中で適切に共有されることを保障するために調停は利用される。各キューに等しい容量で分配するような比較的単純な基準に従って、データ経路は共有される、又は各キューに対して全体的に異なるピーク及び平均で割り当てるような、より複雑な基準に従って分配され得る。
【0003】
既存の調停技術に、いわゆる「ラウンド・ロビン(round−robin)」がある。調停動作が行われる各時点で、ポインタを利用して、その資源について最高の優先度を有するキューを識別し、他のキューには低い優先度が与えられる。調停サイクルごとに一度、ポインタは所定の形式で進められ、「最高優先度」の状態が各キューに代わる代わる与えられるようにする。各キューが、それが勝ち取るところの調停を総て有効に利用できるならば、ラウンド・ロビン手法は、総てのキューに共有資源を公平に与える。
【0004】
また、共有資源へのアクセスを管理する際に、伝送「クレジット(credit)」を利用することも知られている。クレジットを利用する手法では、クレジット・カウントがキュー又はデータの他の資源に関連付けられる。キューは、それが充分なクレジットを有する限りにおいて、共有資源を利用するのに適格である。データがキューから伝送されると常にクレジットは適切な量だけデクリメントされ、及びクレジットは何らかの事前に定められた基準に従って周期的にインクリメントされる。クレジットを利用する手法は、共有データ経路における複数の資源から複雑な混合トラフィックを形成するのに有利であり得る。データ経路送信容量の様々な分配を反映するための様々なキューに、様々な周期的クレジット割り当てを利用することが可能である。この手法におけるクレジットの利用は、「重み付けされた(waited)」クレジットを利用する調停として言及され得る。
【0005】
あるアプリケーションでは、複数のユーザの中で共有されるデータ経路の利用度を正確に割り当てるために、重み付けされたラウンドロビン調停を利用することについては欠点が生じ得る。例えば、更なるダウンストリーム資源について競合の可能性がある場合には、そのような競合に起因して、あるキューからの送信が妨げられる場合があり、たとえそのキューがそのデータ経路に関して最高の優先度を有していたとしても起こり得る。この状態は、「背圧(backpressure)」として言及され得る。また、所与のキュー内を流れるトラフィックは特に「バースティ(bursty)」であり、すなわちそれはピーク平均データレートの高い比率を有する。そのようなキューは、最高の優先度の調停状態に達する時点で空になり得る。いずれの場合でも、キューにあり当てられる送信容量はキューによって使用されず、従って浪費され又は過剰な容量として他のキューによって使用される。そのような動作は資源割り当て手法を非効率的にし、所望の動作から顕著に逸脱し得るところの動作となってしまう。特に、装置のユーザは、望まれない問題と共に、広告どおりの又は期待される動作に達しないところの実際の動作を経験するであろう。
【0006】
【課題を解決するための手段】
本発明によれば、複数のキューからのデータトラフィックの送信を管理するための方法及び装置が開示され、データ通信機器の機能を改善し、本発明がなかったならばパフォーマンスを劣化させていたところの、データフローにおけるバースティネス(burstiness)のような状態であったとしても、期待されるレベルのパフォーマンスを与えることが可能である。
【0007】
開示される方法では、正規の(regular)クレジットカウント及び履歴クレジットカウントが各シーケンスについて維持される。正規のクレジットカウントは、調停に関する候補を区別するために一般的に使用される。キューからのデータ伝送が遮られず、そのキューがゼロのような何らかの所定の最小値より大きな正規のクレジットカウントを有するならば、そのキューは候補として識別される。キューの正規のクレジットカウントは、以後の調停を勝ち取った後にそのキューからデータが送信された場合に、減らされる。キューからのデータ送信が遮られない限り、正規のクレジットカウントはキュー専用重み(queue−specific weight)によって周期的に増加させられる。例えば、キューが、そのキューからの送信を一時的に遮ることの可能な背圧に委ねられるところのシステムにおいて、正規のクレジットカウントは、何ら背圧が存在しないならば所与の時点で増やされる。
【0008】
また、履歴クレジットカウントは、調停用の候補を識別するために使用されるが、やや異なる手法である。正規のクレジットカウントではなく履歴クレジットカウントを周期的にポーリングするために、選択機構が使用される。候補の識別、調停、及び履歴クレジットカウントの低減は、正規のクレジットカウントに対するものと実質的に同様に行われる。しかしながら、履歴クレジットカウントは異なる手法で増やされる。履歴クレジットカウントは、そのキューからの送信がブロックされた場合に、正規のクレジットカウントを増加させる代わりに、増やされる。したがって、履歴クレジットカウントは、背圧のような非調停的な機構によってそのキューからの送信のブロックに起因して喪失したところの潜在的な送信の機会を追跡する。正規のクレジットカウントではなく履歴クレジットカウントの周期的なポーリングは、各キューに、送信する機会の利用度を「巻き返す(catch up)」ための機会を付与し、送信帯域が総てのキューで使用されるように公平性を改善する。
【0009】
本発明の他の態様、特徴及び利点は、以下の詳細な説明により明らかになるであろう。
【0010】
【発明の実施の形態】
本発明は、添付図面に関する以下の本発明の詳細な説明を参照することで、よりいっそう理解されるであろう。
【0011】
図1は、ネットワークスイッチの部分を示し、入力10で受信されたデータパケット又はセルが、そのパケット又はセルがあて先とされるところの対応する出力14−1,14−2,...,14−Nに依存して、いくつかの入力キュー12−1,12−2,...,12−Nの1つに格納される。簡単のため、以下、「パケット」なる用語を図1のスイッチ又はそれが動作するネットワーク内のメッセージユニットに言及するために使用し、そのようなユニットが可変サイズ又は固定サイズであるか否かによらず使用する。出力14への関連付けられるのは対応する出力キュー16である。キュー12,16の2つの組の間は、マルチプレクサ18及びデマルチプレクサ20を包含する共有データパスである。マルチプレクサ18及びデマルチプレクサ20は、調停ロジック22によって制御され、これは、入力キューステータス及び出力キューステータスとして示されるキューステータス情報に基づいて、その動作の一部を実行する。
【0012】
動作時にあっては、受信パケットは、各パケットが転送されるところの出力14を決定するために検査され、及び各パケットは対応する入力キュー12に配置される。従って、例えば、受信パケットが出力14−2宛てであると判定されたならば、そのパケットは入力キュー12に配置される。スイッチ内の適切なあて先の判別は、「フォワーディング(forwarding)」と呼ばれ、当該技術分野で既知の様々な手法で実現され得る。
【0013】
調停ロジック22は、フォワードされるべきパケットを有するものを識別するために入力キュー12を監視し、フォワードされたパケットを受け入れることが可能なものを識別するために出力キュー14を監視する。更に、調停ロジック22は、「候補(candidate)」入力キュー12、すなわちパケットをフォワードするのに適格なものを識別し、そのスイッチの所与の目的(goal)を達成させる手法で候補の中から選択するために所定のアルゴリズムを実行する。これらの目的は一般に「トラフィック整形(traffic shaping)」の技術分野に属し、それはすなわち利用可能な送信帯域の利用効率を最大化しつつ多数のストリームのピーク及び平均伝送レートを制御するものである。以下、調停ロジック22で実行される具体的なプロセスを説明する。
【0014】
マルチプレクサ18及び出力キュー16に対するデマルチプレクサ20を通じて、入力キュー12からパケットが転送されると、対応する出力14に送信され、出力キュー16の先頭に達する。例えば、出力キュー16−2に配信されるパケットは、先入れ先出し(FIFO)形式でキュー16−2の先頭に位置付けられ、出力14−2に接続されたネットワークリンク(図示せず)に送信される。
【0015】
図2は、図1のシステムの動作、特に調停ロジック22の動作に関連して使用されるデータ構造を示す。このようなデータ構造が各入力キュー12に対して維持される。この構造は、正規のクレジットカウント24、履歴クレジットカウント26、重み(ウエイト)28、送信サイズ30、及びリミット32を包含する。一実施例では、正規のクレジットカウント24は、好ましくは、符号付の多ビットの整数(signed multi−bit integer)であり、他のデータ要素は符号付でない値である。正規のクレジットカウント24は、「正規(regular)」として言及される第1形式の送信クレジット数を追跡し、これは、対応する入力キュー12のために蓄積される。これらの正規のクレジットは、以下に説明されるように、所定の条件の下にカウントに加えられる。履歴クレジットカウント26は、「履歴クレジット(history credit)」として言及される第2形式の送信クレジット数を追跡し、これは対応するキューによって蓄積され、その履歴クレジットは以下に説明されるように異なる条件の下にカウントに加えられる。正規の及び履歴のクレジットカウント24,26は、これも以下に説明されるように、調停プロセスにて使用される方法も異なる。
【0016】
重み28は暫定パラメータであり、対応する入力キュー12からのトラフィックと、他の入力キュー12のトラフィックとの相対的な優先度を示す。また、送信サイズ30は、入力キュー12が調停に勝利した場合に1回に、「デキュー(dequeued)」される、又は入力キュー12から送信されるバイト数又はデータビット数に対応する動作パラメータである。リミット32は、履歴クレジットカウント26によって達成され得る最大数を規定する。これは、以下に詳細に説明されるように、調停アルゴリズムの「チューニング(tuning)」を可能にする構築可能なパラメータであることが好ましい。
【0017】
図3は、送信用の候補を識別し、識別された候補の中から選択する際の調停ロジック22の動作を示す。そのサイクルは、アイドル状態34から始まる。外部機構(図示せず)を利用して、そのプロセスを、正規のクレジットがポーリングされる状態36又は履歴クレジットがポーリングされる状態38の何れかに遷移させる。この機構は、例えば、状態36又は38の何れかにて開始する所望の比率を反映するために、2進パターンでプログラムされたシフトレジスタとすることが可能である。例えば、そのパターン内の各々の「1」が正規のクレジットがポーリングされるべきことを示し、各々の「0」が履歴クレジットが最初にポーリングされるべきことを示す。「1」及び「0」の相対的な数が、それらの活動(アクティビティ)の所望の比率を示す。「11110」のような数は、履歴クレジットが、5回のサイクルのうち1回ポーリングされることを示し、「11100」のような数は、履歴クレジットが5回のサイクルのうち2回ポーリングされることを示す。シフトレジスタは各調停サイクルにつき1回シフトされ、ある所定の位置におけるビット値(例えば、最上位ビット)がその指標を与える。当然ながら、所望の開始状態36,38にプロセスを方向付ける他の機構を利用することも可能である。
【0018】
プロセスがポールヒストリ状態38にて始まると、各入力キュー12についての履歴クレジット値26(図2)が検査される。ゼロより大きな履歴クレジット値を有する入力キュー12全体が、調停用の候補として識別される。1つ又はそれ上のそのような候補が見出されると、プロセスは、以下に説明される判定状態40に遷移する。
【0019】
プロセスは、アイドル状態34から直接的に(上述したような外部機構を通じて)、又は何らの候補も見出されなかった場合に(すなわち、入力キューの総てがゼロの履歴クレジット26を有する場合に)ポールヒストリ状態38から、ポールレギュラー状態36に入る。ポールレギュラー状態36では、入力キューが空(empty)であるか否か、対応する出力キュー16が現在転送内容を受け入れることができないことを示す「背圧(backpressure)」信号をアサートしているか否かを示す状態信号と共に、各入力キューについて正規のクレジットカウント24が検査される。ゼロより大きな正規のクレジットカウント24を有し、空でなく、背圧を受けていない総てのキュー12が、調停のための候補として認定される。少なくとも1つのそのような候補が見出されると、プロセスは判定状態40に遷移する。
【0020】
ポールレギュラー状態36にて何らの候補も見出されなかったならば、プロセスは、クレジット加算状態42に進む。この状態では、各入力キュー12についてのクレジットが以下に説明される方法で条件付で増やされる。プロセスはその後にポール加算状態44に進む。
【0021】
ポール加算状態44では、キューエンプティ及び背圧状態信号と共に、各入力キューについての正規のクレジットカウント24が再び検査される。ゼロより大きな正規のクレジットカウント24を有し、エンプティでなく、背圧の影響を受けていない総ての入力キュー12は、調停のための候補として認定される。少なくとも1つの候補が見出されたならば、プロセスは判定状態40に進む。何らの候補も見出されなかったならば、いくつかの事象の内の1つが起こる。ステップ42,44によって形成されるループが、「オーバーフロー」に関する「OVF」として示される何らかの許容最大回数より多く反復していないならば、プロセスはステップ42に戻り、そのループが反復される。ループ反復がオーバーフロー下ならば、キューの長さに基づいて候補が認定されなかったか否かを示す制御変数QLNの設定に依存して、プロセスは、ポールキューレン(Poll Queuelen)状態46又はポールバリッド(Poll Valid)状態の何れかに進む。変数QLNはシステム内の上位プロセッサ(図示せず)によって制御される。
【0022】
ポールキューレン状態46では、何らかの特定のされた値よりも大きなキューの長さを有する入力キュー12が、候補として認定される。何らかの候補が見言い出されると、プロセスは判定状態40に進む。そうでなければ、プロセスはバリッド状態48に進む。
【0023】
ポールバリッド状態46では、エンプティでない入力キュー12が候補として認定される。何らかの候補が認定されると、プロセスは判定状態40に進む。そうでなければ、プロセスはアイドル状態34に戻る。
【0024】
キューの長さ及びエンプティでない状態に関するポーリングには、クレジットカウント24,26に基づいて、未使用の送信容量が与えられる。それらの基礎に基づいて候補として区別されるために充分な正規の又は履歴のクレジットカウントをキューが有していない場合であっても、これらのポーリングは、候補のキューを認定することになる。
【0025】
判定状態40では、認定された候補の内の1つがラウンドロビン形式で選択される。最高の優先度の入力キュー12に認定されたものは、各調停サイクルの間にそのキューの中の順序で進行し、残りのキューは対応する順序にランク付けされる。したがって、ある調停サイクルの間に、例えば、1,2,...,12の優先度がキュー4,5,...,12,1,2,3にそれぞれ与えられる。次の調停サイクルでは、それらの優先度は、キュー5,6,...,12,1,2,3,4にそれぞれシフトされる。所与の調停サイクルの間に、候補として認定される最高優先度のキューは、調停の勝者として選択される。データユニットのいくつかが、勝利した入力キュー12から対応する出力キュー16に転送される。同時に、勝利した入力キュー12についての正規のクレジットカウント24又は履歴クレジットカウント26は、送信サイズ値30により示されるような、転送されたデータユニット数に対応する量だけ減らされる。判定状態40にポールヒストリ状態38を通じて到来した場合には、履歴クレジットカウント26は減らされ;そうでなければ、正規のクレジットカウント24が減らされる。
【0026】
図4は、各入力キュー12について、クレジットが条件付で正規のクレジットカウント24及び履歴クレジットカウント26に加えられる手法を示す。図4のプロセスは、図3のプロセスが加算クレジット状態42を通過する際に各入力キューについて生じる。
【0027】
ステップ50にて、正規のクレジットカウント24がゼロより小さいか又は等しいかが判定される。もしそうであれば、正規のクレジットカウント24は重み28(図2)によってステップ52で増やされる。この動作は、ゼロより大きい正規のクレジットカウント24を増やす又は増やさないとすることも可能である。それが行われるならば、対応するキューは、ポールレギュラー状態36又は図3のプロセスの以後のパスにおけるポール加算状態44の間に、候補として認定される。図示の例では、ゼロの値が、正規のクレジットカウント24の増加を停止させる時点を判別するための上限閾値である。他の実施例では異なる上限閾値を利用することも可能である。
【0028】
再び図4を参照するに、ステップ50にて正規のクレジットカウント24が既にゼロより大きいならば、プロセスは54に進み、キューが新たなクレジットを現在利用できず、そのキューが背圧に直面しているか又はエンプティであるか否かが判定される。何れかの状態が生じており、履歴クレジットカウント26がリミット32より小さいならば、プロセスはステップ56に進み、履歴クレジットカウント26は重み28によって増やされる。この動作は、履歴クレジットカウント26のクレジットを、リミット32の値まで増加させる責務を有し、蓄積されたクレジットは図3のプロセスにおけるポールヒストリ状態38に使用される。その結果、対応する入力キュー12は、上述したような、本発明が適用されなかったならば遭遇していたであろう割当帯域の喪失になるような状況が生じた場合であっても、クレジットの利用における「巻き返し(catch up)」を行う機会を有する。
【0029】
ここに開示した本発明の概念から逸脱することなしに、開示された装置及び方法の修正及び変形が可能であることは当業者に明白であり、従って本発明は、特許請求の範囲以外によって限定されるべきではない。
【図面の簡単な説明】
【図1】図1は、本発明による、共有データパスを通じて異なるあて先に対するキューを有するシステムのブロック図である。
【図2】図2は、図1のシステムにおける各キューに関するクレジットウインドウデータ構造を示す図である。
【図3】図3は、図1のシステムにおける、調停のための候補としてのキューを識別し、データ送信用のキュー候補の1つを選択するプロセスのフローチャートである。
【図4】図4は、図2のクレジットウインドウデータ構造に送信クレジットを付加するプロセスのフローチャートである。
【符号の説明】
10 入力
12 入力キュー
14 出力
16 出力キュー
18 マルチプレクサ
20 デマルチプレクサ
22 調停ロジック
24 正規のクレジット
26 履歴クレジット
28 ウエイト
30 送信サイズ
32 リミット
Claims (8)
- 複数のキューからのデータトラフィックの転送を管理する方法であって:
前記キューの各々について正規のクレジットカウント及び履歴クレジットカウントを保持するステップ;
調停用の候補を認定するために前記キューの前記履歴クレジットカウントを周期的にポーリングするステップであって、前記キューからのデータ伝送が遮られず、前記キューが所定の第1最小値より大きな履歴クレジットカウントを有するならば、キューが候補として認定されるステップ;
周期的に且つ前記履歴クレジットカウントをポーリングすることによっても調停用の候補が認定されなかった場合に、前記キューの正規のクレジットカウントをポーリングし、調停用の候補を認定するステップであって、前記キューからのデータ伝送が遮られず、前記キューが所定の第2最小値より大きい正規のクレジットカウントを有するならば、キューが候補として認定されるステップ;
前記履歴又は正規のクレジットカウントの何れかに基づいて調停用の候補を認定する場合に、候補として認定されたキューの中で調停を行うステップ;
各キューの前記正規のクレジットカウント又は履歴クレジットカウントを周期的に増加させるステップであって、前記キューからのデータ伝送が候補として認定されなかった場合にキューに対する前記正規のクレジットカウントが増やされ、前記キューからのデータ伝送が遮られた場合にキューに対する前記履歴クレジットカウントが増やされるステップ;及び
調停にて勝利したキューからデータが伝送される場合に各キューについての正規のクレジットカウント又は履歴クレジットカウントの何れかが減らされるステップであって、前記履歴クレジットカウントに基づいて前記調停にて勝利した場合には前記履歴クレジットカウントが減らされ、前記正規のクレジットカウントに基づいて前記調停にて勝利した場合には前記正規のクレジットカウントが減らされるステップ;
を有する方法。 - 前記正規のクレジットカウント及び前記履歴クレジットカウントがポーリングされる相対的な頻度を決定するパターンを含むシフトレジスタを維持するステップ;
前記シフトレジスタの内容を周期的にシフトさせるステップ;及び
前記シフトレジスタ各々のシフトの際に、前記シフトレジスタ内の所定の位置における2進数の値に基づいて、前記履歴クレジットカウント又は前記正規のクレジットカウントをポーリングすることを判定するステップ;
を更に有する請求項1記載の方法。 - 前記キューがエンプティである又はバックプレッシャに直面している場合に、前記キューからのデータ伝送が遮られるよう判定され、前記キューがエンプティでなく及びバックプレッシャに直面していない場合に、前記キューからのデータ伝送は遮られないよう判定される請求項1記載の方法。
- 各キューについての前記正規のクレジットカウント及び履歴クレジットカウントの増加が、前記正規のクレジットカウントのポーリングの際に何らの候補も認定されなかった場合に行われる請求項1記載の方法。
- 前記キューの各々について履歴クレジットリミットを保持するステップを更に有し、前記キューからのデータ伝送が遮られ及び前記クレジットカウントが前記履歴クレジットリミットより小さい場合に、各キューについての前記履歴クレジットカウントが増やされる請求項1記載の方法。
- 各キューについての重みを保持するステップを更に有し、各キューの前記履歴クレジットカウント及び前記正規のクレジットカウントの増加は、対応する重みによってクレジットカウントを増加させることによって行われる請求項1記載の方法。
- 各キューが、ネットワーク装置の異なる出力に対応する請求項1記載の方法。
- 複数のキューと、データ転送ロジックと、調停ロジックを有するネットワークスイッチであって:
前記複数のキューの各キューが、当該ネットワークスイッチの入力からデータを受信し、及び当該ネットワークスイッチの対応する異なる出力に関連付けられ、各キューが、対応する正規のクレジットカウント及び履歴クレジットカウントを包含し;
前記データ転送ロジックは、当該ネットワークスイッチの対応する出力に、前記キューの選択されたものからデータを転送し;及び
前記調停ロジックは:
(1)調停用の候補を認定するために前記キューの前記履歴クレジットカウントを周期的にポーリングし、前記キューからのデータ伝送が遮られず、前記キューが所定の第1最小値より大きな履歴クレジットカウントを有するならば、キューが候補として認定され;
(2)周期的に且つ前記履歴クレジットカウントをポーリングすることによっても調停用の候補が認定されなかった場合に、前記キューの正規のクレジットカウントをポーリングして調停用の候補を認定し、前記キューからのデータ伝送が遮られず及び前記キューが所定の第2最小値より大きい正規のクレジットカウントを有するならば、キューが候補として認定され;
(3)前記履歴又は正規のクレジットカウントの何れかに基づいて調停用の候補を認定する場合に、候補として認定されたキューの中で調停を行い;
(4)各キューの前記正規のクレジットカウント又は履歴クレジットカウントを周期的に増加させ、前記キューからのデータ伝送が候補として認定されなかった場合にキューに対する前記正規のクレジットカウントが増やされ、前記キューからのデータ伝送が遮られた場合にキューに対する前記履歴クレジットカウントが増やされ;及び
(5)調停にて勝利したキューからデータが伝送される場合に各キューについての正規のクレジットカウント又は履歴クレジットカウントの何れかが減らされ、前記履歴クレジットカウントに基づいて前記調停にて勝利した場合には前記履歴クレジットカウントが減らされ、前記正規のクレジットカウントに基づいて前記調停にて勝利した場合には前記正規のクレジットカウントが減らされる;
ようにしたネットワークスイッチ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/047,467 US7324452B2 (en) | 2002-01-14 | 2002-01-14 | Weighted credit-based arbitration using credit history |
US10/047467 | 2002-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003249952A JP2003249952A (ja) | 2003-09-05 |
JP4287157B2 true JP4287157B2 (ja) | 2009-07-01 |
Family
ID=21949148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003004840A Expired - Fee Related JP4287157B2 (ja) | 2002-01-14 | 2003-01-10 | データトラフィックの転送管理方法及びネットワークスイッチ |
Country Status (4)
Country | Link |
---|---|
US (1) | US7324452B2 (ja) |
EP (1) | EP1328094B1 (ja) |
JP (1) | JP4287157B2 (ja) |
DE (1) | DE60300504T2 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249775B1 (en) * | 1997-07-11 | 2001-06-19 | The Chase Manhattan Bank | Method for mortgage and closed end loan portfolio management |
US7062462B1 (en) | 1999-07-26 | 2006-06-13 | The Chase Manhattan Bank | On-line higher education financing system |
US7599879B2 (en) * | 2000-03-24 | 2009-10-06 | Jpmorgan Chase Bank, National Association | Syndication loan administration and processing system |
US7472088B2 (en) * | 2001-01-19 | 2008-12-30 | Jpmorgan Chase Bank N.A. | System and method for offering a financial product |
EP1402396A4 (en) * | 2001-07-05 | 2009-05-27 | Sandburst Corp | METHOD AND APPARATUS FOR ALLOCATING LINK STRIP WIDTH |
US7724760B2 (en) * | 2001-07-05 | 2010-05-25 | Broadcom Corporation | Method and apparatus for bandwidth guarantee and overload protection in a network switch |
US7324452B2 (en) * | 2002-01-14 | 2008-01-29 | Fujitsu Limited | Weighted credit-based arbitration using credit history |
US7539199B2 (en) * | 2003-02-21 | 2009-05-26 | Gireesh Shrimali | Switch fabric scheduling with fairness and priority consideration |
WO2005013057A2 (en) | 2003-07-25 | 2005-02-10 | Jp Morgan Chase Bank | Financial network-based payment card |
US20090313163A1 (en) * | 2004-02-13 | 2009-12-17 | Wang ming-huan | Credit line optimization |
US7844518B1 (en) | 2004-11-30 | 2010-11-30 | Jp Morgan Chase Bank | Method and apparatus for managing credit limits |
JP2006195714A (ja) * | 2005-01-13 | 2006-07-27 | Matsushita Electric Ind Co Ltd | リソース管理装置 |
US8457131B2 (en) * | 2005-02-18 | 2013-06-04 | Broadcom Corporation | Dynamic table sharing of memory space within a network device |
US8027256B1 (en) * | 2005-06-02 | 2011-09-27 | Force 10 Networks, Inc. | Multi-port network device using lookup cost backpressure |
DE602005004611T2 (de) * | 2005-07-22 | 2008-06-05 | Alcatel Lucent | Verfahren zum Betreiben einer Ablaufsteuerung eines Kreuzvermittlungsschalters und Ablaufsteuerung |
US7925578B1 (en) | 2005-08-26 | 2011-04-12 | Jpmorgan Chase Bank, N.A. | Systems and methods for performing scoring optimization |
US8489497B1 (en) | 2006-01-27 | 2013-07-16 | Jpmorgan Chase Bank, N.A. | Online interactive and partner-enhanced credit card |
US7903558B1 (en) * | 2007-09-28 | 2011-03-08 | Qlogic, Corporation | Method and system for monitoring a network link in network systems |
CN101286947B (zh) * | 2008-05-30 | 2010-12-01 | 杭州华三通信技术有限公司 | 数据输出控制方法和装置 |
US8687639B2 (en) | 2009-06-04 | 2014-04-01 | Nvidia Corporation | Method and system for ordering posted packets and non-posted packets transfer |
US8284660B2 (en) * | 2009-10-30 | 2012-10-09 | Qualcomm, Incorporated | Method and apparatus for scheduling of quality of service (QoS) transmissions in a wireless communication system |
US8532098B2 (en) * | 2009-11-30 | 2013-09-10 | Nvidia Corporation | System and method for virtual channel communication |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
US9253111B2 (en) | 2013-02-27 | 2016-02-02 | Futurewei Technologies, Inc. | Bandwidth distribution based on prior granting cycles |
WO2015152891A1 (en) | 2014-03-31 | 2015-10-08 | Hewlett-Packard Development Company, L.P. | Credit distribution to clients |
US11221853B2 (en) * | 2015-08-26 | 2022-01-11 | Huawei Technologies Co., Ltd. | Method of dispatching instruction data when a number of available resource credits meets a resource requirement |
US10853077B2 (en) * | 2015-08-26 | 2020-12-01 | Huawei Technologies Co., Ltd. | Handling Instruction Data and Shared resources in a Processor Having an Architecture Including a Pre-Execution Pipeline and a Resource and a Resource Tracker Circuit Based on Credit Availability |
KR102505855B1 (ko) * | 2016-01-11 | 2023-03-03 | 삼성전자 주식회사 | 가중치 기반 멀티-큐 가능 리소스 공유 방법 |
US10243866B2 (en) * | 2016-07-01 | 2019-03-26 | International Business Machines Corporation | Controlling packet data transmissions via data transmission media |
US10637919B2 (en) * | 2017-03-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Autonomous resource governor in distributed systems for protecting shared resources |
AU2020396956B2 (en) * | 2019-12-02 | 2022-10-27 | DRW Technologies, LLC | System and method for latency critical quality of service using continuous bandwidth control |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5231633A (en) * | 1990-07-11 | 1993-07-27 | Codex Corporation | Method for prioritizing, selectively discarding, and multiplexing differing traffic type fast packets |
US5479407A (en) | 1991-05-24 | 1995-12-26 | Ko; Cheng-Hsu | Channel utilization method and system for ISDN |
US6104724A (en) | 1993-09-20 | 2000-08-15 | Transwitch Corp. | Asynchronous data transfer and source traffic control system |
US5548581A (en) | 1994-08-17 | 1996-08-20 | Bellsouth Corporation | System and method for making connection acceptance/rejection decisions in a communication system |
US5710549A (en) | 1994-09-30 | 1998-01-20 | Tandem Computers Incorporated | Routing arbitration for shared resources |
US5473604A (en) | 1994-11-21 | 1995-12-05 | At&T Corp. | Method for avoiding node overload in a packet switching network |
US5805577A (en) | 1995-07-20 | 1998-09-08 | Jain; Raj | Erica: explicit rate indication for congestion avoidance in ATM networks |
EP0781068A1 (en) | 1995-12-20 | 1997-06-25 | International Business Machines Corporation | Method and system for adaptive bandwidth allocation in a high speed data network |
JP2929991B2 (ja) * | 1996-01-29 | 1999-08-03 | 日本電気株式会社 | 最適化クレジット制御方法 |
US5793747A (en) | 1996-03-14 | 1998-08-11 | Motorola, Inc. | Event-driven cell scheduler and method for supporting multiple service categories in a communication network |
JPH104431A (ja) | 1996-06-17 | 1998-01-06 | Fujitsu Ltd | スケジューリング装置およびスケジューリング方法 |
US6011776A (en) | 1996-06-20 | 2000-01-04 | International Business Machines Corporation | Dynamic bandwidth estimation and adaptation in high speed packet switching networks |
GB9618128D0 (en) | 1996-08-30 | 1996-10-09 | Sgs Thomson Microelectronics | Improvements in or relating to an ATM switch |
DE19745020B4 (de) | 1996-10-29 | 2008-01-31 | Keymile Ag | Verfahren zum Steuern des Datenverkehrs in einem ATM-Netzwerk |
US6260073B1 (en) * | 1996-12-30 | 2001-07-10 | Compaq Computer Corporation | Network switch including a switch manager for periodically polling the network ports to determine their status and controlling the flow of data between ports |
SE516249C2 (sv) * | 1997-02-19 | 2001-12-10 | Ericsson Telefon Ab L M | Flödeskontroll vid switching |
US5864540A (en) | 1997-04-04 | 1999-01-26 | At&T Corp/Csi Zeinet(A Cabletron Co.) | Method for integrated traffic shaping in a packet-switched network |
US6359861B1 (en) * | 1997-10-08 | 2002-03-19 | Massachusetts Institute Of Technology | Method for scheduling transmissions in a buffered switch |
US6084856A (en) | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
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 |
ATE362684T1 (de) * | 2000-03-02 | 2007-06-15 | Alcatel Lucent | Gekennzeichneter prioritätswarteschlangescheduler |
US6992984B1 (en) * | 2000-03-07 | 2006-01-31 | Lucent Technologies Inc. | Credit-based adaptive flow control for multi-stage multi-dimensional switching architecture |
US7215678B1 (en) | 2000-04-10 | 2007-05-08 | Switchcore, A.B. | Method and apparatus for distribution of bandwidth in a switch |
IL143539A0 (en) | 2000-06-09 | 2002-04-21 | Hughes Electronics Corp | Queue and scheduler utilization metrics |
US7224671B2 (en) * | 2000-09-28 | 2007-05-29 | Force10 Networks, Inc. | Method and apparatus for load balancing in network processing device |
US7457297B2 (en) * | 2001-11-16 | 2008-11-25 | Enterasys Networks, Inc. | Methods and apparatus for differentiated services over a packet-based network |
US7324452B2 (en) * | 2002-01-14 | 2008-01-29 | Fujitsu Limited | Weighted credit-based arbitration using credit history |
-
2002
- 2002-01-14 US US10/047,467 patent/US7324452B2/en not_active Expired - Fee Related
-
2003
- 2003-01-08 DE DE60300504T patent/DE60300504T2/de not_active Expired - Fee Related
- 2003-01-08 EP EP03000082A patent/EP1328094B1/en not_active Expired - Lifetime
- 2003-01-10 JP JP2003004840A patent/JP4287157B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7324452B2 (en) | 2008-01-29 |
DE60300504T2 (de) | 2006-02-23 |
EP1328094B1 (en) | 2005-04-20 |
US20030135449A1 (en) | 2003-07-17 |
DE60300504D1 (de) | 2005-05-25 |
EP1328094A1 (en) | 2003-07-16 |
JP2003249952A (ja) | 2003-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4287157B2 (ja) | データトラフィックの転送管理方法及びネットワークスイッチ | |
US7415477B2 (en) | Method and apparatus for allocating link bandwidth | |
US7724760B2 (en) | Method and apparatus for bandwidth guarantee and overload protection in a network switch | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
US7596086B2 (en) | Method of and apparatus for variable length data packet transmission with configurable adaptive output scheduling enabling transmission on the same transmission link(s) of differentiated services for various traffic types | |
US20020161914A1 (en) | Method and arrangement for congestion control in packet networks | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
US6654343B1 (en) | Method and system for switch fabric flow control | |
US20030058793A1 (en) | Method and system for congestion avoidance in packet switching devices | |
US7142552B2 (en) | Method and system for priority enforcement with flow control | |
CA2462793C (en) | Distributed transmission of traffic streams in communication networks | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
WO2006069528A1 (fr) | Procede d'ordonnancement de paquets dans un service de transmission par paquets | |
US7525913B2 (en) | System and method for providing gaps between data elements at ingress to a network element | |
JP3226096B2 (ja) | Atmセルバッファシステム及びその輻輳制御方法 | |
US6807171B1 (en) | Virtual path aggregation | |
Luijten et al. | Reducing memory size in buffered crossbars with large internal flow control latency | |
Lenzini et al. | Eligibility-based round robin for fair and efficient packet scheduling in wormhole switching networks | |
CA2401425C (en) | Method and system for controlling flows in sub-pipes of computer networks | |
Katevenis et al. | Multi-queue management and scheduling for improved QoS in communication networks | |
JP3917830B2 (ja) | レート制御装置 | |
Rahbar et al. | Loan-Grant based Round Robin scheduling | |
JP3989196B2 (ja) | セル多重化装置 | |
US7535912B2 (en) | Bi-lateral bandwidth negotiation upon detection of a short-term traffic pattern change | |
Yousefi | A fair spectrum sharing approach in cognitive radio networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080910 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080916 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081209 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20090202 |
|
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: 20090324 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090326 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120403 Year of fee payment: 3 |
|
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: 20120403 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130403 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140403 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |