JPH0855096A - コンピュータネットワークの信号渋滞回避システム - Google Patents

コンピュータネットワークの信号渋滞回避システム

Info

Publication number
JPH0855096A
JPH0855096A JP7181336A JP18133695A JPH0855096A JP H0855096 A JPH0855096 A JP H0855096A JP 7181336 A JP7181336 A JP 7181336A JP 18133695 A JP18133695 A JP 18133695A JP H0855096 A JPH0855096 A JP H0855096A
Authority
JP
Japan
Prior art keywords
rate
source
stamp
field
control cell
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
Application number
JP7181336A
Other languages
English (en)
Inventor
Anthony G Lauck
ジー ローク アントニー
Anna Charny
チャーニー アンナ
Kadangode K Ramakrishnan
ケイ ラマクリシュナン カダンゴーデ
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0855096A publication Critical patent/JPH0855096A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • 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/39Credit based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • 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/5619Network Node Interface, e.g. tandem connections, transit switching
    • 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/563Signalling, e.g. protocols, reference model
    • 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/5632Bandwidth allocation
    • 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/5632Bandwidth allocation
    • H04L2012/5634In-call negotiation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】中間リンクの信号渋滞を回避するように端ステ
ーションの送信レートを制限するシステムを提供する。 【解決手段】通信ネットワークのためのレートベースの
端−端流れ制御システムにおいて、各ソース端ステーシ
ョンは、1組の許された個別の送信レートから対数エン
コードに基づいてその送信レートを選択する。このレー
トベースのトラフィック制御システムは、各ソース端ス
テーションが時間周期Tごとに1つの端−端制御セルを
送信するよう要求する。時間周期Tは、通信ネットワー
クのスイッチによって分かり、これを用いて、所与の仮
想回路に対し、スイッチにおける帯域巾の使用可能な割
り当て(公平な分担)を周期的に計算する。レートベー
スの端−端システムは、ソース端ステーションに対し実
現可能な送信レートを与える。又、ハイブリッド型のリ
ンク・バイ・リンクの流れ制御システムは、端−端シス
テムにより得た実現可能な送信レートを用いて、計算さ
れたレートを持続するためにクレジット情報を更新しそ
してオーバーブッキングするのに必要なバッファのサイ
ズを決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般にコンピュータ
ネットワークにおける信号渋滞の回避に係り、より詳細
には、中間リンクの渋滞を回避するように端末ステーシ
ョンの送信レートを制限することに係る。
【0002】
【従来の技術】コンピュータネットワークが次第に複雑
になるにつれて、より多くの端末ステーションが、より
多くの中間リンクを経て通信する。中間リンクとは、一
般に、ケーブルの各端にノード又はネットワークスイッ
チをもつネットワークケーブルの区分である。リンク
は、ビット/秒の限界として通常表される所定量のネッ
トワークトラフィックしか搬送できない。ネットワーク
トラフィックは一般にパケット又はセルと称され、各々
のパケット又はセルは、ネットワークを経て多数のビッ
トを送信することを必要とする。
【0003】例えば、中間リンクは、多数のソース端ス
テーションから発するトラフィックを搬送する。各ソー
ス端ステーションは、中間リンクがパケットを脱落せず
に取り扱い得る以上のレートでネットワークトラフィッ
クを発生することができる。即ち、各個々の端ステーシ
ョンは、中間リンクを渋滞(塞がり)状態へと駆動し得
る。従って、複数の端ステーションがネットワークトラ
フィックを形成しそしてそのトラフィックの全てが特定
の中間リンクを通るときには、ソース端ステーションに
より形成されるトラフィックを制限するためのメカニズ
ムを設置しなければならないことが明らかである。流れ
制御は、ソース端ステーションにより形成されるトラフ
ィックを制限するメカニズムを説明するのに使用される
一般的な用語である。
【0004】リンクの容量を種々のソース端ステーショ
ンに公平に割り当てることは、流れ制御が注目すべき別
の問題である。1つのソース端ステーションが中間リン
クの全容量を使用する場合には、他のソース端ステーシ
ョンは全く送信できない。渋滞管理システムは、たとえ
送信がソース端ステーションの希望するものよりも低い
レートであっても送信の機会を各ソース端ステーション
に与える。
【0005】多くのネットワーク、特に、接続指向のネ
ットワークにおいては、選択されたソース端ステーショ
ンから選択された行先端ステーションへパケットを転送
するために実質的に安定なルートが確立される。典型的
に、このような安定なルートは、セッション又は仮想回
路と称される。仮想回路は、指定のソース端ステーショ
ンと指定の行先端ステーションとの間で中間リンク及び
ノードを通る経路である。各パケットは仮想回路の指定
を保持し、そして各中間ノードは状態情報を維持してい
て、受信したパケットにおいて仮想回路の指定を検査
し、それに応じてパケットを適当な下流リンクへ進める
ことができる。
【0006】仮想回路のような安定なルートを有するネ
ットワークに典型的に使用される流れ制御の2つの一般
的形式は、第1に、端−端流れ制御であり、そして第2
に、ホップ・バイ・ホップ流れ制御である。
【0007】端−端流れ制御は、一般に、行先端ステー
ションがネットワークに渋滞が生じていることを検出す
るものである。行先端ステーションは、中間ノードが送
信パケットにフラグを挿入することによって渋滞を検出
することができ、このフラグは、中間ノードのバッファ
がいっぱいであるか又は中間ノードが渋滞に陥っている
ことを行先端ステーションに知らせる。次いで、行先端
ステーションは、ソース端ステーションへ返送される確
認パケットに渋滞情報を入れ、そしてソース端ステーシ
ョンは、その渋滞情報に応答して、ソース端ステーショ
ンがネットワークにパケットを送信するレートを減少す
る。
【0008】端−端流れ制御の更なる改善は、ソースス
テーションからネットワークを経て行先ステーションへ
仮想回路に沿って制御パケットを転送し、そしてそれに
応答して行先ステーションが制御パケットを仮想回路に
沿ってソースステーションへ返送することである。制御
パケットがネットワークを通過し、仮想回路の各リンク
を通過するときに、制御パケットにリンク容量情報が書
き込まれる。仮想回路に沿った各リンクにおける各ノー
ドは、そのノードを通過する各仮想回路に関連した送信
レート情報を与えるテーブルを維持している。
【0009】各仮想回路に対する送信レートを計算する
方法に伴う問題は、各中間ノードがそれを通過する各仮
想回路の状態情報を含むテーブルを保持しなければなら
ないことである。更に、新たな仮想回路が確立されたり
又は古い仮想回路が脱落したりといった変化がネットワ
ークに生じたときには、ネットワークがその変化に迅速
に応答しなければならない。端−端流れ制御を適用する
従来の試みでは、このような変化に応答するのに、非常
に長い収斂時間を必要とする。例えば、多くの過去のシ
ステムでは、最悪の場合の収斂時間は、優勢な(又は最
大の)ラウンドトリップ時間に加えて、仮想回路の数に
比例する。このような長い収斂時間は、効率的な渋滞管
理には受け入れられない。
【0010】次に、ホップ・バイ・ホップの流れ制御に
ついて説明する。ホップ・バイ・ホップの流れ制御にお
いては、下流のノードが、そのすぐ上流のノードに、そ
の上流ノードが下流ノードへパケットを送信するレート
を制限するように知らせるメカニズムを用いている。上
流ノードによってパケットが送信されるレートを制限す
るために下流ノードによって使用される典型的なメカニ
ズムは、クレジットを発行する。下流ノードによって発
行されるクレジットは、下流ノードにおけるバッファの
数を表す。このクレジット情報は、制御パケットにおい
て、上流ノードへ送られる。上流ノードは、それがクレ
ジットを有するところのパケットの数のみを送信するこ
とが許され、そして上流ノードは、パケットを送信する
ときにそのクレジットカウントを減少する。下流ノード
がパケットを受け取るときには、パケットがバッファに
記憶され、その後に、バッファが下流ノードによって排
出されて、パケットが更に処理される。パケットが下流
ノードによって前進されるときには、下流ノードはクレ
ジット情報を上流ノードに送信する。従って、上流ノー
ドは、クレジットを受け取り、それを用いて、下流ノー
ドへパケット(又はセル)を送信するレートを制御す
る。ネットワークにおける全てのノードは、ホップ・バ
イ・ホップのクレジットをベースとする流れ制御を使用
し、従って、それらのソースステーションは、各ノード
が取り扱いできるパケットの数のみを送信することが許
される。
【0011】ホップ・バイ・ホップの流れ制御は、静的
なバッファ作用又は動的なバッファ作用のいずれかを用
いることにより実施されている。静的なバッファ作用の
場合には、各リンクを完全に占有するために各仮想回路
に対して充分なバッファを設けなければならない。各個
々の仮想回路は、中間リンクの容量を完全に使用するこ
とができる。従って、各仮想回路は、リンクの容量を完
全に使用するために、充分なバッファが指定されねばな
らない。多数の仮想回路が確立されるときには必要なバ
ッファの数が著しいものとなる。例えば、非同期転送モ
ード即ちATMと称する送信プロトコルにおいては、仮
想回路を指示するために24ビットが指定される。従っ
て、考えられる仮想回路の数は、224となる。このよう
に多くの仮想回路に対し全リンク容量のバッファ作用を
与えることは実際的でない。そしてこれら仮想回路のど
れが全リンク容量のバッファ作用を必要としているかは
知り得ない。
【0012】第2に、動的なバッファ作用が使用される
ときには、特定の中間ノードにおいて、そのノードを通
過する全ての仮想回路に対してバッファのプールが指定
される。幾つかのバッファは、必要に応じて各仮想回路
に割り当てられる。問題は、ネットワークが仮想回路を
加算又は減算することにより変更するときに、その変更
に対するシステムの応答が非常に遅いことである。例え
ば、新たな仮想回路が追加されるときには、その新たな
仮想回路に指定されるべく使用できるバッファがないこ
とがある。というのは、それらは既にその前の割り当て
によっていっぱいになっているからである。これらバッ
ファは、ゆっくりと排出する。従って、新たな仮想回路
は、送信を開始できるまでに長時間待機しなければなら
ない。このような長時間の待機は、効率的なネットワー
ク管理においては受け入れられない。
【0013】
【発明が解決しようとする課題】そこで、非常に多数の
仮想回路へと拡張することができ、確立される仮想回路
の数の変化に迅速に応答することができ、多数の異なる
ソース端ステーションの異なる要求に応答することがで
き、そして全てのソース端ステーションに対してネット
ワークリソースの公平な割り当てを確立することができ
る流れ制御システムが要望されている。
【0014】
【課題を解決するための手段】本発明は、その広い形態
においては、請求項1に記載のコンピュータネットワー
クのための流れ制御システムに関する。
【0015】以下に述べるように、コンピュータネット
ワークにおいてソースステーションの送信レートを制御
するためのシステムは、コンピュータネットワークに制
御セルを送信するための制御セル送信器を備え、制御セ
ルは確立された仮想回路を進み、制御セルは、スタンプ
されたレートフィールドに書き込まれるスタンプされた
送信レートを有すると共に、u bitフィールドに書
き込まれる制御u bit値を有しており;更に、仮想
回路に対して公平な送信レートを選択するためのネット
ワークスイッチのセレクタと;ネットワークの入リンク
を経て制御セルを受け取りそして上記スタンプ送信レー
ト及びu bit値を読み取るためのネットワークスイ
ッチの受信器と;制御セルを出リンクに送信する前に制
御セルのスタンプレートフィールドに新たなスタンプ送
信レートを書き込み、この新たなスタンプ送信レート
は、受け取ったスタンプレート及び公平な送信レートに
応答して計算され、そして更に、その新たなスタンプ送
信レートが受け取ったスタンプレートと異なるかどうか
を指示する値を出ていく制御セルのu bitフィール
ドに書き込むためのネットワークスイッチのプロセッサ
と;制御セルを受け取ると共に、そのスタンプレートフ
ィールド及びu bitフィールドにおいて行先ステー
ションにより受け取られた値を含む返送セルを送信する
ための行先ステーションの受信器と;その返送セルを受
け取り、返送されたスタンプレート及び返送されたu
bit値を読み取るためのソースステーションの受信器
と;その返送されたスタンプレート及び返送されたu
bit値に応答して装置により複数のデータセルを送信
するための新たなレートをセットするためのソースステ
ーションの送信レートコントローラとを備えている。こ
のシステムは、グローバルタイミング手段及び個別送信
レート発生手段によって上記方法を実施し、このグロー
バルタイミング手段は、事象のタイミングをとるために
各ソースステーション及び各スイッチに配置されて、ソ
ースステーションにおいて確立された各仮想回路に対す
る1つの制御セルの送信をソースステーションにおいて
タイミングどりすると共に、スイッチにおいて公平な送
信レートの計算をタイミングどりし;そして上記個別送
信レート発生手段は、複数の許された個別の送信レート
を計算すると共に、制御セルに書き込まれる全てのスタ
ンプ送信レート及び全ての公平な送信レートが複数の許
された個別の送信レートのうちの1つのレートとして選
択されることを要求する。更に、このシステムは、複数
の許された個別の送信レート及びその各々の許された個
別の送信レートで送信するソース端ステーションの数の
みが維持されるように各スイッチに状態情報を維持す
る。従って、このシステムは、仮想回路ごとのベースで
各スイッチに機能的に同等な状態情報を維持する必要性
を軽減する。
【0016】複数のソースステーションに対する送信レ
ートを選択するシステムは、全ての確立された仮想回路
において各端ステーションの実現可能な送信レートを確
立する選択手段を備え、この実現可能なレートは、ネッ
トワークの全てのリンクに対し、リンクを通る全ての仮
想回路の全ての送信レートの和がそのリンクの容量を越
えないように、各ソースステーションの送信レートとし
て定められ;更に、リンクを通る仮想回路の間に使用可
能なバッファを割り当てる手段と;割り当てられるバッ
ファの割合が仮想回路の実現可能な送信レートの割合に
等しくなるように仮想回路にバッファを割り当てる手段
と;ソースステーションが上記実現可能な送信レートを
越える送信レートでデータセルを送信できるようにネッ
トワークステーションにおいてバッファを動的に割り当
てるためのホップ・バイ・ホップの流れ制御手段とを備
えている。
【0017】
【発明の実施の形態】以下、添付図面を参照し、本発明
の好ましい実施の形態を一例として詳細に説明する。
【0018】レートベースの端−端トラフィック制御シ
ステム 図1ないし10は、通信ネットワークにおいて端から端
へレートベースのトラフィック制御を行うシステムの要
素を示している。ここに開示するレートベースのトラフ
ィック制御システムは、各ソース端ステーションが1組
の許された個別の送信レートからその送信レートを選択
することを要求する。この1組の許された個別の送信レ
ートは、対数エンコードに基づく。ここに開示するレー
トベースのトラフィック制御システムは、更に、各ソー
ス端ステーションが各時間周期Tごとに1つの端−端制
御セルを送信することを必要とする。この時間周期T
は、通信ネットワークのスイッチによっても知られ、所
与の仮想回路に対するスイッチにおいて使用可能な帯域
巾割り当て(又は「公平な分担」)を周期的に計算する
のに使用される。
【0019】図1は、レートベースのトラフィック制御
システムにおける要素の実施形態の例を示す。図1は、
ソース端ステーション100と、スイッチ102と、行
先端ステーション104とを備えている。ソース端ステ
ーション100は、通信リンク105によってスイッチ
102に接続され、そして行先端ステーション104
は、通信リンク139によりスイッチ102に接続され
ている。
【0020】図1に示す要素の動作中には、ソース端ス
テーション100から発する多数の仮想回路がある。各
仮想回路のルートは予め定められ、各ルートの決定はこ
こに開示するシステムの範囲外である。例示の目的で、
ソース端ステーション100から発する1つ以上の仮想
回路は、行先端ステーション104を伴う。
【0021】図1の例は、ソース端ステーション100
と行先端ステーション104との間のルートに沿って単
一のスイッチ102を示している。しかしながら、ここ
に開示するシステムは、ソース端ステーション及び行先
端ステーションが、多数のスイッチを含むルートを有す
る仮想回路を経て通信する場合にも適用できる。ここに
開示するシステムは、更に、単一のスイッチを通る仮想
回路を有する多数のソース端ステーションが存在する場
合にも適用できる。又、ここに開示するシステムは、多
数のスイッチがあって、合流及び分岐するトラフィック
の流れが非常に複雑に構成されたネットワークにも同様
に有用である。
【0022】ソース端ステーション100は、メモリ1
08と、レート制御プロセス112と、データトラフィ
ック整形プロセス114と、タイマー116と、ネット
ワークインターフェイス118とを有するように示され
ている。メモリ108は、ソースデータ構造体110を
有するように示されている。メモリ108及びネットワ
ークインターフェイス118は、バス120に接続され
る。ネットワークインターフェイス118は、更に、通
信リンク105を経てスイッチ102に接続される。例
示の目的で、レート制御プロセス112及びデータトラ
フィック整形プロセス114は、1つ以上のアプリケー
ション指向の集積回路(ASIC)におけるプロセスで
ある。従って、1つ以上のASICがバス120に接続
される。
【0023】或いは又、レート制御プロセス112及び
データトラフィック整形プロセス114は、ソース端ス
テーション100内のマイクロプロセッサで実行される
プロセスでもよい。同様に、別の形態では、マイクロプ
ロセッサがバス120に接続される。
【0024】スイッチ102は、メモリ122と、デー
タ送りプロセス128と、ホップ・バイ・ホップの流れ
制御プロセス130と、レート制御情報プロセス132
と、周期的な更新プロセス134と、タイマー136
と、ネットワークインターフェイス138とを有するよ
うに示されている。メモリ122は、レートテーブル1
24と、仮想回路テーブル126と、A−fair(公
平)変数127とを有するように示されている。メモリ
122、タイマー136及びネットワークインターフェ
イス138は、バス140に接続される。ネットワーク
インターフェイス138は、更に、通信リンク105を
経てソース端ステーション100に接続される。又、ネ
ットワークインターフェイス138は、通信リンク13
9を経て行先端ステーション104にも接続される。例
示の目的で、データ送りプロセス128、ホップ・バイ
・ホップの流れ制御プロセス130、レート制御情報プ
ロセス132、及び周期的更新プロセス134は、1つ
以上のアプリケーション指向の集積回路(ASIC)に
おけるプロセスである。従って、1つ以上のASICが
バス140に接続される。
【0025】或いは、データ送りプロセス128、ホッ
プ・バイ・ホップの流れ制御プロセス130、レート制
御情報プロセス132、及び周期的更新プロセス134
は、スイッチ102内のマイクロプロセッサで実行され
るプロセスであってもよい。同様に、別の形態では、マ
イクロプロセッサがバス140に接続される。
【0026】行先端ステーション104は、メモリ14
及びネットワークインターフェイス146を備え、これ
らはバス148に接続される。ネットワークインターフ
ェイス146は、更に、通信リンク139を経てスイッ
チ102に接続される。例示の目的で、制御セル返送プ
ロセス144は、1つ以上のアプリケーション指向の集
積回路(ASIC)におけるプロセスである。従って、
1つ以上のASICがバス148に接続される。
【0027】或いは、制御セル返送プロセス144は、
スイッチ102内のマイクロプロセッサで実行されるプ
ロセスであってもよい。同様に、別の形態では、マイク
ロプロセッサがバス148に接続される。
【0028】図2は、図1のソース端ステーション10
0に示されたソースデータ構造体110の内容を示す例
である。通信リンク105を通るソース端ステーション
100の各仮想回路に対し、ソースデータ構造体には3
つの関連フィールドがある。即ち、ソースのスタンプさ
れたレート(SSR)と、ソースの許された送信レート
(SATR)と、需要レート(demand)である。
従って、所与の仮想回路に対し、ソースのスタンプされ
たレート205、ソースの許された送信レート210及
び需要レート215が示されている。
【0029】又、図2には、最大ラウンドトリップフィ
ールド220も示されている。ソース端ステーション1
00当たり1つの最大ラウンドトリップフィールド22
0があるが、ネットワークの全てのノードの最大ラウン
ドトリップフィールド220に記憶される値は、ネット
ワークにおける最長ラウンドトリップ時間に等しい。
【0030】所与の仮想回路に対する需要フィールドの
値は、その仮想回路のユーザによって要求される最大の
データレートに初期化される。最大データレートが未知
である場合には、仮想回路に対する需要フィールドの値
が無限大に初期化される。
【0031】所与の仮想回路に対するソースの許された
送信レートは、その仮想回路に対する送信レート限界で
ある。図1に示されたデータトラフィック整形プロセス
114は、その仮想回路に対するソースの許された送信
レートフィールドの内容に応答して各仮想回路の送信レ
ートを制御し、仮想回路に対する実際の送信レートが仮
想回路のソースの許された送信レートを越えないように
する。所与の時間におけるソースの許された送信レート
フィールドの値は、1組の許された個別の送信レートの
1つに等しい。1組の許された個別の送信レートの各々
は、図3に示すスイッチレートテーブルエントリーの1
つに対応する。
【0032】図2に示す要素の初期化において、各仮想
回路に対するソースのスタンプレートフィールド(SS
R)は、その仮想回路に対する需要に等しくセットさ
れ、そしてソースの許された送信レートは、所定値にセ
ットされる。ソースの許された送信レートは、首尾よく
設定された仮想回路に対する最小の受け入れられる進行
を考慮する最小値に最初にセットされる。データトラフ
ィック整形プロセスが、仮想回路に対するソースの許さ
れた送信レートの所定の最小値で最初に送信する場合に
は、その仮想回路の実際の送信レートが一時的に実現不
可能となる。この影響は、データトラフィック整形プロ
セスが、最初に、2*(D+T)に等しい時間周期中に
新たに確立された仮想回路における送信を遅延する場合
には克服される。但し、Dは、ネットワークにおける最
大ラウンドトリップ遅延である。
【0033】図3は、レートテーブル300を示してお
り、これは、図1のスイッチ102に示されたレートテ
ーブル124の一例である。レートテーブル124の各
エントリーは、所定の1組の許された個別の送信レート
の1つに対応する。又、ソース端ステーションの実際の
送信レートは、所定の1組の許された個別の送信レート
から選択される。所定の1組の許された個別の送信レー
トは、以下に述べるレートテーブル124の対数エンコ
ードを用いて表される。図3の例は、1ビット/秒から
3.9ギガビット/秒の範囲の約9%離れた256個の
個別のレートを与える。
【0034】図3のレートテーブル300は、i=0な
いし255のインデックスを有する256個のエントリ
ーを含む。レートテーブル300にインデックスiを有
する各エントリーに対し、カウントフィールドni 及び
ビットai がある。レートテーブル300の各エントリ
ーは、次の式によって与えられる個別の送信レートに対
応する。 20.125*i
【0035】動作中に、カウントフィールドni がレー
ト制御情報プロセス132によって使用され、スタンプ
レートフィールド(PSR)値がそのエントリーに関連
した個別の送信レートに等しく且つ最後の時間周期T中
にスイッチ102によって受け取られた端−端制御セル
の数がカウントされる。フィールドai は、少なくとも
1つの端−端制御セルが時間周期T中に受け取られ、そ
してそのエントリーに関連した個別の送信レートに等し
いスタンプレートフィールド(PSR)値を含んでお
り、且つそのスタンプレートフィールド(PSR)値が
A−fair変数127の現在値以下である場合に、レ
ート制御情報プロセス132によって1にセットされ
る。
【0036】最初に、全ての「a」及び「n」フィール
ドの値がゼロにセットされる。ni及びai フィールド
は、図1の周期的更新プロセス134の動作中に変更さ
れ、これは図9において詳細に述べる。最初に、A−f
air127は、C/Nにセットされる。但し、Cはそ
のスイッチにおける全リンク容量であり、そしてNはス
イッチを通過する仮想回路の数である。値Nは、1つの
時間周期Tにわたって累積されたスイッチテーブルの全
てのカウンタフィールド値ni の和として決定される。
【0037】図3のスイッチレートテーブル300のエ
ントリーに関連した個別のレートは例示の目的で示され
ている。別の実施形態では、スイッチテーブル300の
1組のエントリーに対応する異なる1組の許された個別
のレートが使用される。
【0038】図4は、図1のソース端ステーション10
0に示されたレート制御プロセス112の一例において
2つの独立したサブプロセスにより実行されるステップ
を示している。ステップ400及び405は、第1の独
立したサブプロセスであり、そしてステップ410及び
415は、第2の独立したサブプロセスである。
【0039】図4のステップ400において、レート制
御プロセスは、図1に示すタイマー116の時間切れを
検出する。タイマー116の時間巾はTである。図1の
スイッチ102に示されたタイマー136の時間巾もT
に等しい。タイマー136とタイマー116は同期され
る必要はないが、時間巾がほぼ同じでなければならな
い。これらタイマーにおいて、僅かな量のクロックスキ
ュー又はドリフトは受け入れられる。
【0040】時間周期Tの値を選択するために考慮すべ
き多数の点について説明する。Tの値が大きいほど、制
御トラフィックにより消費される帯域巾の量が小さくな
る。しかしながら、Tの値が大きいほど、システムの収
斂時間が長くなる。Tの正しい値を選択する上で有用な
3つの更に考慮すべき点は、次の通りである。 1.制御トラフィックは、ボトルネック容量のあるパー
センテージ以上消費してはならず且つそれ自体が渋滞し
てはならない。これは、次の不等式を生じる。 T>=c*len/rmin 但し、rmin は、ネットワーク内の任意のリンクにおけ
る全制御トラフィックに対する最小割り当てレート(ビ
ット/秒)であり、lenは、制御パケットの長さ(ビ
ット)であり、そしてcは、端−端制御セルのみにより
消費されるボトルネック帯域巾の比における所望の上限
である。 2.システムがパケットロスに対して安定であるよう確
保するために、制御パケットの2つの連続するロス間の
時間Lは、アルゴリズム収斂時間CTより大きくなけれ
ばならない。収斂時間の理論的な上限は既知であり、C
T<=4*N*(L*D+T)である。但し、Nは最適
なレートベクトルにおける異なるレートの数であり、D
はネットワークにおける最大ラウンドトリップ遅延であ
る。ここに開示するシステムにおいて、1組の許される
送信レートに対しN<=256である。これらの考慮す
べきことから、次の式が得られる。 T<(L/4*N)−D ロスの低いネットワークの場合は、Lが大きく、そして
この不等式の右側も大きくなる。 3.ここに開示するシステムは、時間周期Tがネットワ
ーク全体にわたり周波数同期されることに依存する。ネ
ットワーク全体にわたり周期Tの種々のクロックにおけ
るクロックスキューは、Tの絶対値が若干異なるという
ものである。しかしながら、最大のスキューがSで境界
定めされる場合には、アルゴリズムは、Tが次のように
選択されるならば、安定のままである。 T>4*N*S クロックスキュー限界Sが充分小さく保たれる場合に
は、上記関係式の右側も、低く保つことができる。
【0041】図4に示す要素の説明を続けると、ステッ
プ400においてタイマーの時間切れが検出された後
に、レート制御プロセスは、ステップ405において、
端−端制御セルを送信する。レート制御プロセスは、図
1に示されたネットワークインターフェイス118を使
用して、端−端制御セルを送信する。ステップ405に
おいて送信される端−端制御セルのフィールドは、図1
1に示されている。ステップ405において送信される
端−端制御セルのフィールドの値は、図1に示されたソ
ースデータ構造体110に応答してレート制御プロセス
によって決定される。端−端制御セルのフィールドの値
を決定するためのステップが図5に示されている。端−
端制御セルは、所与の仮想回路を経て送られる。端−端
制御セルのフィールドは、ソース端ステーションと行先
端ステーションとの間のルートに沿ったスイッチにより
変更することができる。行先端ステーションは、ステッ
プ405において送信される端−端制御セルを受け取る
と、その端−端制御セルをソース端ステーションへ返送
して戻す。
【0042】ステップ410では、レート制御プロセス
は、端−端制御セルを受け取る。レート制御プロセス
は、ネットワークインターフェイス118を用いて、制
御セルを受け取る。ステップ410の後に、ステップ4
15において、レート制御プロセスは、ステップ410
で受け取られた制御パケットのフィールドの内容に応答
して、図1に示すソースデータ構造体110の内容を更
新する。
【0043】図5は、端−端制御セルを仮想回路に送信
するためにソース端ステーションの1つの実施形態によ
り実行されるステップを示している。図5に示されたス
テップは、図1に示されたレート制御プロセス112に
よって実行され、図4に示されたステップ405に対応
する。
【0044】ステップ505において、レート制御プロ
セスは、仮想回路に対するソーススタンプレート(SS
R)フィールドの値を、その仮想回路に対する需要フィ
ールドの値と比較する。ソーススタンプレート(SS
R)フィールドは、図2に要素205として示されてい
る。需要フィールドは、図2に要素215として示され
ている。ソーススタンプレートフィールドの値が需要フ
ィールドの値より大きい場合には、ステップ505の後
に、ステップ510へ続く。ソーススタンプフィールド
の値が需要フィールドの値以下である場合には、ステッ
プ505の後に、ステップ515へ続く。
【0045】ステップ515において、レート制御プロ
セスは、端−端制御セルのスタンプレートフィールド
(PSR)を、その端−端制御セルが送信されるべき仮
想回路に対するソーススタンプレート(SSR)フィー
ルドの値に等しくセットする。又、ステップ515にお
いて、レート制御プロセスは、端−端制御セルのUビッ
トの値を0にセットする。ステップ515の後にステッ
プ520が行われる。
【0046】ステップ510において、レート制御プロ
セスは、端−端制御セルのスタンプレートフィールド
(PSR)を、その端−端制御セルが送信されるべき仮
想回路に対する需要フィールドの値に等しくセットす
る。又、ステップ510では、レート制御プロセスは、
端−端制御セルのUビットの値を1にセットする。ステ
ップ510の後にステップ520が行われる。ステップ
520では、レート制御プロセスが端−端制御セルを送
信する。
【0047】図6は、制御セルの受信に応答してソース
データ構造体を更新するためにソース端ステーションの
1つの実施形態により実行されるステップを示す図であ
る。図6に示されたステップは、図1に示されたレート
制御プロセス112によって実行され、図4に示された
ステップ415に対応する。
【0048】ステップ600において、レート制御プロ
セス112は、図4のステップ410で受信した端−端
制御セルのUビット値がゼロに等しいかどうか判断す
る。Uビット値がゼロに等しい場合には、ステップ60
0の後にステップ605が行われる。Uビット値がゼロ
に等しくない場合には、ステップ600の後にステップ
610に続く。ステップ605において、レート制御プ
ロセス112は、端−端制御セルが受け取られた仮想回
路に対するソーススタンプレートフィールド(SSR)
の値を、その仮想回路に対する需要フィールドの値にセ
ットする。ステップ605において、その仮想回路に対
するソースの許された送信レート(SATR)の値は不
変である。
【0049】図6のステップ610において、レート制
御プロセス112は、ステップ410で受け取った端−
端制御セルのスタンプレートフィールド(PSR)の値
を、その端−端制御セルが受け取られた仮想回路に対す
るソースのスタンプレートフィールド205の値と比較
する。その受け取った端−端制御セルのスタンプレート
フィールド(PSR)の値が、その仮想回路に対するソ
ースのスタンプレートフィールド(SSR)の値以下で
ある場合には、ステップ610の後にステップ615が
続く。その受け取った端−端制御セルのスタンプレート
フィールド(PSR)の値が、その仮想回路に対するソ
ースのスタンプレートフィールド(SSR)の値以上で
ある場合には、ステップ610の後にステップ620が
続く。
【0050】ステップ620において、レート制御プロ
セス112は、端−端制御セルが受け取られた仮想回路
に対するソーススタンプレートフィールド205の値
を、その受け取った端−端制御セルのスタンプレートフ
ィールド(PSR)の値にセットする。ステップ620
の後に、ステップ625が続く。
【0051】ステップ610の結果として、ステップ6
25は、受け取った端−端制御セルのスタンプレートフ
ィールド(PSR)の値がソースデータ構造体のソース
スタンプレートフィールド(SSR)の値より大きいと
きだけ実行される。ステップ625において、レート制
御プロセス112は、端−端制御セルが受け取られた仮
想回路に対するソースの許された送信レートを調整す
る。ステップ625には2つの別の実施例がある。ステ
ップ625のこれら別の実施例が図7及び8に示されて
いる。
【0052】図7は、図6に示すステップ625の第1
の実施例を示している。ステップ620へ進んだ結果と
して、ソース端ステーションは、各仮想回路に対しソー
ススタンプレートフィールド(SSR)に現在レート推
定値を維持できる。しかしながら、ソース端ステーショ
ンがソーススタンプレートフィールド(SSR)の値を
ソースの許された送信レートフィールドへ単にコピーす
る場合には、低速の仮想回路がソース端ステーションに
そのソースの許された送信レート値を低下するよう知ら
せる前に高速の仮想回路がそのソースの許された送信レ
ート値を上昇させたとすれば、ソースの許された送信レ
ートは一時的に実現不能になる。
【0053】実施例625Aは、ソースの許された送信
レートを常時実現可能にする。実施例625Aのステッ
プ630において、レート制御プロセス112は、2*
(D+T)に等しい時間周期中に既に受け取られている
端−端制御セルに基づいて仮想回路に対する許された送
信レートを更新するのを遅らせる。但し、Dは、図2に
示すソースデータ構造体における最大ラウンドトリップ
フィールド220の値である。実施例625Aのステッ
プ635において、レート制御プロセス112は、既に
受け取られた端−端制御セルのスタンプレートフィール
ド(PSR)の値をその仮想回路に対するソースの許さ
れた送信レートフィールド210へ書き込む。ステップ
630の間に、時間周期が経過する前に、Uビットが1
に等しく且つスタンプレートフィールド(PSR)値が
ソースの許された送信レートフィールド(SATR)の
現在値より低い新たな端−端制御セルが受け取られる場
合には、ソースの許された送信レートフィールド(SA
TR)の値は、この新たな端−端制御セルのスタンプレ
ートフィールド(PSR)値に直ちにセットされ、そし
てその後は、ステップ630の遅延時間周期の終わりに
増加されない。この方針の結果として、仮想回路に入る
には、一時的な実現不能性を回避するために送信開始の
前に2*(D+T)時間だけ待機しなければならない。
【0054】図8は、図6に示すステップ625の別の
実施例625Bを示している。この実施例625Bは、
実施例625Aよりも複雑でなく、従って、コストもか
からない。しかしながら、実施例625Bは、許された
送信レートが常時実現可能であるよう確保しない。図8
の実施例625Bのステップ640において、レート制
御プロセス112は、受け取った端−端制御セルのUビ
ットの値を1と比較する。受け取った端−端制御セルの
Uビットの値が1に等しいことをレート制御プロセス1
12が決定すると、ステップ640の後にステップ64
5が続く。受け取った端−端制御セルのUビットの値が
1に等しくないことをレート制御プロセス112が決定
すると、ステップ640の後にステップ650が続く。
【0055】ステップ645において、レート制御プロ
セス112は、受け取った端−端制御セルのスタンプレ
ートフィールド(PSR)からの値をその仮想回路に対
するソースの許された送信レートフィールド210(S
ATR)へ直ちに書き込む。ステップ650において、
レート制御プロセス112は、ソースの許された送信レ
ートフィールド210の値を不変のままにする。図8に
示す実施例625Bの最適な実施例において、ステップ
645は、図6に示すステップ605に組み合わされ、
そしてステップ650は、図6に示すステップ625に
おいて実行される。従って、図8に示された実施例62
5Bの最適な実施例において、Uビットの値を決定する
ステップは、図6に示すステップ600において一度だ
け実行され、ステップ640は必要とされない。
【0056】図9は、図1のスイッチ102に示す周期
的更新プロセス134の1つの実施の形態により実行さ
れるステップを示す図である。図9のステップ700に
おいて、周期的な更新プロセス134は、図1に示され
たタイマー136の時間切れを検出する。タイマー13
6の時間巾はTである。上記のように、図1のスイッチ
102に示されたタイマー116の時間巾もTに等し
い。
【0057】ステップ700に続き、ステップ705に
おいて、周期的更新プロセス134は、図1に示すA−
fair変数127の値を再計算する。A−fair変
数127の値は、「ボトルネック」になるとまだ分から
ない仮想回路に対しスイッチにおいて使用可能な帯域巾
の公平な分担を表す。A−fair変数127の値を再
計算する式は、次の数2の通りである。
【数2】 ここで、Cはスイッチの全リンク容量であり、n及びa
は、図3に示すスイッチレートテーブルエントリーの
「n」及び「a」フィールドからの値である。
【0058】上記式から得られる値は、スイッチレート
テーブルのエントリーに対応する個別のレート間のどこ
かにあるので、その得られる値は、スイッチレートテー
ブルのエントリーに対応する最も近い小さな個別のレー
トに丸められる。
【0059】ステップ705に続いて、ステップ710
において、周期的な更新プロセス134は、スイッチレ
ートテーブルエントリーの「a」フィールドを更新す
る。第1の実施例においては、ステップ710は、
「a」フィールドを次のように更新する。 j=0ないしj=255に対し、 r(j)=2exp(0.125 * j) r(j)がA−fairより大きく且つa(j)=1の
場合に、 a(j)=0にセットする
【0060】別の実施例においては、ステップ710
は、「a」フィールドを次のように更新する。 Fair Index=8*log2 (A−fair) j=0ないしj=255の場合に、 j>Fair Indexであり且つa(j)=1であ
る場合には、 a(j)=0にセットする
【0061】ステップ710に続き、ステップ715に
おいて、周期的更新プロセス134は、上記のアルゴリ
ズムを用いてA−fairを2回目に再計算する。ステ
ップ715は、図3に示すスイッチレートテーブルのエ
ントリーの「a」フィールドの変更された値に基づいて
作用することに注意されたい。ステップ715の後、周
期的な更新プロセス134は、図3に示すスイッチレー
トテーブルの全てのエントリーにおける「n」フィール
ドの値をゼロにセットする。
【0062】図10は、図1のスイッチ102に示され
たレート制御情報プロセス132の1つの実施の形態に
より実行されるステップを示している。ステップ800
において、レート制御情報プロセス132は、端−端制
御セルを受け取る。ステップ800に続いて、ステップ
805において、レート制御情報プロセス132は、受
け取った端−端制御セルのスタンプレートフィールド
(PSR)の値をスイッチ102のA−fair変数1
27の値と比較する。受け取った端−端制御セルのスタ
ンプレートフィールド(PSR)の値がA−fair変
数127の値以上である場合には、ステップ805の後
にステップ810が続く。さもなくば、ステップ805
の後にステップ815が続く。
【0063】ステップ810において、レート制御情報
プロセス132は、受け取った端−端制御セルのスタン
プレートフィールド(PSR)の値をA−fair変数
127の値にセットし、そして受け取った端−端制御セ
ルのUビットを1にセットする。ステップ810の後に
ステップ815が続く。ステップ815において、レー
ト制御情報プロセス132は、受け取った端−端制御セ
ルのスタンプレートフィールド(PSR)の値により指
示された送信レートに対応するスイッチレートテーブル
エントリーに対してスイッチレートテーブルへのインデ
ックス「i」を決定する。ステップ815に続き、レー
ト制御情報プロセス132は、スイッチレートテーブル
におけるカウンタフィールドni を増加する。
【0064】ステップ820に続き、ステップ825に
おいて、レート制御情報プロセス132は、受け取った
端−端制御セルのスタンプレートフィールド(PSR)
の値をA−fair変数の値と比較する。受け取った端
−端制御セルのスタンプレートフィールド(PSR)の
値がA−fair変数の値以下である場合には、ステッ
プ825の後にステップ830が続く。ステップ830
において、レート制御情報プロセス132は、ステップ
820で決定されたインデックス「i」を用いて、図3
に示すスイッチレートテーブルのai ビットをセットす
る。
【0065】図10に示すステップに続いて、レート制
御情報プロセス132は、受け取った端−端制御セルを
その仮想回路のルートの次のノードへ進める。端−端制
御セルが最終的に行先端ステーション104により受け
取られると、制御セル返送プロセス144が端−端制御
セルをソース端ステーション100へ返送する。
【0066】図11は、端−端制御セル内のフィールド
の一例を示す図である。上記したように、端−端制御セ
ルは、ソース端ステーション100によって周期的に送
られる。端−端制御パケットは、高い優先順位で送られ
る。時間周期Tごとに各仮想回路に対し1つの端−端制
御セルが送信される。但し、Tは全てのステーション及
びスイッチに知られており、そして図1に示すタイマー
116及び136の時間巾である。この周期Tは、制御
トラフィックが常に実現可能であるように予め決定され
る。各仮想回路を経て端−端制御セルが周期的に送られ
る結果として、時間周期T当たりに仮想回路ごとに各ス
イッチに厳密に1つの端−端制御セルが受け取られる。
これは、各仮想回路の送信レートを維持するのではな
く、各時間周期Tに所与のエンコードされたレートをも
つ仮想回路の数をスイッチがカウントできるようにす
る。
【0067】図11は、レートエンコードに使用される
フィールド、特にスタンプレートフィールド(PSR)
900を示している。又、図11には、Uビット905
も示されている。ソース端ステーションのレート制御プ
ロセス112は、図5について述べたように、スタンプ
レートフィールド(PSR)900及びUビット905
の値を書き込む。第1の実施例では、スタンプレートフ
ィールド(PSR)900は、1組の許された個別の送
信レートの1つとして書き込まれる。別の実施例では、
スタンプレートフィールド(PSR)900は、スイッ
チレートテーブルへのインデックスとしてエンコードさ
れる。この別の実施例では、スタンプレートフィールド
の値は、式「i」=8*log2 Rateにより決定さ
れたインデックス「i」に等しい。但し、Rateは、
1組の許された個別の送信レートの1つである。
【0068】ハイブリッド型流れ制御方法 ハイブリッド(混成型)流れ制御方法は、端−端流れ制
御方法を用いて各仮想回路の送信レートを計算しそして
これらのレートを用いてホップ・バイ・ホップ流れ制御
方法に対してバッファを割り当てるような本発明の方法
である。ホップ・バイ・ホップ流れ制御方法は、典型的
に、クレジットベースのメカニズムによって実施され
る。
【0069】ホップ・バイ・ホップ流れ制御方法は、各
仮想回路ごとのバッファの割り当てを必要とする。各仮
想回路に対する送信レートは、特定の仮想回路のバッフ
ァに割り当てねばならないメモリの量を計算するために
必要とされる。動的にバッファを割り当てる従来の方法
は、各仮想回路に対し観察された送信レートを測定する
ように試みている。観察された送信レートの測定は、多
数の理由で不確実であり、選択される観察時間周期は任
意であり、そしてソースはビットをバーストで送信し、
従って、観察時間周期は、その仮想回路における平均送
信レートにほとんど又は全く関係しない瞬間的な結果を
与えるだけである。長い観察時間周期が選択された場合
には、システムは、ネットワークの状態の変化に応答し
ないことになる。
【0070】ソースステーションに対する実現可能な送
信レート ハイブリッド型流れ制御方法の説明において、先ず、図
1ないし11の方法により決定された「実現可能な送信
レート」を厳密に検討することが有用である。ネットワ
ークのソースステーションに対する実現可能な送信レー
トは、ネットワークの全てのリンクに対し、ネットワー
クの任意のリンクを通る全ての仮想回路のレートの和が
そのリンクの容量を越えないように定められる。図12
には、タイミング図1002が示されている。時間軸1
004は、ソースステーションによって送られるセルの
間隔を示すのに使用される。バイトの第1バースト10
10が示されている。バースト1010におけるバイト
の数は、ソースステーションにより背中合わせの状態で
送信されるセルの数によって決定される。例えば、1つ
のATMセルのみがバースト1010において送信され
る場合には、53バイトが送信され、各バイトは8ビッ
トであり、全部で8*53ビット、即ち424ビットと
なる。更に別の例として、バースト1010の間にN個
のセルが送信される場合には、バースト1010中に送
信されるビットの数は、N*8*53即ちNx424ビ
ットとなる。
【0071】バースト1010の送信の後に、ソースス
テーションは、IPG1012として指示された時間イ
ンターバルを待機する。IPGは、パケット間ギャップ
(Inter Packet Gap)から形成した頭文字語である。時間
周期IPG1012の後に、次のバースト1020がソ
ースステーションによって送信される。時間周期IPG
1022を待機した後に、次のバースト1030がソー
スステーションによって送信される、等々となる。
【0072】図1ないし11に示されたように計算され
た実現可能なレートは、バーストにおけるビットの数、
IPG即ちパケット間ギャップ、セルの時間間隔に次の
ように関係している。以下の式は、IPGの時間インタ
ーバル中の「平均」送信レートを与える。 平均レート=(バーストビット数)/IPG ビット/
秒 「平均レート」はビット/秒で表され、そしてパケット
間ギャップは秒で表される。「バーストビットの数」
は、バースト1010、1020、1030等のバース
ト中にソースステーションによって送信されるビットの
数である。
【0073】記号BSであるバーストサイズは、ソース
ステーションによりバーストで送信されるセルの数を表
すのに使用される。各々53バイトのBS ATMセル
がバースト中に送信される場合には、次のようになる。 平均レート=(BS*8*53)/IPG ビット/秒
【0074】動作中に、「平均レート」は、所望の「実
現可能なレート」に等しくセットされ、ここで、所望の
実現可能なレートは、図1ないし11の方法を用いて計
算される。
【0075】次いで、パケット間ギャップIPGは、平
均レートに対して所望の実現可能なレートを用いて上記
式を用いることにより次のように計算される。 所望の実現可能なレート=(BS*8*53)/IPG
ビット/秒 この式から計算されるIPGは、ソースステーションが
「実現可能なレート」で送信するために守らねばならな
いバースト間隔である。
【0076】中間ノードにおけるバッファの割り当て
は、各仮想回路に対するBSバイトを保持するに充分な
ものでなければならない。というのは、ソースステーシ
ョン間の整合がないからである。最悪の場合は、全ての
仮想回路が実質的に同時にセルをスイッチに到着させ、
各ソースステーションはBSセルをバーストで送信し、
従って、各スイッチは、そのスイッチを通過する各仮想
回路に対してBSセルをバッファすることができねばな
らない。
【0077】クレジットベースの流れ制御、端−端レー
トバッファ割り当て 各仮想回路に対し端−端レート制御方法から計算された
バッファ割り当てを使用するクレジットベースの流れ制
御について以下に説明する。
【0078】図13には、スイッチクレジットテーブル
1102が示されている。スイッチを通過する各アクテ
ィブな仮想回路は、仮想回路指示子を有し、この仮想回
路指示子はフィールド1104に入れられる。各仮想回
路は、データフィールド1106に維持されたデータを
有する。
【0079】図14には、スイッチクレジットテーブル
1102のデータフィールド1106に維持される多数
のデータが示されている。フィールド1202は、Rで
表された記録されたレートを含む。この記録されたレー
トは、図15について以下に述べる端−端制御パケット
に見られる最後に見たスタンプレートである。Rの値
は、0に初期化される。
【0080】フィールド1204は、BAで表された実
際のバッファ割り当てを含む。この実際のバッファ割り
当ては、所与の仮想回路に対するメモリ割り当てであ
る。BAの値はN2に初期化される。N2の値はフィー
ルド1226に記憶される。
【0081】N2の値は、仮想回路当たり使用可能な最
小のバッファ割り当てである。N2の値は、仮想回路当
たり最小の送信レートであり、次のようになる。 最小レート=(N2*8*53)/IPG ビット/秒
【0082】ここでIPGは、個々のホップのラウンド
トリップ時間となる。このラウンドトリップ時間は、リ
ンクのラウンドトリップ伝播時間と、上流及び下流ノー
ドにおける成分遅延と、下流ノードによりN2セルを進
めるのに必要な時間との和である。
【0083】N2の値は、最小の送信レートが常に実現
可能となるように選択される。
【0084】フィールド1206は、仮想バッファ割り
当てVBAを含む。仮想回路に対する仮想バッファメモ
リ割り当ては、オーバーブッキング(過剰予約)で使用
されるメモリを考慮するものである。VBAの値は、B
A及びN2の和に初期化される。VBAの値は、オーバ
ーブッキングが使用されない場合にはフィールド120
4のBAと同じである。
【0085】フィールド1208は、バッファ使用値B
Uを含む。このBUは、仮想回路に対して待ち行列に入
れられるセルの実際の数である。BUの値は、0に初期
化される。
【0086】フィールド1220は、下流に送信される
データセルの全数NTxを含む。NTxの値は、0に初
期化される。NTx変数は、仮想回路において下流に送
られるデータセルの累積数を記録する。NTxの値は、
スイッチのブートアップのような重要な事象において初
期化され、従って、非常に長い時間中に送信されるデー
タセルの数を記録する。
【0087】フィールド1222は、上流ノードから受
け取られるデータセルの全数を含みそして記号NRxで
表される。NRxの値は、0に初期化される。
【0088】フィールド1224は、記号CBで表され
たクレジットバランスを含む。このクレジットバランス
CBは、セルを下流ノードへ送るためにスイッチに使用
できるクレジットの数である。CBの値は、N2に初期
化される。
【0089】フィールド1226は、最小バッファ割り
当てN2を含む。N2の値は、フィールド1206を参
照して以下に説明する。
【0090】フィールド1228は、出リンクのラウン
ドトリップ時間を含み、これは記号RTTで表される。
この量は、出リンクの物理的な長さ及び下流ノードのラ
ウンドトリップ遅延に応答してセットされねばならな
い。
【0091】フィールド1240は、記号Bwで表され
た出リンクの帯域巾を含む。
【0092】パラメータN2、RTT及びBwは、リン
クパラメータであり、仮想回路ごとのベースで維持され
る必要はない。
【0093】フィールド1242は、「ローカルカウン
タ」の値を含み、そして記号nで表される。nの値は、
0に初期化される。nの値は、最後のクレジットセルが
上流に送信されて以来送信されたデータセルの数であ
る。
【0094】図15には、仮想回路の識別子を含むフィ
ールド1310が追加された端−端流れ制御のための制
御セルのデータフィールドが示されている。純粋な端−
端流れ制御のための制御セルのデータフィールドは図1
1に示されており、従って、図15の対応フィールド
は、それに基づいて表示されている。図15及び11に
おいて、フィールド900は、スタンプ送信レートを含
む。図15及び11において、フィールド905は、u
bitの値を含む。
【0095】図16は、クレジットセルのデータのフィ
ールド図である。フィールド1410は、クレジット変
数CRの値を含む。フィールド1420は、記号VC
idで表された仮想回路の識別子を含む。クレジットセ
ルのヘッダは、例えば、当該仮想セルに対する識別子を
含まなくてもよい。従って、仮想セルは、VC idフ
ィールド1420の内容によって識別される。
【0096】図17には、ホップ・バイ・ホップの流れ
制御プロセスが示されている。データ受信プロセス15
10は、上流ノードからデータセルを受け取る。クレジ
ット送信プロセス1512は、クレジットセルを上流ノ
ードへ送信する。
【0097】データ送信プロセス1520は、データセ
ルを下流ノードへ送信する。クレジット受信プロセス1
522は、下流ノードからクレジットセルを受信する。
待ち行列1530は、データセルがデータ受信プロセス
1510によって受け取られた後であって且つデータセ
ルがデータ送信プロセス1520によって下流ノードへ
送信される前にデータセルを保持する。
【0098】4つのプロセス1510、1512、15
20及び1522の各々は、それらの動作が非同期であ
る。即ち、これらプロセスは必要な情報を交換し、各プ
ロセスは、それが作用すべきときに実行され、そのタス
クを完了した後に停止する。
【0099】図18には、データ受信プロセス1510
が示されている。上流ノードからデータセルを受信する
と、プロセス1510はブロック1610に入る。プロ
セス1510は、次いで、ブロック1612に入って、
NRxの値が増加される。ここで、NRxは、上流リン
クから仮想回路を経て受け取られたデータセルの全数で
ある。次いで、プロセスは、ブロック1614へ進む。
【0100】ブロック1614において、プロセス15
10は、データセルを待ち行列1530へ転送する。待
ち行列1530は、先入れ先出しFIFO待ち行列であ
る。このFIFO待ち行列1530は、図19を参照し
て詳細に述べるようにデータ送信プロセス1520によ
って排出される。プロセス1510は、次いで、ブロッ
ク1616へ進む。
【0101】ブロック1616において、プロセス15
10は、使用されるバッファの内容であるBUの値を増
加し、これは、スイッチクレジットテーブル1102の
フィールド1208に記憶される。次いで、プロセス
は、ブロック1620へ進む。
【0102】ブロック1620において、プロセスは、
別のデータセルがスイッチによって受け取られるまで静
止状態となり、このときに、プロセスは再びブロック1
610で開始される。
【0103】図19には、データ送信プロセス1520
が示されている。判断ブロック1710において、プロ
セス1520は、クレジットバランスCBをテストし、
クレジットバランスCBの値は、スイッチクレジットテ
ーブル1102のフィールドに記憶される。CBの値が
ゼロ以下である場合には、プロセスは経路1712を通
るように分岐し、判断ブロック1710のループを繰り
返す。判断ブロック1710のテストによりクレジット
バランスCBがゼロより大きいことが分かった場合に
は、プロセスがブロック1714へ進む。
【0104】ブロック1714において、プロセス15
20は、FIFOバッファ1530からデータセルを待
ち行列解除し、そしてデータセルを下流ノードへ送信す
る。次いで、プロセスはブロック1720へ進む。
【0105】ブロック1720において、プロセスは、
使用されるバッファの数であるBUの値を減少し、この
値は、スイッチクレジットテーブル1102のフィール
ド1208に記憶される。次いで、プロセスは、ブロッ
ク1722へ進む。
【0106】ブロック1722において、プロセス15
20は、スイッチクレジットテーブル1102のフィー
ルド1242に記憶されるローカルカウンタ値であるn
の値を増加する。nの値は、最後のクレジットセルが上
流に送られて以来送信されたデータセルの数をカウント
する。次いで、プロセスはブロック1723へ進む。
【0107】ブロック1723において、プロセス15
20は、カウンタの値NTxを増加し、ここで、NTx
は、仮想回路を経て下流リンクへ送信されるセルの全数
のカウントを保持する。カウンタの値NTxは、スイッ
チクレジットテーブル1102のフィールド1220に
記憶される。プロセス1520は、次いで、ブロック1
724へ進む。
【0108】ブロック1724において、プロセス15
20は、スイッチクレジットテーブル1102のフィー
ルド1224に記憶されたクレジットバランスであるC
Bの値を減少する。次いで、プロセス1520は、経路
1726に沿って判断ブロック1710へ復帰する。判
断ブロック1710において、プロセスは再び経路17
12のループに入り、そこでゼロより大きいCBの値を
再び見つけるまでCBの値をテストする。
【0109】図20には、クレジット送信プロセス15
12が示されている。判断ブロック1810において、
プロセスは、nの値がN2以上であるかどうかのテスト
を経てループする。nはスイッチクレジットテーブル1
102のフィールド1242に記憶されそしてN2はス
イッチクレジットテーブル1102のフィールド122
6に記憶される。nがN2以上でない場合には、ループ
は経路1812をめぐり続ける。nがN2以上である場
合には、プロセスはブロック1814へ進む。判断ブロ
ック1814は、図17に矢印1540で示されたよう
に、nがデータ送信プロセス1520により増加される
ときには、図19のブロック1722からnの更新され
た値を受け取る。
【0110】ブロック1814の説明を続ける前に、図
21を参照して、下流ノードから上流ノードへのクレジ
ットバランスの転送を詳細に説明する。図21に示され
たように、スイッチ「i」18B01は、上流スイッチ
である。スイッチ「i+1」18B02は、下流スイッ
チである。リンク18B10は、スイッチ「i」18B
01からスイッチ「i+1」18B02へデータセルを
送る。スイッチ「i」からスイッチ「i+1」へ送られ
るデータセルは、線18B12、18B14、18B1
6等々で示されている。
【0111】クレジットバランスは、最初に一方のスイ
ッチを参照することにより良く理解されよう。その一方
のスイッチにおいて、現在待ち行列に入れられたセルの
数は次の式で表される。 スイッチ「i」で待ち行列に入れたセルの数=NRx
(i)−NTx(i) ここで、NRx(i)は、スイッチ「i」により受け取
られるセルの数であり、そしてNTx(i)は、スイッ
チ「i」により送信されるセルの数である。
【0112】次いで、スイッチ「i+1」において待ち
行列に入れられるセルの数と、スイッチ「i」とスイッ
チ「i+1」との間に送られるセルの数との「アンド」
に注目する。これは、次の式で与えられる。 ここで、NTx(i)はスイッチ「i」により送られる
セルの数であり、そしてNTx(i+1)はスイッチ
「i+1」により送られるセルの数である。NTxは、
スイッチがブートアップされたときのような重要な事象
から測定される。従って、NTxの値は、「絶対数」と
称する。
【0113】スイッチ「i」が下流のスイッチからクレ
ジットバランスCR(i)を受け取るときには、CR
(i)も、次の式によりブロック1814において計算
される絶対数である。 CR(i)=NTx(i+1)+VBA(i+1)
【0114】スイッチ「i」において更新されるクレジ
ットバランスは、次いで、次の式により計算される。 CB(i)=CR(i)−NTx(i) これは、図22のブロック1912に示す。
【0115】ブロック1814において、変数CRの値
は、下流のノードへ送信されるセルの数NTx(但し、
NTxの値は、スイッチクレジットテーブル1102の
フィールド1220に記憶される)と、その仮想セルに
指定された仮想バッファの数VBAとの和となる。送信
されるセルの数NTxは、長時間動作のカウンタであ
る。又、ノードによって受け取られてフィールド122
2に記憶されるセルの数も、長時間動作のカウンタであ
る。例えば、これらの両カウンタNRx及びNTxは、
スイッチがブートアップされて使用に供されるときに初
期化される。例えば、両カウンタNRx及びNTxは、
数億個のセルといった非常に大きな絶対値を有するが、
それらの差は少数である。しかしながら、重要であるこ
の差は下流のノードで受け取られたセルの数と上流のノ
ードで送信されたセルの数であり、これは、図22を参
照したクレジット受信プロセス1512の以下の説明か
ら明らかとなろう。その差と、以下に述べる仮想バッフ
ァの数VBAとの和は、特定の仮想回路に対しFIFO
待ち行列1530が記憶に充分なバッファを有するとこ
ろのセルの数である。次いで、プロセス1512はブロ
ック1816へ進む。
【0116】ブロック1816では、プロセス1512
は、図16に示すようにクレジットセルを上流ノードへ
送信する。次いで、プロセス1512は、ブロック18
18へ進む。
【0117】ブロック1818において、ローカルカウ
ンタnの値がゼロにセットされ、その結果がスイッチク
レジットテーブル1102のフィールド1242に記憶
される。ブロック1818のタスクが完了すると、プロ
セス1512は、経路1820に沿って判断ブロック1
810へ復帰し、そこで、再び、nの値をN2の値に対
してテストするようにループし始める。
【0118】図22には、クレジット受信プロセス15
22が示されている。ブロック1910において、この
プロセスは、クレジットセルが下流ノードから受信され
たことを確認する。クレジットセルは、図16に示すよ
うにクレジットセルのフィールド1420により識別さ
れた仮想回路に関連している。クレジットセル受信プロ
セスは、次いで、ブロック1912へ進む。
【0119】ブロック1912において、クレジットバ
ランスが計算されそしてスイッチクレジットテーブル1
102のフィールド1224に記憶される。CBの値
は、クレジットセルのフィールド1410から読み取ら
れた変数CRの値が上流ノードのNTxの値より小さい
ときに計算される。ブロック1912では、上流ノード
によって送られるセルの数NTxがブロック1814か
らの下流ノードから受け取ったクレジットから減算され
る。プロセス1522は、次いで、ブロック1914へ
進み、そこで、プロセスは、別のクレジットセルが受け
取られるまで静止状態となり、別のクレジットセルが受
け取られると、プロセスは、ブロック1910において
再びアクティブとなる。
【0120】図23には、クレジットベースの流れ制御
方法を実施する3つのノード間の相互作用が示されてい
る。中央のノード2010は、スイッチである。上流ノ
ード2012及び下流ノード2014は、スイッチ又は
ステーションのいずれかである。上流ノード2012は
ソースステーションである。下流ノード2014は、行
先ステーションである。
【0121】上流ノード2012は、データセルをデー
タ経路2020に沿って中央ノード2010へ送信す
る。返送時に、中央ノード2010は、図11のクレジ
ットセルをクレジット経路2022に沿って上流ノード
2012へ送信する。中央ノード2010により保持さ
れるクレジットバランスは、他のパラメータの中でもと
りわけ、上流ノード2012から中央ノード2010へ
送信されるデータセルの数;どのデータセルが中央ノー
ド2010のバッファを占有するか;及び中央ノード2
010のバッファの排出に基づくものでなければなら
ず、そして中央ノード2010のこれらバッファは、中
央ノード2010からデータ経路2030を経て下流ノ
ード2014へデータセルを送信することにより排出さ
れる。中央ノード2010は、下流ノード2014から
クレジット経路2040を経てクレジットセルを受け取
る。中央ノード2010のクレジットの数は、中央ノー
ド2010がデータ経路2030に沿ってデータセルを
送信できるレートを決定する。
【0122】図23から明らかなように、複雑なネット
ワークの全てのノード及びリンクは他のノードで生じる
事象に基づいている。下流のノードが何らかの理由で高
速になった場合には、各仮想回路に対するその待ち行列
1530が迅速に空になり、全ての上流ノードは、高速
のノードを経てより迅速にデータパケットを転送するこ
とができる。逆に、下流のノードが故障し、パケットを
計画通りに迅速に転送できない場合には、故障したノー
ドを経てセルを通そうと試みるネットワークの全てのノ
ードは、全待ち行列1530によりバックアップされる
ことになる。
【0123】図24を参照すれば、前記の図10がブロ
ック2110を追加して再現されている。従って、図2
4は、ホップ・バイ・ホップの流れ制御が端−端レート
制御と共に実施されるときのスイッチにおけるレート制
御情報プロセスのステップを示している。ブロック21
10において、このプロセスは、仮想回路に対する最新
の記録送信レートであってスイッチクレジットテーブル
1102のフィールド1202に記憶されるRの値を、
PSRの値にセットする。PSRの値は、図11に示す
ように端−端制御セルフィールド900から読み取られ
る。各仮想回路は、各時間周期Tの間に図11の端−端
制御セルを送信し、従って、スイッチクレジットテーブ
ル1102のフィールド1202に記憶されたRの値
は、各時間周期Tごとに更新される。次いで、プロセス
は、ブロック2112へ進み、プロセスが終了する。
【0124】ホップ・バイ・ホップクレジット制御との
ハイブリッド型端−端レート制御 端−端レートベースの流れ制御とホップ・バイ・ホップ
のクレジットベースの流れ制御との組合せは、ハイブリ
ッド型流れ制御方法と称する。図1ないし11に示され
た端−端レートベースの流れ制御は、多数の方法でホッ
プ・バイ・ホップのクレジットベースの流れ制御と組み
合わせることができる。これら2つを組み合わせる3つ
の実施の形態を一例としてテーブル1に示す。 テーブル1 ハイブリッド型流れ制御組合せの実施形態のテーブル No. ソースステーション スイッチ バッファ割り当て 1. ホップ・バイ・ホップ ホップ・バイ・ホップ 端−端レートベース 流れ制御からのレー ト 2. 実現可能なレートに ホップ・バイ・ホップ 端−端レートベース セットされた端−端 流れ制御からのレー ト 3. 実現可能なレートに ホップ・バイ・ホップ 端−端レートベース セットされた端−端 流れ制御からのレー 及び ト 実現可能なレート又 は指定のレートを越 える実際のレートを クレジットが許すよ うなホップ・バイ・ ホップ
【0125】第1の例示的な実施の形態 第1の例示的な実施の形態を以下に要約する。スイッチ
及びソースステーションは、ホップ・バイ・ホップの流
れ制御によって制御され、バッファ割り当ては端−端レ
ートベースの流れ制御によって計算される。
【0126】図25には、ホップ・バイ・ホップのクレ
ジットベースの流れ制御を使用したノードに対するメモ
リ割り当てが示されており、各ノードの各仮想回路に対
するバッファ割り当ては、図1ないし11及び図24に
示された端−端レートベースの流れ制御方法を用いてそ
の仮想回路に対して計算された送信レートを使用して計
算される。
【0127】メモリ2210は、2つの部分M(最小)
2212と、M(動的)2214とに分割される。バッ
ファに対して割り当てねばならない最小メモリは、各仮
想回路ごとにN2によって与えられる。出リンクを通過
する仮想回路の数をKで表すことにする。割り当てねば
ならない最小のメモリは、次の式で表される。 M(最小)=K*N2
【0128】割り当てねばならない特定のリンクに対し
全ての仮想回路に必要な動的に割り当てできるメモリの
量は、次の式で表される。 M(動的)=a*Bw*RTT(リンク) 但し、「a」は1より大きな定数であり、Bwは出リン
クの帯域巾であり、そしてRTT(リンク)はリンクの
ラウンドトリップ時間である。「a」の値には、システ
ムがネットワーク状態の変化に迅速に応答できるように
若干大きな値が指定されねばならず、12程度の値が提
案されている。
【0129】各仮想回路iに割り当てられるバッファの
量は、次の式によって計算される。 prop(i)=RTT(リンク)*Bw*(R(i)
/SUM(R(j)) BA(i)={prop(i)/(SUM prop
(j))*M(動的)}+N2 但し、これらの式において、prop(i)は、仮想回
路「i」に対して割り当てられるバッファの割合であ
り;SUM prop(j)は、全ての仮想回路に対し
て加算された割合prop(j)の和であり;RTT
(リンク)は、出リンクのラウンドトリップ時間であ
り;SUMは、出リンクを通る全ての仮想回路に対して
取り上げられ、従って、式R(i)/SUM R(j)
は、出リンクを通る全レートの部分であり;そしてM
(動的)は、出リンクを通る仮想回路に対して割り当て
られた全動的メモリ2214である。
【0130】スイッチクレジットテーブル1102に記
憶される仮想バッファ割り当てのVBA1206の量
は、次の式によって計算される。 VBA(i)=BA(i) 但し、インデックスiは、仮想回路を指示する。
【0131】第1の例示的な実施形態の効果は、(1)
バッファ割り当て計算に必要とされる送信レートR
(i)がレートベースの端−端流れ制御から直接計算さ
れ、それ故、各スイッチの各仮想回路ごとにレートを測
定する必要性が排除され、(2)ネットワークの構成及
び状態が安定になった後にネットワークのレートが安定
になるための収斂時間が、図1ないし11に示す単なる
端−端レートベースの流れ制御よりも良好であり、そし
て(3)上記収斂が、各仮想回路のレートを測定しよう
と試みるホップ・バイ・ホップ方法よりも良好であるこ
とである。欠点は、「a」の値が大きく、従って、ネッ
トワークの過渡状態を受け入れるために大きな量のバッ
ファ割り当てを使用しなければならないことである。
【0132】第2の例示的な実施の形態 第2の例示的な実施の形態について要約する。ソースス
テーションは、端−端レートベースの流れ制御によって
制御され、ソースステーションは、実現可能なレートに
セットされる。図12に示されたバースト間隔は、各ソ
ースステーションにおいて強制される。ソースレートを
高いレートに調整するときには、ソースは、図7のボッ
クス630に示すように、2つのネットワークラウンド
トリップ時間中待機するように要求される。スイッチ
は、ホップ・バイ・ホップのクレジットベースの流れ制
御によって制御され、バッファ割り当ては、レートベー
スの端−端流れ制御によって計算される。
【0133】図26には、第2の例示的な実施の形態に
よるネットワークのメモリ割り当てが示されている。全
メモリ2310は、仮想回路のバッファに対して割り当
てられる。M(最小)2312は、第1の実施の形態と
同様に割り当てられ、そして第1の実施の形態のように
次の式により計算される。 M(最小)=K*N2
【0134】「実現可能」なソースレートを受け入れる
と共に、クロックスキューを受け入れるために、固定量
のメモリM(固定)2314を割り当てねばならない。
【0135】オーバーブッキングに対してある量のメモ
リを割り当てねばならず、ここで、オーバーブッキング
は、端−端流れ制御により計算された「実現可能」なレ
ートを上回るレートでソースステーションが送信できる
ようにすることを意味する。このオーバーブッキング
は、送信レートを個別化することと、計算されたレート
をより低い個別のレートに丸めることとがあいまって、
ネットワーク容量の過少利用を招くことから考えられ
る。又、仮想回路がそれらに指定された全ての実現可能
な送信レートを占有しないといった過渡的な影響がネッ
トワーク容量の過少利用を招くこともある。割り当てら
れるオーバーブッキングメモリM(オーバーブッキン
グ)2316の量は、次の式によって計算される。 M(オーバーブッキング)=b*Bw*RTT(リン
ク) この式において、Bwは、この場合も、出リンクの帯域
巾であり、RTT(リンク)は、ここでも、出リンクの
ラウンドトリップ時間であり、そして「b」は、「オー
バーブッキングパラメータ」である。典型的に、「b」
は0ないし1の値である。
【0136】動的な割り当てに使用できるメモリの量は
M(オーバーブッキング)であり、従って、各仮想回路
に対する動的なメモリ割り当ては、次の式によって計算
される。 BA(i)=(R(i)/SUM(R(j))*M(動
的)+N2 但し、M(動的)は、上記で計算されたM(オーバーブ
ッキング)に等しくセットされる。スイッチクレジット
テーブル1102のフィールド1206に記憶された仮
想バッファVBAは、次の式によって計算される。 VBA(i)=BA(i)+{RTT(リンク)*R
(i)} 但し、前記したように、VBA(i)は、仮想回路
(i)に対する仮想バッファ割り当てであり、BA
(i)は、上記で計算したバッファ割り当てであり、R
TT(リンク)は、出リンクのラウンドトリップ時間で
あり、そしてR(i)は、仮想回路(i)に対するスイ
ッチクレジットテーブル1102のフィールド1202
からの記録レートである。
【0137】第1の例示的な実施の形態に勝る第2の例
示的な実施の形態の効果は、オーバーブッキングメモリ
M(オーバーブッキング)に必要なメモリの量が、実現
可能なレートを越えるレートに対し増分的なバッファメ
モリしか必要とされず、且つ上記第1の実施の形態で必
要とされたパラメータ「a」により計算された量よりも
相当の小さいことである。
【0138】第2の例示的な実施の形態を用いると、ソ
ースは、図12を参照して述べたように、それらのトラ
フィックを平滑することが必要とされる。
【0139】第3の例示的な実施の形態 第3の例示的な実施の形態について要約する。ソースス
テーションは、端−端レートベースの流れ制御によって
制御され、そしてソースステーションは、実現可能なレ
ートにセットされ、加えて、ソースステーションは、ホ
ップ・バイ・ホップのクレジットベースの流れ制御によ
って更に制御され、クレジットの許容度が実現可能なレ
ートを越える場合に、ソースがそのクレジットに基づい
てより多くのセルを送信できるようにする。スイッチ
は、ホップ・バイ・ホップのクレジットベースの流れ制
御により制御され、バッファの割り当ては、端−端レー
トベースの流れ制御によって計算される。
【0140】第3の例示的な実施の形態においては、ラ
インを経て到来する新たなソースステーションに応答し
た過渡状態が良好である。バッファの割り当ては、第2
の実施の形態の場合と同じである。この第3の例示的な
実施の形態の方法は、境界のスイッチがクレジットを新
たにスタートするソースステーションに割り当てできる
場合に、システムが実現可能なレートをその新たなソー
スステーションに指定する前にそのソースステーション
がスタートできるという点で攻撃的である。次いで、新
たなソースステーションは、実現可能なレートが指定さ
れる前に送信をスタートできる。
【0141】更に、ソースレートがより高いレートに調
整されるときに、ソースは、第2の例示的な実施の形態
で要求されたように、図7のブロック630で示された
2つのネットワークラウンドトリップ時間を待機する必
要がない。従って、ソースはより攻撃的となり、且つホ
ップ・バイ・ホップの流れ制御に基づいて、下流のスイ
ッチにおけるバッファの過剰な流れを防止する。
【0142】以上、特定の実施の形態を参照して本発明
を説明したが、本発明は、これらに限定されるものでは
ない。当業者であれば、ここに開示した実施の形態の種
々の変型及び本発明の他の実施の形態が上記説明から明
らかであろう。それ故、このような変型及び実施の形態
は、本発明によって包含されるものとする。
【図面の簡単な説明】
【図1】トラフィック制御システムの要素の例示的な実
施の形態を示す図である。
【図2】ソース端ステーションのソースデータ構造体の
例示的な実施の形態を示す図である。
【図3】レートテーブルの例示的な実施の形態を示す図
である。
【図4】ソース端ノードにおけるレート制御プロセスの
例示的な実施の形態により実行されるステップを示す図
である。
【図5】端−端制御セルを送信するためにソース端ステ
ーションの例示的な実施の形態により実行されるステッ
プを示す図である。
【図6】端−端制御セルの受信に応答してソースデータ
構造体を更新するためにソース端ステーションの例示的
な実施の形態によって実行されるステップを示す図であ
る。
【図7】図6のステップ625の第1の別の実施例62
5Aを示す図である。
【図8】図6のステップ625の第1の第2の別の実施
例625Bを示す図である。
【図9】ネットワークスイッチにおける周期的な更新プ
ロセスの例示的な実施の形態によって実行されるステッ
プを示す図である。
【図10】ネットワークスイッチにおけるレート制御情
報プロセスの例示的な実施の形態によって実行されるス
テップを示す図である。
【図11】端−端制御セル内のフィールドの一例を示す
図である。
【図12】実現可能なレートに対する間隔を示すタイミ
ングである。
【図13】スイッチクレジットテーブルを示す図であ
る。
【図14】図13のスイッチクレジットテーブルのフィ
ールドを示す図である。
【図15】ホップ・バイ・ホップのクレジットベースの
流れ制御に使用されたときの端−端制御セルのデータの
フィールド図である。
【図16】ホップ・バイ・ホップのクレジットベースの
流れ制御に使用されたクレジットセルのデータのフィー
ルド図である。
【図17】ホップ・バイ・ホップの流れ制御システムに
おけるプロセスのブロック図である。
【図18】データ受信プロセスの流れ線図である。
【図19】データ送信プロセスの流れ線図である。
【図20】クレジット送信プロセスの流れ線図である。
【図21】2つのスイッチ及びそれらの間のリンクを示
すブロック図である。
【図22】クレジット受信プロセスの流れ線図である。
【図23】ホップ・バイ・ホップのクレジットベースの
流れ制御を用いたノードのブロック図である。
【図24】レート制御の端−端流れ制御プロセスをホッ
プ・バイ・ホップのクレジットベースの流れ制御と共に
使用した場合の流れ線図である。
【図25】メモリ割り当て図である。
【図26】メモリ割り当て図である。
【符号の説明】
100 ソース端ステーション 102 スイッチ 104 行先端ステーション 105、139 通信リンク 108 メモリ 110 ソースデータ構造体 112 レート制御プロセス 114 データトラフィック整形プロセス 116 タイマー 118 ネットワークインターフェイス 120 バス 122 メモリ 124 レートテーブル 126 仮想回路テーブル 127 A−fair変数 128 データ送りプロセス 130 ホップ・バイ・ホップの流れ制御プロセス 132 レート制御情報プロセス 134 周期的更新プロセス 136 タイマー 138 ネットワークインターフェイス 140 バス 142 メモリ 144 制御セル返送プロセス 146 ネットワークインターフェイス 148 バス 205 ソーススタンプレート 210 ソース許容送信レート 215 需要レート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンナ チャーニー アメリカ合衆国 マサチューセッツ州 02165ニュートン ファルマウス ロード 49 (72)発明者 カダンゴーデ ケイ ラマクリシュナン アメリカ合衆国 マサチューセッツ州 01754メイナード マイケル ロード 11

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータネットワークのための端か
    ら端へのレートに基づく流れ制御システムにおいて、 1つ以上のネットワークスイッチを経て仮想回路を確立
    しているソース端ステーション及び行先端ステーション
    と、 上記ソース端ステーション内にあり、第1のサブプロセ
    スを有していて、上記仮想回路を経て1つの端−端制御
    セルを周期的に送信し、上記端−端制御セルの送信の上
    記レートは1/Tに等しく、上記制御セルは、スタンプ
    されたレートフィールドと、Uビットとを有し、そして
    更に、上記スタンプレートフィールドの値を1組の許さ
    れた個別の送信レートの1つにセットし、該1組の許さ
    れた個別の送信レートは対数スケールに基づくものであ
    るようなレート制御プロセスと、 上記1つ以上のスイッチの各々内にあり、時間周期Tご
    とに一度、上記仮想回路に対する使用可能な帯域巾割り
    当てを計算し、そして上記使用可能な帯域巾割り当てが
    上記1組の許された個別のレートの1つに等しくなるよ
    う確保するための周期的更新プロセスと、 上記スイッチの各1つ内にあり、上記端−端制御セルを
    受け取り、上記セルの上記スタンプレートフィールドの
    値を上記現在使用可能な帯域巾割り当てと比較し、そし
    て上記セルの上記スタンプレートフィールドの上記値が
    上記現在使用可能な帯域巾割り当てに等しいかそれより
    大きい場合に、上記現在使用可能な帯域巾割り当てを上
    記スタンプレートフィールドに書き込むためのレート制
    御情報プロセスと、 上記行先端ステーション内にあり、上記端−端制御セル
    を上記ソース端ステーションへ返送するための制御セル
    返送プロセスと、 上記レート制御プロセス内にあり、上記返送された端−
    端制御セルの受信に応答して上記ソース端ステーション
    においてソースデータ構造の許された送信レートを更新
    すると共に、上記許された送信レートが上記1組の許さ
    れた個別の送信レートの1つに等しくなるよう確保する
    ための第2のサブプロセスと、 上記ソース端ステーション内にあり、上記ソース端ステ
    ーションの実際の送信レートを上記許された送信レート
    に等しいかそれより小さく制限するためのトラフィック
    整形プロセスと、を備えたことを特徴とする流れ制御シ
    ステム。
  2. 【請求項2】 上記レート制御プロセスは、更に、 上記第1のサブプロセス内にあって、上記ソースデータ
    構造内のソーススタンプレートを上記ソースデータ構造
    内の需要レートと比較するためのソーススタンプレート
    比較手段を備え、上記ソーススタンプレートは、最初
    に、上記需要レートにセットされ、上記需要レートは、
    上記仮想回路のユーザにより要求されるデータレートに
    等しく、そして上記ソーススタンプレート比較手段に応
    答して、上記端−端制御セルの上記スタンプレートフィ
    ールドを上記需要レートにセットすると共に、上記ソー
    ススタンプレートが上記需要レートより大きい場合に上
    記端−端制御セルの上記Uビットを1にセットするため
    の手段を更に備えている請求項1に記載の流れ制御シス
    テム。
  3. 【請求項3】 上記第1のサブプロセスは、更に、 上記ソーススタンプレート比較手段に応答して、上記端
    −端制御セルの上記スタンプレートフィールドを上記ソ
    ーススタンプレートにセットし、そして上記ソーススタ
    ンプレートが上記需要レート以下である場合に上記Uビ
    ットをゼロにセットするための手段を備え、上記第2の
    サブプロセスは、更に、 上記端−端制御セルの上記Uビット値を0と比較するた
    めのUビット比較手段と、 上記Uビット比較手段に応答して、上記Uビットが0に
    等しい場合に上記ソーススタンプレートを需要レートに
    セットするための手段とを備えた請求項2に記載の流れ
    制御システム。
  4. 【請求項4】 上記第2のサブプロセスは、更に、 上記Uビット比較手段に応答して、上記端−端制御セル
    の上記スタンプレートフィールドの値をソーススタンプ
    レートと比較するためのスタンプレート比較手段と、 上記スタンプレート比較手段に応答して、上記ソースス
    タンプレートを上記端−端制御セルの上記スタンプレー
    トにセットすると共に、上記端−端制御セルの上記スタ
    ンプレートが上記ソーススタンプレート以下である場合
    に上記許された送信レートを上記端−端制御セルの上記
    スタンプレートにセットするための手段とを備え、上記
    第2のサブプロセスは、更に、 上記スタンプレート比較手段に応答し、上記端−端制御
    セルの上記スタンプレートが上記ソーススタンプレート
    以上である場合に上記ソーススタンプレートを上記端−
    端制御セルの上記スタンプレートにセットするための手
    段と、 上記スタンプレート比較手段に応答し、上記端−端制御
    セルの上記スタンプレートが上記ソーススタンプレート
    以上である場合に上記ソースの許された送信レートを調
    整するための手段とを備えた請求項3に記載の流れ制御
    システム。
  5. 【請求項5】 上記ソースの許された送信レートを調整
    するための上記手段は、更に、 上記コンピュータネットワークにおける最大のラウンド
    トリップ遅延をDとすれば、2*(D+T)に等しい時
    間周期を待機する手段と、 上記待機手段に応答して、上記許された送信レートを上
    記端−端制御セルの上記スタンプレートの値にセットす
    るための手段とを備えた請求項4に記載の流れ制御シス
    テム。
  6. 【請求項6】 上記ソースの許された送信レートを調整
    するための上記手段は、更に、 上記端−端制御セルの上記Uビットを1と比較するため
    の第2のUビット比較手段と、 上記第2のUビット比較手段に応答して、上記端−端制
    御セルの上記Uビットが1に等しい場合に上記許された
    送信レートを上記端−端制御セルの上記スタンプレート
    にセットするための手段とを備え、上記流れ制御システ
    ムは、更に、 上記1つ以上のスイッチの各々内にあるスイッチレート
    テーブルを備え、このスイッチレートテーブルは、上記
    1組の許された個別の送信レートの各々に対応する1つ
    のエントリーを有し、上記スイッチレートテーブルの各
    エントリーは、カウンタフィールドと、「a」フィール
    ドとを有し、 上記周期的更新プロセスは、次の数1の式に基づいて上
    記使用可能な帯域巾割り当てを計算し、 【数1】 ここで、Cはスイッチの全リンク容量であり、n及びa
    は、各々、上記スイッチレートテーブルエントリーにお
    ける上記カウンタ及び上記「a」フィールドの値であ
    り、 上記スイッチレートテーブルの上記「a」フィールドを
    更新し、 上記式に基づいて上記使用可能な帯域巾割り当てを2回
    目に再計算し、そして上記スイッチレートテーブルのカ
    ウンタフィールド値をゼロにセットする請求項4に記載
    の流れ制御システム。
  7. 【請求項7】 上記周期的な更新プロセスは、次の式を
    用いて上記スイッチレートテーブルエントリーの上記
    「a」フィールドを更新し、 j=0ないしj=255に対し、 r(j)=2exp(0.125 * j) r(j)がA−fairより大きく且つa(j)=1の
    場合に、 a(j)=0にセットする ここで、A−fairは、上記使用可能な帯域巾割り当
    てに等しく、上記レート制御情報プロセスは、更に、 上記端−端制御セルの上記スタンプレートフィールドを
    上記使用可能な帯域巾割り当てと比較するための使用可
    能な帯域巾比較手段と、 上記使用可能な帯域巾比較手段に応答して、上記使用可
    能な帯域巾割り当てを上記制御セルの上記スタンプレー
    トフィールドに書き込むと共に、上記スタンプレートフ
    ィールド値が上記使用可能な帯域巾割り当て以上である
    場合に上記端−端制御セルの上記Uビットをセットする
    ための手段とを備えた請求項6に記載の流れ制御システ
    ム。
  8. 【請求項8】 上記レート制御情報プロセスは、更に、 上記端−端制御セルにおける上記スタンプレートフィー
    ルド値に対応するスイッチレートテーブルエントリーを
    インデックスするインデックス「i」を上記スイッチレ
    ートテーブルに対して決定する手段を備え、このインデ
    ックス「i」は次の式に基づいて計算され、 「i」=8*log2(スタンプレート) 更に、上記インデックス「i」を決定する上記手段に応
    答して、該手段で決定された上記インデックス「i」に
    よりインデックスされたスイッチテーブルエントリーの
    カウンタフィールドを増加するための手段を備え、上記
    流れ制御システムは、更に、 上記使用可能な帯域巾割り当てを上記端−端制御セルの
    上記スタンプレートフィールド値と比較するための第2
    の使用可能な帯域巾比較手段と、 上記第2の使用可能な帯域巾比較手段及び上記インデッ
    クス「i」を決定する手段に応答して、上記使用可能な
    帯域巾割り当てが上記端−端制御セルの上記スタンプレ
    ートフィールド値よりも大きい場合に上記インデックス
    「i」によりインデックスされたスイッチテーブルエン
    トリーの「a」フィールドを増加するための手段とを備
    えている請求項7に記載の流れ制御システム。
  9. 【請求項9】 複数のソースステーションにおいて送信
    レートを制御するための方法であって、 上記複数のソースステーションから発する複数の仮想回
    路の各々に対する実現可能な送信レートを決定し、この
    実現可能なレートは、各ソースステーションにより上記
    実現可能なレートに基づいて送信されるセルが、ネット
    ワークを経て制御セルを送信するネットワークの各リン
    クのリンク容量を越えるようなリンク容量を必要としな
    いように、上記各仮想回路ごとに各ソースステーション
    に対する送信レートとして定められ、 ネットワークスイッチにより計算された公平な送信レー
    ト及び上記制御セルの内容に応答して、ネットワークス
    イッチにより上記制御セルを変更し、上記制御セルは、
    上記制御セルがその発信元ソースステーションへ戻ると
    きに上記実現可能なレートを含み、 グローバルなタイミングインターバルで事象のタイミン
    グをとって、ソースステーションにおいてそのソースス
    テーションで確立された各仮想回路に対する1つの上記
    制御セルの送信をタイミングどりすると共に、スイッチ
    において公平な送信レートの上記計算をタイミングどり
    し、そしてデータセルの送信、上記グローバルなタイミ
    ング手段による事象の上記タイミングどり、及び上記実
    現可能な送信レートの直接的な計算を与える個別のレー
    トの発生に使用するために上記ソースステーションに対
    する個別の送信レートを発生することを特徴とする方
    法。
  10. 【請求項10】 複数のソースステーションに対する送
    信レートを選択するシステムにおいて、 全ての確立された仮想回路において各端ステーションの
    実現可能な送信レートを確立する選択手段を備え、この
    実現可能なレートは、各ソースステーションにより上記
    実現可能なレートに基づいて送信されるセルが、ネット
    ワークの各リンクのリンク容量を越えるようなリンク容
    量を必要としないように、各ソースステーションの送信
    レートとして定められ、 更に、上記実現可能なレートを越えるソースステーショ
    ン送信レートを得るように、ホップ・バイ・ホップクレ
    ジットベースの流れ制御を用いて送信レートを制御する
    ことによりバッファを割り当てるためのネットワークス
    イッチの割り当て手段を備えたことを特徴とするシステ
    ム。
JP7181336A 1994-07-18 1995-07-18 コンピュータネットワークの信号渋滞回避システム Pending JPH0855096A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/276,291 US5734825A (en) 1994-07-18 1994-07-18 Traffic control system having distributed rate calculation and link by link flow control
US08/276291 1994-07-18

Publications (1)

Publication Number Publication Date
JPH0855096A true JPH0855096A (ja) 1996-02-27

Family

ID=23056053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7181336A Pending JPH0855096A (ja) 1994-07-18 1995-07-18 コンピュータネットワークの信号渋滞回避システム

Country Status (4)

Country Link
US (3) US5734825A (ja)
EP (1) EP0693840B1 (ja)
JP (1) JPH0855096A (ja)
DE (1) DE69530641T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359889B1 (en) 1998-07-31 2002-03-19 Fujitsu Limited Cell switching device for controlling a fixed rate connection
JP2018109965A (ja) * 2016-12-20 2018-07-12 エイアールエム リミテッド データ処理

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
AUPM699394A0 (en) * 1994-07-25 1994-08-18 Curtin University Of Technology Link level controlled access to available asynchronous network service
MY123040A (en) * 1994-12-19 2006-05-31 Salbu Res And Dev Proprietary Ltd Multi-hop packet radio networks
GB9509921D0 (en) * 1995-05-17 1995-07-12 Roke Manor Research Improvements in or relating to mobile radio systems
EP0752376B1 (en) 1995-07-05 2000-10-18 The Procter & Gamble Company Container or cap with venting means
DE69637027T2 (de) * 1995-08-02 2007-08-23 Nippon Telegraph And Telephone Corp. Steuereinrichtung für dynamische übertragungsraten
DE19531611C1 (de) * 1995-08-28 1996-11-07 Siemens Ag Verfahren und Anordnung zum Anpassen der Übertragungsbitrate einer nach dem asynchronen Transfermodus arbeitenden Datenmultiplexeinrichtung
US6011804A (en) * 1995-12-20 2000-01-04 International Business Machines Corporation Dynamic bandwidth reservation for control traffic in high speed packet switching networks
US5966381A (en) * 1996-03-20 1999-10-12 Sun Microsystems, Inc. Method and apparatus for explicit rate flow control in ATM networks
JPH09319672A (ja) * 1996-05-30 1997-12-12 Fuji Xerox Co Ltd データ伝送装置および方法
JP3169552B2 (ja) * 1996-06-20 2001-05-28 沖電気工業株式会社 シェーピング方法及び装置
US5983279A (en) * 1996-08-30 1999-11-09 Apple Computer, Inc. Buffer management mechanism for distributed multimedia applications
US6014707A (en) * 1996-11-15 2000-01-11 Nortel Networks Corporation Stateless data transfer protocol with client controlled transfer unit size
CA2273997A1 (en) * 1996-12-04 1998-06-11 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6047113A (en) * 1996-12-10 2000-04-04 International Business Machines Corporation Network adapters for multi-speed transmissions
US6446125B1 (en) * 1997-03-28 2002-09-03 Honeywell International Inc. Ripple scheduling for end-to-end global resource management
KR100236035B1 (ko) * 1997-03-31 1999-12-15 전주범 Atm 망접속기에서 서브 테이블을 이용하여 가상채널의 대역을 할당하는 방법
US6044406A (en) * 1997-04-08 2000-03-28 International Business Machines Corporation Credit-based flow control checking and correction method
DE19717548A1 (de) * 1997-04-25 1998-11-05 Philips Patentverwaltung Übertragungssystem
US6968379B2 (en) * 1997-05-30 2005-11-22 Sun Microsystems, Inc. Latency-reducing bandwidth-prioritization for network servers and clients
JP3134810B2 (ja) * 1997-06-09 2001-02-13 日本電気株式会社 帯域制御方法および帯域制御方式
FR2765057B1 (fr) * 1997-06-19 2000-06-30 Univ Paris Curie Procede de gestion de largeurs de bandes allouees dans les reseaux locaux a acces partages, protocole et filtre de mise en oeuvre
US6385168B1 (en) * 1997-06-19 2002-05-07 Alcatel Canada Inc. Fair share bandwidth allocation algorithm and device
IL121549A (en) * 1997-08-14 2000-09-28 Telescicom Ltd Dynamic wireless telecommunications system
US6031821A (en) * 1997-08-19 2000-02-29 Advanced Micro Devices, Inc. Apparatus and method for generating a pause frame in a buffered distributor based on lengths of data packets distributed according to a round robin repeater arbitration
US6408005B1 (en) * 1997-09-05 2002-06-18 Nec Usa, Inc. Dynamic rate control scheduler for ATM networks
US6075769A (en) * 1997-11-26 2000-06-13 Cisco Systems, Inc. Method and apparatus for network flow control
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6754206B1 (en) 1997-12-04 2004-06-22 Alcatel Usa Sourcing, L.P. Distributed telecommunications switching system and method
US6618354B1 (en) * 1998-03-13 2003-09-09 Hewlett-Packard Development Company, L.P. Credit initialization in systems with proactive flow control
EP0948168A1 (en) 1998-03-31 1999-10-06 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Method and device for data flow control
JP3277887B2 (ja) * 1998-06-19 2002-04-22 日本電気株式会社 送受信方法、送受信回路および送受信回路の制御方法
US6061331A (en) * 1998-07-28 2000-05-09 Gte Laboratories Incorporated Method and apparatus for estimating source-destination traffic in a packet-switched communications network
US6321276B1 (en) 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6594701B1 (en) * 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6308214B1 (en) 1998-09-23 2001-10-23 Inktomi Corporation Self-tuning dataflow I/O core
US6701375B1 (en) * 1999-01-22 2004-03-02 Northrop Grumman Corporation Ultra-low bandwidth intra-network routing method
US6813249B1 (en) * 1999-02-16 2004-11-02 Efficient Networks, Inc. System and method for prefetching data
US6661774B1 (en) 1999-02-16 2003-12-09 Efficient Networks, Inc. System and method for traffic shaping packet-based signals
US6711137B1 (en) 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US20020133620A1 (en) * 1999-05-24 2002-09-19 Krause Michael R. Access control in a network system
US7016971B1 (en) * 1999-05-24 2006-03-21 Hewlett-Packard Company Congestion management in a distributed computer system multiplying current variable injection rate with a constant to set new variable injection rate at source node
US20030195983A1 (en) * 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US6646985B1 (en) * 1999-06-03 2003-11-11 Fujitsu Network Communications, Inc. Congestion control mechanism in a network access device
US6965943B1 (en) * 1999-06-05 2005-11-15 Lucent Technologies Inc. End-to-end internet control
EP1063814A1 (en) * 1999-06-24 2000-12-27 Alcatel A method to forward a multicast packet
US7016301B1 (en) * 1999-09-01 2006-03-21 Cisco Technology, Inc. Fair multiplexing scheme for multiple input port router
US6657960B1 (en) 1999-11-23 2003-12-02 International Business Machines Corporation Method and system for providing differentiated services in computer networks
US6791989B1 (en) * 1999-12-30 2004-09-14 Agilent Technologies, Inc. Fibre channel interface controller that performs non-blocking output and input of fibre channel data frames and acknowledgement frames to and from a fibre channel
EP1264447A1 (en) * 2000-02-25 2002-12-11 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Overload handling in a communications system
US6810031B1 (en) 2000-02-29 2004-10-26 Celox Networks, Inc. Method and device for distributing bandwidth
US6954429B2 (en) * 2000-04-05 2005-10-11 Dyband Corporation Bandwidth control system
GB0026703D0 (en) * 2000-11-01 2000-12-20 Parc Technologies Ltd Traffic flow optimisation system
US6813244B1 (en) 2000-11-20 2004-11-02 Fujitsu Limited Available bandwidth measurement with variable speed probing and zoom-in/zoom-out technique
US6879560B1 (en) 2000-12-08 2005-04-12 At&T Corp. System and method for limiting congestion over a switch network
US7116639B1 (en) 2000-12-21 2006-10-03 International Business Machines Corporation System and method for determining network discrete utilization
US6996064B2 (en) * 2000-12-21 2006-02-07 International Business Machines Corporation System and method for determining network throughput speed and streaming utilization
US6751684B2 (en) * 2000-12-21 2004-06-15 Jonathan M. Owen System and method of allocating bandwidth to a plurality of devices interconnected by a plurality of point-to-point communication links
US7027393B1 (en) * 2001-03-02 2006-04-11 Cisco Technology, Inc. TCP optimized single rate policer
US6931536B2 (en) * 2001-03-06 2005-08-16 Macrovision Corporation Enhanced copy protection of proprietary material employing multiple watermarks
JP2002287997A (ja) * 2001-03-23 2002-10-04 Kinji Mori 多重系処理方法
JP3882187B2 (ja) * 2001-04-19 2007-02-14 日本電気株式会社 フロー制御システムおよび方法
CA2460208A1 (en) * 2001-09-28 2003-04-10 British Telecommunications Public Limited Company An integrity manager for delaying client service requests
US7389537B1 (en) * 2001-10-09 2008-06-17 Juniper Networks, Inc. Rate limiting data traffic in a network
US7688863B2 (en) * 2001-10-19 2010-03-30 Renesas Technology America, Inc. Methods and apparatus for sharing network bandwidth
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
FR2832011B1 (fr) * 2001-11-05 2005-05-20 Airbus France Reseau de communication de type ethernet full duplex commute et procede de mise en oeuvre de celui-ci
DE10158669A1 (de) * 2001-11-30 2003-06-12 Sel Alcatel Ag Verfahren zur Zuweisung von Sendeberechtigungen
CA2414216C (en) * 2001-12-12 2007-05-22 At&T Corp. A secure ip access protocol framework and supporting network architecture
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
GB2385741B (en) * 2002-02-25 2004-02-04 3Com Corp Method and apparatus for managing data traffic associated with a user on a network
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
CA2392809A1 (en) * 2002-07-09 2004-01-09 Greg Lehman Parallel software download
US20040027989A1 (en) * 2002-07-29 2004-02-12 Brocade Communications Systems, Inc. Cascade credit sharing for fibre channel links
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
JP3733943B2 (ja) * 2002-10-16 2006-01-11 日本電気株式会社 データ転送速度調停システム及びそれに用いるデータ転送速度調停方法
US8270423B2 (en) * 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7047310B2 (en) * 2003-02-25 2006-05-16 Motorola, Inc. Flow control in a packet data communication system
JP4445467B2 (ja) 2003-07-02 2010-04-07 パナソニック株式会社 通信装置および通信方法
US7426570B2 (en) * 2003-07-25 2008-09-16 Hewlett-Packard Development Company, L.P. Determining placement of distributed application onto distributed resource infrastructure
US8238241B2 (en) * 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) * 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US8432800B2 (en) * 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7152347B2 (en) * 2004-06-17 2006-12-26 Herzog Contracting Corporation Method and apparatus for applying railway ballast
US8443072B1 (en) * 2004-07-21 2013-05-14 Avaya Inc. Method and apparatus for managing network congestion due to automatic configuration procedures
US7518996B2 (en) * 2004-09-16 2009-04-14 Jinsalas Solutions, Llc Fast credit system
CN101080368A (zh) * 2004-12-20 2007-11-28 康宁股份有限公司 制造玻璃外壳的方法
US7492710B2 (en) * 2005-03-31 2009-02-17 Intel Corporation Packet flow control
US7646718B1 (en) 2005-04-18 2010-01-12 Marvell International Ltd. Flexible port rate limiting
US8036113B2 (en) * 2005-10-21 2011-10-11 Marvell International Ltd. Packet sampling using rate-limiting mechanisms
US7924708B2 (en) * 2005-12-13 2011-04-12 Intel Corporation Method and apparatus for flow control initialization
US7729347B2 (en) * 2006-05-31 2010-06-01 Zvi Rosberg Method and apparatus for fair flow control and congestion avoidance supporting multiple QoS class requirements
US7929536B2 (en) * 2006-09-07 2011-04-19 Intel Corporation Buffer management for communication protocols
JP5025655B2 (ja) * 2006-10-02 2012-09-12 パナソニック株式会社 流量制御方法、ならびにそれに使用する送信端末およびパケット転送システム
US8683000B1 (en) * 2006-10-27 2014-03-25 Hewlett-Packard Development Company, L.P. Virtual network interface system with memory management
JP2009272874A (ja) * 2008-05-07 2009-11-19 Sony Corp 通信装置、通信方法、プログラム、および通信システム
US7562168B1 (en) 2008-05-29 2009-07-14 International Business Machines Corporation Method of optimizing buffer usage of virtual channels of a physical communication link and apparatuses for performing the same
US8675550B2 (en) * 2008-06-14 2014-03-18 Alcatel Lucent Method for backhaul interference management with access terminal router
EP2434823A1 (en) 2009-04-27 2012-03-28 Panasonic Corporation Wireless communication device and wireless communication method
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
US9286620B2 (en) * 2012-11-05 2016-03-15 Broadcom Corporation Annotated tracing for data networks
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
EP3353951A1 (en) 2015-09-25 2018-08-01 FSA Technologies, Inc. Multi-trunk data flow regulation system and method
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11762718B2 (en) 2020-08-26 2023-09-19 Hewlett Packard Enterprise Development Lp Automatically optimized credit pool mechanism based on number of virtual channels and round trip path delay

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0413488A2 (en) * 1989-08-15 1991-02-20 AT&T Corp. Arrangement for regulating traffic in a high speed data network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
US5029164A (en) * 1990-04-13 1991-07-02 Digital Equipment Corporation Congestion avoidance in high-speed network carrying bursty traffic
US5319638A (en) * 1991-09-12 1994-06-07 Bell Communications Research, Inc. Link-by-link congestion control for packet transmission systems
US5276677A (en) * 1992-06-26 1994-01-04 Nec Usa, Inc. Predictive congestion control of high-speed wide area networks
US5367517A (en) * 1992-12-16 1994-11-22 International Business Machines Corporation Method and system of requesting resources in a packet-switched network with minimal latency
JP2646948B2 (ja) * 1992-12-25 1997-08-27 日本電気株式会社 パケット網におけるシグナリング方式
US5436891A (en) * 1993-01-14 1995-07-25 Motorola, Inc. Method and system for traffic management in cell relay networks
US5432784A (en) * 1993-07-26 1995-07-11 Digital Equipment Corporation Flow control method and apparatus for systems with long distance links
US5367523A (en) * 1993-08-26 1994-11-22 International Business Machines Corporation Adaptive rate-based congestion and flow control in packet communications networks
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
US5497375A (en) * 1994-01-05 1996-03-05 Motorola, Inc. Device and method for ATM end system cell flow regulation
US5455826A (en) * 1994-06-28 1995-10-03 Oezveren; Cueneyt M. Method and apparatus for rate based flow control
US5734825A (en) * 1994-07-18 1998-03-31 Digital Equipment Corporation Traffic control system having distributed rate calculation and link by link flow control
US5745697A (en) * 1996-03-27 1998-04-28 Digital Equipment Corporation Network flow control having intermediate node scalability to a large numbers of virtual circuits

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0413488A2 (en) * 1989-08-15 1991-02-20 AT&T Corp. Arrangement for regulating traffic in a high speed data network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359889B1 (en) 1998-07-31 2002-03-19 Fujitsu Limited Cell switching device for controlling a fixed rate connection
JP2018109965A (ja) * 2016-12-20 2018-07-12 エイアールエム リミテッド データ処理

Also Published As

Publication number Publication date
DE69530641D1 (de) 2003-06-12
EP0693840A1 (en) 1996-01-24
US5734825A (en) 1998-03-31
US6615271B1 (en) 2003-09-02
US5968128A (en) 1999-10-19
DE69530641T2 (de) 2004-03-04
EP0693840B1 (en) 2003-05-07

Similar Documents

Publication Publication Date Title
JPH0855096A (ja) コンピュータネットワークの信号渋滞回避システム
EP0453355B1 (en) Congestion avoidance in high-speed network carrying bursty traffic
US6002667A (en) Minimum guaranteed cell rate method and apparatus
US5446734A (en) Telecommunications network with plesiochronous transfer mode
JP2693266B2 (ja) 通信網におけるデータセルの輻輳制御方法
EP0458033B1 (en) Flow control for high speed networks
US7653740B2 (en) Method and system for bandwidth allocation tracking in a packet data network
US6918005B1 (en) Method and apparatus for caching free memory cell pointers
US5617409A (en) Flow control with smooth limit setting for multiple virtual circuits
JPH08331154A (ja) 最大−最小公平割当を行うパケット交換ネットワーク用混雑制御システムおよび方法
JPH1093624A (ja) パケット伝送ネットワーク
JPH08181703A (ja) 仮想チャネルのセルの伝送を調整する方法及び装置
JP2001519973A (ja) 共用バッファへの優先度付きアクセス
US6249819B1 (en) Method for flow controlling ATM traffic
US5128937A (en) Adaptive bandwidth balancing for distributed queue dual bus networks
US5864536A (en) Method and apparatus for adapting a transmission bit rate of a data multiplexer operating according to an asynchronous transfer mode
US6198725B1 (en) Network element delay allocation for efficient use of network resources
WO1997004546A1 (en) Method and apparatus for reducing information loss in a communications network
EP0604538B1 (en) Method and apparatus for asynchronous transfer mode (atm) network
JPH06104917A (ja) 輻輳制御方法および呼受付制御方法
JPH10257071A (ja) Atmネットワーク通信方式
JP3112008B2 (ja) Atm通信装置及びそのトラヒック制御方法
JP3024631B2 (ja) Atmセル帯域保証機能動作確認用セルバッファ制御システム及びその制御方法
JPH11510008A (ja) 最小保証されたセルレート方法及び装置
Lin et al. End-to-end data transport using SSCOP in ATM networks