JP2004525538A - 共有媒体上での動的トラヒック管理 - Google Patents
共有媒体上での動的トラヒック管理 Download PDFInfo
- Publication number
- JP2004525538A JP2004525538A JP2002540379A JP2002540379A JP2004525538A JP 2004525538 A JP2004525538 A JP 2004525538A JP 2002540379 A JP2002540379 A JP 2002540379A JP 2002540379 A JP2002540379 A JP 2002540379A JP 2004525538 A JP2004525538 A JP 2004525538A
- Authority
- JP
- Japan
- Prior art keywords
- data rate
- communication
- channel
- bandwidth
- priority
- 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.)
- Pending
Links
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical group C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 claims abstract description 55
- 230000008859 change Effects 0.000 claims abstract description 24
- 238000013459 approach Methods 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims description 159
- 238000000034 method Methods 0.000 claims description 53
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 abstract description 5
- 230000007423 decrease Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 101100190310 Emericella nidulans (strain FGSC A4 / ATCC 38163 / CBS 112.46 / NRRL 194 / M139) phiA gene Proteins 0.000 description 4
- 101150115185 binB gene Proteins 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 108700026140 MAC combination Proteins 0.000 description 1
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 101150049912 bin3 gene Proteins 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009533 lab test Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/08—Intermediate station arrangements, e.g. for branching, for tapping-off
- H04J3/085—Intermediate station arrangements, e.g. for branching, for tapping-off for ring networks, e.g. SDH/SONET rings, self-healing rings, meashed SDH/SONET networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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/15—Flow control; Congestion control in relation to multipoint traffic
-
- 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/20—Traffic policing
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/76—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
- H04L47/762—Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/781—Centralised allocation of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0028—Local loop
- H04J2203/0039—Topology
- H04J2203/0042—Ring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0064—Admission Control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0064—Admission Control
- H04J2203/0067—Resource management and allocation
- H04J2203/0069—Channel allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0098—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
共有媒体に接続されたステーションと通信する中央アービターを使用して、例えば、SONETリングのような共有媒体上の動的トラヒックを管理するためのアプローチ。各ステーションは、そのステーションにて媒体に入る動的トラヒックに対する帯域幅を変更するための要求を行い、帯域幅の変更に対するその要求と調和する混雑回避アルゴリズムを実行する。中央アービターは、ステーションからの要求に応答して共有媒体上で使用可能な帯域幅の公正な割当てを行う。
Description
(発明の背景)
本発明は、共有媒体上での動的トラヒックの管理に関する。
【0001】
データを送受信するために種々のネットワーク・アーキテクチャが使用されている。恐らく、最も一般的に使用されているのはイーサネットであろう。イーサネットは、衝突検出(CSMA/CD)MACプロトコルによるキャリヤセンス媒体アクセスを使用するバス技術である。バスに接続している各ステーションは、パケット送信をスタートする前に媒体を感知する。送信中に衝突が検出された場合には、送信ステーションは直ちに送信を停止し、すべてのステーションに衝突が発生したことを知らせる短い妨害信号を送信する。次に、送信ステーションは、CSAMにより再度送信を行う前に、ランダムな時間の間待機状態になる。
【0002】
イーサネット・バス上での帯域幅管理は明確に規定されていない。各ステーションは、別々に送信の決定を行い、このステーションからの流れを通じてローカル・トラヒック管理を行うことができる。それ故、このスキームは、バスを共有するすべての流れの中では必ずしも効率的なトラヒック管理を行わない。
【0003】
もう1つのアーキテクチャはトークン・バスを使用する。トークン・バスの媒体アクセス・プロトコルは、以下に説明するIEEE802.5トークン・リングに類似している。
【0004】
DQDB(分散待ち行列二重バス)は、メトロポリタン・エリア・ネットワーク(MAN)用の規格IEEE802.6にIEEEが取り入れた技術である。DQDBは、両方のバスにステーションが接続している二重バスを使用する。フレーム発生器が、各バスの端部に位置していて、空のスロットのフレームを生成する。ステーションはどちらのバスからも読み出すことができ、どちらかのバスへのデータで「論理和」を行うことができる。DQDB媒体アクセス(待ち行列アービトレイション)機構は、下記のアクセス方法を提供する。
【0005】
−各スロットは、使用中(B)ビットと要求(R)ビットを有する。
−ステーションが一方のバス上にデータを置きたい場合には、ステーションは他のバス上の通過スロット上にRビットをセットする。(こうするのは、上流のステーションに要求が行われたことを知らせるためである。)
−各ステーションは、セットされたRビットを含むスロットが通過する度に1だけ増加し、他方のバス上を空のスロットが通過する度に1だけ減少する要求カウンタ(RC)を保持している。
【0006】
−RCが0になると、ステーションは、他方のバス上の次の空の(セットされていないB)スロットを使用することができる。
しかし、このアクセス機構は不公正になる場合がある。バスの端部近くのステーションは、主として1本のバス容量に限定される。中心付近のステーションは、2つのバスにもっと頻繁にアクセスし、そのため、もっと多くの容量を使用することができ、通常、もっと短い送信経路を有する。バスの始めの部分に近いステーションは、空のスロットにより容易にアクセスすることができる。
【0007】
もう1つのアーキテクチャは、IEEE802.5トークン・リング規格を使用する。4または16Mb/sリングである各トークン・リング・ネットワークは、リングに接続している各ステーションにより共有される。ステーションは、データを送信する許可を入手することによりトークン・リングにアクセスする。ステーションが「トークン」と呼ぶ特殊なメッセージを受信すると許可が与えられる。送信ステーションは、トークンを捕捉し、それを「フレーム」に変換し、データをフレームの情報フィールドに収容し、それを送信する。そのフレームが自分宛てのものである場合には、他のステーションはそのデータを受信する。データを受信するこれらのステーションを含めてすべてのステーションは、そのデータがもとのステーションに返送されるようにそのフレームを再同報通信する。ステーションは、リングからデータを分離し、送信するデータを持っている次の下流のステーションが使用できるように新しいトークンを発行する。さらに、トークン・リングは、優先順位が付けられた送信が使用できる8つの優先順位を有する。ステーションが送信したい緊急な情報を有している場合には、そのステーションは高い優先順位を予約する。待機中の予約要求によりトークンを使用できるようになった場合には、そのトークンは「優先トークン」となる。優先要求を有するステーションだけが、このトークンを使用することができる。他のステーションは、通常の(優先権を持たない)トークンが使用できるようになるまで待機する。
【0008】
ファイバ分散型データ・インタフェース(FDDI)は、高速リング・ネットワーク用の規格である。IEEE802.5規格と同様に、FDDIは、トークン・リング・アルゴリズムを使用する。しかし、FDDIトークン管理スキームは、特に大型のリングに対してより効率的であるので、リングをもっと高度に使用することができる。FDDIトークン・リングとIEEEトークン・リングとの間のもう1つの違いは、容量割当ての分野にある。FDDIは、ストリームとバースト性を有するトラヒックの混合体をサポートする。FDDIは、2つのタイプのトラヒック、すなわち、同期トラヒックと非同期トラヒックとを定義する。各ステーションの同期部分はプロトコルにより決まる。各ステーションは非同期トラヒックを送信するための同期部分を超える残りの帯域幅を使用する。しかし、各ステーション間で公正に非同期部分を割り当てるための内蔵機構はない。各ノードには非同期トラヒックを送信する機会が与えられるが、リング内での非同期トラヒックを「送信する」機会の分配は必ずしも公正には行われていない。これは一部内だけのことである。何故なら、各ノードは、その同期部分を送信した後で使用することができる非同期部分の送信を別々に決定するからである。同様に、リング上の分化サービスは、各ノードが行う一組の「独立」決定により供給される。それ故、リング・レベルにおいては、全体の帯域幅は別々な方法で分配されない。
【0009】
恐らく、実際に使用されている最も一般的なリング・アーキテクチャは、SONET/SDH(同期光通信ネットワーク/同期デジタル階層)アーキテクチャであろう。米国特許第5,335,223号には、SONET/SDHの詳細な背景が開示されている。SONET規格による通信は、多数のノードがリングを形成するように光リンクにより接続しているリング・アーキテクチャを使用する。SONETリングは、通常、それぞれがアッド/ドロップ多重化装置(ADM)を含む多数のノードを有する。各ノードは、光路を通して2つの隣接するノードに接続している。通信は、一連の同期固定長データ・フレーム内のリングで行われる。SONETは、リング上で帯域幅を動的に管理するための内蔵機構を有していない。規格は、リング上の静的供給リソースへの機構、すなわち、各ノードにSONETフレーム内のアッド/ドロップ・コラムを割り当てるための機構を定義している。しかし、SONET規格は、リング上のトラヒックを遮断しないで、列を動的に挿入(アッド)したり、または抜き取ったり(ドロップ)する方法を解決していない。
【0010】
(発明の概要)
一般的な態様において、本発明は、例えば、SONETリングのような共有媒体上で、動的トラヒックを管理するための方法を提供する。この方法は、媒体に接続しているステーションと通信する中央アービターを使用することができる。各ステーションは、そのステーションの媒体に入ってくる動的トラヒックのために帯域幅の変更を要求し、帯域幅の変更のためにその要求と協調する混雑回避アルゴリズムを実行する。中央アービターは、ステーションからの要求に応じて共有媒体上で使用できる帯域幅を公正に割り当てる。
【0011】
一態様では、一般的に、本発明は、多数の通信チャネルにより共有されている通信容量を含む共有媒体上の通信を管理する方法である。通信チャネルは、共有媒体により通信を行うことができ、各チャネルには優先順位が割り当てられる。データ速度割当ては、複数のチャネルに対するデータ速度割当ての組合わせが、共有媒体の通信容量を超えないように各通信チャネルに対して維持される。通信チャネル用のデータは、各通信チャネルに対するデータ速度割当てに従って共有媒体を通して送られる。これは、各通信チャネルに対するデータの受信、および通信チャネルに対するデータ速度割当てに従って制限された速度での共有媒体を通しての受信データの送信を含む。通信チャネルに対するデータ速度割当ての維持は、各通信チャネル上の通信を監視することと、監視された通信に基づいて通信チャネルに対するデータ速度割当ての変更の要求を発生することとを含む。各通信チャネルに対するデータ速度割当ての変更の要求は、チャネルに対して割り当てられたデータ速度を増大するための要求と、チャネルに対して割り当てられたデータ速度の低減のための要求とを含む。データ速度割当ては、受信要求に基づいて反復して再計算される。
【0012】
上記方法は、下記の機能の中の1つまたはそれ以上を含む。
データ速度割当ての再計算は、通信チャネルの各優先順位に対する共有媒体の通信容量の共有を決定することと、その優先順位に割り当てられた共有分に従って各優先順位での通信チャネルに対するデータ速度割当てを修正することと、各優先順位に対する、要求およびその優先順位に対して割り当てられた共有分に従ってその優先順位での通信チャネルに対するデータ速度割当ての増大に対する要求を処理することとを含む。
【0013】
各通信チャネルに対するデータ速度割当ては、認定データ速度および割当データ速度を含む。割当データ速度は、認定データ速度と等しくなるように、またはそれを超えるように維持される。データ速度割当てを再計算する際には、通信チャネルの全認定データ速度を超える共有媒体の通信容量の超過分の全共有分が決定される。
【0014】
データ速度の再計算は、さらに、各優先順位での通信チャネルに対するデータ速度割当てを修正することと、割り当てられていない容量のプールを生成することとを含み、通信チャネルに対するデータ速度割当ての増大の要求の処理は、上記チャネルに対する割り当てられていない容量のプールを適用することを含む。
【0015】
各優先順位での通信チャネルに対するデータ速度割当ての増大の要求の処理は、さらに、同じ優先順位の他の通信チャネルのデータ速度を低減することと、増大要求へのそのデータ速度の低減を適用することとを含む。
【0016】
データ速度割当ての再計算は、過去のデータ速度割当てに従って各優先順位での通信チャネルの部分的な順序を変更することを含み、同じ優先順位の他の通信チャネルのデータ速度の低減は、部分的順序の変更に従って他の通信チャネルを選択することを含む。
【0017】
各通信チャネルに対するデータ速度の監視は、共有媒体を通して送信が未決定である各チャネルに対して受信データの待ち行列の大きさを監視することと、待ち行列の監視した大きさに従ってチャネルに対するデータ速度割当ての変更の要求を生成することとを含む。
【0018】
通信チャネルに対するデータの送信は、さらに、通信チャネルに対するデータ速度がその割当データ速度を超えた場合に、受信データを捨てる早期抜き取り(RED)アプローチを適用することを含む。
【0019】
共有通信媒体の共有通信容量は、SONETネットワーク上の容量を含み、通信チャネルは、SONETネットワークの対応するノードでSONETネットワークに入る。
【0020】
通信チャネルに対するデータ速度割当ての維持は、各通信チャネルへの一連のデータ・フレームの各々一部の割当てを維持することを含む。
通信チャネルに対するデータ速度割当ての修正は、各通信チャネルへの一連のデータ・フレームの各々の一部の割当ての修正を含む。
【0021】
SONETリングを通してのノードからアービター・ノードへの要求の送信、およびSONETリングを通してのアービター・ノードから他のノードへの割当ての送信。
【0022】
通信チャネルに対する割当てデータ速度の維持は、通信チャネルが使用することができるSONETネットワーク上を通る一連のフレームの各々の全量を決定することを含む。
【0023】
一連のフレームの各々の全量の決定は、固定速度通信チャネルに割り当てられた各フレームの量を決定することを含む。
他の態様では、一般的に、本発明は、通信システムである。そのシステムは、通信容量を有する共有媒体、およびノード間の共有媒体を通して複数の通信チャネルに対してデータを送信するように構成された共有媒体に接続された多数の通信ノードを含む。システムは、また、通信ノードに接続され、チャネルに対するデータ速度割当ての組合わせが共有媒体の通信容量を超えないように、各通信チャネルに対するデータ速度割当てを維持し、通信ノードへ上記データ速度割当てを送受信するように構成されたアービターを含む。各通信ノードは、1つまたはそれ以上の通信チャネルに対するデータを受信し、これらの通信チャネルに対するデータ速度割当てに従って共有媒体を通してそのデータを送信するように構成されている。各ノードは、さらに、各通信チャネル上の通信の監視に従って通信チャネルに対するデータ速度割当ての変更の要求を送信するように構成されている。アービターは、複数の優先順位の各々に対する通信容量の共有分を決定し、各優先順位および通信ノードからのデータ速度割当てを変更するための要求に対して決定された共有分に従ってデータ速度割当てを維持するように構成されている。
【0024】
共有媒体は、SONET通信システムを含むことができ、アービターは、各通信チャネルへの各SONETフレームの割当てを維持するように構成される。
本発明は、異なるチャネル優先順位間でまた異なるチャネル優先順位で容量が割り当てられるような方法で、多数の通信チャネルの時間とともに変化する要求に従って共有通信容量の共有分を割り当てるという利点を持つ。このアプローチはSONETネットワークに適用することができ、それにより、SONETフレームワークの標準同期フレームでバースト性を有する通信チャネルを収容するための公正な機構を提供する。
【0025】
下記の説明および特許請求の範囲から、本発明の他の特徴および利点が明かとなる。
(発明の説明)
図1について説明すると、通信システムは、容量が制限されている共有通信媒体により相互間でデータを送る多数のノード120、121を含む。上記媒体は、一組のノード間の通信の際に共有され、他の一組のノード間の通信のために使用される共通のプール通信容量を使用する。(以下の説明においては、「帯域幅」という用語は、通常は、主要なより高速の通信速度が、通常、ブロードバンド通信システムでもっと広い帯域幅を必要とすることを反映している「通信容量」または「通信速度」と同じ意味で使用される。)本発明の共有媒体の管理は、共有媒体上の競合する通信または潜在的に対立する通信に対して共有媒体の割当てを行う。下記の実施形態の場合には、共有媒体は、媒体を通過するすべての通信チャネルの全データ速度を制限する。この制限は、容量を制限データ速度内で割り当てる管理プロセスの直接の制御により時間的に変化する場合がある。他の実施形態の場合には、共有媒体は、必ずしも、全通信速度に対して時間的に変化する制限を行わないことを理解されたい。さらに、他の実施形態の場合には、共有媒体が必ずしも共有されないので、ノード間のすべての通信は、例えば、いくつかの他の組のノード間だけの通信と潜在的に対立する一組のノード間の通信により容量の同じプールを使用する。
【0026】
本発明によれば、異なる時点で共有媒体に割り当てられた任意の特定の通信チャネルがそれに割り当てられた異なるデータ速度を有することができるよう、共有通信容量がノードの種々のペア間を通る通信チャネルに時間的に変化する方法で割り当てられる。これらの通信チャネルは、例えば、「バースト的な」性質を持つデータ容量に対して一定の要求を必ずしも持たないという特性、および共有媒体上でそのトラヒックに対して割り当てられた一定のデータ速度を必ずしも持たないように管理されるという結果を反映して、「動的」チャネルと呼ばれる。
【0027】
図1について説明すると、第1の実施形態の場合には、SONETリング110上の通信容量は、本発明により割り当てられる。上記容量の一部は、ノード間で多数の動的チャネルを送るために確保される。すなわち、SONETリング110のデータ容量の一部は、本発明により管理される「共有媒体」である。ノード120間で通信を行うための動的チャネルの数は、新しいチャネルが受け入れられたり、抜き取られたりするので、時間の経過とともに変化することができる。通常、受け入れられたチャネルは、共有容量媒体の帯域幅制限および多数の優先順位および「公正」基準を満足する一方で、時間と共に動的に変化するデータ速度要件を持ち、時間と共に変化するデータ速度要件に応じて時間と共に変化する帯域幅が割り当てられる。
【0028】
SONETリング110を通る通信では、毎秒約8000フレームの速度で一連の固定長フレームが送られる。各フレームは、それぞれが同じ数の列を持つバイトが9つの行からなるアレーである。列の全数は、SONETリングの全通信速度により異なる。例えば、OC−1リンク上には、フレーム当り90の列が存在する。本実施形態の場合には、共有媒体の共有通信容量は、動的チャネルに利用可能な各SONETフレームの列の数に対応する。各SONETフレームの他の列は、オーバーヘッド通信用の列、及びSONET通信容量の一定の周期的部分を受信する機能を反映して、多くの場合、TDM(時分割多重化)チャネルと呼ばれる固定通信速度を持つ通信チャネル用の列を含む。
【0029】
中央アービター170は、動的チャネルへの共有容量の時間と共に変化する割当てを調整する。このアービターは、SONETリング110上のアービター・ノード121に位置する。他のノード120は、動的チャネルに対する帯域幅割当てを変更するためにアービター170に要求を行う。これらの要求は、通常、要求しているノードにおいてリングに入る動的チャネルに対するものである。アービター170は、帯域幅要求を処理し、ノード120に各動的チャネルに関連する結果としての帯域幅割当てを通知する。以下にさらに詳細に説明するように、種々の動的チャネルに対する帯域幅割当ての変更の要求の他に、各ノード120は、また、帯域幅割当てに対する要求に適合する混雑回避アプローチを実行する。この混雑回避アプローチは、特定のしきい値を超える平均待ち行列長さを有する動的チャネルに対してデータのランダムな抜き取りを行う。
【0030】
代表的なノードC120は、そのノードにおいてリングに入る多数の入力動的チャネル142、およびそのノードにおいてリングから「抜き取られる」または抜け出す多数の出力動的チャネル146を有する。他の各ノード120も、同様に、リングに挿入されるかまたはリングから抜き取られる入力および出力動的チャネルを有する。本実施形態では、ノード121、すなわち、アービター・ノードは、アービター・ノードでないノード120に位置する機能を含んでもよく、その場合には、その入力チャネルに対する容量の割当てに関連するアービター170の内部要求を行う。各入力および出力動的チャネル142、146は、必ずしも個々の物理リンクに対応しないことを理解されたい。例えば、入力動的チャネルおよび出力動的チャネルは、ノードに接続しているもう1つの物理リンク上で、種々の周知の方法で多重化することができる。
【0031】
すでに説明したように、ノード間のリング110を通る各同期SONETフレームの一部は、動的チャネルのために確保される。この部分は、各フレームの「動的セクション」と呼ばれる。引用によって本明細書の記載に援用する「SONETリング上の等時性およびバースト性を有するデータの転送」(以後「第1の出願」と呼ぶ)という名称の米国特許出願番号09/536,416に、動的データに対するSONETフレームの一部の使用が詳細に開示されている。本実施形態の場合には、例えば、SONETリングを通るTDMチャネルにもっと広いかまたはもっと狭い帯域幅が割り当てられるように、動的セクションの帯域幅を時間と共に変化させることができる。第1の出願、および引用によって本明細書の記載に援用する「同期フレームでのTDMチャネルのスケーラブルな転送」(以後、「第2の出願」と呼ぶ)という名称の米国特許出願番号09/858,019には、TDMチャネルの動作および管理が詳細に開示されている。
【0032】
動的チャネルの管理は、共有チャネルへのチャネルの導入(生成)および終了を含むチャネルの供給、および導入したチャネルへの共有チャネル内での帯域幅の割当ておよび割当ての解除を含む導入チャネルの帯域幅の管理を含む。図1について説明すると、アービター・ノード121は、動的チャネルの生成および終了を担当するCAC(接続受入れ制御)モジュール180を含む。CACモジュール180は、動的チャネルの固定部分を特徴とするチャネル・データ175に記憶されている、アービター・ノードにおけるデータを維持する。代表的なノードC120が新しい入力動的チャネル142の生成をスタートすると、このノードは、CACモジュール180に送信するチャネル要求160を作成する。本実施形態の場合には、ノードC120は、帯域外(OAM&P)チャネル・リンク・ノード120およびアービター・ノード121に基づいて、アービター・ノードA121にチャネル要求160を送る。アービター・ノード121においてCACモジュール180は、チャネル要求を受信し、要求したチャネルを許可する場合には、要求に従ってチャネル・データ175を更新する。
【0033】
図2について説明すると、CACモジュール180は、許可した動的チャネルに関する情報を含むチャネル・データ175内に供給マップ210を維持する。CACモジュール180は、それぞれが、その発信ノード、1つまたは複数の宛先ノード、必要な帯域幅(データ速度)、所望のバースト・データ速度、および優先順位のような要求したチャネルに関する情報を含むチャネル要求160を受信する。上記要求に応じて、CACモジュール180は、その動的チャネルに対して供給記録220を生成する。各供給記録220は、通常、動的チャネルが能動状態である間は変化しない多数のデータ・フィールドを含む。供給記録は、動的チャネルに対して使用が保証されている各SONETフレームの列の数であるCIR(認定情報速度)230を含む。上記記録は、また、そのデータ速度要求が、例えば、バースト中において高い場合、この動的チャネルに対するアービター170より使用が可能になる各フレームの列の最大数であるBR(バースト速度)232を含む。BR232は、CIR230が示す認定量を含んでいるので、BRはCIRより大きいか、またはCIRに等しい。各供給記録は、また、優先順位234を含む。異なる動的チャネルは、異なる優先順位を持つ。下記の管理アプローチは、異なる優先順位間の帯域幅の割当てと、任意の特定の優先順位内の異なる動的チャネルへの帯域幅の割当ての両方を解決する。供給記録220は、また、供給されたフラグ236を含む。以下の説明においては、動的チャネルはこのフラグ・セットを持つと仮定される。供給されたフラグ236をクリアすると、供給記録は、動的チャネルに対して存在することができるが、アービター170は、それに対して容量を全然割り当てない。例えば、長い時間休止していた動的チャネルは、その供給されたフラグをクリアすることができ、それにより、他のチャネルが認定速度を使用できるようになる。動的チャネルに対する供給記録220は、FCA(公正な容量割当て)238を含み、そのFCAは、公正な方法で、同じ優先順位の異なる動的チャネル間に容量を割り当てるためにある時点で使用されるCIRからBRの範囲内の量である。各動的チャネルのFCAは、例えば、動的チャネルの挿入または削除の結果としての各動的チャネル供給イベント中に更新することができる。
【0034】
供給マップ210は、また、動的チャネルに割り当てることができるSONETフレーム(共有帯域幅)の列の全数である動的帯域幅(DBW)222と、異なる優先順位間に帯域幅を割り当てる際にアービター170が使用する加重223と、過去の帯域幅割当てに従って任意の優先順位で動的チャネルを分類する際にアービターが使用するbinしきい値224と、任意の優先順位で動的チャネル間で帯域幅を再度割り当てる際にアービターが使用するパラメータであるmax_preempt(最大先取り)225、およびpreempt_capable(先取り可能)226とを含む。
【0035】
再び図1について説明すると、代表的なノードC120が動的チャネルに対する割当て帯域幅の増減を要求すると、このノードは、アービター・ノード121におけるアービター170に帯域幅要求164を送る。帯域幅要求164は、1つまたはそれ以上のチャネルの帯域幅を増減するための要求であってもよい。本実施形態の場合には、リングを通る各SONETフレームの一部は、帯域幅要求164のために確保され、この部分には、各動的チャネル用に1ビット・フラグが確保される。1ビット・フラグは、対応する動的チャネルに対する割当てを増減する要求をコード化する。それ故、本実施形態の場合には、「変化なし」要求はコード化されない。帯域幅要求164は、対応する動的チャネルに対する1ビット・フラグに対応する。通常、1つのフレームが各ノードにてリングに入り、チャネル用のリングを通るとき、異なるノード120は、1つのフレーム内にいくつかの帯域幅要求をセットし、次に、アービター170は、受信する毎に各フレーム内の複数の帯域幅要求164を受け取る。
【0036】
1つまたはそれ以上のフレームで受信する帯域幅要求を処理した後で、アービター170は、帯域幅許可166をノードに送る。本実施形態の場合には、各SONETフレームの一部は、帯域幅許可のために確保される。帯域幅許可166は、各動的チャネルに割り当てられるSONET列を識別する。各ノード120は、帯域幅許可を送るSONETフレームがリングを通過する時に、帯域幅許可166を受信し、各ノードは、動的チャネルに対する割当てのすべての変化に注意し、そのノードにてリングに入るかまたは抜け出る動的チャネルに対する流れの処理を続行する。あるチャネルに対する割当ての変更を要求するノードC120は、少なくともフレームがリングを通過するための伝搬時間に等しい遅延の後で、それに応じて任意の許可を受信する。帯域幅要求は、最初、ノードからアービターに移動しなければならない。次に、アービターは要求を処理しなければならない。次に、要求しているノードに戻るために、許可はリングの残りの部分を通らなければならない。
【0037】
図2について説明すると、アービター170は、結果マップ240を維持するために供給マップ210内の情報を使用する。結果マップ240は、各動的チャネルに対する結果記録250を含む。受信する帯域幅要求164に基づいて、アービター170は、結果記録250を更新し、結果マップ内のデータを反映する帯域幅許可166を作成する。各動的チャネルの結果記録250は、多数のフィールドを含む。CCA(現在の容量割当て)262は、動的チャネルに割り当てられた現在の列の割当て数である。CCA262は、少なくともCIR230に等しくなるように、またそのチャネルに対するBR232より大きくならないように制限される。以下の説明においては、CIRとCCAとの間の違いは、CBA、現在のバースト割当てになるように定義される。bin264は、1から動的チャネルが行った過去の通信要求を反映するBの間の整数である。以下にさらに詳細に説明するように、帯域幅割当ての増大を受けたチャネルは、通常、帯域幅の削減を受けたチャネルよりも高いbin指数を有する。bin指数の小さいチャネルは、同じ優先順位で大きいbin指数を有するチャネルより高い優先権を持つ。
【0038】
各動的チャネルは、また、1つのINCR266の値および1つのDECR268の値を有する。これらの値は、割当ておよび割当て解除要求がスケールされる列の数である。すなわち、動的チャネルに対する帯域幅要求は、アービター170により、そのチャネルに対する列の数をINCRだけ増大するための要求であると解釈される。一方、そのチャネルに対する帯域幅の割当て解除要求は、そのチャネルに対する列の数をDECRだけ割当て解除するための要求であると解釈される。INCRおよびDECRは、通常、チャネルに依存する。CACモジュール180は、各動的チャネルに対するINCR266の値およびDECR268の値をセットする。CACモジュール180は、後でこれらの値を修正してもよい。シミュレーションおよび実験室での実験によれば、チャネルのINCRおよびDECRは、そのチャネルのBRとCIRの間の範囲の5〜10%にセットすることが好ましい。INCRおよびDECRの選択は、全割当てアプローチの時間ダイナミックスに影響を与える。INCRおよびDECRの特定の選択は、その値が動的チャネルによるデータ速度要求の変更に比較的迅速に応答するのに十分な大きさであることを意味する。さらに、INCRおよびDECRの大きさは、帯域幅の割り当てを迅速に変更できるようにすることにより、割り当てられた帯域幅に対する変更がTCPベースの流れ制御のような高レベルの流れ制御機構との相互間動作に悪影響を与えないように、十分小さいものが選択される。
【0039】
図3は、時間の経過により、この帯域幅の幅が変化する可能性を認識する共有媒体の全動的帯域幅の2つの図面である。この全帯域幅は、DBW(動的帯域幅)と呼ばれる。図3の上部、セクション311〜332は、n個の動的チャネルに対する帯域幅割当てを示す。図3の上部においては、各チャネルに対する割当ては、隣接セクションになっている。例えば、CCA1は、CBA1312に隣接しているCIR1311を含む。CCAiの合計は、CCATOT、すなわち、能動動的チャネルに対する現在の全割当てと呼ばれる。通常、いくつかの未使用の動的帯域幅340(DBW−CCATOT)があるが、アービターは、能動チャネルに対して動的帯域幅全部を割り当てようとする。
【0040】
図3の下部について説明すると、チャネルに対する帯域幅の割当てが2つの部分で示されている。能動チャネルに対する認定速度(CIR1311,CIR2321,...CIRn331)は、CIRTOTと呼ぶ全認定割当て362として1つのグループになっている。バースト割当て(CBA1312,CBA2322,...CBAn332)は、CBATOTと呼ばれるバースト割当て364として1つのグループになっている。以下にさらに詳細に説明するように、能動動的チャネルは、そのCIR帯域幅が保証されている。それ故、アービター170は、認定速度を維持しながら,動的チャネルの中のいくつかに対する帯域幅の割当てまたは割当て解除の要求に基づいて公正にCBAiを決定しようとする。
【0041】
図4について説明すると、各ノード120は、多数の相互に関連するモジュールを含む。多重化装置410は、SONETリング110のリンク122を通してデータを受信し、出力動的チャネル144に対するデータを抽出し(抜き取り)、入力動的チャネル142に対するデータをSONETリング110の出力リンク122上に挿入する。帯域幅マネージャ440は、アービター170から帯域幅許可166を含む制御情報を受信する。この制御情報により、帯域幅マネージャ440は、多重化装置410に、SONETフレームのどの列がそのノードにて挿入または抜き取られる入力および出力動的チャネルに関連しているのかを知らせる。待ち行列マネージャ420は、各入力動的チャネルに対する待ち行列42を管理し、帯域幅マネージャ440に待ち行列長さに関する情報を供給する。輻輳マネージャ430は、ポリサー450からデータを受信し、帯域幅マネージャ440により供給される待ち行列長さに関するパラメータに基づいて、以下にさらに詳細に説明される混雑回避のためのランダム早期抜き取り(RED)アプローチを実行する。ポリサー450は、入力動的チャネルに対するデータを受信し、チャネルの入力トラヒックが各BRを超えないように監視するために、二重漏洩バケット・アプローチを実行する。BRより速い速度で到着するパケットは抜き取られる。ポリサー450は、パケット・ヘッダに1つのビットをセットすることにより、CIRとBRとの間の速度で到着する各パケットに対して「抜き取り可能」というタグをつける。CIRより遅いかまたは等しい速度で到着するパケットの場合は、「抜き取り可能」ビットをセットしないで、そのまま転送する。輻輳マネージャ430は、以下に説明するように、混雑管理を強制的に行うために、抜き取り可能ビット情報を使用する。各ノード120にて輻輳マネージャ430は、ポリサー450から入力データを受信する。待ち行列マネージャ420は、輻輳マネージャ430から入力データを受信し、そのデータを各チャネルに対する待ち行列422内に入れる。待ち行列マネージャ420は、そのチャネルに対する割当てに対応する速度で、各チャネルからの待ち行列からデータを解放する。すなわち、データは、その動的チャネルに対して割り当てられたSONET列の数に対応する速度で待ち行列から解放される。待ち行列マネージャ420は、帯域幅マネージャ440に各待ち行列のその瞬間の待ち行列長さを通知する。帯域幅マネージャ440は、各チャネルに対する待ち行列長さの平均時間(すなわち、平均の値)を計算し、これらの平均待ち行列長さに基づいてアービターに送る帯域幅要求を決定する。本実施形態の場合には、帯域幅マネージャ440は、t時間単位毎に実際の待ち行列長さをサンプリングし、平均[n+1]=(1−w)*平均[n−1]+w*長さ[n]に従って平均値を計算する。ここで、wは新しいサンプルの長さであり、nは更新回数のカウンタ値である。実行を容易にするために、wは2のべき乗から得ることができるように選択される。wの値は、プログラムすることができる。本実施形態の場合には、w=0.005=1/256+1/512=2−9+2−10であり、1−w=0.995=1−1/256−1/512=20−2−9−2−10である。それ故、平均値はシフト演算により計算することができる。本実施形態の場合には、tは、0.1〜1.0ミリ秒の範囲内になるように選択される。tおよびwのこれらの値により、約0.2〜2秒の平均時間定数を用いて減衰平均が生成される。
【0042】
図5について説明すると、この図は、整合する時間軸を含むあるノードにおける複数の入力動的チャネルの中の1つに関連する3つのグラフである。これらのグラフは、ノードにおける待ち行列マネージャ420および帯域幅マネージャ440(図4)の動作を示す。この図の一番上のグラフは、ある動的チャネルに関連する待ち行列422の代表的な瞬間待ち行列長さ540を示す。中央のグラフは、そのチャネルに対する対応する平均待ち行列長さ542を示す。下のグラフは、アービター170により許可され、ノードと通信した動的チャネルに対する割り当てられた帯域幅CCA262を示す。帯域幅マネージャ440は、待ち行列マネージャ420から瞬間待ち行列長さ540を受信し、上記平均式に従って時間平均待ち行列長さ542を計算する。平均待ち行列長さが構成可能なしきい値ALLOCTH520を超えた場合には、帯域幅マネージャ440は、その動的チャネルに対する帯域幅割当てを増大するために、各フレームにおいてアービター170に帯域幅要求164を送る。平均待ち行列長さが、ALLOCTHより短い場合には、帯域幅マネージャ440は、そのチャネルに対する帯域幅割当てを低減するために、アービター170に帯域幅要求164を送る。図5においては、t1からt6までの時間周期は、平均帯域幅がALLOCTHを超える期間に対応し、帯域幅マネージャ440は、そのチャネルに対する割当ての増大を要求する。時間t6の後で、平均待ち行列長さが再度ALLOCTH以下になると、帯域幅マネージャ440は、そのチャネルに対する帯域幅の割当て解除(低減)を要求する。一番下のグラフは、帯域幅マネージャ440からの要求に応じてアービター170が割り当てた割当て帯域幅(CCA)を示す。アービター170は帯域幅要求を処理するが、各チャネルに対するCCAを計算するプロセスについては、以下にさらに詳細に説明する。
【0043】
ここで輻輳マネージャ430について説明すると、ある入力動的チャネル142に対してノード120が受信した入力データは、通常、ランダム早期抜き取り(RED)と呼ばれる技術により、これらのチャネルに対するデータのバック・ログが存在する場合には、数回廃棄される。より詳細に説明すると、平均待ち行列長さ542が、セット可能なしきい値MINTH722より小さい場合には、入力データは待ち行列内に入れられ、抜き取られることはない。平均待ち行列長さが第2のセット可能なしきい値MAXTH724を超える場合には、そのチャネルに対するすべての抜き取り可能なパケットが抜き取られる。MINTH722からMAXTH724の間の、ポリサー450により「抜き取り可能」のタグが付けられた入力パケットは、実際に平均待ち行列長さとともに増大する確率で抜き取られる。
【0044】
本実施形態の場合には、データを抜き取るかどうかの効率的な決定は、例えば、等しい増分で、MINTHからMAXTHへの平均待ち行列長さの範囲をR領域に分割し、その分割に基づいて行われる。各R領域は、異なるレジスタと関連しており、そのレジスタは、1であるビットの全数がその領域に対する必要な抜き取り確率と等しいそのレジスタ内のビットの全数の一部を形成するように、1にセットされた多数のランダム選択ビットを有する。領域の数、およびその領域に対する抜き取り確率は構成可能である。例えば、R=4領域、およびそれぞれ約0.05、0.1、0.25および0.5の抜き取り確率を使用することができる。Rの値、および抜き取り確率の値は構成可能である。異なる構成の場合には、異なる数の領域およびその領域に対する異なる抜き取り確率の値を使用することができる。本実施形態の場合には、64ビットのレジスタ長が使用される。輻輳マネージャ430は、平均待ち行列長さが位置する領域に関連するレジスタを選択するために、現在の平均待ち行列長さを使用して、抜き取り可能なデータを実際に抜き取るのかどうかを決定する。次に、「ランダムな」Lビット数が決定され、現在の待ち行列長さの最下位のLビットにより、レジスタ内でビット指数として使用される。ここで、Lはlog2(レジスタ長)である。レジスタ長が64である場合には、L=6である。指標付ビットが1である場合には、データは抜き取られ、そうでない場合には、データは待ち行列に入れられる。
【0045】
チャネルの瞬間待ち行列長さが、そのチャネルの待ち行列の長さより長い場合には、ハード抜き取りが行われる。この場合には、(抜き取り可能または抜き取り可能でない)すべてのパケットが、そのチャネルに対して抜き取られる。図5の場合には、t2の前の数回は、データは抜き取られない。何故なら、平均待ち行列長さがMINTHより短いからである。時間t2とt3の間の平均待ち行列長さが、MINTHとMAXTHとの間である場合には、抜き取り可能なデータは、上記のレジスタ・アプローチによりランダムに抜き取られる。時間t3からt4の間にすべての抜き取り可能なパケットは抜き取られる。何故なら、平均待ち行列長さがMAXTHを超えるからである。時間t4からt5の間に抜き取り可能なパケットが再度ランダムに抜き取られ、平均待ち行列長さがMINTH以下になる時間t5で抜き取りが終わる。
【0046】
帯域幅マネージャ440および輻輳マネージャ430の動作は、両方のモジュールの動作に影響を与える平均待ち行列長さを使用することにより調整される。例えば、ALLOCTHは、通常、MINTHよりも短いので、帯域幅マネージャは、輻輳マネージャ430がそのチャネルに対するデータの抜き取りをスタートする少し前に、そのチャネルに対する割当ての増大を要求する。すなわち、アービター170が、平均待ち行列長さがALLOCTHとクロスした場合にスタートするその要求に応じてそのチャネルに対する追加の容量を割り当て、次に、平均待ち行列長さをMINTH以上にならないように制御することができる。しかし、例えば、使用できないために、またそのチャネルが他の能動動的チャネルに対して比較的低い優先順位を持っているために、容量がそのチャネルに割り当てられない場合には、輻輳マネージャ430は、待ち行列長さを制御するために、データのランダムな抜き取りをスタートする。
【0047】
アービター170は、動的チャネルに帯域幅が割り当てられる決定プロセスを実行する。この決定プロセスは、特定の待ち行列長さに大きく依存する。アービター170は、種々のノードにおける帯域幅マネージャ440からの帯域幅要求に応答し、種々のチャネルに対するその割当てに関連する制限履歴を維持する。図6について説明すると、本実施形態の場合には、アービター170は、3つのSONETフレームを受信する度に、一連のステップを反復して行う。他の実施形態の場合には、各フレーム毎に、一定の間隔で、または他の一定の反復時間にまたは要求があった場合に、これらのステップをスタートさせることもできる。
【0048】
ステップ610において、アービター170は、最初、割当て解除を要求しているすべてのチャネルに対して帯域幅割当て解除要求に働きかける。その帯域幅要求が割当て解除である各チャネルjに対しては、アービター170はCCAjをAMTjだけ減少させる。ここで、AMTj=MIN(DECRj,CBAj)である。これにより、減分を考慮に入れて、CCAjの合計であるCCATOTが減少する。
【0049】
例えば、低減要求、増大要求に働きかけることにより、または他のチャネルに対する増分を満足するために、あるチャネルから帯域幅を先取りすることにより、アービター170が各チャネルに対する帯域幅割当てを修正した場合、アービターは各チャネルに対するbin値を維持する。すでに説明したように、bin264は、1..B間の整数であり、そのチャネルに対する割当て帯域幅(CCA)の時刻歴により計算される。本実施形態の場合には、B=3であるが、binの別の値を使用することもできる。図16について説明すると、bin264は、CCAがCIRからBRに増大した場合に増大するように、またその後でCCAがBRからCIRに減少した場合に減少するようにヒステリシスにより計算される。最初は、1つのチャネルがbin1内に存在する。CCAがTHR_H(1)を超えて増大すると、binは2になり、CCAがTHR_H(2)を超えて増大すると、binは3になる。CCAがTHR_L(3)以下に減少すると、binは2になり、CCAがTHR_L(2)以下に減少すると、binは1になる。すでに説明したように、binを特定の優先順位の異なるチャネルに割り当てることにより、アービター170が、どのチャネルがその要求した帯域幅の増分を受信すべきか、またどれを先取りすべきかを決定した場合に、CIRにより近いチャネルが一般的に高い優先順位を持つ。
【0050】
継続して処理が行われ、ステップ620において、アービター170は、現在の割当てCCATOTが現在の動的帯域幅DBWを超えたかどうかを判断するためのチェックを行う。動的帯域幅自身は、例えば、動的チャネルに対する残りの割当てを低減することができるTDMチャネルに対する割当ての増大により、時間の経過中に変化することがあることに留意されたい。また、CACモジュール180により新しい動的チャネルを受け入れ、その認定速度(CIR)を割り当て、それによりCCATOTが、それ自身変化しなかったDBWを潜在的に超えるようにする。TDM割当てが増大した場合でも、CACモジュール180が、何時でも、動的チャネルに対して帯域幅の少なくともCIRTOT量が必ず存在するようにすることに留意されたい。すなわち、帯域幅のCIR部分は何時でも使用することができる。
【0051】
現在の割当てが、実際に現在の動的帯域幅DBW以下に減少しない場合には、ステップ630において、アービター170は、取り出し手順を実行する。この取り出し手順において、アービターは、1つまたはそれ以上のチャネルに対する帯域幅割当てを低減する。アービターは、優先順位を高くするために最初にチャネルを選択する。最も高い優先順位は1である。すなわち、アービターは、最初に、優先順位がPの、次に、優先順位がP−1の、次に優先順位が高いチャネルに対する帯域幅割当てを低減する。この取り出し手順の場合には、アービターは、任意のチャネルの割当てをそのCIR以下に低減しない。それどころか、アービターは、通常はCIRを超える割当てCCAをCIRに等しくなるように低減する。各優先順位で、アービターは、最初、最高の指数binBのチャネルから帯域幅を取り出し、次に、次に高い指数を取り出し、アービターがbin指数1から帯域幅を取り出すまでこの手順を続ける。各binにおいては、アービターは、MIN(DECRi,CBAi)によるそのCCAを減少させるチャネルiを通して巡回し、すべてのチャネルがその最小CIRに割り当てられた場合に、binの取り出しを終了する。アービター170は、CCATOTをDBW以下に低減した場合、または、他の方法としては、すべての能動チャネルをその認定速度CIRに低減した場合に取り出し手順を終了する。
【0052】
認定速度の合計CIRTOTが、依然として全動的帯域幅DBWを超えている場合には、すべての動的チャネルをその認定速度に低減した後で、取り出し手順は、また取り出し手順の第1の部分と同じ順序でチャネルの供給解除を含む。供給解除は、供給フラグのクリア、および割当てCCAのゼロへのセット、それによる帯域幅割当て手順からの供給解除チャネルの本質的な抜き取りを含む。しかし、すでに説明したように、CACモジュールが正しく動作している場合には、このようなことは決して起こらない。
【0053】
アービター170は、次に、一連の2つの段階で追加の帯域幅を割り当てるための要求を処理する。ステップ640において、アービターは、優先順位間でバースト帯域幅を再分配する第1段階を実行し、帯域幅割当て要求の中のいくつか(しかし、通常全部ではない)に対する帯域幅のプールを生成する。ステップ650においては、第2の段階において、アービターは、その帯域幅割当てで増大を要求しているチャネルの中のいくつか(しかし、通常全部ではない)に対して帯域幅を割り当てる。これらの要求は、第1段階で生成された帯域幅プールにより満足させられるか、または、増大を要求しているチャネルと同じ優先順位でチャネルの割当てを先取りすることにより満足させられる。
【0054】
図7について説明すると、第1段階において、アービター170は、最初、各優先順位pに対して、全要求増大INC[p]を計算する(ステップ710)。(通常、角括弧内のサブスクリプトは、特定の優先順位に関連する量を示し、角括弧に入っていないサブスクリプトは、特定の動的チャネルに関連する量を表す。)優先順位pに対する全要求は、その割当ての増大要求を示すその帯域幅要求ビット・セットを有する優先順位pでのすべてのチャネルiに対するMIN(INCRi,BRi−CCAi)の合計として計算される。BRi−CCAiへのチャネルiの貢献の制限は、アービターが、あるチャネルに対する設定バースト速度BRiを超えて帯域幅割当てを増大する要求を実行しない機能を反映している。
【0055】
ステップ720において、アービター170は、各優先順位の割当てが、その「公正な」共有分以上または以下になる量を決定する。各優先順位は、関連「加重」w[p]223を有する。一般的に、優先順位が高ければ高いほど(優先順位指数pが低ければ低いほど)、w[p]の値は大きくなる。本実施形態の場合には、これらの加重は、共有媒体が使用することができる帯域幅割当てへの最小の増分の単位による整数である。本実施形態の場合には、上記単位は、SONET列である。動的帯域幅DBWの一部は、動的チャネルに対する認定速度に関連する。残りは、アービターが、バースト割当てに種々のチャネルを自由に割り当てられるバースト帯域幅である。全バースト帯域幅は、TBW=DBW−CIRTOTと呼ばれる。各優先順位は、全バースト帯域幅に関連する公正な共有分を有する。この公正な共有分TBW[p]は、その加重TBW[p]=TBW*w[p]/合計(w[q])に比例する。
【0056】
優先順位pのチャネルiに対する割当てCCAiの合計はCCA[p]で示され、優先順位pのチャネルiに対する認定割当てCIRiの合計はCIR[p]で示されれ、ある優先順位に対する全バースト帯域幅割当ては、CBA[p]=CCA[p]−CIR[p]で示される。各優先順位pの場合には、CBA[p]がTBW[p]より少ないかまたは等しい場合、優先順位pは、バースト帯域幅のその公正な共有分より少なく、UNDER[p]=TBW[p]−CBA[p]である。CBA[p]がTBW[p]より大きい場合には、優先順位pは、その公正な共有分より多く、またOVER[p]=CCA[p]−TBW[p]である。図9aについて説明すると、その公正な共有分以下の優先順位に対する割当ては、上記量で示される。図9bにおいては、その公正な共有分以上の優先順位が同様な方法で示されている。
【0057】
図10について説明すると、この図は、図9a〜bの図示アプローチによる4つの優先順位を含む例である。この例の目的の場合には、各優先順位に対する認定速度の特定の値、またはその全部は無関係である。この例の場合には、全バースト帯域幅TBWは、180(SONET列単位)である。優先順位に対する加重w[1..4]は、それぞれ4、3、2および1であり、それぞれ、72、54、36および18のバースト帯域幅TBW[1..4]の公正な共有分を発生する。現在のバースト割当てCBA[1..4]は、それぞれ77、59、39および0である。それ故、優先順位1、2および3は、バースト帯域幅のその公正な共有分より大きい。
【0058】
OVER[1]=5、UNDER[1]=0、
OVER[2]=5、UNDER[2]=0、および
OVER[3]=3、UNDER[3]=0
一方、優先順位4は公正な共有分より少ない。OVER[4]=0、UNDER[4]=18。この例は、各優先順位に対する全増大要求INC[1..4]がそれぞれ1、2、3および5であるアービターの割当て手順の1回の反復に関連する。図10は、最初の割当て解除(図6のステップ610)がすでに行われた後の状況を反映していることに留意されたい。この例の場合には、全バースト割当ては、CBATOT=175である。全バースト割当てTBWは180であるので、任意のチャネルに割り当てられていない5の未使用の容量が存在する。
【0059】
全量優先順位はその公正な共有分より多く、未使用の帯域幅は使用できる正味バースト帯域幅TOTNABWを形成する。通常、使用できる正味バースト帯域幅は、帯域幅割当て増大の要求を満足させるために使用した帯域幅のプールを形成する。
【0060】
ステップ730(図7)おいて、アービター170は、各優先順位に対する全割当て帯域幅が、帯域幅割当て手順中の増大する最小しきい値量を計算する。図11について説明すると、この図は、各優先順位を示す。バースト帯域幅のその公正な共有分より小さい優先順位pの場合には、UNDER[p]は破線で示す。全要求帯域幅INC[p]は棒グラフで示す。各優先順位について、その優先順位に対する最小増大INCTH[p]は、MIN(INC[p],UNDER[p])として計算され棒グラフで示す。INCTH[1..4]に対する結果としての値は、それぞれ0、0、0および5である。優先順位1、2および3はその公正な共有分をすでに超えているので、その最小増大は0である。優先順位4に対する最小増大は、その優先順位が要求している増分に制限される。これらの最小しきい値の合計は、この例では5であり、使用できる正味バースト帯域幅TOTNABW=18より小さいかまたは等しい。
【0061】
ステップ740(図7)において、アービター170は、各優先順位が受取る増大割当ての量を加重アプローチにより増大する。通常、ある優先順位での増大している割当てに対する使用可能な正味帯域幅NABW[p]は、最小増分INCTH[p]に、INC[p]を超えないwpに比例する量をプラスしたものである。本実施形態の場合には、アービター170は、各優先順位pに対するNABW[p]=w[p]を初期化し、次に、AMTによりNABW[p]を増大する優先順位を通して反復して巡回する。この場合、AMT=MIN(w[p],左)であり、左=MIN((NABW[p]−INCTH[p]),(TOTNABW−NABW[p]の合計))である。一方、左>0である。優先順位pに対するNABW[p]がそのINCTH[p]に達すると、NABW[p]は優先順位を増大するのを止める。すべての優先順位がそのINCTH[p]に達した後で、アービター170は、AMTによりNABW[p]を増大する優先順位を通して反復して巡回する。この場合、AMT=MIN(w[p],左)であり、左=((NABW[p]−INC[p]),(TOTNABW−NABW[p]の合計))である。一方、左>0である。図11は、そのActualNABWの結果と、図10に示す1つの例のこのステップを示す。NABW[p]の合計は11であり、個々のNABW[1..4]は、それぞれ1、2、3および5である。ActualNABWの一部は、未使用の帯域幅UNUSED=5により満足させられ、一方、残りの部分は、「切り取り」と呼ぶプロセスのその公正な共有分より高い優先順位からのものである。より詳細に説明すると、共有優先順位より高いこれらの部分から切り取ることができる全量は、TotalRBW=ActualNABW−UNUSED=6である。
【0062】
バースト帯域幅を再分配する前に、アービターは、各優先順位kに対して、各優先順位が必要とするTotalRBWの一部、RBWNeeded[k]を決定する(ステップ750)。図12について説明すると、これは、もちろん、TOTNABWの代わりを除いて、NABWと同じ方法で決定され、TotalRBWが使用される。この例の場合には、6単位の容量を使用することができる。この例が5である場合には、優先順位4だけがゼロより大きいINCTHを有する。それ故、RBWNeeded[4]は、最初、5に増大する。次に、TotalRBW=6の1単位の容量を使用することができ、その結果、RBWNeeded[1]=1になる。これによりこの手順は終了し、それぞれ、1、0、0および5のRBWNeeded[1..4]が生じる。
【0063】
ステップ760(図7)において、アービター170は、最初、未使用の帯域幅でスタートし、over[p]>0である優先順位pからTotalRBW全部を切り取り、優先順位Pからスタートして、TotalRBWが満足するまで、帯域幅のプールを形成する。各優先順位から切り取った量は、BWripped[p]である。図13について説明すると、この例の場合には、p=4からスタートし、over[4]=0であるので、切り取る帯域幅がない。p=3においては、over[3]=3であるので、BWripped[3]=3単位が切り取られる。p=2においては、over[2]=5である。さらに3単位だけ必要なので、BWripped[2]=3である。優先順位p=1は考慮に入れる必要はない。何故なら、TotalRBWはすでに満足しているからである。それ故、BWripped[1]=0である。この時点で、アービター170は、各優先順位からBWripped[p]単位を切り取ることにより、TotalRBW+Unused=11のプールを生成する。優先順位1..4は、以降のステップでプールからそれぞれ1、2、3および5単位を受け取るものと予想される。
【0064】
アービター170は、最高の指数のbin内のチャネルからスタートして、BWripped[p]が満足するまで、bin1までさかのぼり、CCAiからCIRiまでチャネルの帯域幅割当てを低減することにより各優先順位から帯域幅を切り取る。各優先順位において、この手順は、最初の割当てが全動的帯域幅より大きい場合のところで説明した「取り出し」手順と似ている。これでアービターの帯域幅割当てプロセスの第1段階は終了する。図14の場合には、この例の切り取りの後のバースト帯域幅割当ては実線で示され、切り取り前のバースト帯域幅割当ては、斜線を引いた領域で示してある。さらに、各優先順位の割当てが以降のステップで増大する全量は、実線の棒の端部から延びる長さNABW[p]の棒で示す。サイズ11の帯域幅プールは、前の未使用の帯域幅からの5単位、各優先順位2および3からの3単位により形成されている。
【0065】
図6に戻って説明すると、アービター170は、段階IIにおいて再割当てを終了する(ステップ650)。この段階IIにおいては、アービターは、他のチャネルに対する帯域幅の増分を満足させるために、あるチャネルのバースト帯域幅を先取りすることにより、プールからおよび同じ優先順位内において帯域幅要求を割り当てる。
【0066】
図8について説明すると、特定のチャネルに対する帯域幅要求の割当ては、その優先順位より高い第1のループにより行われる(ライン810)。このループの順序は重要ではない。何故なら、帯域幅プールがすでに形成されているこの時点においては、各優先順位での割当ては、他の優先順位とは無関係に行われるからである。
【0067】
ある優先順位においては、帯域幅の増大を要求したチャネルは、そのbinにより考慮される。最も低いbin指数、bin1内のチャネルが最初に考慮され、次に、bin2からbinBが考慮される。
【0068】
考慮されているチャネルiは、せいぜいMIN(INCRi,BRi−CCAi)を受け取ることしかできないので、その結果としての帯域幅割当てはBRiを超えない。増分の第1のNABW[p]は、段階I中に生成された帯域幅プールから直接来るものである。プールの優先順位の共有分を使い果たすと、「先取り」と呼ぶプロセス内の同じ優先順位の他のチャネルのバースト割当てを減らすことにより増分要求を満足させることができる。binBにおけるチャネルが最初に先取りされ、binBからの使用できる先取りを使い果たした場合には、binB−1が先取りされる。図15は、このプロセスを示す。この図においては、チャネルiは、プールからその増分INCRiを満足させている。チャネルjは、bin3内のチャネルを先取りすることによりその増分を満足させている。チャネルkは、同じbin内のチャネルからその増分を満足させている。
【0069】
各binbの場合には、各優先順位pにて、アービター170は、もっと低い指数のbinにおけるチャネルに対する増分を満足させるために、数回の設定可能な数(MAX_PREEMPT[p,b])225、各チャネルを先取りするように構成される。この設定可能な数は、あるbinが先取りされるのを防止するためにゼロに設定することができる。先取りプロセスがbin内のチャネルを通して設定した回数だけ巡回すると、次の下位のbinが先取りのために使用される。さらに、bin内のチャネルが、同じ優先順位内の他のbin内のチャネルを先取りできるかどうかを判断する、各優先順位の各binに対して設定可能なパラメータ(PREEMPT_ENABLE[p,b])226が存在する。
【0070】
増分を要求したチャネルを通して巡回しながら、ある時点で、帯域幅を先取りするための、もっと高いbin指数のbin内には、通常、チャネルは存在しない。先取りの次の段階は、増分を要求しているチャネルと同じ優先順位およびbinにおける他のチャネルからの帯域幅の先取りを含む。図2に示すように、各チャネルに対する供給記録220は、公正な容量割当て(FCA)258を含んでいる。この帯域幅の量は、そのチャネルに対するCIRからBRでの範囲内にある。同じbin内での先取りの一般的な規則は、CCAj>FCAjである場合に、CCAi<FCAiが、同じbin内の他のチャネルjから帯域幅を先取りできるだけのチャネルiというものである。CCAiがFCAiより大きいチャネルは、2つの条件、すなわち、第1の条件、そのCCAjも、各FCAjより大きいという条件、および第2の条件、CCAiがCCAjより小さいという条件を満たす同じbin内の他のチャネルjから先取りすることができる。
【0071】
同じbin内ですべての可能な先取りが行われると、帯域幅の増大を要求したその優先順位の残りのチャネルは、その要求を満足させることはできない。何故なら、そこから帯域幅を先取りするチャネルがもはや存在しないからである。
【0072】
この第1の実施形態の説明の後にさらに詳細に説明するように、共有媒体を管理するこのアプローチは、必ずしもSONETをベースとする通信を含まない多数の他の実施形態にも適用することができる。例えば、帯域幅管理アプローチの他の実施形態は、共有アクセス・バス、共有有線ネットワーク・リンク、および共有無線チャネルのような共有媒体に適用することができる。
【0073】
上記実施形態の場合には、アービター170は、ネットワーク内のノードに位置しており、帯域幅の変更の要求および許可は、データ自身と同じ機構により転送される。他の実施形態の場合には、アービターは、データ用に使用する共有媒体によりノードと通信する必要はなく、必ずしもネットワーク内のノード上に位置しなくてもよい。
【0074】
他の実施形態の場合には、アービターにより帯域幅を割り当てられた各「チャネル」は、必ずしも、ノードの入力チャネルより入ってきて、他のノードにおける出力チャネルから出て行く1つのデータ・ストリームに対応しない。他の例は、下記のものを含む。すなわち、各チャネルは、同報通信または多数の他のノードにおいて抜け出すポイント・ツー・マルチポイント通信に対応する。チャネルは、サブチャネルの集合体であってもよい。このようなサブチャネルは、共通の発信および宛先ノードを共有することができる。サブチャネルは、また、特定の顧客へのサービスのような他の特徴によりグループ分けすることもできる。チャネルは、また、マルチポイント・ツー・ポイント通信およびマルチポイント・ツー・マルチポイント通信の複数のノードにおいて発信することができる。
【0075】
上記実施形態の場合には、アービター170は、ハードウェアで実行される。他の実施形態の場合には、アービター170は、アービター・ノードにてコンピュータ可読媒体に記憶され、プロセッサに上記帯域幅割当て手順を実行する命令を実行させるソフトウェアで実行することができる。他の実施形態は、帯域幅割当てアプローチの機能の中のいくつかを使用するが、必ずしも全部を使用しない。異なる優先順位間で帯域幅を割り当てるこのアプローチは、特定の優先順位での帯域幅の割当ておよび先取りのようなビニング・チャネルのアプローチから独立して使用することができる。さらに、上記実施形態は、ビニング・アプローチを使用しないで、1つのbin(B=1)を効果的に使用することができる。同様に、他の実施形態は、1つの優先順位(P=1)を使用して、どのチャネルが帯域幅増分を受け取るかを決定するために、binをベースとするアプローチの利点を使用することができる。
【0076】
上記説明は、添付の特許請求の範囲に記載する本発明を説明するためのものであって、本発明を制限するものではないことを理解されたい。他の実施形態も特許請求の範囲内に含まれる。
【図面の簡単な説明】
【図1】アービターが、リング上の共有チャネルを通る動的チャネルに対して帯域幅を割り当てるSONETリングの図である。
【図2】アービター・ノードに維持されているチャネル・データの構成部分を示すブロック図である。
【図3】共有チャネルのリンク帯域幅に対する動的チャネルの割当てを示す図である。
【図4】SONETリング上のあるノードのブロック図である。
【図5】待ち行列マネージャおよびあるノードに記憶した待ち行列データを含む帯域幅マネージャの相互間動作を示すブロック図である。
【図6】異なる動的チャネル間で帯域幅を割り当てるために中央アービターが行うステップを示すフローチャートである。
【図7】異なる優先順位間で帯域幅が割り当てられる帯域幅割当ての第1の段階のステップを示すフローチャートである。
【図8】特定のチャネルが増大割当て帯域幅を受信する帯域幅割当ての第2の段階のステップを示す擬似コードである。
【図9】A、Bはこれらの優先順位の帯域幅の公正な共有に対する特定の優先順位に対する割当てを示す図である。
【図10】チャネルが4つの優先順位の中の1つに含まれる例を示す図である。
【図11】図10の例に対する異なる優先順位に対する最小しきい値帯域幅増分を決定するステップを示す図である。
【図12】いくつかの優先順位間での、および未使用のプールからいくつかの優先順位への帯域幅の再分配のステップを示す図である。
【図13】「切り取り」手順の際のチャネル増分に対する帯域幅プールを形成するステップを示す図である。
【図14】上記例のいくつかの優先順位に対する帯域幅割当てを示す図である。
【図15】他のチャネルに対する帯域幅割当てを優先させることによる、未使用の帯域幅のプールからの特定のチャネルの帯域幅増分要求を満足させるための帯域幅割当てのステップを示す図である。
【図16】そのチャネルに対する帯域幅割当ての履歴に基づいて各チャネルに対するbin指数を決定するためのヒステリシスに基づく手順を示す図である。
本発明は、共有媒体上での動的トラヒックの管理に関する。
【0001】
データを送受信するために種々のネットワーク・アーキテクチャが使用されている。恐らく、最も一般的に使用されているのはイーサネットであろう。イーサネットは、衝突検出(CSMA/CD)MACプロトコルによるキャリヤセンス媒体アクセスを使用するバス技術である。バスに接続している各ステーションは、パケット送信をスタートする前に媒体を感知する。送信中に衝突が検出された場合には、送信ステーションは直ちに送信を停止し、すべてのステーションに衝突が発生したことを知らせる短い妨害信号を送信する。次に、送信ステーションは、CSAMにより再度送信を行う前に、ランダムな時間の間待機状態になる。
【0002】
イーサネット・バス上での帯域幅管理は明確に規定されていない。各ステーションは、別々に送信の決定を行い、このステーションからの流れを通じてローカル・トラヒック管理を行うことができる。それ故、このスキームは、バスを共有するすべての流れの中では必ずしも効率的なトラヒック管理を行わない。
【0003】
もう1つのアーキテクチャはトークン・バスを使用する。トークン・バスの媒体アクセス・プロトコルは、以下に説明するIEEE802.5トークン・リングに類似している。
【0004】
DQDB(分散待ち行列二重バス)は、メトロポリタン・エリア・ネットワーク(MAN)用の規格IEEE802.6にIEEEが取り入れた技術である。DQDBは、両方のバスにステーションが接続している二重バスを使用する。フレーム発生器が、各バスの端部に位置していて、空のスロットのフレームを生成する。ステーションはどちらのバスからも読み出すことができ、どちらかのバスへのデータで「論理和」を行うことができる。DQDB媒体アクセス(待ち行列アービトレイション)機構は、下記のアクセス方法を提供する。
【0005】
−各スロットは、使用中(B)ビットと要求(R)ビットを有する。
−ステーションが一方のバス上にデータを置きたい場合には、ステーションは他のバス上の通過スロット上にRビットをセットする。(こうするのは、上流のステーションに要求が行われたことを知らせるためである。)
−各ステーションは、セットされたRビットを含むスロットが通過する度に1だけ増加し、他方のバス上を空のスロットが通過する度に1だけ減少する要求カウンタ(RC)を保持している。
【0006】
−RCが0になると、ステーションは、他方のバス上の次の空の(セットされていないB)スロットを使用することができる。
しかし、このアクセス機構は不公正になる場合がある。バスの端部近くのステーションは、主として1本のバス容量に限定される。中心付近のステーションは、2つのバスにもっと頻繁にアクセスし、そのため、もっと多くの容量を使用することができ、通常、もっと短い送信経路を有する。バスの始めの部分に近いステーションは、空のスロットにより容易にアクセスすることができる。
【0007】
もう1つのアーキテクチャは、IEEE802.5トークン・リング規格を使用する。4または16Mb/sリングである各トークン・リング・ネットワークは、リングに接続している各ステーションにより共有される。ステーションは、データを送信する許可を入手することによりトークン・リングにアクセスする。ステーションが「トークン」と呼ぶ特殊なメッセージを受信すると許可が与えられる。送信ステーションは、トークンを捕捉し、それを「フレーム」に変換し、データをフレームの情報フィールドに収容し、それを送信する。そのフレームが自分宛てのものである場合には、他のステーションはそのデータを受信する。データを受信するこれらのステーションを含めてすべてのステーションは、そのデータがもとのステーションに返送されるようにそのフレームを再同報通信する。ステーションは、リングからデータを分離し、送信するデータを持っている次の下流のステーションが使用できるように新しいトークンを発行する。さらに、トークン・リングは、優先順位が付けられた送信が使用できる8つの優先順位を有する。ステーションが送信したい緊急な情報を有している場合には、そのステーションは高い優先順位を予約する。待機中の予約要求によりトークンを使用できるようになった場合には、そのトークンは「優先トークン」となる。優先要求を有するステーションだけが、このトークンを使用することができる。他のステーションは、通常の(優先権を持たない)トークンが使用できるようになるまで待機する。
【0008】
ファイバ分散型データ・インタフェース(FDDI)は、高速リング・ネットワーク用の規格である。IEEE802.5規格と同様に、FDDIは、トークン・リング・アルゴリズムを使用する。しかし、FDDIトークン管理スキームは、特に大型のリングに対してより効率的であるので、リングをもっと高度に使用することができる。FDDIトークン・リングとIEEEトークン・リングとの間のもう1つの違いは、容量割当ての分野にある。FDDIは、ストリームとバースト性を有するトラヒックの混合体をサポートする。FDDIは、2つのタイプのトラヒック、すなわち、同期トラヒックと非同期トラヒックとを定義する。各ステーションの同期部分はプロトコルにより決まる。各ステーションは非同期トラヒックを送信するための同期部分を超える残りの帯域幅を使用する。しかし、各ステーション間で公正に非同期部分を割り当てるための内蔵機構はない。各ノードには非同期トラヒックを送信する機会が与えられるが、リング内での非同期トラヒックを「送信する」機会の分配は必ずしも公正には行われていない。これは一部内だけのことである。何故なら、各ノードは、その同期部分を送信した後で使用することができる非同期部分の送信を別々に決定するからである。同様に、リング上の分化サービスは、各ノードが行う一組の「独立」決定により供給される。それ故、リング・レベルにおいては、全体の帯域幅は別々な方法で分配されない。
【0009】
恐らく、実際に使用されている最も一般的なリング・アーキテクチャは、SONET/SDH(同期光通信ネットワーク/同期デジタル階層)アーキテクチャであろう。米国特許第5,335,223号には、SONET/SDHの詳細な背景が開示されている。SONET規格による通信は、多数のノードがリングを形成するように光リンクにより接続しているリング・アーキテクチャを使用する。SONETリングは、通常、それぞれがアッド/ドロップ多重化装置(ADM)を含む多数のノードを有する。各ノードは、光路を通して2つの隣接するノードに接続している。通信は、一連の同期固定長データ・フレーム内のリングで行われる。SONETは、リング上で帯域幅を動的に管理するための内蔵機構を有していない。規格は、リング上の静的供給リソースへの機構、すなわち、各ノードにSONETフレーム内のアッド/ドロップ・コラムを割り当てるための機構を定義している。しかし、SONET規格は、リング上のトラヒックを遮断しないで、列を動的に挿入(アッド)したり、または抜き取ったり(ドロップ)する方法を解決していない。
【0010】
(発明の概要)
一般的な態様において、本発明は、例えば、SONETリングのような共有媒体上で、動的トラヒックを管理するための方法を提供する。この方法は、媒体に接続しているステーションと通信する中央アービターを使用することができる。各ステーションは、そのステーションの媒体に入ってくる動的トラヒックのために帯域幅の変更を要求し、帯域幅の変更のためにその要求と協調する混雑回避アルゴリズムを実行する。中央アービターは、ステーションからの要求に応じて共有媒体上で使用できる帯域幅を公正に割り当てる。
【0011】
一態様では、一般的に、本発明は、多数の通信チャネルにより共有されている通信容量を含む共有媒体上の通信を管理する方法である。通信チャネルは、共有媒体により通信を行うことができ、各チャネルには優先順位が割り当てられる。データ速度割当ては、複数のチャネルに対するデータ速度割当ての組合わせが、共有媒体の通信容量を超えないように各通信チャネルに対して維持される。通信チャネル用のデータは、各通信チャネルに対するデータ速度割当てに従って共有媒体を通して送られる。これは、各通信チャネルに対するデータの受信、および通信チャネルに対するデータ速度割当てに従って制限された速度での共有媒体を通しての受信データの送信を含む。通信チャネルに対するデータ速度割当ての維持は、各通信チャネル上の通信を監視することと、監視された通信に基づいて通信チャネルに対するデータ速度割当ての変更の要求を発生することとを含む。各通信チャネルに対するデータ速度割当ての変更の要求は、チャネルに対して割り当てられたデータ速度を増大するための要求と、チャネルに対して割り当てられたデータ速度の低減のための要求とを含む。データ速度割当ては、受信要求に基づいて反復して再計算される。
【0012】
上記方法は、下記の機能の中の1つまたはそれ以上を含む。
データ速度割当ての再計算は、通信チャネルの各優先順位に対する共有媒体の通信容量の共有を決定することと、その優先順位に割り当てられた共有分に従って各優先順位での通信チャネルに対するデータ速度割当てを修正することと、各優先順位に対する、要求およびその優先順位に対して割り当てられた共有分に従ってその優先順位での通信チャネルに対するデータ速度割当ての増大に対する要求を処理することとを含む。
【0013】
各通信チャネルに対するデータ速度割当ては、認定データ速度および割当データ速度を含む。割当データ速度は、認定データ速度と等しくなるように、またはそれを超えるように維持される。データ速度割当てを再計算する際には、通信チャネルの全認定データ速度を超える共有媒体の通信容量の超過分の全共有分が決定される。
【0014】
データ速度の再計算は、さらに、各優先順位での通信チャネルに対するデータ速度割当てを修正することと、割り当てられていない容量のプールを生成することとを含み、通信チャネルに対するデータ速度割当ての増大の要求の処理は、上記チャネルに対する割り当てられていない容量のプールを適用することを含む。
【0015】
各優先順位での通信チャネルに対するデータ速度割当ての増大の要求の処理は、さらに、同じ優先順位の他の通信チャネルのデータ速度を低減することと、増大要求へのそのデータ速度の低減を適用することとを含む。
【0016】
データ速度割当ての再計算は、過去のデータ速度割当てに従って各優先順位での通信チャネルの部分的な順序を変更することを含み、同じ優先順位の他の通信チャネルのデータ速度の低減は、部分的順序の変更に従って他の通信チャネルを選択することを含む。
【0017】
各通信チャネルに対するデータ速度の監視は、共有媒体を通して送信が未決定である各チャネルに対して受信データの待ち行列の大きさを監視することと、待ち行列の監視した大きさに従ってチャネルに対するデータ速度割当ての変更の要求を生成することとを含む。
【0018】
通信チャネルに対するデータの送信は、さらに、通信チャネルに対するデータ速度がその割当データ速度を超えた場合に、受信データを捨てる早期抜き取り(RED)アプローチを適用することを含む。
【0019】
共有通信媒体の共有通信容量は、SONETネットワーク上の容量を含み、通信チャネルは、SONETネットワークの対応するノードでSONETネットワークに入る。
【0020】
通信チャネルに対するデータ速度割当ての維持は、各通信チャネルへの一連のデータ・フレームの各々一部の割当てを維持することを含む。
通信チャネルに対するデータ速度割当ての修正は、各通信チャネルへの一連のデータ・フレームの各々の一部の割当ての修正を含む。
【0021】
SONETリングを通してのノードからアービター・ノードへの要求の送信、およびSONETリングを通してのアービター・ノードから他のノードへの割当ての送信。
【0022】
通信チャネルに対する割当てデータ速度の維持は、通信チャネルが使用することができるSONETネットワーク上を通る一連のフレームの各々の全量を決定することを含む。
【0023】
一連のフレームの各々の全量の決定は、固定速度通信チャネルに割り当てられた各フレームの量を決定することを含む。
他の態様では、一般的に、本発明は、通信システムである。そのシステムは、通信容量を有する共有媒体、およびノード間の共有媒体を通して複数の通信チャネルに対してデータを送信するように構成された共有媒体に接続された多数の通信ノードを含む。システムは、また、通信ノードに接続され、チャネルに対するデータ速度割当ての組合わせが共有媒体の通信容量を超えないように、各通信チャネルに対するデータ速度割当てを維持し、通信ノードへ上記データ速度割当てを送受信するように構成されたアービターを含む。各通信ノードは、1つまたはそれ以上の通信チャネルに対するデータを受信し、これらの通信チャネルに対するデータ速度割当てに従って共有媒体を通してそのデータを送信するように構成されている。各ノードは、さらに、各通信チャネル上の通信の監視に従って通信チャネルに対するデータ速度割当ての変更の要求を送信するように構成されている。アービターは、複数の優先順位の各々に対する通信容量の共有分を決定し、各優先順位および通信ノードからのデータ速度割当てを変更するための要求に対して決定された共有分に従ってデータ速度割当てを維持するように構成されている。
【0024】
共有媒体は、SONET通信システムを含むことができ、アービターは、各通信チャネルへの各SONETフレームの割当てを維持するように構成される。
本発明は、異なるチャネル優先順位間でまた異なるチャネル優先順位で容量が割り当てられるような方法で、多数の通信チャネルの時間とともに変化する要求に従って共有通信容量の共有分を割り当てるという利点を持つ。このアプローチはSONETネットワークに適用することができ、それにより、SONETフレームワークの標準同期フレームでバースト性を有する通信チャネルを収容するための公正な機構を提供する。
【0025】
下記の説明および特許請求の範囲から、本発明の他の特徴および利点が明かとなる。
(発明の説明)
図1について説明すると、通信システムは、容量が制限されている共有通信媒体により相互間でデータを送る多数のノード120、121を含む。上記媒体は、一組のノード間の通信の際に共有され、他の一組のノード間の通信のために使用される共通のプール通信容量を使用する。(以下の説明においては、「帯域幅」という用語は、通常は、主要なより高速の通信速度が、通常、ブロードバンド通信システムでもっと広い帯域幅を必要とすることを反映している「通信容量」または「通信速度」と同じ意味で使用される。)本発明の共有媒体の管理は、共有媒体上の競合する通信または潜在的に対立する通信に対して共有媒体の割当てを行う。下記の実施形態の場合には、共有媒体は、媒体を通過するすべての通信チャネルの全データ速度を制限する。この制限は、容量を制限データ速度内で割り当てる管理プロセスの直接の制御により時間的に変化する場合がある。他の実施形態の場合には、共有媒体は、必ずしも、全通信速度に対して時間的に変化する制限を行わないことを理解されたい。さらに、他の実施形態の場合には、共有媒体が必ずしも共有されないので、ノード間のすべての通信は、例えば、いくつかの他の組のノード間だけの通信と潜在的に対立する一組のノード間の通信により容量の同じプールを使用する。
【0026】
本発明によれば、異なる時点で共有媒体に割り当てられた任意の特定の通信チャネルがそれに割り当てられた異なるデータ速度を有することができるよう、共有通信容量がノードの種々のペア間を通る通信チャネルに時間的に変化する方法で割り当てられる。これらの通信チャネルは、例えば、「バースト的な」性質を持つデータ容量に対して一定の要求を必ずしも持たないという特性、および共有媒体上でそのトラヒックに対して割り当てられた一定のデータ速度を必ずしも持たないように管理されるという結果を反映して、「動的」チャネルと呼ばれる。
【0027】
図1について説明すると、第1の実施形態の場合には、SONETリング110上の通信容量は、本発明により割り当てられる。上記容量の一部は、ノード間で多数の動的チャネルを送るために確保される。すなわち、SONETリング110のデータ容量の一部は、本発明により管理される「共有媒体」である。ノード120間で通信を行うための動的チャネルの数は、新しいチャネルが受け入れられたり、抜き取られたりするので、時間の経過とともに変化することができる。通常、受け入れられたチャネルは、共有容量媒体の帯域幅制限および多数の優先順位および「公正」基準を満足する一方で、時間と共に動的に変化するデータ速度要件を持ち、時間と共に変化するデータ速度要件に応じて時間と共に変化する帯域幅が割り当てられる。
【0028】
SONETリング110を通る通信では、毎秒約8000フレームの速度で一連の固定長フレームが送られる。各フレームは、それぞれが同じ数の列を持つバイトが9つの行からなるアレーである。列の全数は、SONETリングの全通信速度により異なる。例えば、OC−1リンク上には、フレーム当り90の列が存在する。本実施形態の場合には、共有媒体の共有通信容量は、動的チャネルに利用可能な各SONETフレームの列の数に対応する。各SONETフレームの他の列は、オーバーヘッド通信用の列、及びSONET通信容量の一定の周期的部分を受信する機能を反映して、多くの場合、TDM(時分割多重化)チャネルと呼ばれる固定通信速度を持つ通信チャネル用の列を含む。
【0029】
中央アービター170は、動的チャネルへの共有容量の時間と共に変化する割当てを調整する。このアービターは、SONETリング110上のアービター・ノード121に位置する。他のノード120は、動的チャネルに対する帯域幅割当てを変更するためにアービター170に要求を行う。これらの要求は、通常、要求しているノードにおいてリングに入る動的チャネルに対するものである。アービター170は、帯域幅要求を処理し、ノード120に各動的チャネルに関連する結果としての帯域幅割当てを通知する。以下にさらに詳細に説明するように、種々の動的チャネルに対する帯域幅割当ての変更の要求の他に、各ノード120は、また、帯域幅割当てに対する要求に適合する混雑回避アプローチを実行する。この混雑回避アプローチは、特定のしきい値を超える平均待ち行列長さを有する動的チャネルに対してデータのランダムな抜き取りを行う。
【0030】
代表的なノードC120は、そのノードにおいてリングに入る多数の入力動的チャネル142、およびそのノードにおいてリングから「抜き取られる」または抜け出す多数の出力動的チャネル146を有する。他の各ノード120も、同様に、リングに挿入されるかまたはリングから抜き取られる入力および出力動的チャネルを有する。本実施形態では、ノード121、すなわち、アービター・ノードは、アービター・ノードでないノード120に位置する機能を含んでもよく、その場合には、その入力チャネルに対する容量の割当てに関連するアービター170の内部要求を行う。各入力および出力動的チャネル142、146は、必ずしも個々の物理リンクに対応しないことを理解されたい。例えば、入力動的チャネルおよび出力動的チャネルは、ノードに接続しているもう1つの物理リンク上で、種々の周知の方法で多重化することができる。
【0031】
すでに説明したように、ノード間のリング110を通る各同期SONETフレームの一部は、動的チャネルのために確保される。この部分は、各フレームの「動的セクション」と呼ばれる。引用によって本明細書の記載に援用する「SONETリング上の等時性およびバースト性を有するデータの転送」(以後「第1の出願」と呼ぶ)という名称の米国特許出願番号09/536,416に、動的データに対するSONETフレームの一部の使用が詳細に開示されている。本実施形態の場合には、例えば、SONETリングを通るTDMチャネルにもっと広いかまたはもっと狭い帯域幅が割り当てられるように、動的セクションの帯域幅を時間と共に変化させることができる。第1の出願、および引用によって本明細書の記載に援用する「同期フレームでのTDMチャネルのスケーラブルな転送」(以後、「第2の出願」と呼ぶ)という名称の米国特許出願番号09/858,019には、TDMチャネルの動作および管理が詳細に開示されている。
【0032】
動的チャネルの管理は、共有チャネルへのチャネルの導入(生成)および終了を含むチャネルの供給、および導入したチャネルへの共有チャネル内での帯域幅の割当ておよび割当ての解除を含む導入チャネルの帯域幅の管理を含む。図1について説明すると、アービター・ノード121は、動的チャネルの生成および終了を担当するCAC(接続受入れ制御)モジュール180を含む。CACモジュール180は、動的チャネルの固定部分を特徴とするチャネル・データ175に記憶されている、アービター・ノードにおけるデータを維持する。代表的なノードC120が新しい入力動的チャネル142の生成をスタートすると、このノードは、CACモジュール180に送信するチャネル要求160を作成する。本実施形態の場合には、ノードC120は、帯域外(OAM&P)チャネル・リンク・ノード120およびアービター・ノード121に基づいて、アービター・ノードA121にチャネル要求160を送る。アービター・ノード121においてCACモジュール180は、チャネル要求を受信し、要求したチャネルを許可する場合には、要求に従ってチャネル・データ175を更新する。
【0033】
図2について説明すると、CACモジュール180は、許可した動的チャネルに関する情報を含むチャネル・データ175内に供給マップ210を維持する。CACモジュール180は、それぞれが、その発信ノード、1つまたは複数の宛先ノード、必要な帯域幅(データ速度)、所望のバースト・データ速度、および優先順位のような要求したチャネルに関する情報を含むチャネル要求160を受信する。上記要求に応じて、CACモジュール180は、その動的チャネルに対して供給記録220を生成する。各供給記録220は、通常、動的チャネルが能動状態である間は変化しない多数のデータ・フィールドを含む。供給記録は、動的チャネルに対して使用が保証されている各SONETフレームの列の数であるCIR(認定情報速度)230を含む。上記記録は、また、そのデータ速度要求が、例えば、バースト中において高い場合、この動的チャネルに対するアービター170より使用が可能になる各フレームの列の最大数であるBR(バースト速度)232を含む。BR232は、CIR230が示す認定量を含んでいるので、BRはCIRより大きいか、またはCIRに等しい。各供給記録は、また、優先順位234を含む。異なる動的チャネルは、異なる優先順位を持つ。下記の管理アプローチは、異なる優先順位間の帯域幅の割当てと、任意の特定の優先順位内の異なる動的チャネルへの帯域幅の割当ての両方を解決する。供給記録220は、また、供給されたフラグ236を含む。以下の説明においては、動的チャネルはこのフラグ・セットを持つと仮定される。供給されたフラグ236をクリアすると、供給記録は、動的チャネルに対して存在することができるが、アービター170は、それに対して容量を全然割り当てない。例えば、長い時間休止していた動的チャネルは、その供給されたフラグをクリアすることができ、それにより、他のチャネルが認定速度を使用できるようになる。動的チャネルに対する供給記録220は、FCA(公正な容量割当て)238を含み、そのFCAは、公正な方法で、同じ優先順位の異なる動的チャネル間に容量を割り当てるためにある時点で使用されるCIRからBRの範囲内の量である。各動的チャネルのFCAは、例えば、動的チャネルの挿入または削除の結果としての各動的チャネル供給イベント中に更新することができる。
【0034】
供給マップ210は、また、動的チャネルに割り当てることができるSONETフレーム(共有帯域幅)の列の全数である動的帯域幅(DBW)222と、異なる優先順位間に帯域幅を割り当てる際にアービター170が使用する加重223と、過去の帯域幅割当てに従って任意の優先順位で動的チャネルを分類する際にアービターが使用するbinしきい値224と、任意の優先順位で動的チャネル間で帯域幅を再度割り当てる際にアービターが使用するパラメータであるmax_preempt(最大先取り)225、およびpreempt_capable(先取り可能)226とを含む。
【0035】
再び図1について説明すると、代表的なノードC120が動的チャネルに対する割当て帯域幅の増減を要求すると、このノードは、アービター・ノード121におけるアービター170に帯域幅要求164を送る。帯域幅要求164は、1つまたはそれ以上のチャネルの帯域幅を増減するための要求であってもよい。本実施形態の場合には、リングを通る各SONETフレームの一部は、帯域幅要求164のために確保され、この部分には、各動的チャネル用に1ビット・フラグが確保される。1ビット・フラグは、対応する動的チャネルに対する割当てを増減する要求をコード化する。それ故、本実施形態の場合には、「変化なし」要求はコード化されない。帯域幅要求164は、対応する動的チャネルに対する1ビット・フラグに対応する。通常、1つのフレームが各ノードにてリングに入り、チャネル用のリングを通るとき、異なるノード120は、1つのフレーム内にいくつかの帯域幅要求をセットし、次に、アービター170は、受信する毎に各フレーム内の複数の帯域幅要求164を受け取る。
【0036】
1つまたはそれ以上のフレームで受信する帯域幅要求を処理した後で、アービター170は、帯域幅許可166をノードに送る。本実施形態の場合には、各SONETフレームの一部は、帯域幅許可のために確保される。帯域幅許可166は、各動的チャネルに割り当てられるSONET列を識別する。各ノード120は、帯域幅許可を送るSONETフレームがリングを通過する時に、帯域幅許可166を受信し、各ノードは、動的チャネルに対する割当てのすべての変化に注意し、そのノードにてリングに入るかまたは抜け出る動的チャネルに対する流れの処理を続行する。あるチャネルに対する割当ての変更を要求するノードC120は、少なくともフレームがリングを通過するための伝搬時間に等しい遅延の後で、それに応じて任意の許可を受信する。帯域幅要求は、最初、ノードからアービターに移動しなければならない。次に、アービターは要求を処理しなければならない。次に、要求しているノードに戻るために、許可はリングの残りの部分を通らなければならない。
【0037】
図2について説明すると、アービター170は、結果マップ240を維持するために供給マップ210内の情報を使用する。結果マップ240は、各動的チャネルに対する結果記録250を含む。受信する帯域幅要求164に基づいて、アービター170は、結果記録250を更新し、結果マップ内のデータを反映する帯域幅許可166を作成する。各動的チャネルの結果記録250は、多数のフィールドを含む。CCA(現在の容量割当て)262は、動的チャネルに割り当てられた現在の列の割当て数である。CCA262は、少なくともCIR230に等しくなるように、またそのチャネルに対するBR232より大きくならないように制限される。以下の説明においては、CIRとCCAとの間の違いは、CBA、現在のバースト割当てになるように定義される。bin264は、1から動的チャネルが行った過去の通信要求を反映するBの間の整数である。以下にさらに詳細に説明するように、帯域幅割当ての増大を受けたチャネルは、通常、帯域幅の削減を受けたチャネルよりも高いbin指数を有する。bin指数の小さいチャネルは、同じ優先順位で大きいbin指数を有するチャネルより高い優先権を持つ。
【0038】
各動的チャネルは、また、1つのINCR266の値および1つのDECR268の値を有する。これらの値は、割当ておよび割当て解除要求がスケールされる列の数である。すなわち、動的チャネルに対する帯域幅要求は、アービター170により、そのチャネルに対する列の数をINCRだけ増大するための要求であると解釈される。一方、そのチャネルに対する帯域幅の割当て解除要求は、そのチャネルに対する列の数をDECRだけ割当て解除するための要求であると解釈される。INCRおよびDECRは、通常、チャネルに依存する。CACモジュール180は、各動的チャネルに対するINCR266の値およびDECR268の値をセットする。CACモジュール180は、後でこれらの値を修正してもよい。シミュレーションおよび実験室での実験によれば、チャネルのINCRおよびDECRは、そのチャネルのBRとCIRの間の範囲の5〜10%にセットすることが好ましい。INCRおよびDECRの選択は、全割当てアプローチの時間ダイナミックスに影響を与える。INCRおよびDECRの特定の選択は、その値が動的チャネルによるデータ速度要求の変更に比較的迅速に応答するのに十分な大きさであることを意味する。さらに、INCRおよびDECRの大きさは、帯域幅の割り当てを迅速に変更できるようにすることにより、割り当てられた帯域幅に対する変更がTCPベースの流れ制御のような高レベルの流れ制御機構との相互間動作に悪影響を与えないように、十分小さいものが選択される。
【0039】
図3は、時間の経過により、この帯域幅の幅が変化する可能性を認識する共有媒体の全動的帯域幅の2つの図面である。この全帯域幅は、DBW(動的帯域幅)と呼ばれる。図3の上部、セクション311〜332は、n個の動的チャネルに対する帯域幅割当てを示す。図3の上部においては、各チャネルに対する割当ては、隣接セクションになっている。例えば、CCA1は、CBA1312に隣接しているCIR1311を含む。CCAiの合計は、CCATOT、すなわち、能動動的チャネルに対する現在の全割当てと呼ばれる。通常、いくつかの未使用の動的帯域幅340(DBW−CCATOT)があるが、アービターは、能動チャネルに対して動的帯域幅全部を割り当てようとする。
【0040】
図3の下部について説明すると、チャネルに対する帯域幅の割当てが2つの部分で示されている。能動チャネルに対する認定速度(CIR1311,CIR2321,...CIRn331)は、CIRTOTと呼ぶ全認定割当て362として1つのグループになっている。バースト割当て(CBA1312,CBA2322,...CBAn332)は、CBATOTと呼ばれるバースト割当て364として1つのグループになっている。以下にさらに詳細に説明するように、能動動的チャネルは、そのCIR帯域幅が保証されている。それ故、アービター170は、認定速度を維持しながら,動的チャネルの中のいくつかに対する帯域幅の割当てまたは割当て解除の要求に基づいて公正にCBAiを決定しようとする。
【0041】
図4について説明すると、各ノード120は、多数の相互に関連するモジュールを含む。多重化装置410は、SONETリング110のリンク122を通してデータを受信し、出力動的チャネル144に対するデータを抽出し(抜き取り)、入力動的チャネル142に対するデータをSONETリング110の出力リンク122上に挿入する。帯域幅マネージャ440は、アービター170から帯域幅許可166を含む制御情報を受信する。この制御情報により、帯域幅マネージャ440は、多重化装置410に、SONETフレームのどの列がそのノードにて挿入または抜き取られる入力および出力動的チャネルに関連しているのかを知らせる。待ち行列マネージャ420は、各入力動的チャネルに対する待ち行列42を管理し、帯域幅マネージャ440に待ち行列長さに関する情報を供給する。輻輳マネージャ430は、ポリサー450からデータを受信し、帯域幅マネージャ440により供給される待ち行列長さに関するパラメータに基づいて、以下にさらに詳細に説明される混雑回避のためのランダム早期抜き取り(RED)アプローチを実行する。ポリサー450は、入力動的チャネルに対するデータを受信し、チャネルの入力トラヒックが各BRを超えないように監視するために、二重漏洩バケット・アプローチを実行する。BRより速い速度で到着するパケットは抜き取られる。ポリサー450は、パケット・ヘッダに1つのビットをセットすることにより、CIRとBRとの間の速度で到着する各パケットに対して「抜き取り可能」というタグをつける。CIRより遅いかまたは等しい速度で到着するパケットの場合は、「抜き取り可能」ビットをセットしないで、そのまま転送する。輻輳マネージャ430は、以下に説明するように、混雑管理を強制的に行うために、抜き取り可能ビット情報を使用する。各ノード120にて輻輳マネージャ430は、ポリサー450から入力データを受信する。待ち行列マネージャ420は、輻輳マネージャ430から入力データを受信し、そのデータを各チャネルに対する待ち行列422内に入れる。待ち行列マネージャ420は、そのチャネルに対する割当てに対応する速度で、各チャネルからの待ち行列からデータを解放する。すなわち、データは、その動的チャネルに対して割り当てられたSONET列の数に対応する速度で待ち行列から解放される。待ち行列マネージャ420は、帯域幅マネージャ440に各待ち行列のその瞬間の待ち行列長さを通知する。帯域幅マネージャ440は、各チャネルに対する待ち行列長さの平均時間(すなわち、平均の値)を計算し、これらの平均待ち行列長さに基づいてアービターに送る帯域幅要求を決定する。本実施形態の場合には、帯域幅マネージャ440は、t時間単位毎に実際の待ち行列長さをサンプリングし、平均[n+1]=(1−w)*平均[n−1]+w*長さ[n]に従って平均値を計算する。ここで、wは新しいサンプルの長さであり、nは更新回数のカウンタ値である。実行を容易にするために、wは2のべき乗から得ることができるように選択される。wの値は、プログラムすることができる。本実施形態の場合には、w=0.005=1/256+1/512=2−9+2−10であり、1−w=0.995=1−1/256−1/512=20−2−9−2−10である。それ故、平均値はシフト演算により計算することができる。本実施形態の場合には、tは、0.1〜1.0ミリ秒の範囲内になるように選択される。tおよびwのこれらの値により、約0.2〜2秒の平均時間定数を用いて減衰平均が生成される。
【0042】
図5について説明すると、この図は、整合する時間軸を含むあるノードにおける複数の入力動的チャネルの中の1つに関連する3つのグラフである。これらのグラフは、ノードにおける待ち行列マネージャ420および帯域幅マネージャ440(図4)の動作を示す。この図の一番上のグラフは、ある動的チャネルに関連する待ち行列422の代表的な瞬間待ち行列長さ540を示す。中央のグラフは、そのチャネルに対する対応する平均待ち行列長さ542を示す。下のグラフは、アービター170により許可され、ノードと通信した動的チャネルに対する割り当てられた帯域幅CCA262を示す。帯域幅マネージャ440は、待ち行列マネージャ420から瞬間待ち行列長さ540を受信し、上記平均式に従って時間平均待ち行列長さ542を計算する。平均待ち行列長さが構成可能なしきい値ALLOCTH520を超えた場合には、帯域幅マネージャ440は、その動的チャネルに対する帯域幅割当てを増大するために、各フレームにおいてアービター170に帯域幅要求164を送る。平均待ち行列長さが、ALLOCTHより短い場合には、帯域幅マネージャ440は、そのチャネルに対する帯域幅割当てを低減するために、アービター170に帯域幅要求164を送る。図5においては、t1からt6までの時間周期は、平均帯域幅がALLOCTHを超える期間に対応し、帯域幅マネージャ440は、そのチャネルに対する割当ての増大を要求する。時間t6の後で、平均待ち行列長さが再度ALLOCTH以下になると、帯域幅マネージャ440は、そのチャネルに対する帯域幅の割当て解除(低減)を要求する。一番下のグラフは、帯域幅マネージャ440からの要求に応じてアービター170が割り当てた割当て帯域幅(CCA)を示す。アービター170は帯域幅要求を処理するが、各チャネルに対するCCAを計算するプロセスについては、以下にさらに詳細に説明する。
【0043】
ここで輻輳マネージャ430について説明すると、ある入力動的チャネル142に対してノード120が受信した入力データは、通常、ランダム早期抜き取り(RED)と呼ばれる技術により、これらのチャネルに対するデータのバック・ログが存在する場合には、数回廃棄される。より詳細に説明すると、平均待ち行列長さ542が、セット可能なしきい値MINTH722より小さい場合には、入力データは待ち行列内に入れられ、抜き取られることはない。平均待ち行列長さが第2のセット可能なしきい値MAXTH724を超える場合には、そのチャネルに対するすべての抜き取り可能なパケットが抜き取られる。MINTH722からMAXTH724の間の、ポリサー450により「抜き取り可能」のタグが付けられた入力パケットは、実際に平均待ち行列長さとともに増大する確率で抜き取られる。
【0044】
本実施形態の場合には、データを抜き取るかどうかの効率的な決定は、例えば、等しい増分で、MINTHからMAXTHへの平均待ち行列長さの範囲をR領域に分割し、その分割に基づいて行われる。各R領域は、異なるレジスタと関連しており、そのレジスタは、1であるビットの全数がその領域に対する必要な抜き取り確率と等しいそのレジスタ内のビットの全数の一部を形成するように、1にセットされた多数のランダム選択ビットを有する。領域の数、およびその領域に対する抜き取り確率は構成可能である。例えば、R=4領域、およびそれぞれ約0.05、0.1、0.25および0.5の抜き取り確率を使用することができる。Rの値、および抜き取り確率の値は構成可能である。異なる構成の場合には、異なる数の領域およびその領域に対する異なる抜き取り確率の値を使用することができる。本実施形態の場合には、64ビットのレジスタ長が使用される。輻輳マネージャ430は、平均待ち行列長さが位置する領域に関連するレジスタを選択するために、現在の平均待ち行列長さを使用して、抜き取り可能なデータを実際に抜き取るのかどうかを決定する。次に、「ランダムな」Lビット数が決定され、現在の待ち行列長さの最下位のLビットにより、レジスタ内でビット指数として使用される。ここで、Lはlog2(レジスタ長)である。レジスタ長が64である場合には、L=6である。指標付ビットが1である場合には、データは抜き取られ、そうでない場合には、データは待ち行列に入れられる。
【0045】
チャネルの瞬間待ち行列長さが、そのチャネルの待ち行列の長さより長い場合には、ハード抜き取りが行われる。この場合には、(抜き取り可能または抜き取り可能でない)すべてのパケットが、そのチャネルに対して抜き取られる。図5の場合には、t2の前の数回は、データは抜き取られない。何故なら、平均待ち行列長さがMINTHより短いからである。時間t2とt3の間の平均待ち行列長さが、MINTHとMAXTHとの間である場合には、抜き取り可能なデータは、上記のレジスタ・アプローチによりランダムに抜き取られる。時間t3からt4の間にすべての抜き取り可能なパケットは抜き取られる。何故なら、平均待ち行列長さがMAXTHを超えるからである。時間t4からt5の間に抜き取り可能なパケットが再度ランダムに抜き取られ、平均待ち行列長さがMINTH以下になる時間t5で抜き取りが終わる。
【0046】
帯域幅マネージャ440および輻輳マネージャ430の動作は、両方のモジュールの動作に影響を与える平均待ち行列長さを使用することにより調整される。例えば、ALLOCTHは、通常、MINTHよりも短いので、帯域幅マネージャは、輻輳マネージャ430がそのチャネルに対するデータの抜き取りをスタートする少し前に、そのチャネルに対する割当ての増大を要求する。すなわち、アービター170が、平均待ち行列長さがALLOCTHとクロスした場合にスタートするその要求に応じてそのチャネルに対する追加の容量を割り当て、次に、平均待ち行列長さをMINTH以上にならないように制御することができる。しかし、例えば、使用できないために、またそのチャネルが他の能動動的チャネルに対して比較的低い優先順位を持っているために、容量がそのチャネルに割り当てられない場合には、輻輳マネージャ430は、待ち行列長さを制御するために、データのランダムな抜き取りをスタートする。
【0047】
アービター170は、動的チャネルに帯域幅が割り当てられる決定プロセスを実行する。この決定プロセスは、特定の待ち行列長さに大きく依存する。アービター170は、種々のノードにおける帯域幅マネージャ440からの帯域幅要求に応答し、種々のチャネルに対するその割当てに関連する制限履歴を維持する。図6について説明すると、本実施形態の場合には、アービター170は、3つのSONETフレームを受信する度に、一連のステップを反復して行う。他の実施形態の場合には、各フレーム毎に、一定の間隔で、または他の一定の反復時間にまたは要求があった場合に、これらのステップをスタートさせることもできる。
【0048】
ステップ610において、アービター170は、最初、割当て解除を要求しているすべてのチャネルに対して帯域幅割当て解除要求に働きかける。その帯域幅要求が割当て解除である各チャネルjに対しては、アービター170はCCAjをAMTjだけ減少させる。ここで、AMTj=MIN(DECRj,CBAj)である。これにより、減分を考慮に入れて、CCAjの合計であるCCATOTが減少する。
【0049】
例えば、低減要求、増大要求に働きかけることにより、または他のチャネルに対する増分を満足するために、あるチャネルから帯域幅を先取りすることにより、アービター170が各チャネルに対する帯域幅割当てを修正した場合、アービターは各チャネルに対するbin値を維持する。すでに説明したように、bin264は、1..B間の整数であり、そのチャネルに対する割当て帯域幅(CCA)の時刻歴により計算される。本実施形態の場合には、B=3であるが、binの別の値を使用することもできる。図16について説明すると、bin264は、CCAがCIRからBRに増大した場合に増大するように、またその後でCCAがBRからCIRに減少した場合に減少するようにヒステリシスにより計算される。最初は、1つのチャネルがbin1内に存在する。CCAがTHR_H(1)を超えて増大すると、binは2になり、CCAがTHR_H(2)を超えて増大すると、binは3になる。CCAがTHR_L(3)以下に減少すると、binは2になり、CCAがTHR_L(2)以下に減少すると、binは1になる。すでに説明したように、binを特定の優先順位の異なるチャネルに割り当てることにより、アービター170が、どのチャネルがその要求した帯域幅の増分を受信すべきか、またどれを先取りすべきかを決定した場合に、CIRにより近いチャネルが一般的に高い優先順位を持つ。
【0050】
継続して処理が行われ、ステップ620において、アービター170は、現在の割当てCCATOTが現在の動的帯域幅DBWを超えたかどうかを判断するためのチェックを行う。動的帯域幅自身は、例えば、動的チャネルに対する残りの割当てを低減することができるTDMチャネルに対する割当ての増大により、時間の経過中に変化することがあることに留意されたい。また、CACモジュール180により新しい動的チャネルを受け入れ、その認定速度(CIR)を割り当て、それによりCCATOTが、それ自身変化しなかったDBWを潜在的に超えるようにする。TDM割当てが増大した場合でも、CACモジュール180が、何時でも、動的チャネルに対して帯域幅の少なくともCIRTOT量が必ず存在するようにすることに留意されたい。すなわち、帯域幅のCIR部分は何時でも使用することができる。
【0051】
現在の割当てが、実際に現在の動的帯域幅DBW以下に減少しない場合には、ステップ630において、アービター170は、取り出し手順を実行する。この取り出し手順において、アービターは、1つまたはそれ以上のチャネルに対する帯域幅割当てを低減する。アービターは、優先順位を高くするために最初にチャネルを選択する。最も高い優先順位は1である。すなわち、アービターは、最初に、優先順位がPの、次に、優先順位がP−1の、次に優先順位が高いチャネルに対する帯域幅割当てを低減する。この取り出し手順の場合には、アービターは、任意のチャネルの割当てをそのCIR以下に低減しない。それどころか、アービターは、通常はCIRを超える割当てCCAをCIRに等しくなるように低減する。各優先順位で、アービターは、最初、最高の指数binBのチャネルから帯域幅を取り出し、次に、次に高い指数を取り出し、アービターがbin指数1から帯域幅を取り出すまでこの手順を続ける。各binにおいては、アービターは、MIN(DECRi,CBAi)によるそのCCAを減少させるチャネルiを通して巡回し、すべてのチャネルがその最小CIRに割り当てられた場合に、binの取り出しを終了する。アービター170は、CCATOTをDBW以下に低減した場合、または、他の方法としては、すべての能動チャネルをその認定速度CIRに低減した場合に取り出し手順を終了する。
【0052】
認定速度の合計CIRTOTが、依然として全動的帯域幅DBWを超えている場合には、すべての動的チャネルをその認定速度に低減した後で、取り出し手順は、また取り出し手順の第1の部分と同じ順序でチャネルの供給解除を含む。供給解除は、供給フラグのクリア、および割当てCCAのゼロへのセット、それによる帯域幅割当て手順からの供給解除チャネルの本質的な抜き取りを含む。しかし、すでに説明したように、CACモジュールが正しく動作している場合には、このようなことは決して起こらない。
【0053】
アービター170は、次に、一連の2つの段階で追加の帯域幅を割り当てるための要求を処理する。ステップ640において、アービターは、優先順位間でバースト帯域幅を再分配する第1段階を実行し、帯域幅割当て要求の中のいくつか(しかし、通常全部ではない)に対する帯域幅のプールを生成する。ステップ650においては、第2の段階において、アービターは、その帯域幅割当てで増大を要求しているチャネルの中のいくつか(しかし、通常全部ではない)に対して帯域幅を割り当てる。これらの要求は、第1段階で生成された帯域幅プールにより満足させられるか、または、増大を要求しているチャネルと同じ優先順位でチャネルの割当てを先取りすることにより満足させられる。
【0054】
図7について説明すると、第1段階において、アービター170は、最初、各優先順位pに対して、全要求増大INC[p]を計算する(ステップ710)。(通常、角括弧内のサブスクリプトは、特定の優先順位に関連する量を示し、角括弧に入っていないサブスクリプトは、特定の動的チャネルに関連する量を表す。)優先順位pに対する全要求は、その割当ての増大要求を示すその帯域幅要求ビット・セットを有する優先順位pでのすべてのチャネルiに対するMIN(INCRi,BRi−CCAi)の合計として計算される。BRi−CCAiへのチャネルiの貢献の制限は、アービターが、あるチャネルに対する設定バースト速度BRiを超えて帯域幅割当てを増大する要求を実行しない機能を反映している。
【0055】
ステップ720において、アービター170は、各優先順位の割当てが、その「公正な」共有分以上または以下になる量を決定する。各優先順位は、関連「加重」w[p]223を有する。一般的に、優先順位が高ければ高いほど(優先順位指数pが低ければ低いほど)、w[p]の値は大きくなる。本実施形態の場合には、これらの加重は、共有媒体が使用することができる帯域幅割当てへの最小の増分の単位による整数である。本実施形態の場合には、上記単位は、SONET列である。動的帯域幅DBWの一部は、動的チャネルに対する認定速度に関連する。残りは、アービターが、バースト割当てに種々のチャネルを自由に割り当てられるバースト帯域幅である。全バースト帯域幅は、TBW=DBW−CIRTOTと呼ばれる。各優先順位は、全バースト帯域幅に関連する公正な共有分を有する。この公正な共有分TBW[p]は、その加重TBW[p]=TBW*w[p]/合計(w[q])に比例する。
【0056】
優先順位pのチャネルiに対する割当てCCAiの合計はCCA[p]で示され、優先順位pのチャネルiに対する認定割当てCIRiの合計はCIR[p]で示されれ、ある優先順位に対する全バースト帯域幅割当ては、CBA[p]=CCA[p]−CIR[p]で示される。各優先順位pの場合には、CBA[p]がTBW[p]より少ないかまたは等しい場合、優先順位pは、バースト帯域幅のその公正な共有分より少なく、UNDER[p]=TBW[p]−CBA[p]である。CBA[p]がTBW[p]より大きい場合には、優先順位pは、その公正な共有分より多く、またOVER[p]=CCA[p]−TBW[p]である。図9aについて説明すると、その公正な共有分以下の優先順位に対する割当ては、上記量で示される。図9bにおいては、その公正な共有分以上の優先順位が同様な方法で示されている。
【0057】
図10について説明すると、この図は、図9a〜bの図示アプローチによる4つの優先順位を含む例である。この例の目的の場合には、各優先順位に対する認定速度の特定の値、またはその全部は無関係である。この例の場合には、全バースト帯域幅TBWは、180(SONET列単位)である。優先順位に対する加重w[1..4]は、それぞれ4、3、2および1であり、それぞれ、72、54、36および18のバースト帯域幅TBW[1..4]の公正な共有分を発生する。現在のバースト割当てCBA[1..4]は、それぞれ77、59、39および0である。それ故、優先順位1、2および3は、バースト帯域幅のその公正な共有分より大きい。
【0058】
OVER[1]=5、UNDER[1]=0、
OVER[2]=5、UNDER[2]=0、および
OVER[3]=3、UNDER[3]=0
一方、優先順位4は公正な共有分より少ない。OVER[4]=0、UNDER[4]=18。この例は、各優先順位に対する全増大要求INC[1..4]がそれぞれ1、2、3および5であるアービターの割当て手順の1回の反復に関連する。図10は、最初の割当て解除(図6のステップ610)がすでに行われた後の状況を反映していることに留意されたい。この例の場合には、全バースト割当ては、CBATOT=175である。全バースト割当てTBWは180であるので、任意のチャネルに割り当てられていない5の未使用の容量が存在する。
【0059】
全量優先順位はその公正な共有分より多く、未使用の帯域幅は使用できる正味バースト帯域幅TOTNABWを形成する。通常、使用できる正味バースト帯域幅は、帯域幅割当て増大の要求を満足させるために使用した帯域幅のプールを形成する。
【0060】
ステップ730(図7)おいて、アービター170は、各優先順位に対する全割当て帯域幅が、帯域幅割当て手順中の増大する最小しきい値量を計算する。図11について説明すると、この図は、各優先順位を示す。バースト帯域幅のその公正な共有分より小さい優先順位pの場合には、UNDER[p]は破線で示す。全要求帯域幅INC[p]は棒グラフで示す。各優先順位について、その優先順位に対する最小増大INCTH[p]は、MIN(INC[p],UNDER[p])として計算され棒グラフで示す。INCTH[1..4]に対する結果としての値は、それぞれ0、0、0および5である。優先順位1、2および3はその公正な共有分をすでに超えているので、その最小増大は0である。優先順位4に対する最小増大は、その優先順位が要求している増分に制限される。これらの最小しきい値の合計は、この例では5であり、使用できる正味バースト帯域幅TOTNABW=18より小さいかまたは等しい。
【0061】
ステップ740(図7)において、アービター170は、各優先順位が受取る増大割当ての量を加重アプローチにより増大する。通常、ある優先順位での増大している割当てに対する使用可能な正味帯域幅NABW[p]は、最小増分INCTH[p]に、INC[p]を超えないwpに比例する量をプラスしたものである。本実施形態の場合には、アービター170は、各優先順位pに対するNABW[p]=w[p]を初期化し、次に、AMTによりNABW[p]を増大する優先順位を通して反復して巡回する。この場合、AMT=MIN(w[p],左)であり、左=MIN((NABW[p]−INCTH[p]),(TOTNABW−NABW[p]の合計))である。一方、左>0である。優先順位pに対するNABW[p]がそのINCTH[p]に達すると、NABW[p]は優先順位を増大するのを止める。すべての優先順位がそのINCTH[p]に達した後で、アービター170は、AMTによりNABW[p]を増大する優先順位を通して反復して巡回する。この場合、AMT=MIN(w[p],左)であり、左=((NABW[p]−INC[p]),(TOTNABW−NABW[p]の合計))である。一方、左>0である。図11は、そのActualNABWの結果と、図10に示す1つの例のこのステップを示す。NABW[p]の合計は11であり、個々のNABW[1..4]は、それぞれ1、2、3および5である。ActualNABWの一部は、未使用の帯域幅UNUSED=5により満足させられ、一方、残りの部分は、「切り取り」と呼ぶプロセスのその公正な共有分より高い優先順位からのものである。より詳細に説明すると、共有優先順位より高いこれらの部分から切り取ることができる全量は、TotalRBW=ActualNABW−UNUSED=6である。
【0062】
バースト帯域幅を再分配する前に、アービターは、各優先順位kに対して、各優先順位が必要とするTotalRBWの一部、RBWNeeded[k]を決定する(ステップ750)。図12について説明すると、これは、もちろん、TOTNABWの代わりを除いて、NABWと同じ方法で決定され、TotalRBWが使用される。この例の場合には、6単位の容量を使用することができる。この例が5である場合には、優先順位4だけがゼロより大きいINCTHを有する。それ故、RBWNeeded[4]は、最初、5に増大する。次に、TotalRBW=6の1単位の容量を使用することができ、その結果、RBWNeeded[1]=1になる。これによりこの手順は終了し、それぞれ、1、0、0および5のRBWNeeded[1..4]が生じる。
【0063】
ステップ760(図7)において、アービター170は、最初、未使用の帯域幅でスタートし、over[p]>0である優先順位pからTotalRBW全部を切り取り、優先順位Pからスタートして、TotalRBWが満足するまで、帯域幅のプールを形成する。各優先順位から切り取った量は、BWripped[p]である。図13について説明すると、この例の場合には、p=4からスタートし、over[4]=0であるので、切り取る帯域幅がない。p=3においては、over[3]=3であるので、BWripped[3]=3単位が切り取られる。p=2においては、over[2]=5である。さらに3単位だけ必要なので、BWripped[2]=3である。優先順位p=1は考慮に入れる必要はない。何故なら、TotalRBWはすでに満足しているからである。それ故、BWripped[1]=0である。この時点で、アービター170は、各優先順位からBWripped[p]単位を切り取ることにより、TotalRBW+Unused=11のプールを生成する。優先順位1..4は、以降のステップでプールからそれぞれ1、2、3および5単位を受け取るものと予想される。
【0064】
アービター170は、最高の指数のbin内のチャネルからスタートして、BWripped[p]が満足するまで、bin1までさかのぼり、CCAiからCIRiまでチャネルの帯域幅割当てを低減することにより各優先順位から帯域幅を切り取る。各優先順位において、この手順は、最初の割当てが全動的帯域幅より大きい場合のところで説明した「取り出し」手順と似ている。これでアービターの帯域幅割当てプロセスの第1段階は終了する。図14の場合には、この例の切り取りの後のバースト帯域幅割当ては実線で示され、切り取り前のバースト帯域幅割当ては、斜線を引いた領域で示してある。さらに、各優先順位の割当てが以降のステップで増大する全量は、実線の棒の端部から延びる長さNABW[p]の棒で示す。サイズ11の帯域幅プールは、前の未使用の帯域幅からの5単位、各優先順位2および3からの3単位により形成されている。
【0065】
図6に戻って説明すると、アービター170は、段階IIにおいて再割当てを終了する(ステップ650)。この段階IIにおいては、アービターは、他のチャネルに対する帯域幅の増分を満足させるために、あるチャネルのバースト帯域幅を先取りすることにより、プールからおよび同じ優先順位内において帯域幅要求を割り当てる。
【0066】
図8について説明すると、特定のチャネルに対する帯域幅要求の割当ては、その優先順位より高い第1のループにより行われる(ライン810)。このループの順序は重要ではない。何故なら、帯域幅プールがすでに形成されているこの時点においては、各優先順位での割当ては、他の優先順位とは無関係に行われるからである。
【0067】
ある優先順位においては、帯域幅の増大を要求したチャネルは、そのbinにより考慮される。最も低いbin指数、bin1内のチャネルが最初に考慮され、次に、bin2からbinBが考慮される。
【0068】
考慮されているチャネルiは、せいぜいMIN(INCRi,BRi−CCAi)を受け取ることしかできないので、その結果としての帯域幅割当てはBRiを超えない。増分の第1のNABW[p]は、段階I中に生成された帯域幅プールから直接来るものである。プールの優先順位の共有分を使い果たすと、「先取り」と呼ぶプロセス内の同じ優先順位の他のチャネルのバースト割当てを減らすことにより増分要求を満足させることができる。binBにおけるチャネルが最初に先取りされ、binBからの使用できる先取りを使い果たした場合には、binB−1が先取りされる。図15は、このプロセスを示す。この図においては、チャネルiは、プールからその増分INCRiを満足させている。チャネルjは、bin3内のチャネルを先取りすることによりその増分を満足させている。チャネルkは、同じbin内のチャネルからその増分を満足させている。
【0069】
各binbの場合には、各優先順位pにて、アービター170は、もっと低い指数のbinにおけるチャネルに対する増分を満足させるために、数回の設定可能な数(MAX_PREEMPT[p,b])225、各チャネルを先取りするように構成される。この設定可能な数は、あるbinが先取りされるのを防止するためにゼロに設定することができる。先取りプロセスがbin内のチャネルを通して設定した回数だけ巡回すると、次の下位のbinが先取りのために使用される。さらに、bin内のチャネルが、同じ優先順位内の他のbin内のチャネルを先取りできるかどうかを判断する、各優先順位の各binに対して設定可能なパラメータ(PREEMPT_ENABLE[p,b])226が存在する。
【0070】
増分を要求したチャネルを通して巡回しながら、ある時点で、帯域幅を先取りするための、もっと高いbin指数のbin内には、通常、チャネルは存在しない。先取りの次の段階は、増分を要求しているチャネルと同じ優先順位およびbinにおける他のチャネルからの帯域幅の先取りを含む。図2に示すように、各チャネルに対する供給記録220は、公正な容量割当て(FCA)258を含んでいる。この帯域幅の量は、そのチャネルに対するCIRからBRでの範囲内にある。同じbin内での先取りの一般的な規則は、CCAj>FCAjである場合に、CCAi<FCAiが、同じbin内の他のチャネルjから帯域幅を先取りできるだけのチャネルiというものである。CCAiがFCAiより大きいチャネルは、2つの条件、すなわち、第1の条件、そのCCAjも、各FCAjより大きいという条件、および第2の条件、CCAiがCCAjより小さいという条件を満たす同じbin内の他のチャネルjから先取りすることができる。
【0071】
同じbin内ですべての可能な先取りが行われると、帯域幅の増大を要求したその優先順位の残りのチャネルは、その要求を満足させることはできない。何故なら、そこから帯域幅を先取りするチャネルがもはや存在しないからである。
【0072】
この第1の実施形態の説明の後にさらに詳細に説明するように、共有媒体を管理するこのアプローチは、必ずしもSONETをベースとする通信を含まない多数の他の実施形態にも適用することができる。例えば、帯域幅管理アプローチの他の実施形態は、共有アクセス・バス、共有有線ネットワーク・リンク、および共有無線チャネルのような共有媒体に適用することができる。
【0073】
上記実施形態の場合には、アービター170は、ネットワーク内のノードに位置しており、帯域幅の変更の要求および許可は、データ自身と同じ機構により転送される。他の実施形態の場合には、アービターは、データ用に使用する共有媒体によりノードと通信する必要はなく、必ずしもネットワーク内のノード上に位置しなくてもよい。
【0074】
他の実施形態の場合には、アービターにより帯域幅を割り当てられた各「チャネル」は、必ずしも、ノードの入力チャネルより入ってきて、他のノードにおける出力チャネルから出て行く1つのデータ・ストリームに対応しない。他の例は、下記のものを含む。すなわち、各チャネルは、同報通信または多数の他のノードにおいて抜け出すポイント・ツー・マルチポイント通信に対応する。チャネルは、サブチャネルの集合体であってもよい。このようなサブチャネルは、共通の発信および宛先ノードを共有することができる。サブチャネルは、また、特定の顧客へのサービスのような他の特徴によりグループ分けすることもできる。チャネルは、また、マルチポイント・ツー・ポイント通信およびマルチポイント・ツー・マルチポイント通信の複数のノードにおいて発信することができる。
【0075】
上記実施形態の場合には、アービター170は、ハードウェアで実行される。他の実施形態の場合には、アービター170は、アービター・ノードにてコンピュータ可読媒体に記憶され、プロセッサに上記帯域幅割当て手順を実行する命令を実行させるソフトウェアで実行することができる。他の実施形態は、帯域幅割当てアプローチの機能の中のいくつかを使用するが、必ずしも全部を使用しない。異なる優先順位間で帯域幅を割り当てるこのアプローチは、特定の優先順位での帯域幅の割当ておよび先取りのようなビニング・チャネルのアプローチから独立して使用することができる。さらに、上記実施形態は、ビニング・アプローチを使用しないで、1つのbin(B=1)を効果的に使用することができる。同様に、他の実施形態は、1つの優先順位(P=1)を使用して、どのチャネルが帯域幅増分を受け取るかを決定するために、binをベースとするアプローチの利点を使用することができる。
【0076】
上記説明は、添付の特許請求の範囲に記載する本発明を説明するためのものであって、本発明を制限するものではないことを理解されたい。他の実施形態も特許請求の範囲内に含まれる。
【図面の簡単な説明】
【図1】アービターが、リング上の共有チャネルを通る動的チャネルに対して帯域幅を割り当てるSONETリングの図である。
【図2】アービター・ノードに維持されているチャネル・データの構成部分を示すブロック図である。
【図3】共有チャネルのリンク帯域幅に対する動的チャネルの割当てを示す図である。
【図4】SONETリング上のあるノードのブロック図である。
【図5】待ち行列マネージャおよびあるノードに記憶した待ち行列データを含む帯域幅マネージャの相互間動作を示すブロック図である。
【図6】異なる動的チャネル間で帯域幅を割り当てるために中央アービターが行うステップを示すフローチャートである。
【図7】異なる優先順位間で帯域幅が割り当てられる帯域幅割当ての第1の段階のステップを示すフローチャートである。
【図8】特定のチャネルが増大割当て帯域幅を受信する帯域幅割当ての第2の段階のステップを示す擬似コードである。
【図9】A、Bはこれらの優先順位の帯域幅の公正な共有に対する特定の優先順位に対する割当てを示す図である。
【図10】チャネルが4つの優先順位の中の1つに含まれる例を示す図である。
【図11】図10の例に対する異なる優先順位に対する最小しきい値帯域幅増分を決定するステップを示す図である。
【図12】いくつかの優先順位間での、および未使用のプールからいくつかの優先順位への帯域幅の再分配のステップを示す図である。
【図13】「切り取り」手順の際のチャネル増分に対する帯域幅プールを形成するステップを示す図である。
【図14】上記例のいくつかの優先順位に対する帯域幅割当てを示す図である。
【図15】他のチャネルに対する帯域幅割当てを優先させることによる、未使用の帯域幅のプールからの特定のチャネルの帯域幅増分要求を満足させるための帯域幅割当てのステップを示す図である。
【図16】そのチャネルに対する帯域幅割当ての履歴に基づいて各チャネルに対するbin指数を決定するためのヒステリシスに基づく手順を示す図である。
Claims (19)
- 複数の通信チャネルにより共有されている通信容量を含む共有媒体上の通信を管理するための方法であって、
前記各チャネルへの優先順位の割当てを含み、前記共有媒体により通信を行うために前記通信チャネルを受け入れるステップと、
前記チャネルに対するデータ速度割当ての組合わせが前記共有媒体の通信容量を超えないように、前記各通信チャネルに対するデータ速度割当てを維持するステップと、
前記各通信チャネルに対して行うことを含み、前記各通信チャネルに対するデータ速度割当てに従って前記通信チャネルに対してデータを送り、データを受信し、前記通信チャネルに対する前記データ速度割当てにより制限された速度で前記受信したデータを前記共有媒体を通して送信するステップとを備え、
前記通信チャネルに対する前記データ速度割当てを維持するステップが、
前記通信チャネル上での通信を監視するステップと、
前記監視した通信に基づいて前記通信チャネルに対するデータ速度割当ての変更の要求を発生するステップであって、各通信チャネルに対する前記データ速度割当ての変更の要求が、前記チャネルに対して割り当てられたデータ速度を増大するための要求と、前記チャネルに対して割り当てられたデータ速度を低減するための要求とを含む前記ステップと、
前記受信した要求に基づいて前記データ速度割当てを反復して再計算するステップとを含む、方法。 - 前記データ速度割当ての再計算ステップが、
前記通信チャネルの前記各優先順位に対する前記共有媒体の通信容量の共有分を決定するステップと、
その優先順位に割り当てられた共有分に従って各優先順位での通信チャネルに対するデータ速度割当てを修正するステップと、
各優先順位に対して、前記要求および前記優先順位に対して割り当てられた共有分に従ってその優先順位での通信チャネルに対するデータ速度割当ての増大に対する要求を処理するステップとを含む、請求項1に記載の方法。 - 各通信チャネルに対するデータ速度割当てが、認定データ速度および割当データ速度を含み、前記割り当てられたデータ速度が認定データ速度と等しくなるように、またはそれを超えるように維持され、前記データ速度割当てを再計算する際に、各優先順位に対する前記共有媒体の通信容量の共有分の決定が、前記通信チャネルの全認定データ速度を超える前記共有媒体の通信容量の超過分の全共有分を決定することを含む、請求項1または2に記載の方法。
- 前記データ速度の再計算が、さらに、各優先順位での前記通信チャネルに対する前記データ速度割当てを修正することと、割り当てられていない容量のプールを生成することとを含み、通信チャネルに対するデータ速度割当ての増大に対する要求の処理が、前記チャネルへの割り当てられていない容量のプールを適用することを含む、請求項3に記載の方法。
- 各優先順位での通信チャネルに対するデータ速度割当ての増大に対する要求の処理が、同じ優先順位の他の通信チャネルのデータ速度の低減、および増大に対する要求への前記データ速度の低減の適用をさらに含む、請求項4に記載の方法。
- 前記データ速度割当ての再計算が、過去のデータ速度割当てに従って各優先順位にて前記通信チャネルの部分的な順序を変更することを含み、同じ優先順位の他の通信チャネルのデータ速度の低減が、部分的順序の変更に従って前記他の通信チャネルを選択することを含む、請求項1〜5のいずれか1項に記載の方法。
- 前記通信チャネルに対する前記データ速度の監視が、前記共有媒体を通しての送信が待機中にある前記チャネルに対する受信データの待ち行列の大きさを監視することと、前記待ち行列の監視した大きさに従って前記チャネルに対する前記データ速度割当ての変更に対する前記要求を生成することとを含む、請求項1〜6のいずれか1項に記載の方法。
- 前記通信チャネルに対する前記データ速度の監視が、データの待ち行列の監視した大きさの平均時間を計算することをさらに含む、請求項7に記載の方法。
- 前記通信チャネルに対するデータの送信が、前記通信チャネルに対する前記データ速度がその割当データ速度を超えた場合に、前記受信データを捨てる早期抜き取りアプローチを適用することをさらに含む、請求項1〜8のいずれか1項に記載の方法。
- 各チャネルに対するデータ速度割当ての維持が、各チャネルに対する認定データ速度を維持することを含み、前記データ速度割当ての再計算が、各チャネルに対する少なくとも前記認定データ速度を供給することを含む、請求項1〜9のいずれか1項に記載の方法。
- 各チャネルに対する前記データ速度割当ての維持が、各チャネルに対する前記データ速度に対する制限を維持することを含み、前記データ速度割当ての再計算が、各チャネルに対する前記データ速度に前記制限を適用することを含む、請求項1〜10のいずれか1項に記載の方法。
- 前記共有通信媒体の共有通信容量がSONETネットワーク上の容量を含み、前記通信チャネルが、前記SONETネットワークの対応するノードにてSONETネットワークに入る、請求項1〜11のいずれか1項に記載の方法。
- 前記通信チャネルに対する前記データ速度割当ての維持が、前記各通信チャネルへの一連のデータ・フレームの各々の一部の割当てを維持することを含む、請求項12に記載の方法。
- 前記通信チャネルに対する前記データ速度割当ての修正が、前記各通信チャネルへの前記一連のデータ・フレームの各々の一部の割当てを修正することを含む、請求項13に記載の方法。
- 前記アービターへの前記要求の送信が、SONETリングを通してのアービター・ノードへのそのノードに対する前記要求の送信を含み、前記再計算したデータ速度割当ての分配が、前記SONETリングを通しての前記アービター・ノードから他のノードへの前記割当ての送信を含む、請求項14に記載の方法。
- 前記通信チャネルに対する前記割当てデータ速度の維持が、前記通信チャネルが使用することができるSONETネットワーク上を通る一連のフレームの各々の全量を決定することを含む、請求項12に記載の方法。
- 前記一連のフレームの各々の全量の決定が、固定速度通信チャネルに割り当てられた各フレームの量を決定することを含む、請求項16に記載の方法。
- 通信システムであって、
通信容量を有する共有媒体と、
前記ノード間の前記共有媒体を通して複数の通信チャネルに対してデータを送信するように構成された前記共有媒体に接続された複数の通信ノードと、
前記通信ノードに接続され、前記チャネルに対する前記データ速度割当ての組合わせが前記共有媒体の通信容量を超えないように、前記各通信チャネルに対するデータ速度割当てを維持し、前記通信ノードへの前記データ速度割当を送受信するように構成されているアービターとを備え、
各通信ノードが、1つまたはそれ以上の通信チャネルに対するデータを受信し、これらの通信チャネルに対するデータ速度割当てに従って前記データを前記共有媒体に送るように構成されており、さらに、前記各通信チャネル上での通信の監視に従って前記通信チャネルに対するデータ速度割当ての変更の要求を送信するように構成されており、
前記アービターが、さらに、複数の優先順位の各々に対する前記通信容量の共有分を決定し、各優先順位に対して前記決定された共有分および前記通信ノードからのデータ速度割当てを変更するための要求に従って前記データ速度割当てを維持するように構成されている通信システム。 - 前記共有媒体が、SONET通信システムを含み、前記アービターが前記各通信チャネルへの各SONETフレームの一部の割当てを維持するように構成されている、請求項18に記載の通信システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24538700P | 2000-11-02 | 2000-11-02 | |
US24526200P | 2000-11-02 | 2000-11-02 | |
US09/907,529 US20020059408A1 (en) | 2000-11-02 | 2001-07-17 | Dynamic traffic management on a shared medium |
PCT/US2001/049694 WO2002037758A2 (en) | 2000-11-02 | 2001-11-02 | Dynamic traffic management on a shared medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004525538A true JP2004525538A (ja) | 2004-08-19 |
Family
ID=27399840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002540379A Pending JP2004525538A (ja) | 2000-11-02 | 2001-11-02 | 共有媒体上での動的トラヒック管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020059408A1 (ja) |
EP (1) | EP1405467A2 (ja) |
JP (1) | JP2004525538A (ja) |
CN (1) | CN1593040A (ja) |
AU (1) | AU2002232709A1 (ja) |
WO (1) | WO2002037758A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012529241A (ja) * | 2009-06-05 | 2012-11-15 | ニュー ジャージー インスティチュート オブ テクノロジー | Piコントローラによるレジリエントパケットリングネットワーク内の帯域幅割当て |
JP2012529242A (ja) * | 2009-06-05 | 2012-11-15 | ニュー ジャージー インスティチュート オブ テクノロジー | Pコントローラによるレジリエントパケットリングネットワーク内の帯域幅割当て |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002176447A (ja) * | 2000-12-07 | 2002-06-21 | Fujitsu Ltd | 局内装置 |
JP3779543B2 (ja) * | 2000-12-20 | 2006-05-31 | 株式会社日立コミュニケーションテクノロジー | 伝送装置におけるパスサイズ制御方法及びオペレーションシステム |
EP1249972A1 (en) * | 2001-04-09 | 2002-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method of controlling a queue buffer |
US20030009560A1 (en) * | 2001-05-22 | 2003-01-09 | Motorola, Inc. | Method and system for operating a core router |
WO2003003156A2 (en) * | 2001-06-27 | 2003-01-09 | Brilliant Optical Networks | Distributed information management schemes for dynamic allocation and de-allocation of bandwidth |
US8108687B2 (en) | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
US7290040B2 (en) * | 2001-12-12 | 2007-10-30 | Valve Corporation | Method and system for load balancing an authentication system |
US7243226B2 (en) * | 2001-12-12 | 2007-07-10 | Valve Corporation | Method and system for enabling content security in a distributed system |
US7373406B2 (en) | 2001-12-12 | 2008-05-13 | Valve Corporation | Method and system for effectively communicating file properties and directory structures in a distributed file system |
US7392390B2 (en) * | 2001-12-12 | 2008-06-24 | Valve Corporation | Method and system for binding kerberos-style authenticators to single clients |
US7286471B2 (en) * | 2002-03-23 | 2007-10-23 | Mindspeed Technologies, Inc. | Dynamic bandwidth allocation for wide area networks |
US7293091B2 (en) * | 2002-05-30 | 2007-11-06 | Intel Corporation | Method and apparatus for disruption sensitive network data management |
US20040032826A1 (en) * | 2002-08-02 | 2004-02-19 | Kamakshi Sridhar | System and method for increasing fairness in packet ring networks |
US7586944B2 (en) * | 2002-08-30 | 2009-09-08 | Hewlett-Packard Development Company, L.P. | Method and system for grouping clients of a storage area network according to priorities for bandwidth allocation |
WO2004034229A2 (en) | 2002-10-10 | 2004-04-22 | Rocksteady Networks, Inc. | System and method for providing access control |
AU2003301482A1 (en) | 2002-10-16 | 2004-05-04 | Rocksteady Networks, Inc. | System and method for dynamic bandwidth provisioning |
KR100484305B1 (ko) * | 2002-11-26 | 2005-04-20 | 한국전자통신연구원 | 이중 링에서의 부하 분산과 공평성 제공을 고려한 자원할당 방법 |
US7529265B1 (en) | 2002-12-03 | 2009-05-05 | Rockwell Collins, Inc. | Frequency self-organizing radio network system and method |
FR2849730A1 (fr) * | 2003-01-02 | 2004-07-09 | Thomson Licensing Sa | Methode pour reserver de la bande passante dans un reseau de type ethernet |
CN1333561C (zh) * | 2003-07-11 | 2007-08-22 | 华为技术有限公司 | 一种虚拟用户环网的带宽共享体系实现方法 |
US7624438B2 (en) | 2003-08-20 | 2009-11-24 | Eric White | System and method for providing a secure connection between networked computers |
DE10339436A1 (de) * | 2003-08-24 | 2005-04-07 | Nova Informationstechnik Gmbh | Verfahren und Vorrichtung zum Aufbau eines virtuellen elektronischen Lehrsystems mit individueller interaktiver Kommunikation |
US20050091215A1 (en) * | 2003-09-29 | 2005-04-28 | Chandra Tushar D. | Technique for provisioning storage for servers in an on-demand environment |
US7814222B2 (en) * | 2003-12-19 | 2010-10-12 | Nortel Networks Limited | Queue state mirroring |
US8543710B2 (en) | 2004-03-10 | 2013-09-24 | Rpx Corporation | Method and system for controlling network access |
US20050204022A1 (en) * | 2004-03-10 | 2005-09-15 | Keith Johnston | System and method for network management XML architectural abstraction |
US7610621B2 (en) * | 2004-03-10 | 2009-10-27 | Eric White | System and method for behavior-based firewall modeling |
US7509625B2 (en) | 2004-03-10 | 2009-03-24 | Eric White | System and method for comprehensive code generation for system management |
US7590728B2 (en) | 2004-03-10 | 2009-09-15 | Eric White | System and method for detection of aberrant network behavior by clients of a network access gateway |
US7665130B2 (en) * | 2004-03-10 | 2010-02-16 | Eric White | System and method for double-capture/double-redirect to a different location |
JP4718242B2 (ja) * | 2004-09-01 | 2011-07-06 | 株式会社エヌ・ティ・ティ・ドコモ | 無線通信装置、無線通信システムおよび無線通信方法 |
DE602004008484T2 (de) * | 2004-11-09 | 2008-08-21 | Nokia Siemens Networks Gmbh & Co.Kg | Ein Ringnetz für ein Burst-geschaltetes Netz mit zentralem Management |
FR2877792B1 (fr) * | 2004-11-09 | 2007-01-05 | Sagem | Procede de dimensionnement d'unites de transport de flux affluents sur un lien entre deux noeuds d'un reseau de transport |
DE602004014784D1 (de) * | 2004-11-12 | 2008-08-14 | Nokia Siemens Networks Gmbh | Ein Ringnetz für ein Burst-geschaltetes Netz mit verteiltem Management |
US7948896B2 (en) * | 2005-02-18 | 2011-05-24 | Broadcom Corporation | Weighted-fair-queuing relative bandwidth sharing |
EP1878174A1 (en) | 2005-04-22 | 2008-01-16 | Olympus Communication Technology of America, Inc. | Defragmentation of communication channel allocations |
US8788640B1 (en) * | 2005-08-16 | 2014-07-22 | F5 Networks, Inc. | Employing rate shaping class capacities and metrics to balance connections |
US7746903B2 (en) * | 2006-03-07 | 2010-06-29 | Harris Corporation | SONET management and control channel improvement |
JP4576350B2 (ja) * | 2006-03-24 | 2010-11-04 | 富士通株式会社 | 通信制御装置および通信制御方法 |
US8169912B2 (en) * | 2006-08-31 | 2012-05-01 | Futurewei Technologies, Inc. | System for dynamic bandwidth adjustment and trading among peers |
US7809022B2 (en) | 2006-10-23 | 2010-10-05 | Harris Corporation | Mapping six (6) eight (8) mbit/s signals to a SONET frame |
EP3142297B1 (en) * | 2007-10-03 | 2019-02-06 | Genesis Technical Systems, Corp. | Dynamic, asymetric rings |
US8305896B2 (en) * | 2007-10-31 | 2012-11-06 | Cisco Technology, Inc. | Selective performance enhancement of traffic flows |
US8520683B2 (en) * | 2007-12-18 | 2013-08-27 | Qualcomm Incorporated | Managing communications over a shared medium |
US7899072B2 (en) * | 2008-09-30 | 2011-03-01 | Verizon Patent And Licensing Inc. | Method and system for network bandwidth allocation |
EP2375773A1 (en) * | 2010-03-29 | 2011-10-12 | Intune Networks Limited | Random GAP insertion in an optical ring network |
US8441927B2 (en) * | 2011-01-13 | 2013-05-14 | Alcatel Lucent | System and method for implementing periodic early discard in on-chip buffer memories of network elements |
US8914497B1 (en) | 2011-12-15 | 2014-12-16 | Amazon Technologies, Inc. | System and method for throttling service requests having non-uniform workloads |
US8898295B2 (en) * | 2012-03-21 | 2014-11-25 | Microsoft Corporation | Achieving endpoint isolation by fairly sharing bandwidth |
US9009305B1 (en) * | 2012-08-23 | 2015-04-14 | Amazon Technologies, Inc. | Network host inference system |
CN106937334B (zh) * | 2012-12-26 | 2020-07-21 | 华为技术有限公司 | 共享无线接入网的方法、发送端和接收端 |
US9344210B2 (en) * | 2014-02-10 | 2016-05-17 | Ciena Corporation | OTN rate adjustment systems and methods for control plane restoration, congestion control, and network utilization |
GB2532043B (en) * | 2014-11-06 | 2021-04-14 | Honeywell Technologies Sarl | Methods and devices for communicating over a building management system network |
CN107046717B (zh) * | 2016-02-05 | 2021-02-02 | 上海诺基亚贝尔股份有限公司 | 在上行信道接入中确定信道感知阈值的方法及设备 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CH577253A5 (ja) * | 1974-05-17 | 1976-06-30 | Ibm | |
US4093823A (en) * | 1976-08-24 | 1978-06-06 | Chu Wesley W | Statistical multiplexing system for computer communications |
US4494232A (en) * | 1981-12-04 | 1985-01-15 | Racal-Milgo, Inc. | Statistical multiplexer with dynamic bandwidth allocation for asynchronous and synchronous channels |
US4998242A (en) * | 1988-12-09 | 1991-03-05 | Transwitch Corp. | Virtual tributary cross connect switch and switch network utilizing the same |
US5241543A (en) * | 1989-01-25 | 1993-08-31 | Hitachi, Ltd. | Independent clocking local area network and nodes used for the same |
EP0510290B1 (en) * | 1991-04-22 | 1997-02-05 | International Business Machines Corporation | Collision-free insertion and removal of circuit-switched channels in a packet-switched transmission structure |
US5247261A (en) * | 1991-10-09 | 1993-09-21 | The Massachusetts Institute Of Technology | Method and apparatus for electromagnetic non-contact position measurement with respect to one or more axes |
US5282200A (en) * | 1992-12-07 | 1994-01-25 | Alcatel Network Systems, Inc. | Ring network overhead handling method |
US5631906A (en) * | 1993-03-11 | 1997-05-20 | Liu; Zheng | Medium access control protocol for single bus fair access local area network |
US5566177A (en) * | 1994-10-09 | 1996-10-15 | International Business Machines Corporation | Priority-based arbitrator on a token-based communication medium |
US5648958A (en) * | 1995-04-05 | 1997-07-15 | Gte Laboratories Incorporated | System and method for controlling access to a shared channel for cell transmission in shared media networks |
US5751720A (en) * | 1995-06-28 | 1998-05-12 | Nippon Telegraph And Telephone Corporation | Pointer processor and pointer processing scheme for SDH/SONET transmission system |
JPH10509296A (ja) * | 1995-09-12 | 1998-09-08 | フィリップス エレクトロニクス エヌ ベー | 同期及び非同期データ部のための伝送システム |
US6091725A (en) * | 1995-12-29 | 2000-07-18 | Cisco Systems, Inc. | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network |
WO1998005144A1 (en) * | 1996-07-25 | 1998-02-05 | Hybrid Networks, Inc. | High-speed internet access system |
EP0844755B1 (en) * | 1996-08-27 | 2007-10-03 | Nippon Telegraph And Telephone Corporation | Trunk transmission network |
US5867484A (en) * | 1997-01-31 | 1999-02-02 | Intellect Network Technologies | Switchable multi-drop video distribution system |
US6272131B1 (en) * | 1998-06-11 | 2001-08-07 | Synchrodyne Networks, Inc. | Integrated data packet network using a common time reference |
US6246667B1 (en) * | 1998-09-02 | 2001-06-12 | Lucent Technologies Inc. | Backwards-compatible failure restoration in bidirectional multiplex section-switched ring transmission systems |
US6762994B1 (en) * | 1999-04-13 | 2004-07-13 | Alcatel Canada Inc. | High speed traffic management control using lookup tables |
DE10205196C2 (de) * | 2002-02-08 | 2003-12-18 | Infineon Technologies Ag | Adressiereinrichtung zum Selektieren regulärer und redundanter Elemente |
-
2001
- 2001-07-17 US US09/907,529 patent/US20020059408A1/en not_active Abandoned
- 2001-11-02 CN CNA018185207A patent/CN1593040A/zh active Pending
- 2001-11-02 AU AU2002232709A patent/AU2002232709A1/en not_active Abandoned
- 2001-11-02 JP JP2002540379A patent/JP2004525538A/ja active Pending
- 2001-11-02 WO PCT/US2001/049694 patent/WO2002037758A2/en not_active Application Discontinuation
- 2001-11-02 EP EP01992245A patent/EP1405467A2/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012529241A (ja) * | 2009-06-05 | 2012-11-15 | ニュー ジャージー インスティチュート オブ テクノロジー | Piコントローラによるレジリエントパケットリングネットワーク内の帯域幅割当て |
JP2012529242A (ja) * | 2009-06-05 | 2012-11-15 | ニュー ジャージー インスティチュート オブ テクノロジー | Pコントローラによるレジリエントパケットリングネットワーク内の帯域幅割当て |
US9215090B2 (en) | 2009-06-05 | 2015-12-15 | New Jersey Institute Of Technology | Allocating bandwidth in a resilient packet ring network by PI-Type controller |
Also Published As
Publication number | Publication date |
---|---|
WO2002037758A3 (en) | 2004-01-08 |
WO2002037758A2 (en) | 2002-05-10 |
EP1405467A2 (en) | 2004-04-07 |
AU2002232709A1 (en) | 2002-05-15 |
CN1593040A (zh) | 2005-03-09 |
US20020059408A1 (en) | 2002-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004525538A (ja) | 共有媒体上での動的トラヒック管理 | |
CA1286758C (en) | Packet switching system arranged for congestion control through bandwidth management | |
EP0734195B1 (en) | A delay-minimizing system with guaranteed bandwith for real-time traffic | |
JP3359926B2 (ja) | 分散待ち行列二重バス網への複数優先トラヒックの公平なアクセス | |
EP1256214B1 (en) | Multi-level scheduling method for multiplexing packets in a communications network | |
US4769811A (en) | Packet switching system arranged for congestion control | |
KR100323258B1 (ko) | 버퍼 관리를 통한 속도 보증 | |
US6810031B1 (en) | Method and device for distributing bandwidth | |
US6594234B1 (en) | System and method for scheduling traffic for different classes of service | |
JP3088464B2 (ja) | Atmネットワークのバンド幅管理とアクセス制御 | |
JP3278865B2 (ja) | トラヒック制御方法 | |
Xie et al. | A dynamic bandwidth allocation scheme for differentiated services in EPONs | |
JP3793189B2 (ja) | ツリーアルゴリズムを使用した動的帯域幅割り当て方法及びこれを使用したイーサネット(登録商標)受動光加入者ネットワーク | |
JPH08331154A (ja) | 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法 | |
US8228797B1 (en) | System and method for providing optimum bandwidth utilization | |
Miyoshi et al. | QoS-aware dynamic bandwidth allocation scheme in Gigabit-Ethernet passive optical networks | |
JP2002543740A (ja) | Atmネットワークのトラフィックを管理する方法および装置 | |
Mowbray et al. | Capacity reservation for multimedia traffic | |
Finn | HLAN-an architecture for optical multi-access networks | |
US7515539B2 (en) | Router which facilitates simplified load balancing | |
JP3704505B2 (ja) | 帯域割当回路及び帯域割当方法 | |
Zhu et al. | A new scheduling scheme for resilient packet ring networks with single transit buffer | |
KR100204492B1 (ko) | 에이티엠망에서의 계층적 라운드 로빈 큐 서비스방식에 있어서 지터 보장방법 | |
AU622698B2 (en) | Access protection and priority control in distributed queueing | |
Leligou et al. | Hardware implementation of multimedia driven HFC MAC protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070206 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070626 |