JP2003531517A - 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム - Google Patents

切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム

Info

Publication number
JP2003531517A
JP2003531517A JP2001576592A JP2001576592A JP2003531517A JP 2003531517 A JP2003531517 A JP 2003531517A JP 2001576592 A JP2001576592 A JP 2001576592A JP 2001576592 A JP2001576592 A JP 2001576592A JP 2003531517 A JP2003531517 A JP 2003531517A
Authority
JP
Japan
Prior art keywords
flow
queue
time
calendar
service
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.)
Granted
Application number
JP2001576592A
Other languages
English (en)
Other versions
JP3784049B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Priority claimed from US09/548,910 external-priority patent/US6862292B1/en
Priority claimed from US09/548,912 external-priority patent/US6952424B1/en
Priority claimed from US09/548,913 external-priority patent/US7315901B1/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003531517A publication Critical patent/JP2003531517A/ja
Application granted granted Critical
Publication of JP3784049B2 publication Critical patent/JP3784049B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • 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/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/564Attaching a deadline to packets, e.g. earliest due date first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5649Cell delay or jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)

Abstract

(57)【要約】 【課題】 複数の異なるサービス・レベルに対処する優先順位付きシーケンスでネットワーク・プロセッサからデータ伝送ネットワークに向かって情報単位を移動させるシステムおよび方法を提供すること。 【解決手段】 本発明は、情報単位の様々なソースに関連して記憶している優先順位により、ネットワーク処理ユニットからの処理済み情報単位(またはフレーム)の出をスケジューリングするための方法およびシステムを含む。好ましい実施形態の優先順位は、低待ち時間サービスと、最小帯域幅と、加重公平キュー化と、ユーザが長期間にわたって自分のサービス・レベルを超え続けないようにするためのシステムとを含む。本発明は、ユーザが自分の希望するサービス・レートを選択できるようにするための各種サービス・レートを伴う複数のカレンダを含む。ある顧客がサービスのために高帯域幅を選択した場合、その顧客は、低帯域幅を選択した場合より高い頻度で処理されるカレンダに含まれることになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、様々なタイプおよび機能の情報処理システムまたはコンピュータを
互いにリンクするために使用するような通信ネットワーク装置に関し、また、こ
のような装置におけるデータ処理のための構成要素および方法に関する。本発明
は、複数のネットワーク処理ユニットに結合されたフロー制御システムからMA
Cを介してデータ伝送ネットワークに向かう情報単位の配布をスケジューリング
するための改良されたシステムおよび方法を含む。より詳細には、本発明は、可
変サイズの情報パケットまたはフレームを処理している複数のユーザを扱うこと
が可能なスケジューリングを含み、複数の異なる優先順位を異なるユーザに与え
られるようにしながら、フロー制御システムからデータ伝送ネットワークに向か
って供給されるフレームに秩序を提供する。
【0002】
【従来の技術】
以下に示す本発明の説明は、読者がネットワーク・データ通信およびこのよう
なネットワーク通信で有用なルータおよびスイッチに関する基礎知識を有すると
いう前提に基づくものである。特に、この説明では、ネットワーク・オペレーシ
ョンを複数のレイヤーに分割する国際標準化機構(「ISO」)モデルのネット
ワーク・アーキテクチャに精通していることを前提とする。このISOモデルに
基づく典型的なアーキテクチャは、物理経路または媒体であるレイヤー1(「L
1」と呼ぶこともある)から延び、それを介して信号はレイヤー2(または「L
2」)、レイヤー3(または「L3」)などを通って、ネットワークにリンクさ
れたコンピュータ・システムに常駐するアプリケーション・プログラミングのレ
イヤーであるレイヤー7まで上に向かって渡される。本明細書全体を通して、そ
のようなレイヤーをL1、L2、L3と称する場合は、ネットワーク・アーキテ
クチャの対応するレイヤーを指し示すものとする。また、この説明は、パケット
およびフレームとして知られ、ネットワーク通信で使用されるビット・ストリン
グに関する基本的理解に基づくものである。
【0003】 今日のネットワーク・オペレーションに鑑みて、帯域幅に関する考慮事項(ま
たはシステムが単位時間に処理できるデータの量)は重要なものになっている。
ネットワーク上のトラフィックは、純然たるボリュームとトラフィックの多様性
の両面で増加し続けている。主に、電話網上の音声やデータ伝送ネットワーク上
のディジタル・データなど、所与のタイプの通信トラフィックのために一度にい
くつかのネットワークが使用されていた。当然のことながら、電話網はまた、音
声信号に加えて限られた量の「データ」(経路指定および請求のための発呼側番
号および着呼側番号など)を搬送することになるが、いくつかのネットワークの
主な用途は、ある時点では、実質的に均質なパケットであった。
【0004】 インターネット(ワールドワイド・ウェブまたは「www」と呼ばれることも
ある、緩くリンクした複数のコンピュータからなる公衆ネットワーク)や、専用
データ伝送ネットワークで見られるその内部類似物(イントラネットと呼ぶこと
もある)の普及率が高まった結果、トラフィックが大幅に増加した。インターネ
ットおよびイントラネットは、情報および新興アプリケーションへのリモート・
アクセスの増大し続ける必要性を満たすために、リモート・ロケーション間で大
量の情報の伝送を必要とする。インターネットは、地理的に分散している多数の
ユーザに、爆発的に増加するリモート情報を開放し、eコマースなどの様々な新
しいアプリケーションを可能にし、それにより、ネットワークにかかる負荷が非
常に増加した。eメール、ファイル転送、データベース・アクセスなどのその他
のアプリケーションは、ネットワークに対してさらに負荷を追加するものであり
、そのうちの一部は高レベルのネットワーク・トラフィックによりすでに重圧を
受けている。
【0005】 音声およびデータ・トラフィックも現在、ネットワーク上に集中している。デ
ータは現在、インターネット上で(インターネット・プロトコルまたはIPによ
り)無料で伝送されており、音声トラフィックは通常、最低コストの経路をたど
る。ボイス・オーバーIP(VoIP)やボイス・オーバー非同期転送モードま
たはATM(VoATM)またはボイス・オーバー・フレーム・リレー(VoF
R)は、現在の環境で音声トラフィックを伝送するための費用効果の高い代替策
である。このようなサービスが広がるにつれて、業界は、コスト構造の変化など
の問題ならびにプロセッサ間の情報伝送におけるサービス・コストとサービス品
質の兼ね合いに関する懸念に対処することになる。
【0006】 サービス品質の諸側面としては、容量または帯域幅(ある時間枠でどのくらい
の情報に対処できるか)、応答時間(1つのフレームを処理するのにどのくらい
の時間を要するか)、その処理がどの程度フレキシブルか(各種カプセル化また
はフレーム・ヘッダ方法などの各種プロトコルおよびフレーム構成に対応するか
)を含む。ある資源を使用するものは、提示された状況に応じた兼ね合いにより
、サービス品質ならびにサービス・コストを考慮することになる。あるユーザに
とって様々な各種優先順位またはスケジューリング・アルゴリズムが可能になる
ことは望ましいことであり、ユーザは自分が保証帯域幅、ベスト・エフォート、
ピークに関するベスト・エフォート付き保証帯域幅のいずれを望んでいるのか(
また、そのいずれに関連する料金を支払うつもりなのか)を決定する。さらに、
帯域幅を割り振るためのシステムが、ユーザが選択し支払ったものを超過するユ
ーザ容量を否定することにより、ユーザによって選択された優先順位および帯域
幅を実施するためのシステムを有することは望ましいことである。
【0007】 いくつかの従来技術のシステムは、様々な方法で処理システムからの発信情報
単位を処理する。1つの提案は、1組のキューの間で公平なラウンドロビン・ス
ケジューラを使用することである。もう1つの提案では、数通りのレベルの優先
順位と、それぞれについて1つのキューとを使用する。このようなシステムには
絶対優先順位があり、最高優先順位の作業が最初に処理され、最低優先順位の作
業は決して処理されない可能性がある。出力をスケジューリングする、さらにも
う1つの方法は、複数の優先順位付きリストを含む。階レイヤーパケット・スケ
ジューリング・システムを使用することも知られている。各種スケジューリング
技法の組合せを使用し、データ伝送ネットワークに向かって情報単位を送出する
順序を決定する際に、数通りのスケジューリング方法を使用するシステムすら存
在する。
【0008】 他のシステムではラウンドロビンの形で実現された加重優先順位技法を使用し
ているが、これは、サービスのレベルを定義するアルゴリズムに基づいて、すべ
てのキューを処理するものであり、一部のキューは他のキューより頻繁に処理さ
れる。このような加重優先順位システムでは、それに割り当てられたサービス・
レベルを継続的に上回るユーザにサービスを提供することになり、たとえあまり
多くなくても、割り当てられたサービス・レベルを超える場合でさえ処理し続け
、システムがあるレベルのサービス方針を実施することが困難になるだろう。
【0009】 どの顧客を処理すべきかを決定する際にパケットまたはフレームのサイズを考
慮すると、公平さの尺度がサービス・システムに追加されるが、これは、大型フ
レームを処理しているユーザがシステム容量以上を占めており、したがって、小
型フレームを備えたユーザより低い頻度でサービスを受けることになるからであ
る。従来技術のシステムの一部では資源を割り振る際に伝送サイズを考慮するが
、他のシステムではそれを考慮しない。一部の通信システムでは均一の固定サイ
ズのパケットを使用しており、パケット・サイズの考慮が不要になるが、他のシ
ステムでは資源を割り振る際にパケットのサイズを考慮しない。
【0010】 他の従来技術のシステムは、いわゆる非同期転送モード(またはATM)シス
テムのように、共通サイズになっている情報単位の処理を対象とするので、現行
の情報単位または今後の情報単位の優先順位を決定する際に情報単位のサイズは
考慮されない。重み主導のスケジューラを備えたATMシステムは、ATMシス
テムからの出力をスケジューリングするために従来技術で知られている解決策の
1つである。
【0011】
【発明が解決しようとする課題】
このようなシステムでは、フレーム・サイズにかかわらず所与の保証帯域幅を
顧客に割り振るようなシステム上の制約に対処するとともに、保証帯域幅を超え
るピーク入力に対処し、一方、システム・パラメータの大きく持続的な超過に関
する保護を可能にしながら効率よくかつ公正にネットワーク・プロセッサの能力
を使用してデータ伝送ネットワークに出力を提供するという、追加の特徴を実現
するためのメカニズムを提供することは望ましいことだろう。
【0012】 望むように各種タイプおよびレベルのサービスを可能にするのに最大のフレキ
シビリティを備えたシステムを用意することは望ましいことだろう。たとえば、
一部のユーザは最小帯域幅を希望し、他のユーザは最小帯域幅を希望するものの
バーストを見込んでいる可能性があり、さらに他のユーザは最小帯域幅の有無に
かかわらず「ベスト・エフォート」サービスを可能にするエコノミー・サービス
に関心を有している可能性があり、帯域幅またはバースト・サイズに関する制限
はスケジューリング・システムによって実施可能なものでなければならない。可
変パケット長に対処し、未使用帯域幅を割り振る加重公平キュー化システムを可
能にする単純かつ効率のよいシステムにおいて、スケジューリング・システムが
このような特徴の一部または全部を備えることができれば望ましいことだろうが
、残念ながら、このようなシステムは従来技術には存在しない。
【0013】 また、フロー・キューが切断し再接続したとき、それが切断し再接続していな
ければ有していたであろうよりも良好な優先順位またはキュー内の配置を達成し
ないことが望ましい。
【0014】 さらに、スケジュールを計算する際に、それが処理された後で所与のフローに
ついてスケジュール内の新しい場所を求める複雑な計算に関連するハードウェア
・コストを回避するように、単純かつ効率のよいシステムが実現されることが望
ましい。
【0015】 したがって、ネットワークへの伝送のためにデータ・パケットを処理するため
の従来技術のシステムは望ましくない欠点および制限を有し、その欠点および制
限はシステムの多様性またはシステムが動作可能な速度のいずれかに影響する。
【0016】
【課題を解決するための手段】
本発明は、処理システムから出る情報単位またはフレームを処理し、データ伝
送ネットワークへのディスパッチのためにフレームを出力ポートに向けるための
単純であるが効果的な方法を提供することにより、従来技術のシステムの欠点お
よび制限を克服するものである。本発明は、複数のユーザからの可変長のパケッ
トが処理され、少なくとも一部のユーザに対し、あるレベルのサービス・コミッ
トメントが行われているシステムに特に応用可能である。
【0017】 本発明により、システムの各種ユーザに対してなされる複数タイプのサービス
・レベル契約またはコミットメントの使用が可能になる。すなわち、他のユーザ
が共用帯域幅を享受している間に、あるユーザに対して最小保証帯域幅を提供可
能であり、ピーク帯域幅は限られた持続期間の間、許可可能であり、あるユーザ
に対して最大バースト・レベル・サービスを提供可能であり、いずれもプログラ
ミング通りであり、他のユーザに提供されるサービスに干渉しない。
【0018】 本発明は、帯域幅資源の効率のよい使用が可能になり、残りの帯域幅を効率よ
く公正に使用できるようにしながらサービス・レベル・コミットメントを果たす
ことができるという利点を有する。
【0019】 また、本発明は、バーストに対処しながら資源割振りを実施するという利点も
有する。すなわち、ユーザは、限られた時間枠の間、自分の定義帯域幅を超える
バースト・レートで何らかの量のトラフィックを伝送することができるが、その
ユーザが長期間の間、それを行う場合、そのユーザは、過度の使用を補償してし
まうまで自分の通常帯域幅を超過する伝送が禁じられる。これは、それぞれのユ
ーザが自分の帯域幅全体を使用していなかった間に蓄積した、そのユーザのフロ
ー・キュー用の「クレジット」のシステムにより実施される。
【0020】 本発明により、処理したフローのためにキュー内の新しい位置の計算をサポー
トするために、除算を実行しない単純な計算が可能になる。
【0021】 また、本発明は、切断および再接続時に、所与のフローがその切断によって改
善された位置に達しないという利点も有する。
【0022】 本発明は、スロット距離を使用してフレームのサイズおよびキューの重みに合
わせて調整し、次の位置を迅速かつ容易に計算することができるようにする。
【0023】 また、本発明は、バーストの使用のランニング・スコアを維持し、使用可能な
「クレジット」を計算して維持し、無理ない範囲のバーストを可能にするが、使
用法に関するシステム制約を実施する。
【0024】 また、本システムは、所与のタイム・スロットまたはサイクルについてスケジ
ューリングされたサービスを求める最新要求に対し優先順位が与えられる、後入
れ先出しスタックを提供するという利点も有する。これは、より遅くスケジュー
リングされるユーザの方がより高い優先順位を有していなければならず、そのユ
ーザを処理する際の遅延は、より低い優先順位のユーザを処理する際の同様の遅
延よりパーセンテージの大きい遅延になるという想定に基づくものである。スロ
ット要求を果たすためにこの後入れ先出し(LIFO)システムを使用すること
により、システムは、システムが過負荷になったとき、すなわち、スケジューリ
ングした時期に処理可能な作業より多くの作業を有するときに、連続するサービ
ス間の通常間隔のパーセンテージとして認識されたサービス遅延を最小限にする
ことができる。
【0025】
【発明の実施の形態】
好ましい実施形態の以下の説明では、本発明者にとって現在既知であり、本発
明を実施する最良の実施例について、ある程度詳細に説明する。しかし、この説
明は、特定の実施形態において本発明の概念を大ざっぱかつ一般的に教示するも
のであるが、特に、当業者であれば、添付図面に関連して図示し説明する特定の
構造および動作に対する多くの変形および変更を理解できるので、本実施形態に
示すものに本発明を制限するためのものではない。
【0026】 図1は、基板10と、その基板上に集積された複数のサブアセンブリとを含む
、インタフェース装置チップのブロック図を示している。このサブアセンブリは
上側構成と下側構成に配置され、「上側」構成(「入」と呼ぶこともある)はデ
ータ伝送ネットワークからチップに(チップまでまたはチップ内に)到着するデ
ータに関連する構成要素を指し、「下側」(「出」と呼ぶこともある)はその機
能がチップからデータ伝送ネットワークに向かってアウトバウンド方式で(チッ
プから外へまたはネットワーク内に)データを送信することである構成要素を指
す。データ・フローは上側構成と下側構成のそれぞれの配置をたどり、したがっ
て、図1のシステムには上側データ・フローと下側データ・フローが存在する。
上側または入構成エレメントとしては、エンキュー・デキュー・スケジューリン
グUP(EDS−UP)論理回路16と、複数の多重化MAC−UP(PMM−
UP)14と、スイッチ・データ・ムーバ−UP(SDM−UP)18と、スイ
ッチ・インタフェース(SIF)20と、データ位置合せシリアル・リンクA(
DASL−A)22と、データ位置合せシリアル・リンクB(DASL−B)2
4とを含む。本発明の好ましい実施形態はデータ・リンクを使用するが、本発明
は好ましい実施形態で使用するデータ・リンクなどの特定の補助装置に限定され
ないので、他のシステム、特に、比較的高いデータ・フローおよびシステム要件
をサポートするものを使用して本発明により利益を得ることができることを理解
されたい。
【0027】 システムの下側(または出)に示す構成要素としては、データ・リンクDAS
L−A26およびDASL−B28と、スイッチ・インタフェースSIF30と
、スイッチ・データ・ムーバSDM−DN32と、エンキュー・デキュー・スケ
ジューラEDS−DN34と、出PMM−DN用の複数の多重化MAC36とを
含む。また、基板10は、複数の内部スタティック・ランダム・アクセス・メモ
リ構成要素(S−RAM)と、トラフィック管理スケジューラ(トラフィックM
GTスケジューラ、出スケジューラとも呼ぶ)40と、組込みプロセッサ複合体
12も含む。インタフェース装置38は、それぞれのDMUバスによってPMM
14、36に結合されている。インタフェース装置38は、イーサネット(R)
物理(ENET PHY)装置または非同期転送モード・フレーミング機器(A
TMフレーマ)など、L1回路に接続するための任意の適当なハードウェア装置
にすることができ、そのいずれも、この業界で周知であり、一般にこの目的のた
めに使用可能な装置の例である。インタフェース装置のタイプおよびサイズは、
少なくとも部分的に、本チップおよびそのシステムが取り付けられたネットワー
ク・メディアによって決定される。このチップが使用するために、複数の外部ダ
イナミック・ランダム・アクセス・メモリ・デバイス(D−RAM)および1つ
のS−RAMが用意されている。
【0028】 ここでは、関連のスイッチングおよび経路指定装置の外部の一般的なデータ・
フローがビル内に取り付けられたワイヤおよびケーブルなどの導電体を通って渡
されるネットワークに関して詳細に開示されているが、本発明は、ネットワーク
・スイッチおよびその構成要素がワイヤレス環境でも使用可能であることを企図
するものである。たとえば、ここに開示されているメディア・アクセス制御(M
AC)エレメントは、シリコン・ゲルマニウム技術により作られるものなどの適
当な無線周波装置で置き換えることができ、その結果、開示されている装置がワ
イヤレス・ネットワークに直接接続されることになるだろう。このような技術を
適切に使用すれば、当業者により本明細書に開示されているVLSI構造に無線
周波エレメントを集積することができる。あるいは、ワイヤレス・ネットワーク
装置とともに有用なスイッチ装置を達成するために、本明細書に開示されている
他のエレメントとともに、赤外線(IR)応答装置などの無線周波その他のワイ
ヤレス応答装置をブレード上に取り付けることができる。
【0029】 矢印は、図1に示すインタフェース・システム内の一般的なデータ・フローを
示している。ENET PHYブロック38を出てDMUバスを介してイーサネ
ット(R)MAC14から受け取ったデータまたはメッセージのフレーム(パケ
ットまたは情報単位と呼ぶこともある)は、EDS−UP装置16により内部デ
ータ・ストア・バッファ16aに入れられる。このフレームは通常フレームまた
は誘導フレームのいずれかとして識別することができ、それは複数のプロセッサ
内の後続処理の方法および位置に関連する。組込みプロセッサ複合体内の複数の
プロセッサの1つによって入力単位またはフレームが処理された後、完了した情
報単位はスイッチに送られ、ネットワーク・プロセッサの入側に送達される。ネ
ットワーク・プロセッサの入側で情報単位が受け取られると、その情報単位は組
込みプロセッサ複合体内の複数のプロセッサの1つによって処理され、出処理が
完了すると、その情報単位は処理ユニット10からのスケジューラ40によって
スケジューリングされ、PMM−DN多重化MAC36および物理レイヤー38
によりデータ伝送ネットワーク上に送られる。
【0030】 図2は、本発明を使用して利益を得ることができる処理システム100のブロ
ック図である。この図2では、複数の処理ユニット110がディスパッチャ・ユ
ニット112と完了ユニット114との間に位置する。各出フレームF(本デー
タ処理システムに取り付けられたスイッチ(図示せず)からのもの)は受け取ら
れてDOWNデータ・ストア(またはDN DS)116内に記憶され、次に、
ディスパッチャ112によって順次取り除かれ、そのフレームを処理するために
その処理ユニットが使用可能であるというディスパッチャ112による判定に基
づいて、複数の処理ユニット110の1つに割り当てられる。ディスパッチャ1
12と複数の処理ユニット110との間には、ハードウェア分類器アシスト機構
118が挿入されている。複数のネットワーク・プロセッサ110によって処理
されたフレームは完了ユニット120に入り、そのユニットはフロー制御システ
ムによりDNエンキュー34に結合されている。DNエンキュー34はPMM
DN MAC36を介し、次にDMUデータ・バスにより物理レイヤー38(デ
ータ伝送ネットワークそのもの)に結合されている。
【0031】 図3のスケジューラ40は、単一統一スケジューラ・システムにおいて最小帯
域幅アルゴリズム、ピーク帯域幅アルゴリズム、加重公平キュー化技法、および
最大バースト・サイズ・スケジューリングによりネットワーク処理ユニットから
データ伝送ネットワークへのフレーム伝送をスケジューリングする機能を可能に
する構造および動作方法を提供する。
【0032】 最小帯域幅およびベスト・エフォート・ピーク・レート要件を備えたパケット
をスケジューリングするために、時間ベース・カレンダを使用する。図3に示す
ように、このために3つの時間ベース・カレンダを使用するが、2つは最小帯域
幅用であり、第3のカレンダはフロー・キューを最大ベスト・エフォート・ピー
ク・レート(ピーク帯域幅成形)に制限するために使用する。最小帯域幅用に用
意された2つのカレンダ(LLSおよびNLS)により、最小帯域幅QoSクラ
ス内の各種クラスのサービス(すなわち、低待ち時間および通常待ち時間)のサ
ポートが可能になる。
【0033】 前述のカレンダでは、ポインタを使用してそのカレンダ内でのフロー・キュー
の位置を表す。さらに、システム内の複数のカレンダには、単一フロー・キュー
を指すこのようなポインタが何もない場合もあれば、1つまたは2つ存在する場
合もある。通常、カレンダ内のポインタは、初期設定していないフロー・キュー
または空のフロー・キューを表すことはない。システム内のカレンダにフロー・
キューを指すポインタがある場合、そのフロー・キューはカレンダ「内」にある
と言うことができる。
【0034】 時間枠はscheduler_tickと定義する。各scheculer_tickの間、1単位分の帯域
幅に対応することができる。好ましい実施形態では、この単位を「ステップ」と
定義し、バイトあたりの時間単位(すなわち、1/帯域幅)を有する。
【0035】 ある通信システムでは、各フロー・キューの最小帯域幅指定の範囲は複数桁に
わたることになる。すなわち、一部のユーザ(または実際にはそのユーザ用の関
連キュー)は高い帯域幅を有することになる。というのは、そのユーザは、大量
のデータを伝送しており、その帯域幅の代金を支払っているが、他のユーザはい
つでもより少ない量の情報(帯域幅)を送信するための経済的な提供品を選んで
いるからである。この目的専用のハードウェアの量を最小限にするために、好ま
しい実施形態では、通信システムおよびサービス・レベル契約(SLA)が要求
する範囲および正確さを維持しながら、より少ないハードウェアの使用を可能に
するスケーリング技法を使用する。
【0036】 図4に示すように、好ましい一実施形態の各タイマ・ベース・カレンダは4つ
の「エポック」から構成される。各エポックは512個のスロットから構成され
る。各スロットはフロー・キューを指すポインタのLIFOスタックを含む。任
意の2つのスロット間の距離は帯域幅の測定値であり、その値はエポックに依存
する。図4に示す好ましい実施形態では、各エポック間に16という倍率が存在
する。好ましい実施形態では、150nsのscheduler_tick期間が選択されてお
り、したがって、エポック0では1スロット分の距離は150nsの間に移動し
た512バイトの帯域幅または約27Gb/sを表し、エポック3では1スロッ
ト分の距離は0.614msの間に移動した512バイトの帯域幅または約6.
67Mb/sを表す。
【0037】 一実施形態で使用するエポックあたりのスロット数とエポック数は、ハードウ
ェア・コストと設計の複雑さとの兼ね合いであり、本発明の範囲を制限するため
のものではない。当業者にとって明らかになるように、エポックと、エポック間
の倍率と、エポックあたりのスロット数との様々な組合せは、本発明の精神を逸
脱せずに変更することができる。
【0038】 現在時は現行のスケジューラ・システム時間の値を維持するレジスタである。
このレジスタはscheduler_tickあたり1回増分される。好ましい実施形態の現在
時レジスタの範囲は、タイマ・ベース・スケジューラの範囲の4倍になるように
選択されている。このため、フロー・キュー制御ブロックで見つかるタイム・ス
タンプ・フィールドの1つ(すなわち、NextRedTimeまたはNextGreenTime)と現
在時とを比較したときに現在時ラップを決定することができる。
【0039】 動作 図5は、本発明のスケジューラの動作を流れ図形式で示している。現行ポイン
タは、各エポック内のサービス・ロケーションを示すために使用する。各schedu
ler_tickの間に、現行ポインタが示すスロットを検査する。そのスロットが空で
あると分かった場合、現行ポインタは次の非空スロットまたは現在時に対応する
スロットに進むことができる。ただし、スロット間の距離はエポック間で様々な
ので、現行ポインタは、現在時に「追随」しながら各種レートで各エポックを進
んでいくことに留意されたい。そのスロットが非空であると分かった場合、フロ
ー・キューエポック候補が検出される。各エポックは独立して、フロー・キュー
エポック候補が見つかったかどうかを判定する。図4に示すように、フロー・キ
ューカレンダ候補は絶対優先順位選択の使用により複数のエポック候補の中から
選択されるが、最小番号のエポックが最初に選択される。図4に示すように、選
択順序は以下の通りである。 1.エポック0 2.エポック1 3.エポック2 4.エポック3
【0040】 フロー・キュー・エポック候補が選択されると、フロー・キュー・ポインタは
LIFOスタックからデキューされる。このデキュー・アクション後に現行ポイ
ンタが示すスロットが非空であると分かった場合、現行ポインタは未変更のまま
になる。このデキュー・アクション後に現行ポインタが示すスロットが空である
と分かった場合、現行ポインタは、次の非空スロットまたは現在時に対応するス
ロットまたはそのスロットからデキューされたフロー・キューがフロー・キュー
・サービス・アクションによって移動されたスロットに進むことができる。現行
ポインタは、このような可能な距離のうち最短の距離を移動する。
【0041】 図3に示すスケジューラ・システムは、複数のフロー210と、時間ベース・
カレンダ220、230、250と、加重公平キュー化(WFQ)カレンダ24
0と、ターゲット・ポート・キュー260から構成される。
【0042】 フロー210は、割当て、すなわち、関連ユーザが選択し支払を行っているサ
ービス・レベルに基づく共通システム特性を共用する複数フレームの順序付きリ
ストを維持するために使用する制御構造である。このような特性としては、最小
帯域幅、ピーク帯域幅、ベスト・エフォート帯域幅、最大バースト・サイズ・サ
ービス品質(QoS)要件を含む。好ましい実施形態では、通信システム用のQ
oSをサポートするためにセットアップされたフロー・キューに加え、フレーム
(すなわち、フィルタ処理されたトラフィック)を廃棄し、ネットワーク・プロ
セッサ・システムの出から入へフレーム・データをラップするために定義された
フロー・キューを必要とする。
【0043】 時間ベース・カレンダ220、230、250は、最小帯域幅およびベスト・
エフォート・ピーク・レート要件を備えたパケットをスケジューリングするため
に使用する。図3に示すように、このために3つの時間ベース・カレンダを使用
するが、2つのカレンダ220、230は最小帯域幅用であり、第3のカレンダ
250はフロー・キューを最大ベスト・エフォート・ピーク・レート(ピーク帯
域幅成形)に制限するために使用する。2つの時間ベース・カレンダ220、2
30(一方のカレンダ220は低待ち時間サービスまたはLLSとして識別され
、もう一方のカレンダ230は通常待ち時間サービスまたはNLSとして識別さ
れる)は最小帯域幅に備えるものであり、最小帯域幅QoSクラス内の各種クラ
スのサービス(すなわち、低待ち時間および通常待ち時間)のサポートを可能に
するものである。
【0044】 加重公平キュー化(WFQ)カレンダ240は、(時間ベース・カレンダ22
0、230の一方と組み合わせて使用した場合)ベスト・エフォート・サービス
およびベスト・エフォート・ピーク・サービスに使用する。さらに、WFQカレ
ンダ240は、ベスト・エフォート・サービスQoSクラス内の各種サービス・
クラスのサポートを可能にするキュー重みをサポートする。好ましい実施形態に
は、サポートしているメディア・ポート(出力ポート)の数に対応する40個の
このようなWFQカレンダが存在する。40個のこのようなポートの選択は、ハ
ードウェア・コストと設計の複雑さとの兼ね合いであり、本発明の範囲を制限す
るためのものではない。
【0045】 前述のカレンダのそれぞれでは、そのカレンダ内のフロー・キューの位置を表
すためにポインタ(フローID)を使用する。したがって、図3の矢印が示すよ
うに、フロー0はカレンダ220内にそのフローID221を有し、フロー1は
カレンダ230内のフローID232とWFQ240内のフローID241を有
し、フロー2047はカレンダ230内のフローID231とカレンダ250内
のフローID251を有する。さらに、システム内の複数のカレンダには、単一
フロー・キューを指すこのようなポインタが何もない場合もあれば、1つまたは
2つ存在する場合もある。通常、カレンダ内のポインタは、初期設定していない
フロー・キューまたは空のフロー・キューを表すことはない。システム内の特定
のカレンダにフロー・キュー(またはフローID)を指すポインタがある場合、
そのフロー・キューはその特定のカレンダ「内」にあると言うことができる。
【0046】 ターゲット・ポート・キューは、共通ポート宛先および優先順位を共用する複
数フレームの順序付きリストを維持するために使用する制御構造である。好まし
い実施形態では、各種サービス・クラスのサポートを可能にするために、メディ
ア・ポート(または出力ポート)あたり2通りの優先順位、すなわち、いわゆる
高優先順位ターゲット・ポート・キューといわゆる低優先順位ターゲット・ポー
ト・キューが用意されている。2通りの優先順位の選択は、ハードウェア・コス
トと設計の複雑さとの兼ね合いであり、本発明の範囲を制限するためのものでは
ない。さらに、好ましい実施形態は、個別のラップキュー272と廃棄ポート・
キュー270とを含む。
【0047】 時間ベース・カレンダ220、230、250のそれぞれは複数のエポックか
ら構成され、オーバラップする矩形で表すように図3のそれぞれについて4つの
エポックが示されている。図4は、そのエポック用の典型的なタイミング構成と
ともに4つのエポック302、304、306、308を示しており、第1のエ
ポック302(エポック0と示す)はスケジューラ目盛りのステップを有し(こ
の場合、150nsecごとに512バイトが可能である)、第2のエポック3
04は第1のエポック302のステップの16倍のステップを有し、第3のエポ
ック306は第2のエポック304と同じ比率を有し、第4のエポック308は
第3のエポックと同じ比率を有する。このため、第1のエポック302は高優先
順位を有し(第2のエポック304の16倍の頻度でサービスのスケジューリン
グが行われる)、関連するコスト増を有することになるサービス優先順位の階レ
イヤーを作成する。現行ポインタ(たとえば、エポック302の場合の312)
は、キュー内でその処理が現在位置する場所に関するポインタを提供するために
各エポックに関連づけられている。エポックによる処理の本システムでは現行ポ
インタを増分することになっているので、処理の方向はそのエポック内で低い方
から高い方に向かう。また、この図4には、現在時320と、クロック320を
駆動すると同時に各エポック内のステップを駆動するスケジューラ目盛り330
も示されている。
【0048】 この優先順位選択は絶対優先順位選択であり、任意の間隔中に1つしか処理で
きないので、最高優先順位のものを処理することを意味する。各エポックの現行
ポインタが1つのデータ・フローを指す場合、最低のもの(エポック0)を処理
することになる。エポック0がいかなるサービスも必要としない場合、エポック
1を処理し、次にエポック2などを処理する。
【0049】 図6は、図4の各エポックごとのビットの時間分解能を示している。すなわち
、本書で後述するように、現在時ストア(23ビット・カウンタ)内のどのビッ
トが各エポックに関連づけられているかを示している。
【0050】 図7は、あるユーザからの通信のパラメータを示している。使用する帯域幅は
Y軸上に示し、時間はX軸上に示す。ユーザは、矢印350でマークが付けられ
た持続帯域幅が割り当てられている可能性があり、バーストの幅370が示す持
続期間の間、矢印360でマークが付けられたピーク・バースト帯域幅を有する
ことが許される可能性がある。時間380中に帯域幅がないことが示す遅延また
は静止時間は、ピーク・バースト帯域幅を使用するための代価として賦課される
可能性があり、本書で詳しく後述するようにMBSとして知られるクレジットの
使用により実施される可能性がある。
【0051】 キューが空になると、そのキューは切断という形でカレンダから除去される。
どのカレンダにも入っていないキューがフレームを送信し始めると、それは接続
(または以前フレームを送信していたキューの復帰の場合は再接続)と呼ばれる
プロセスで新しいキューとして扱われる。切断し、その後、再接続するプロセス
は、そのキューがラインの先頭、それぞれの処理後に計算された優先順位で引き
続いていればあったであろうところより前に進むという望ましくない結果をもた
らす可能性がある。
【0052】 現在時から時間ベース・カレンダ位置への変換 現在時と、エポック間の倍率と、各エポックに使用するスロット数を検査する
ことにより、現在時をタイマ・ベース・カレンダ内の位置に変換する。好ましい
実施形態では、倍率は16であり、各エポックに512個のスロットがあるので
、そのエポック内の位置を識別するには各エポックごとに9ビットが必要である
。図6に示すように、ビット8〜0はエポック0内の位置を定義するために使用
し、ビット12〜4はエポック1に使用し、ビット16〜8はエポック2に使用
し、ビット20〜12はエポック3に使用する。
【0053】 フロー・キューを追加する際のWFQカレンダ内の位置の決定 本発明は、重みまたは優先順位とフレームの長さに基づいてキュー内の次のサ
ービスの順序を決定する式により、共用するユーザとともに、最小帯域幅顧客に
不要な帯域幅をベスト・エフォート・ベースで使用できる、加重公平キューの使
用を企図するものである。
【0054】 フロー・キューにパケットをエンキューし、そのフロー・キューをWFQに追
加すると、図3のWFQカレンダ240内の位置は以下のいずれかの方法で決定
される。 1.WFQカレンダの現行ポインタが示す位置に追加する。 2.WFQカレンダの現行ポインタが示す位置の直前の位置に追加する。 3.フロー・キューの重みQDを使用して、現行ポインタが示す位置からの距離
を決定する。
【0055】 好ましい実施形態では、フロー・キューの重みを使用して、フロー・キューが
位置することになり、現行ポインタが示す位置からの距離を決定する。この距離
計算は以下の形式を有する。 スロット距離=Min((QD*S),1) 式中、Sは、任意の正の整数値を帯びることができる倍率である。好ましい実施
形態の倍率Sは16である。
【0056】 現在時からNextGreenTimeへの変換 NextGreenTimeは、(ピーク帯域幅成形カレンダと組み合わせて)ピーク帯域
幅成形を可能にするためにWFQカレンダ240が使用するタイム・スタンプ・
フィールドである。現在時をNextGreenTime(好ましい実施形態ではNxtGT.V、Nx
tGT.E)に変換するには、フロー・キュー制御ブロックのピーク・サービス・レ
ート・フィールドの検査が必要である。
【0057】 好ましい実施形態では、PSD.Eの値を使用し、以下に示すようにNxtGT.Vフィー
ルドのために現在時から使用するビットを決定する。 PSD.E 現在時ビット 0 8〜0 1 12〜4 2 16〜8 3 20〜12 NxtGT.Eは、PSD.Eの値に等しくなるように設定される。
【0058】 NextRedTimeまたはNextGreenTimeと現在時との比較(テスト以降) 好ましい実施形態では、以下のステップは、フロー・キュー制御ブロックから
のタイム・スタンプと現在時との比較を可能にする方法を構成する。 1.比較を実行するために現在時からのビットを選択する。この設定には、比較
すべきタイム・スタンプ(NextRedTimeまたはNextGreenTime)からの「ドットE
」フィールドの検査が必要である。 ドットE 現在時ビット 0 8〜0 1 12〜4 2 16〜8 3 20〜12 2.「A」が「B」より後であるかどうかを判定するために、まずBの2の補数
を形成し、次にその結果をAに加え、その演算からのいかなる繰上がりも無視す
る。その結果が非ゼロであって、その結果の最上位ビット0である場合、AはB
より後になり、そうではない場合、BはAより後になる。
【0059】 NextRedTimeまたはNextGreenTimeから時間ベース・カレンダ内の位置への変換 フロー・キュー制御ブロック内のタイム・スタンプ・フィールドは、フロー・
キューがそのサービス・パラメータに違反するのを防止する方法の一部として機
能する。好ましい実施形態の「ドットE」フィールドはエポックを示し、「ドッ
トV」フィールドはそのエポック内の位置0からの距離を示す。
【0060】 フローがピーク・レートに違反しているときのNextGreenTimeの計算(ベース
としてNextGreenTimeを使用) 好ましい実施形態では、フローがそのピーク・レートに違反しているときのNe
xtGreenTimeの計算はBCIを検査することによって決定され、これはバイト単
位のパケット長と、ピーク・サービス・レートと、NextGreenTimeの現行値とを
決定するものである。図8のFLは、BCIから決定したフレームのバイト長を
表している。このプロセス・ブロックについては以下に説明する。
【0061】 プロセス2は、NextGreenTimeとピーク・サービス・レートの両方について倍
率(ドットE)が同じである場合のスロット距離計算(Temp)である。
【0062】 プロセス4は、ピーク・サービス・レートの倍率がNextGreenTimeの倍率より
大きい場合のスロット距離計算(Temp)である。
【0063】 プロセス5は、ピーク・サービス・レートの倍率がNextGreenTimeの倍率より
小さい場合のスロット距離計算(Temp)である。
【0064】 プロセス7は、スロット距離(Temp)が現行倍率の容量より大きい場合のNxtG
T.V値とNxtGT.E値の計算である(好ましい実施形態の場合、ドットVの値は51
1を超えることができない)。
【0065】 プロセス10は、スロット距離(Temp)により現行倍率の低減が可能になる場
合のNxtGT.V値とNxtGT.E値の計算である。倍率が小さいほど時間ベースがより正
確になるので、これは望ましいものである。
【0066】 プロセス11は、スロット距離(Temp)が現行倍率の変更を必要としないかま
たはスロット距離(Temp)により現行倍率の変更が可能にならない場合のNxtGT.
V値の計算である。NxtGT.Eの値は未変更のままになる。
【0067】 フローがピーク・レートに違反していないときのNextGreenTimeの計算(ベー
スとして現在時を使用) 好ましい実施形態では、フローがそのピーク・レートに違反していないときの
NextGreenTimeの計算はBCIを検査することによって決定され、これはバイト
単位のパケット長と、ピーク・サービス・レートと、現在時とを決定するもので
あり、図9に示す。このプロセス・ブロックについては以下に説明する。図9の
FLは、BCIから決定したフレームのバイト長を表している。
【0068】 プロセス21はスロット距離計算(Temp)である。プロセス・ブロック23、
25、27、29では、ピーク・サービス・レートに使用する倍率に基づいて、
現在時レジスタ内のビットからベース時間(BaseT)の値を割り当てる。NextGre
enTimeは、スロット距離、倍率、ベース時間から決定することになる。
【0069】 プロセス31は、スロット距離(Temp)が現行倍率の容量より大きい場合のNx
tGT.V値とNxtGT.E値の計算である(好ましい実施形態の場合、ドットVの値は5
11を超えることができない)。
【0070】 プロセス34は、スロット距離(Temp)により現行倍率の低減が可能になる場
合のNxtGT.V値とNxtGT.E値の計算である。倍率が小さいほど時間ベースがより正
確になるので、これは望ましいものである。
【0071】 プロセス35は、スロット距離(Temp)が現行倍率の変更を必要としないかま
たはスロット距離(Temp)により現行倍率の変更が可能にならない場合のNxtGT.
V値とNxtGT.E値の計算である。
【0072】 MBS獲得クレジットの計算 好ましい実施形態では、非ゼロの最大バースト・フィールドとともに使用中の
フロー・キュー(QinUse=1)は、そのフロー・キューが空であるときにトーク
ンを獲得する。MBSCreditフィールドは、その空のフロー・キューにパケットが
エンキューされたときに更新される。獲得したトークンの数を決定するため、Ne
xtRedTimeおよび現在時を検査し、それを図10に示す。
【0073】 NextRedTimeが使用する倍率に基づいて、プロセス・ブロック302、303
、305、307で現在時からのビットを選択し、フロー・キューが空であった
長さを決定するために使用するスケーリング済み時間(TimeA)を作成する。
【0074】 判断ブロック308では、TimeAがNextRedTimeタイム・スタンプ・フィールド
が示す時間より後であるかどうかを判定する。NextRedTimeをこの目的に使用す
るには、フロー・キューが次に可能なスケジューリング時間後も空のままになっ
ている必要がある。TimeAがNextRedTimeより後ではない場合、それ以上のアクシ
ョンは一切行われない。
【0075】 判断ブロック309では、タイマ・ラップ・ケースを取り扱い、プロセス・ブ
ロック311および310においてフロー・キューがトークンを蓄積する期間(
TimeT)の計算が可能になる。
【0076】 プロセス・ブロック313、315、316はMBSCredit.Vに関する最終計算
である。判断ブロック312および314では、MBSフィールドを定義するた
めに使用する倍率による調整がTimeTに必要であるかどうかを判定する。
【0077】 使用するMBSクレジットの計算 MBSCreditの新しい値は、MBSCreditの現行値と、フレーム長を決定するための
BCIと、持続サービス・レートから決定される。持続レートの使用は、MBS
値を計算する際に使用する方法による(式から複雑な除算を取り除いたもの)。
好ましい実施形態のMBSCreditは、負の値を帯びることができる。このプロセス
・ブロックについては以下に説明する。図11のFLは、BCIから決定したフ
レームのバイト長を表している。
【0078】 プロセス・ブロック402、404、405は、長さFLのフレームに使用す
るトークンの数を決定するものである。判断ブロック401および403は、MB
SCreditフィールドを定義するために使用する倍率による調整がTempに必要であ
るかどうかを判定するために使用する。
【0079】 プロセス・ブロック406は、使用するトークンの数だけ、MBSCredit.Vの値
を調整する。
【0080】 フロー・キュー制御ブロックの経時 フロー・キュー制御ブロックで倍率を使用すると、タイム・スタンプ・フィー
ルドの維持に必要なハードウェアが削減される。タイム・スタンプが古すぎて適
切ではない時期を正確に判定するために、タイム・スタンプ・フィールドと残り
のフィールドが有効ではないことを示す方法が必要になる。図12および図13
は、そのタイム・スタンプがもはや有効ではないフロー・キュー制御ブロックに
マークを付ける方法を示している。
【0081】 スケジューラ・システムには、現在使用中の(QinUse=1)すべてのフロー・
キュー制御ブロックのリストが追加される。当業者には、このようなリストを維
持する方法が多数あることが分かっている。
【0082】 好ましい実施形態では、タイム・スタンプ・フィールドのドットVフィールド
は2ビットだけ拡張されている。この追加ビットは、タイム・スタンプ・フィー
ルドが更新されたときに現在時ポインタから取られる。現在時ポインタから使用
するビットは、図6に示すようにドットEフィールドの値によって決まり、以下
に示す通りである。 ドットE 使用する現在時ビット 0 10〜9 1 14〜13 2 18〜17 3 22〜21
【0083】 フロー・キュー制御ブロックをチェックするプロセスが行われる時期を決定す
るために、タイマを使用する。図12を参照すると、この方法は、「経時サービ
ス目盛り」のチェックから始まる。これが真である場合、プロセスは引き続き、
502で経時リストからフロー・キュー制御ブロック(QCB)を選択する。プ
ロセスは引き続き、503で、選択したフロー・キュー制御ブロックのQinUseフ
ィールドをチェックする。
【0084】 フロー・キュー制御ブロックが使用中ではない場合、プロセスは501に戻っ
て次のサービス目盛りを待ち、そうではない場合、プロセスは引き続き、504
で持続サービス・レート・フィールドを検査し、505でQinRedフィールドを検
査する。フロー・キューが持続サービスの指定を備えており、フロー・キューが
LLSまたはNLSのいずれのカレンダにもない(QinRed=0)場合、506で
経時の決定が行われる。「TestAge」のために行われるアクションについては以
下に説明する。
【0085】 フロー・キューが持続サービス・レートの指定を備えていない場合、507で
ピーク・サービス・レート・フィールドが検査される。ピーク・サービス・レー
トが一切指定されていない場合、プロセスは501に留まって次のサービス目盛
りを待つ。ピーク・サービス・レートが指定されている場合、フロー・キュー制
御ブロックを検査し、508でフロー・キューがWFQカレンダにあるかまたは
509でピーク帯域幅成形カレンダにあるかを判定する。フロー・キューがいず
れか一方にある場合、プロセスは501に戻り、そうではない場合、510で経
時の決定が行われる。「TestAge」のために行われるアクションについては以下
に説明する。
【0086】 図13に示すTestAgeは、フロー・キュー制御ブロックのタイム・スタンプ・
フィールドの1つと現在時を入力として使用する。これは、QinUseフィールドの
状態に対する更新をプロセスに返す。流れ図5では、この結果を512および5
13で使用して、フロー・キュー制御ブロックを更新し、経時リストからフロー
・キュー制御ブロックを除去する。
【0087】 図13に戻ると、TestAgeプロセスは倍率Eを使用し、タイム・スタンプ・フ
ィールドが古すぎてその有用性を保持できなくなっているかどうかを判定するた
めに現在時のどのビットを使用するかを決定する。ブロック600〜606によ
りこのタスクが実施される。
【0088】 引き続き606および607では、ドットVフィールドの上位ビット(上記で
定義し、図3に示すMMビット)と現在時から選択したビットとの比較を行う。
607および608のテストでは、タイム・スタンプに関連するエポックが最後
の更新以降に複数回ラップしたかどうかを判定する。複数回のラップが行われた
場合、そのタイム・スタンプはもはや使用不能であり、QinUseビットをゼロにセ
ットするアクションによってタイム・スタンプ・フィールドに無効のマークが付
けられ、そうではない場合、QinUseビットは未変更のままになる(ブロック60
9、610)。
【0089】 加重公平キュー化(WFQ)カレンダはいわゆる「ベスト・エフォート」サー
ビスに使用し、時間ベース・カレンダと組み合わせて使用する場合はいわゆる「
ベスト・エフォート・ピーク」サービスに使用する。すなわち、ベスト・エフォ
ート・サービスはいかなる保証帯域幅(すべての単位時間についてxビット分の
帯域幅が提供される)も取得しないが、保証帯域幅顧客に対応した後に残ってい
る帯域幅について他のユーザと競合する。これは、保証帯域幅より低レベルのサ
ービスであり、通常はかなり安価である。いわゆる「ベスト・エフォート・ピー
ク」サービスは、ユーザが加入している保証サービス・レベルを上回る要件のた
めに、資源上の過剰帯域幅を競合共用できるようにする。したがって、ユーザは
、合計ピーク・サービスが15Mビットのサービスになるように、毎秒10Mビ
ットのサービスとともに、追加5Mビットのピーク用のベスト・エフォートを購
入することができるだろう(最後の5Mビットのサービスは、それが使用可能で
あり、加重公平キュー化の他のユーザとの公平な共用によってそれが可能になる
場合に限り、提供されるものである)。
【0090】 さらに、WFQカレンダは、ベスト・エフォート・サービスQoSクラス内の
各種サービス・クラスのサポートを可能にする、キュー重みをサポートしている
。ここで使用するキュー重みは、所与のユーザのサービス・レベルに基づいてそ
のユーザに割り当てられる相対優先順位である。このキュー重みは、このシステ
ムに関連して説明した加重公平キュー化システムにおけるサービス間の遅延の量
に関連する。図3に示す好ましい実施形態には、サポートしているメディア・ポ
ートの数に対応する40個のこのようなWFQカレンダが存在する。40個のこ
のようなポートの選択は、ハードウェア・コストと設計の複雑さとの兼ね合いを
伴う自由裁量による設計選択であり、本発明の範囲を制限するためのものではな
い。
【0091】 周期(またはクロック間隔)はscheduler_tickとして定義され、これは、アク
セス中のハードウェアの応答時間に応じて150ナノ秒または165ナノ秒のい
ずれかに達するが、設計パラメータおよびハードウェア機能に応じてより長いか
または短い周期にもなりうる。scheduler_tickの間、サービスのためにフロー・
キューを選択する。記載した選択アルゴリズムの結果として、最小帯域幅指定(
持続サービス・レート)を備えたすべてのフロー・キューがサービスを必要とし
ない(すなわち、スケジューラによって管理される、残りの帯域幅がWFQカレ
ンダによる使用のために用意されている)ときにWFQカレンダが選択される。
他の方法では、時間ベースキュー220、230がスケジューリングされ、送信
すべき情報を有する場合、各クロック間隔中にその時間ベースキューが処理され
、そうではない場合、クロック間隔中にWFQキュー240が処理される。ネッ
トワーク・プロセッサの全最小帯域幅を管理可能なタイマ・ベース・スケジュー
ラとは対照的に、各WFQカレンダは1つのターゲット・ポート用のベスト・エ
フォート帯域幅を管理する。WFQカレンダまたはキュー240の目的は、競合
するフロー・キュー間でこのベスト・エフォート帯域幅を公平に共用することで
ある。これは、サービス用に選択したフロー・キューによって送信されるバイト
数を調節し、送信バイト数に基づいてその現在の位置からある距離だけカレンダ
内のフロー・キューを移動させることによって実施される。すなわち、フローが
scheduler_tickの間に送信するバイト数が増えるほど、次のサービスまでにカレ
ンダの上の方に移動する(さらに介在するフローが増加し、周期が長くなる)。
【0092】 図14に示す好ましい一実施形態では、WFQカレンダ240aは512個の
スロットから構成される。各スロットはフロー・キューを指すポインタのLIF
Oスタックを含む。一実施形態で使用するスロット数は、ハードウェア・コスト
と設計の複雑さとの兼ね合いであり、本発明の範囲を制限するためのものではな
い。
【0093】 さらに図14を参照すると、現在時は現行のスケジューラ・システム時間の値
を維持するレジスタである。このレジスタはscheduler_tickあたり1回増分され
る。好ましい実施形態の現在時レジスタの範囲は、タイマ・ベース・スケジュー
ラの範囲の4倍になるように選択されている。このため、フロー・キュー制御ブ
ロックで見つかるタイム・スタンプ・フィールドの1つ(すなわち、NextGreenT
ime)と現在時とを比較したときに現在時ラップを決定することができる。
【0094】 現行ポインタを使用して、WFQカレンダ内のサービス・ロケーションを示す
。タイマ・ベース・カレンダとは対照的に、現行ポインタはスケジューラ・シス
テム時間とは無関係である。
【0095】 動作 図15の流れ図に示すように、各scheduler_tickの間に、まず各ターゲット・
ポート・キューの状態を検査する。WFQカレンダのそれぞれは1対のポートに
関連づけられ、したがって、WFQポート0は高優先順位ポート0と低優先順位
ポート0に関連づけられている。ライン262上でターゲット・ポート・キュー
のしきい値を超えている場合、scheduler_tickの間、そのWFQカレンダにより
それ以上のアクションは一切行われない。(このシステムは、出力を制限するた
めの一種の背圧を提供し、システムが処理できないフレームが送出されないよう
にする。)ターゲット・ポート・キューのしきい値を超えていない場合、現行ポ
インタが示すスロットが検査される。そのスロットが空であると分かった場合、
現行ポインタは次の非空スロットに進んでフロー・キューWFQ候補を見つける
ことができる。すべてのスロットが空であると分かった場合、現行ポインタは未
変更であり、いかなる候補も検出されない。そのスロットがこの1つのカレンダ
内で非空であると分かった場合、スロットに記憶されているフロー・キュー/ア
ドレスはこのポート用のWFQ候補である。同様に、40個のWFQカレンダの
それぞれは、それに関連するターゲット・ポート・キュー用の候補を見つけるこ
とができるだろう。
【0096】 ターゲット・ポートしきい値の検査の目的は、WFQカレンダからターゲット
・ポート・キューにパケットが割り当てられるレートを制御することである。タ
ーゲット・ポート・キューは接続されたメディアが指定するレートで排出される
ことになるので、しきい値を超えるターゲット・ポートの状況を検査すると、そ
のメディアの帯域幅を超えるレートでパケットがターゲット・ポート・キューに
割り当てられないことを保証するメカニズムが得られる。好ましい実施形態では
、このしきい値はバイト単位の測定値として定義され、このしきい値は、少なく
とも、適切な動作を保証するためにそのメディア用に定義された最大伝送ユニッ
ト(MTU)に設定しなければならない。
【0097】 本発明の目的は、最小帯域幅と組み合わせてベスト・エフォート帯域幅をスケ
ジューリングする方法を提供することにあり、その場合、単一フロー・キューが
時間ベース・カレンダとWFQカレンダの両方にあるので、適切な機能のために
上記のメカニズムが必要である。
【0098】 すべてのカレンダ(時間ベース・カレンダとWFQカレンダの両方)間で最終
フロー・キュー選択が行われる。フロー・キューWFQ候補が選択されると、フ
ロー・キューポインタがLIFOスタックからデキューされる。このデキュー・
アクション後に現行ポインタが示すスロットが非空である(すなわち、少なくと
ももう1つの項目がその中に存在する)と分かった場合、現行ポインタはそれ以
上変更されない。このデキュー・アクション後に現行ポインタが示すスロットが
空であると分かった場合、現行ポインタは次の非空スロットに進むことになる。
すべてのスロットが空であると分かった場合、現行ポインタは未変更である。
【0099】 当業者であれば分かるように、WFQカレンダは、それに割り当てられたすべ
てのフロー・キュー間で使用可能な帯域幅を共用する。さらに、フロー・キュー
に重みを割り当てることにより、各フロー・キューに割り振られた帯域幅の相対
比率を変更することができる。これは、非空対応フロー・キューが置かれている
位置の計算によって実施される。低重み係数は、所与のフレーム長の場合により
頻度の高いサービスを可能にし、関連フローが同じ長さのフレームの場合に高重
み係数より短い距離だけ次のサービス用の「はしご」を上っていくことを意味す
る。同様に、より長いフレームを提供するフローは、同じ重み係数を有するより
短いフレームを提供するフローより大きい距離だけ、はしごを上ることになり、
同じ優先順位または重み係数の場合、より短いフレームを有する方がより頻度の
高いサービスを受け取ることを意味する。
【0100】 WFQ距離計算 距離計算は、それがデキューされた位置からカレンダ内でフロー・キューが移
動するスロットの数として定義する。好ましい実施形態では、WFQカレンダ用
の距離計算は以下の形式を有する。
【0101】 スロット距離=Max(Min(((フレーム長)*QD*K),max_distan
ce),1) 式中、スロット距離は整数であり、フレーム長はバイト単位で測定され、QDは
フロー・キュー制御ブロックに指定されているキュー重みであり、max_distance
はカレンダ内のスロット数から1を引いたものとして定義され、Kはターゲット
・ポートに割り当てられた倍率である。Kの指定は、ターゲット・ポートのMT
Uと、WFQカレンダ内のスロット数と、所望のQDの範囲から決定される。好
ましい実施形態の場合、以下に示す値のKを推奨する。 MTU(バイト数) K 2048 1/64 9216 1/256 16384 1/1024
【0102】 本発明の精神を逸脱せずに他の値のKを選択することができる。
【0103】 添付図面とともに好ましい実施形態の上記の説明を考慮すると、本発明の多く
の変更態様は当業者にとって明らかなものになるだろう。たとえば、フレーム・
サイズおよび記憶している重み係数に基づく重み付けは、他の式で置き換えるこ
とができる。1つのカレンダ内のスロット数とポートあたりのカレンダ数は、こ
のシステムのアーキテクチャに対処できるように変更することができる。それぞ
れのステップのエポック数と距離、現在時レジスタのサイズ、scheduler_tickレ
ートは本発明の精神を逸脱せずに変更できるだろう。そのうえ、本発明の精神を
逸脱せずに、システムの実施例および優先順位の体系に対して多くの変更を行う
ことができ、優先順位を決定するために様々なアルゴリズムを使用することがで
きる。さらに、本発明の特徴の一部は、その他の特徴を対応して使用せずに使用
することができる。したがって、好ましい実施形態の上記の説明は、単に本発明
の原理を例示するものであり、それを制限するものではないと見なすべきである
【図面の簡単な説明】
【図1】 組込みプロセッサ複合体を含むインタフェース装置のブロック図であり、本発
明を実施する際に有用なDNエンキュー・システムおよびスケジューラを示す図
である。
【図2】 図1に示すタイプの組込みプロセッサ複合体のブロック図であり、本発明を理
解する際に有用なDNエンキュー(およびそれに含まれるスケジューラ)を伴う
図である。
【図3】 本発明の好ましい実施形態により、図2のスケジューラにおいて可変長パケッ
トをスケジューリングするためのシステムを示す図である。
【図4】 本発明の好ましい実施形態により、図3のスケジューリング・システムで使用
するタイマ・ベース・カレンダを示す図である。
【図5】 図3ないし4のスケジューラに関連して使用するスケジューリング操作の流れ
図である。
【図6】 図4の各種エポックが色々な時間分解能を有する様子を示す図である。
【図7】 本発明で使用する最大バースト指定を示す図である。
【図8】 本スケジューラの様々な構成要素の流れ図であり、次の緑色時間の計算を対象
とする図である。
【図9】 本スケジューラの様々な構成要素の流れ図であり、次の緑色時間の計算を対象
とする図である。
【図10】 本スケジューラの様々な構成要素の流れ図であり、バースト・サイズ・クレジ
ットの計算および更新を対象とする図である。
【図11】 本スケジューラの様々な構成要素の流れ図であり、バースト・サイズ・クレジ
ットの計算および更新を対象とする図である。
【図12】 本スケジューラの様々な構成要素の流れ図であり、切断および再接続による恩
恵を回避するためのキュー制御ブロックの経時を示す図である。
【図13】 本スケジューラの様々な構成要素の流れ図であり、切断および再接続による恩
恵を回避するためのキュー制御ブロックの経時を示す図である。
【図14】 本発明の好ましい一実施形態により、本発明のスケジューラで有用なWFQカ
レンダを示す図である。
【図15】 図3ないし4のスケジューラに関連して使用するスケジューリング操作の論理
の流れ図である。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 09/548,910 (32)優先日 平成12年4月13日(2000.4.13) (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW (72)発明者 カルヴィニャク、ジャン、ルイ アメリカ合衆国27511 ノースカロライナ 州ケアリー スプリング・ホロー・レーン 112 (72)発明者 ヘデス、マーコ アメリカ合衆国27612 ノースカロライナ 州ローリー グランド・マナー・コート 4109 ナンバー 308 (72)発明者 スィーゲル、マイケル、スティーブン アメリカ合衆国27615 ノースカロライナ 州ローリー ラウリー・ドライブ 10625 (72)発明者 ヴェルプランケン、ファブリス、ジャン フランス エフ−06610 ラゴード ルー ト・ド・カーニュ 9152 Fターム(参考) 5K030 GA01 HA08 LC02

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のソースに関して記憶された情報に基づいて、複数のソースから複数の宛
    先に向かってデータ通信システム内を通過する情報単位を処理する時間ベース・
    カレンダと、 複数のソースに関して記憶された情報に基づいて、複数のソースから複数の宛
    先に向かってデータ通信システム内を通過するその他の情報単位を処理する時間
    に依存しないカレンダと、 前記カレンダの一方から出力宛先に向かって単一情報単位を移動させる信号を
    定期的に生成するタイマであって、記憶している規則に基づいてその単一情報単
    位が選択されているタイマとを含む装置。
  2. 【請求項2】 前記時間に依存しないカレンダが情報単位のフローを処理し、各フローをキュ
    ーに入れ、そのフローを処理した後でキュー内の他の場所にそのフローを移動さ
    せ、フローが時間ベース・カレンダ内に場所を有していたかどうかを判定し、切
    断および再接続の結果として、時間ベース・カレンダ内にこのような場所を有し
    ていたフローが時間ベース・カレンダ内のより恵まれた場所を達成しないように
    するメカニズムをさらに含む、請求項1に記載の装置。
  3. 【請求項3】 前記時間に依存しないカレンダが情報単位のフローを処理し、各フローをキュ
    ーに入れ、移動を待っている一連のフレームと、各フレームの重み係数およびサ
    イズと、時間に依存しないカレンダによって1つのフレームを移動した後でその
    フレームの重み係数およびサイズに基づいてそれぞれのフローの新しい位置を計
    算するメカニズムとを提供する、請求項1に記載の装置。
  4. 【請求項4】 情報単位が複数のソースから複数の宛先に向かってデータ通信システム内を通
    過するにつれて、サービス用のキューにデータ・フローを順番に入れるステップ
    と、 データ・フローがキュー内に前の位置を有していたかどうかを判定するステッ
    プと、 データ・フローがキュー内に前の位置を有していた場合に、割り当てられると
    思われる新しい位置が前の位置より有利であるかどうかを判定するステップと、 割り当てられると思われる新しい位置がより有利である場合に、前の位置を使
    用してフローを処理するステップと、 前の位置が割り当てられると思われる新しい位置より有利ではない場合に、新
    しい位置を使用してフローを処理するステップとを含む方法。
  5. 【請求項5】 情報単位が複数のソースから複数の宛先に向かってデータ通信システム内を通
    過するにつれて、サービス用のキューにデータ・フローを順番に入れるステップ
    と、 処理の準備ができている情報単位のそれぞれに関する優先順位情報を受け取る
    ステップと、 各情報単位に関連する優先順位情報に基づいて、処理の準備ができている各情
    報単位を複数の優先順位付きキューの1つに入れるステップであって、1つのキ
    ューが時間ベースであり、もう1つが時間に依存しないステップと、 記憶している1組の規則に基づいて処理するために、一連のクロック・サイク
    ルのそれぞれについて、キューの1つを選択するステップと、 アルゴリズムに基づいて処理するために、一連のクロック・サイクルのそれぞ
    れについて、選択したキューから1つの情報単位を選択するステップと、 選択した情報単位を宛先に向かって前方へ通過させるステップとを含む方法。
  6. 【請求項6】 アルゴリズムに基づいて処理するために、一連のクロック・サイクルのそれぞ
    れについて、選択したキューから1つの情報単位を選択するステップが、加重公
    平キューから選択すること、および、情報単位のサイズと選択した単位の重み係
    数に基づいて加重公平キュー内の新しい位置を計算することをさらに含む、請求
    項5に記載の方法。
  7. 【請求項7】 情報単位が複数のソースから複数の宛先に向かってデータ通信システム内を通
    過するにつれて、サービス用のキューにデータ・フローを順番に入れるステップ
    と、 記憶している規則に基づいて、データ・フローによるピーク・バースト伝送を
    可能にすべきかどうかを判定するステップとを含む方法であって、前記規則が、 データ・フロー用の初期クレジットを計算すること、 時間の経過とともに、また、データのフロー・レートがそのデータ・フロー
    用に設定したしきい値以下のままになったときに、そのクレジットに加えること
    、 時間の経過とともに、また、データのフロー・レートがそのしきい値を超え
    たときに、そのクレジットから差し引くこと、および、 クレジット値を使用して、所与の時期にピーク・バースト伝送が許されるか
    どうかを判定することを含む方法。
JP2001576592A 2000-04-13 2001-03-26 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム Expired - Fee Related JP3784049B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US09/548,910 US6862292B1 (en) 2000-04-13 2000-04-13 Method and system for network processor scheduling outputs based on multiple calendars
US09/548,913 2000-04-13
US09/548,910 2000-04-13
US09/548,912 US6952424B1 (en) 2000-04-13 2000-04-13 Method and system for network processor scheduling outputs using queueing
US09/548,913 US7315901B1 (en) 2000-04-13 2000-04-13 Method and system for network processor scheduling outputs using disconnect/reconnect flow queues
US09/548,912 2000-04-13
PCT/GB2001/001337 WO2001079992A2 (en) 2000-04-13 2001-03-26 Method and system for scheduling information using calendars

Publications (2)

Publication Number Publication Date
JP2003531517A true JP2003531517A (ja) 2003-10-21
JP3784049B2 JP3784049B2 (ja) 2006-06-07

Family

ID=27415543

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001576592A Expired - Fee Related JP3784049B2 (ja) 2000-04-13 2001-03-26 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム

Country Status (13)

Country Link
EP (1) EP1273140B1 (ja)
JP (1) JP3784049B2 (ja)
KR (1) KR100463697B1 (ja)
CN (2) CN1226850C (ja)
AT (1) ATE384380T1 (ja)
AU (1) AU2001244309A1 (ja)
CA (1) CA2403193A1 (ja)
DE (1) DE60132437T2 (ja)
HK (1) HK1052263B (ja)
IL (1) IL152258A0 (ja)
MX (1) MXPA02010054A (ja)
TW (1) TWI222012B (ja)
WO (1) WO2001079992A2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI222012B (en) * 2000-04-13 2004-10-11 Ibm Method and system for network processor scheduling outputs using disconnect/reconnect flow queues
EP1324553A3 (en) * 2001-12-31 2006-03-22 Alcatel Canada Inc. Method and apparatus for scheduling and servicing events using a calendar structure
EP1507368A1 (en) * 2003-08-13 2005-02-16 Alcatel High speed pipeline architecture with high update rate of associated memories
US7801152B2 (en) 2004-04-26 2010-09-21 Telecom Italia S.P.A. Method and system for scheduling utilization of resources, related communication network and computer program product
CN101542988B (zh) * 2007-02-15 2011-07-13 中兴通讯股份有限公司 一种定长分组交换流控信息传送的方法
US8948046B2 (en) 2007-04-27 2015-02-03 Aerohive Networks, Inc. Routing method and system for a wireless network
CN101146091B (zh) * 2007-09-05 2010-09-08 中兴通讯股份有限公司 多通道数据输出方法及***
US8218502B1 (en) 2008-05-14 2012-07-10 Aerohive Networks Predictive and nomadic roaming of wireless clients across different network subnets
US9674892B1 (en) 2008-11-04 2017-06-06 Aerohive Networks, Inc. Exclusive preshared key authentication
US8483194B1 (en) 2009-01-21 2013-07-09 Aerohive Networks, Inc. Airtime-based scheduling
US7792131B1 (en) * 2009-03-10 2010-09-07 Cisco Technologies, Inc. Queue sharing with fair rate guarantee
US9900251B1 (en) 2009-07-10 2018-02-20 Aerohive Networks, Inc. Bandwidth sentinel
US11115857B2 (en) 2009-07-10 2021-09-07 Extreme Networks, Inc. Bandwidth sentinel
US9002277B2 (en) 2010-09-07 2015-04-07 Aerohive Networks, Inc. Distributed channel selection for wireless networks
US8594132B2 (en) * 2011-05-17 2013-11-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Quality of service cognizant scheduler for femtocell base stations
US10091065B1 (en) 2011-10-31 2018-10-02 Aerohive Networks, Inc. Zero configuration networking on a subnetted network
EP2862301B1 (en) 2012-06-14 2020-12-02 Extreme Networks, Inc. Multicast to unicast conversion technique
CN102970726B (zh) * 2012-12-26 2016-01-06 迈普通信技术股份有限公司 链路选择方法及设备
US10389650B2 (en) 2013-03-15 2019-08-20 Aerohive Networks, Inc. Building and maintaining a network
US9413772B2 (en) 2013-03-15 2016-08-09 Aerohive Networks, Inc. Managing rogue devices through a network backhaul
CN103905329B (zh) * 2014-03-31 2017-09-19 福建金钱猫电子科技有限公司 基于plc中综合业务数据流的传输***及方法
EP3073680B1 (en) * 2015-03-23 2017-12-06 Alcatel Lucent Methods, queueing system, network element and network system for queueing and processing of packets
KR102137651B1 (ko) * 2019-06-10 2020-07-24 국방과학연구소 서비스 플로우 기반 패킷 스케줄링 장치 및 방법
CN116346739B (zh) * 2023-03-31 2023-12-05 南京金阵微电子技术有限公司 多队列调度方法和***、电路及芯片

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926459A (en) * 1996-06-27 1999-07-20 Xerox Corporation Rate shaping in per-flow queued routing mechanisms for available bit rate service
US6389019B1 (en) * 1998-03-18 2002-05-14 Nec Usa, Inc. Time-based scheduler architecture and method for ATM networks
US6721325B1 (en) * 1998-04-23 2004-04-13 Alcatel Canada Inc. Fair share scheduling of multiple service classes with prioritized shaping
TWI222012B (en) * 2000-04-13 2004-10-11 Ibm Method and system for network processor scheduling outputs using disconnect/reconnect flow queues

Also Published As

Publication number Publication date
KR100463697B1 (ko) 2004-12-29
WO2001079992A3 (en) 2002-02-21
DE60132437T2 (de) 2009-01-08
HK1052263B (zh) 2006-02-03
CA2403193A1 (en) 2001-10-25
CN1642143A (zh) 2005-07-20
TWI222012B (en) 2004-10-11
ATE384380T1 (de) 2008-02-15
HK1052263A1 (en) 2003-09-05
DE60132437D1 (de) 2008-03-06
IL152258A0 (en) 2003-05-29
KR20020091202A (ko) 2002-12-05
AU2001244309A1 (en) 2001-10-30
CN1226850C (zh) 2005-11-09
CN1419767A (zh) 2003-05-21
EP1273140B1 (en) 2008-01-16
EP1273140A2 (en) 2003-01-08
WO2001079992A2 (en) 2001-10-25
MXPA02010054A (es) 2003-03-10
CN1642143B (zh) 2010-04-07
JP3784049B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
JP3784049B2 (ja) 切断/再接続フロー・キューを使用して出力をスケジューリングするネットワーク・プロセッサのための方法およびシステム
US7123622B2 (en) Method and system for network processor scheduling based on service levels
US6795870B1 (en) Method and system for network processor scheduler
US5831971A (en) Method for leaky bucket traffic shaping using fair queueing collision arbitration
KR100431191B1 (ko) 크레딧 기반 라운드 로빈을 이용한 패킷 스케쥴링장치 및방법
US7558278B2 (en) Apparatus and method for rate-based polling of input interface queues in networking devices
JP4017867B2 (ja) スケジューリング装置
US6952424B1 (en) Method and system for network processor scheduling outputs using queueing
JP3953819B2 (ja) スケジューリング装置およびスケジューリング方法
US7349405B2 (en) Method and apparatus for fair queueing of data packets
US6396843B1 (en) Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues
JP2003523134A (ja) 通信ネットワークにおける多重パケットをマルチレベルスケジューリングする方法
US20060256723A1 (en) Scheduling incoming packet traffic on an output link of a network device associated with a data network
US7292578B1 (en) Flexible, high performance support for QoS on an arbitrary number of queues
US6804249B1 (en) Method and system for network processor scheduling based on calculation
JP2004266389A (ja) パケット転送制御方法及びパケット転送制御回路
EP1817878A2 (en) Air-time fair transmission regulation without explicit traffic specifications for wireless networks
US6944172B2 (en) System and method for time-based scheduling
KR101737516B1 (ko) 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
US6862292B1 (en) Method and system for network processor scheduling outputs based on multiple calendars
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
US8467401B1 (en) Scheduling variable length packets
US7315901B1 (en) Method and system for network processor scheduling outputs using disconnect/reconnect flow queues
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
KR100745679B1 (ko) 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051018

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20051104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

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: 20060221

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060313

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: 20100324

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140324

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees