JP2001308900A - グループマルチキャスティングのためのネットワークおよびプロトコル - Google Patents

グループマルチキャスティングのためのネットワークおよびプロトコル

Info

Publication number
JP2001308900A
JP2001308900A JP2001097918A JP2001097918A JP2001308900A JP 2001308900 A JP2001308900 A JP 2001308900A JP 2001097918 A JP2001097918 A JP 2001097918A JP 2001097918 A JP2001097918 A JP 2001097918A JP 2001308900 A JP2001308900 A JP 2001308900A
Authority
JP
Japan
Prior art keywords
network
ring
tree
packet
node
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.)
Abandoned
Application number
JP2001097918A
Other languages
English (en)
Inventor
Shiwen Chen
チェン シーウェン
Bulent Yener
イーナー ブレント
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2001308900A publication Critical patent/JP2001308900A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports

Abstract

(57)【要約】 【課題】 輻輳及び遅延を低減したネットワークを提供
する。 【解決手段】 グループマルチキャスティングネットワ
ークは、トリーネットワークによって相互接続される複
数の環状ネットワークを備える。マルチキャストグルー
プメンバを含むリングは、ブリッジノードを介してトリ
ーのリーフノードで接続される。リングノードはリング
ベースのマルチキャストプロトコルを行い、トリーノー
ドはトリーベースのマルチキャストプロトコルを行う。
ブリッジノードは環状ネットワークとトリーネットワー
クとの間の媒介となり、そのために、リングベースのマ
ルチキャストプロトコルおよびトリーベースのマルチキ
ャストプロトコルの両方を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、概して、データネ
ットワークに関する。より詳細には、本発明は、グルー
プマルチキャスティングのためのネットワークアーキテ
クチャおよびプロトコルに関する。
【0002】
【従来の技術】データネットワークにおけるグループマ
ルチキャスティングによって、グループのいずれかのメ
ンバがグループの他の全てのメンバにデータを送信する
ことが可能になる。このため、グループの各メンバは非
同期的にセンダとなり得る。グループマルチキャスティ
ングは、多対多マルチキャスティングと呼ばれることも
ある。信頼性のあるグループマルチキャスティングに
は、全てのパケットがセンダからグループの他の全ての
メンバに信頼性をもって送達されることが必要となる。
このため、信頼性のあるグループマルチキャスティング
には、パケットの紛失を検出し、かつ処理するため、な
らびにフローおよび輻輳制御のためのトランスポートプ
ロトコルが必要となる。
【0003】グループマルチキャスティングのための一
つの公知のアーキテクチャは、ツリーベースのマルチキ
ャストプロトコルを実行するグループメンバを有するツ
リーネットワーク(本明細書では単に「ツリー」とも称
される)である。公知のように、ツリーネットワークは
無サイクルネットワークトポロジーを有する。ツリーベ
ースのマルチキャストプロトコルは低いネットワーク負
荷で良好に実行されるが、ネットワーク負荷が増大する
と、これらのプロトコルの性能が急速に低下する。この
性能低下の一つの理由は待ち行列遅延であり、これはネ
ットワークノードから着信パケットを送る前に、同じパ
ケットをそのノードで待ち行列に入れる必要があること
から生じる遅延である。高いネットワーク負荷でのツリ
ーベースのマルチキャストプロトコルの性能低下の別の
理由は、フィードバックメカニズムが必要であることに
よる。上述のように、パケット紛失の検出および回復
は、パケットセンダにフィードバックを与えるためのメ
カニズムを必要とする。このフィードバックは、紛失し
たデータの再送を開始し、かつ、センダがその送信速度
を調節してフロー制御および輻輳制御を与えることを可
能にするために用いられる。しかし、ツリーネットワー
クの性質のために、必要とされるフィードバックの実施
は困難である。データの受信の際にレシーバから送られ
る肯定応答メッセージ(ACK)を実施することによっ
て、高いデータ負荷でのACK破裂(implosion)の問
題(すなわち、センダが多数のACKメッセージによっ
て圧倒される)が生じ得る。損失検出の際にレシーバか
ら送られる否定応答メッセージ(NACK)を実施する
ことによってACK破裂の問題が回避されるが、NAC
Kベースのマルチキャストプロトコルは、NACKが紛
失する可能性があるために、フローおよび輻輳制御を支
持するために必要とされるフィードバックを提供し得な
い。
【0004】ツリーネットワークの代わりには、リング
ベースのマルチキャストプロトコルを実行するグループ
メンバを有する環状ネットワーク(本明細書において単
に「リング」とも称される)がある。公知のように、環
状ネットワークは単純サイクル(すなわち、自己ループ
がない)ネットワークトポロジーを有する。リングベー
スのマルチキャストプロトコルはセンダへ暗黙フィード
バックを提供するので、リングベースのマルチキャスト
プロトコルには上述のフィードバック問題がない。環状
ネットワークの性質により、特定のメンバによって送ら
れる全てのメッセージはリングを介して結局はセンダへ
戻るべきであるために、この暗黙フィードバックが生じ
る。この暗黙フィードバックは、ツリーベースのマルチ
キャストプロトコルにおいて生じるACK破裂問題のな
い効率的な適応フロー制御方式の実施を可能にする。し
かし、環状ネットワークは、リングアーキテクチャに固
有である、より長いルーティング経路のために、より長
い伝播遅延を導入する。マルチキャストグループメンバ
が広く分散されると、この伝播遅延はより深刻なものと
なる。
【0005】
【発明が解決しようとする課題】本発明は、ツリーネッ
トワークアーキテクチャと環状ネットワークアーキテク
チャとを組み合わせた新規なネットワークアーキテクチ
ャを提供し、輻輳の問題を回避しつつ、伝搬遅延が低く
信頼性のあるグループマルチキャスティングを実現す
る。
【0006】
【課題を解決するための手段】本発明の一つの態様によ
ると、複数の環状ネットワークがツリーネットワークに
よって相互接続される。各リングが全体として考えられ
る場合には、リングがツリーのリーフノードであるよう
に、環状ネットワークはツリーのリーフノードとしてツ
リーネットワークに接続される。より詳細には、グルー
プマルチキャストメンバノードは互いに素のサブセット
にクラスター化され、各サブセットのメンバは環状ネッ
トワークと接続される。各リングはリングベースのマル
チキャストプロトコルを行う。環状ネットワークは、ツ
リーベースのマルチキャストプロトコルを行うバックボ
ーンツリーネットワークによって互いに接続される。
【0007】このアーキテクチャは以下の観察を鑑みて
有利であることを本発明者は発見した。純粋なツリーア
ーキテクチャにおける損失はツリーの外側部分で生じる
ことが最も多い、すなわち、損失は主にソースリンクお
よびレシーバリンク上で生じるが、バックボーンリンク
は相対的に損失がないままであることが公知である。そ
の結果、輻輳の問題がツリーのリーフノードを接続する
リンクから始まり、伝播する。環状ネットワーク(およ
びそれらの暗黙フィードバックメカニズム)を用いてツ
リーのエッジ(すなわち、リーフノード)での通信を提
供することによって、本発明者はツリーの輻輳され易い
リーフノードが輻輳されるのを防止し得る。従って、本
発明者は、リーフノード(輻輳がより問題になりやすい
場所)でリングの優れた輻輳制御特性を利用すると同時
に、バックボーンネットワークにおいてツリーの低伝搬
遅延特性を用いる。
【0008】本発明の一つの実施の形態において、環状
ネットワークはブリッジノードを介してツリーネットワ
ークに接続され、ブリッジノードは環状ネットワークの
リングベースのプロトコルとツリーネットワークのツリ
ーベースのプロトコルとの間の媒介となる。ブリッジノ
ードはツリーからデータパケットを受け取り、これらの
データパケットをそれらの局所リングに与える。同様
に、ブリッジノードはそれらの局所リング上のメンバノ
ードから発生するデータパケットを受け取り、他のリン
グへ送信するためにこれらのデータパケットをツリーに
与える。このため、ブリッジノードはリングベースのマ
ルチキャストプロトコルおよびツリーベースのマルチキ
ャストプロトコルの両方を行わなければならない。
【0009】ブリッジノードは、受け取られたデータパ
ケットを調べることによって、ツリー上のデータパケッ
トの紛失を検出する。ブリッジノードがツリー上のデー
タパケットの紛失を検出する場合、ブリッジは、紛失し
たデータの再送信を開始するために否定応答をツリーに
送信する。ブリッジノードは、暗黙フィードバックによ
って局所リング上のデータパケットの紛失を検出する。
ブリッジノードが(ツリーからその局所リングに与えた
データパケットの)局所リング上のデータパケットの紛
失を検出する場合、ブリッジノードはデータパケットを
局所リングに再送信する。
【0010】ブリッジノードおよびメンバノードの両方
が、いわゆるキープアライブメッセージを周期的に送信
し得る。ノードがキープアライブメッセージを送信し、
所定期間内に(このキープアライブメッセージがリング
を通過した後)同じキープアライブメッセージを再び受
け取らない場合、ノードはキープアライブメッセージが
紛失したと推定する。所定数のキープアライブメッセー
ジが紛失した場合、リング障害が推定され得る。ブリッ
ジノードおよびメンバノードは、戻りキープアライブメ
ッセージを用いてリング上のデータパケットの紛失を検
出もし得る。
【0011】本発明のこれらのおよび他の利点は、以下
の詳細な記載および添付の図面を参照することによって
当業者に明らかになる。
【0012】
【発明の実施の形態】本発明の一つの態様の原理を具現
化するネットワークを図1に示し、この図はバックボー
ンツリーによって接続される3つのリング102、10
4および106を示す。図1に示されるネットワークノ
ードには四つのタイプがある。図1において「M」で示
されるメンバノードは、マルチキャストグループメンバ
ノード(以下でメンバノードと称する)である。メンバ
ノードはデータ源であり得り、他のメンバノードから送
信されたデータを受け取らなければならない。従って、
メンバノードは、グループマルチキャスティングアプリ
ケーション(例えば、距離学習、会議)に関与するノー
ドである。図1において「B」で示されるブリッジノー
ドは、リングをバックボーンツリーと接続する。図1に
おいて「TT」で示されるツリー非常駐ノードは、バッ
クボーンツリーを形成する。図1において「RT」で示
されるリング非常駐ノードは、バックボーンリングを形
成する。
【0013】各リング102、104および106は、
ブリッジノードを介してバックボーンツリーネットワー
クに接続される。各リングが全体として、いわゆるスー
パーノードとして考えられる場合、少なくともツリーか
ら見ると、各リングがツリーのリーフノードであること
がわかり得る。ツリーの役割は、各リング、すなわちス
ーパーノードにデータパケットを信頼性をもって送達す
ることである。一旦データパケットが送達されると、リ
ング内のノードにデータパケットを信頼性をもって送達
するための責任をリングが引き継ぐ。各リング内のノー
ドはリングプロトコルに従って動作し、ツリーのノード
はツリープロトコルに従って動作する。ブリッジノード
の役割は、リングとツリーとの間の媒介となることであ
る。このため、以下でさらに詳細に記載されるように、
ブリッジノードは、リングおよびツリープロトコルの両
方に従って動作しなければならない。
【0014】信頼性のあるグループマルチキャスティン
グを提供するためにノードによって行われるプロトコル
を記載する。本発明のグループマルチキャスティングア
ーキテクチャに関しての信頼性とは、以下のデータ移送
活動が保証されていることを意味する。 1.各メンバノードは、そのリング上のメンバノードか
ら発生する全てのデータパケットを受け取る。 2.各メンバノードは、その局所リング外のメンバノー
ドから発生する全てのデータパケットを受け取り、これ
らのデータパケットは、ツリーを介してメンバノードの
局所ブリッジによって受け取られる。 3.各ブリッジノードは、そのリング上のメンバノード
から発生する全てのデータパケットを受け取る。 4.各ブリッジノードは、その局所リング外のメンバノ
ードから発生する全てのデータパケットをツリーを介し
て受け取る。 上記で規定された信頼性のあるグループマルチキャステ
ィングを提供するためにネットワークノードによって行
われるプロトコルを次に記載する。
【0015】ネットワークノードによって行われるプロ
トコルを記載する前に、図1に示されるネットワークノ
ードが、適切に構成され、かつプログラムされたディジ
タルコンピュータを用いて実施され得ることが特記され
る。従って、本明細書において記載されるノードの機能
は、格納されたコンピュータプログラムコードを実行す
る単数(または複数)のプロセッサの制御下で行われ
る。プログラムされたディジタルコンピュータは当該分
野において公知であり、そのため、単数(または複数)
のプロセッサ、メモリ、およびプログラムされたディジ
タルコンピュータを用いるネットワークノードを実施す
るために必要とされる他の公知の構成要素は図1に図示
されない。当業者は、本明細書において記載されるネッ
トワークノードを容易に実施し得る。
【0016】まず、図2〜図5に関連して、メンバノー
ドによって実行されるプロトコルを記載する。まず図2
を参照すると、ステップ202においてメンバノードの
初期化が行われる。まず、フロー制御ウィンドウが初期
化される。輻輳制御を提供するために、各メンバノード
は、その局所リング上で同時に未決着(outstanding)
にし得るパケットの数を制限するためのスライディング
フロー制御ウィンドウを実施する。パケットがメンバノ
ードによって送られたが、リングを通過した後に未だに
メンバノードに戻っていない場合、パケットは未決着で
ある。フロー制御ウィンドウは、メンバノードが局所リ
ング上で同時に未決着にし得るパケットの最大数を表
す。フロー制御ウィンドウは、全てのリングの全てのメ
ンバノードについて同じ値に初期化される。動作の間、
全てのメンバノードのフロー制御ウィンドウはネットワ
ークを通じて、全てのメンバノードが同一のフロー制御
ウィンドウを有するように調整される。フロー制御ウィ
ンドウの初期値は特定の実施に依存する。フロー制御ウ
ィンドウについての初期値の決定において考慮すべき要
素は、パケットの往復遅延時間およびパケット紛失特性
を含む。フロー制御ウィンドウは、以下でさらに詳細に
記載されるように、ネットワーク性能に基づいて動的に
調整される。再びステップ202に戻ると、KAMタイ
マおよびKAMカウンタが初期化され、これらの使用に
ついては以下で記載する。
【0017】ステップ204で表されるように、メンバ
ノード内で生じる様々なイベントが異なるプロトコルス
テップを開始する。まず、データパケットの受取りの際
に行われるステップを図4に関連して記載する。ステッ
プの記載の前に、リングデータパケット、すなわち、リ
ング内で送信されたデータパケットのフォーマットを図
6に関連して記載する。リングデータパケットは、RI
NG_HEADER602およびRING_PAYLO
AD606を含む。RING_HEADER602の内
容は、ブロック608においてさらに示される。TYP
Eフィールド610は、二つのエントリの一つ、すなわ
ち、RING_DATAまたはRING_KAMを含み
得る。TYPEフィールド610がRING_DATA
を含む場合、RING_PAYLOADフィールド60
6はアプリケーション特定データを含む。TYPEフィ
ールド610がRING_KAMを含む場合、RING
_PAYLOADフィールド606は、ブロック630
中に示されるフォーマットのキープアライブメッセージ
(KAM)を含み、これについは以下で記載する。RI
NG_HEADER602のRESERVEDフィール
ド612はこの特定の実施の形態においては用いられな
い。MEMBER_IDフィールド614は、データパ
ケット源であるメンバノードの識別を含む。SEQUE
NCE_NUMBERフィールド616は、特定のメン
バノードについてのこのデータパケットのシーケンス番
号を含む。従って、各メンバノードは、その送信された
各パケットに連続するシーケンス番号を割り当てる。S
OURCE_PORTフィールド618は、パケットが
送信されてきたメンバノードの特定のポートの識別を含
む。DESTINATION_PORTフィールド62
0は、パケットがアドレスされるメンバノードの特定の
宛先ポートの識別を含む。TIMESTAMPフィール
ド622は、データパケットの送信時間の指示を含む。
CHECKSUMフィールド624は、データパケット
についてのチェックサムを含む。PADDINGフィー
ルド626は、必要に応じてパディングビットを含む。
【0018】次に図4を参照すると、データパケットを
受け取ると、メンバノードはステップ402において、
受け取られたデータパケットのTYPEフィールド61
0を調べることによってデータパケットのタイプを決定
する。データパケットがデータを含む場合、すなわち、
TYPEフィールド610がRING_DATAを含む
場合、ステップ404において、受け取られたデータパ
ケットのMEMBER_IDフィールド614を調べる
ことによって、メンバノードはそのデータがデータパケ
ット源であったか否かを決定する。MEMBER_ID
フィールド614が、受取りメンバノードの識別以外の
メンバノードの識別を含む場合、受取りメンバノードは
受け取られたデータパケットが別のメンバノードからの
ものであったことを決定し、メンバノードは、ステップ
406において、実施されるグループマルチキャスティ
ングアプリケーションに従って受け取られたデータを処
理し、受け取られたデータパケットの処理が終了する。
【0019】メンバノードがステップ404においてデ
ータパケットがデータ源であったことを決定する場合、
すなわち、MEMBER_IDフィールド614が受取
りメンバノードの識別を含む場合、処理は、データパケ
ットの紛失が生じたか否かをメンバノードが決定するス
テップ408に続く。データパケットの紛失が生じたか
否かを決定するために、メンバノードはデータパケット
のシーケンス番号フィールド616を調べる。メンバノ
ードは現在のデータパケットのシーケンス番号を、この
データパケットが源である、最も最近受け取られたデー
タパケットのシーケンス番号と比較する。メンバノード
がシーケンス番号中のギャップを検出する場合、メンバ
ノードは欠けているシーケンス番号と関連付けられてい
るデータパケットが紛失しているか否かを決定する。従
って、ここでのリングプロトコルの利点は、送りメンバ
ノードが送信されたデータパケットに対して暗黙フィー
ドバックを受け取ることにあることがわかる。リングア
ーキテクチャのために、メンバノードがデータパケット
を送信すると、その同一のデータパケットはリングを通
過した後に、結局はそのメンバノードに戻るべきであ
る。従って、メンバノードは紛失したパケットの暗黙フ
ィードバック(余分な制御メッセージが何も必要でない
ために暗黙である)を受け取る。
【0020】プロトコルステップに戻り、損失が検出さ
れる場合、ステップ410で、メンバノードが紛失した
パケットを再送信する。ステップ410の後、または損
失がなかった場合、プロトコルはステップ412に続
き、この時フロー制御ウィンドウが調整される。損失が
ステップ408で検出された場合、フロー制御ウィンド
ウは縮小される。損失がステップ408で検出されない
場合、フロー制御ウィンドウは拡大される。
【0021】フロー制御ウィンドウを初期化および調整
するために用いられ得る様々な技術が存在する。メンバ
ノードのフロー制御ウィンドウを調整するための一つの
実施の形態を記載する。初めに、フロー制御ウィンドウ
は相対的に小さいサイズとして初期化され得る。この実
施の形態において、メンバノードは二つの状態の一つ、
すなわち、プロービング状態または輻輳回避状態になり
得る。初めに、メンバノードがプロービング状態になる
と考えられ、従って、ネットワーク性能を決定しようと
試みる。メンバノードがデータパケットの紛失を検出し
ない限り、メンバノードはプロービング状態のままであ
る。メンバノードがパケットの紛失を検出すると、さら
なる輻輳を回避しようと試みてメンバノードは輻輳回避
状態に遷移する。メンバノードは三つの方法の一つ、す
なわち、1)ステップ408に関連して上記のようにシ
ーケンス番号のギャップを検出すること、2)NACK
メッセージを受け取ること(ステップ428に関連して
上述のように)、および3)LOSTメッセージを受け
取ること(これもまたステップ428に関連して上述の
ように)の一つによって、データパケットの紛失を検出
し得る。一旦メンバノードが輻輳回避状態になると、N
ACKメッセージの受取りの際にメンバノードはプロー
ビング状態に再び遷移する。
【0022】ステップ412に戻り、ステップ408に
おいて損失が検出されなかった場合、フロー制御ウィン
ドウは値dwup(この値は以下で記載する)だけ拡大さ
れる。ステップ408において損失が検出された場合、
フロー制御ウィンドウは値dwdownだけ縮小される。
【0023】dwupおよびdwdownについての値は以下
のパラメータ、すなわち、現在のフロー制御ウィンドウ
サイズ(wsize)、マルチキャストセンダ数
(m)、および現在のプロトコル状態(state)の
関数として選ばれる。dwupおよびdwdownの値の一つ
の選択は以下の通りである。 state=プロービングの場合、dwup=1/wsi
ze state=輻輳回避の場合、dwup=1/(wsiz
*m) dwdown=1 このようにdwupおよびdwdownを選択する根本的理由
は以下の通りである。本発明者はマルチキャスティング
プロトコルを扱っているので、多くの潜在的なデータ源
では、多くのセンダで小さな調整を行うと、ネットワー
ク性能全体に大きな影響を与え得る。従って、メンバノ
ードがプロービング状態で動作するとき、フロー制御ウ
ィンドウは小さい量(1/wsize)だけ拡大され得
る。しかし、メンバノードが輻輳回避状態で動作する場
合、フロー制御ウィンドウはより小さい量(wsize
*m)のみ拡大され得る。従って、輻輳回避状態で動作
するとき、本発明者は非常に慎重な方法をとり、フロー
制御ウィンドウが小さい量だけ拡大することのみを可能
にする。
【0024】上述のフロー制御ウィンドウ技術は、ネッ
トワーク輻輳を検出するためにおよびフロー制御ウィン
ドウのサイズの縮小をトリガするためにパケット紛失を
用いる。代替的な実施の形態において、フロー制御ウィ
ンドウは、データパケット遅延時間に基づいて調整され
る。より詳細には、フロー制御ウィンドウ管理のこの実
施の形態は、輻輳状態を指示するものとして往復遅延を
用いる。フロー制御ウィンドウは、あるしきい値下でデ
ータパケット往復遅延時間を維持するように調節され
る。
【0025】この実施の形態において、データパケット
がメンバノードに戻る度に、往復遅延時間tが測定さ
れ、tの最も大きい値(t_max)およびtの最も小
さい値(t_min)が維持される。さらに、実験パラ
メータalphaが性能調整(tuning)のために用いら
れ得る。一つの実施の形態において、alphaについ
ての適切な値は0.5であるが、ネットワークの性能を
向上させるために変わり得ることは当然である。その
後、4t期間毎に、フロー制御ウィンドウは以下のよう
に1/wsizeの値だけ拡大または縮小される。 (t<alpha*t_min+(1−alpha)*
_max)である場合、 wsize:=wsize+1/wsize 又は、wsize:=wsize−1/wsize シミュレーション研究の間に、データパケット遅延時間
に基づいてフロー制御ウィンドウが調整されるこの第二
の実施の形態がネットワーク輻輳の防止に有効であり、
そのため、高いネットワーク負荷でより良好な遅延性能
を有することを、本発明者は見出した。この改善された
遅延性能についての価値として、パケット紛失の検出に
基づいてフロー制御ウィンドウが調整される第一の実施
の形態と比較すると、この第二の実施の形態はより低い
グッドプット(すなわち、再送信および制御トラフィッ
クを除外した後のスループット)を示す。
【0026】図4に戻ると、フロー制御ウィンドウが調
整された後、フロー制御ウィンドウが許可する場合は、
ステップ414でメンバノードがその送りバッファから
付加的なデータを送信し、受け取られたデータパケット
の処理が終了する。
【0027】上記のように、パケットの紛失を検出する
ために環状ネットワークの暗黙フィードバックを使用す
ることによって、いわゆるフロー制御ウィンドウデッド
ロックが生じ得ることに留意されたい。メンバノードの
フロー制御ウィンドウ中のパケット数と等しい数のメン
バノードパケットが紛失する場合に、このデッドロック
が生じる。このような状況において、メンバノード自体
のデータパケットはいずれも受け取られず、従って、ス
テップ404での試験の結果として「自己」ブランチと
関連付けられたステップを行うことには決してならな
い。このために、フロー制御ウィンドウが大きく調整さ
れる機会はなく、その結果、メンバノードのバッファは
満たされ続けるが、さらなるデータパケットは送られな
い。この状況を処理するために、キープアライブメッセ
ージ(KAM)が以下のように用いられる。
【0028】図6を参照すると、KAMパケットのフォ
ーマットがブロック630に示される。従って、RIN
G−HEADER602のTYPEフィールド610が
RING_KAMを含むとき、RING−PAYLOA
D606は、ブロック630中に示される情報を含む。
特に、パケットは、前のKAMパケットに続いて送られ
る第一のデータパケット(すなわち、FIRST_SE
QUECE_IN_WINDOW631)のシーケンス
番号および現在のKAMパケットの前に送られた最終パ
ケット(すなわち、LAST_SEQUENCE_SE
NT632)のシーケンス番号を含む。再び図2および
ステップ202を参照すると、KAMタイマおよびKA
Mカウンタが初期化されたことが想起される。KAMタ
イマは、送信されたKAMパケットが送りメンバノード
によって再び受け取られることが予期される時間量に設
定される。KAMカウンタは、紛失したKAMパケット
の数を表し、ゼロに初期化される。フロー制御ウィンド
ウデッドロックを防止するためのKAMパケットの使用
は、図2、3および4に関連した以下の記載から明らか
になる。図2を参照すると、ステップ204において検
出されたイベントがKAMタイマの満了である場合、K
AMパケットは紛失されていると推定され、図3に示さ
れるプロトコルステップが行われる。まず、ステップ3
02において、KAMカウンタは増分され、別のKAM
パケットが紛失していることを示す。ステップ304に
おいて、KAMカウンタはしきい値と比較される。しき
い値は、リング障害があることを推定する前に紛失した
はずであるKAMパケット数を表す。そのしきい値に達
している場合、リング障害がステップ306で推定さ
れ、適切な例外処理が行われる。しきい値に達していな
い場合、制御は図4のステップ424に移り、この時点
でフロー制御ウィンドウが調整される。ステップ304
の後にステップ424を実行すると、KAMの損失はネ
ットワーク輻輳を示唆しているので、メンバノードのフ
ロー制御ウィンドウが小さく調整される。その後、ステ
ップ426において、新しいKAMパケットが送られ、
KAMタイマがリセットされる。
【0029】ステップ402を参照すると、受け取られ
たパケットがKAMパケットであると決定される場合、
メンバノードはプロトコルステップ416に処理を続け
る。ステップ416において、受取りメンバノードは、
KAMパケットのMEMBER_IDフィールド614
(図6)を調べることによって、そのパケットが受け取
られたKAMパケット源であったか否かを決定する。そ
のパケットが別のメンバノードのKAMパケットである
場合、パケットは無視される。そのパケットが受取りメ
ンバノードのKAMパケットである場合、KAMカウン
タはステップ418においてクリアされる。ステップ4
20において、メンバノードは、KAMパケットの内容
630を調べることによって、何らかのデータパケット
の紛失があったか否かを決定する。上述のように、KA
Mパケットは、前のKAMパケットに続いて送られた第
1のデータパケット(すなわち、FIRST_SEQU
ENCE_IN_WINDOW631)のシーケンス番
号、および現在のKAMパケットの前に送られた最終パ
ケット(すなわち、LAST_SEQUENCE_SE
NT632)のシーケンス番号を含む。メンバノード
が、KAMパケット中で(包括的に)識別されたシーケ
ンス範囲内の全てのデータパケットを再び受け取ったこ
とを決定する場合、メンバノードはデータパケットの紛
失がないことを決定する。メンバノードが、KAMパケ
ット中で(包括的に)識別されたシーケンス範囲内の全
てのデータパケットを再び受け取っていないことを決定
する場合、メンバノードはデータパケットの紛失があっ
たと決定し、メンバノードはステップ422で、紛失し
たデータパケットを再送信する。ステップ422の後、
または損失がなかった場合、プロトコルはステップ42
4まで続き、この時、ステップ408、410および4
12に関連して上記されたものと同様な方法でフロー制
御ウィンドウが調整される。ステップ426は上述のよ
うに行われる。
【0030】再びステップ402を参照すると、受け取
られたパケットがNACKまたはLOSTパケットであ
ることが決定される場合、ステップ428でメンバノー
ドがフロー制御ウィンドウを調整する。また、NACK
またはLOSTパケットを受け取ることはネットワーク
輻輳を示し、メンバノードはフロー制御ウィンドウを小
さく調整する。NACKおよびLOSTパケットは以下
に記載する。
【0031】図2に戻って参照すると、ステップ204
で検出されたイベントがメンバノードによって送信され
る新しいデータの生成である場合、図5に示されるプロ
トコルステップが行われる。ステップ502において、
新たに生成されたデータはメンバノードの送りバッファ
に添付され、ステップ414(図4)において、メンバ
ノードのフロー制御ウィンドウが許可すれば、メンバノ
ードはその送りバッファからデータを送ろうと試みる。
【0032】ブリッジノードによって行われるプロトコ
ルステップを、図8〜図12に関連して記載する。まず
図8を参照すると、ステップ802において、ブリッジ
ノードの初期化が行われる。まず、CLUSTER_I
Dが、ブリッジノードが動作している局所リングの識別
に設定される。各リングは、固有のCLUSTER_I
Dを有する。SEQUENCEは、ブリッジノードによ
ってツリーに送信されるパケットのシーケンス番号を表
し、0に初期化される。ステップ802においても、K
AMタイマは初期化され、KAMカウンタは0に設定さ
れる。
【0033】種々のイベントは、ステップ804によっ
て表されるように、異なるプロトコルステップをトリガ
する。まず、ブリッジノードがツリーからパケットを受
け取る場合、図9に示されるプロトコルステップは以下
のように行われる。まず、ステップ902において、受
け取られたパケットのタイプが決定される。この時点
で、TREEパケットと呼ばれる、ツリーネットワーク
上で送信されるデータパケットのフォーマットが図7に
関連して記載される。ツリーパケットは、TREE_H
EADER702およびTREE_CONTENT70
4を含む。TREE_HEADER702の内容は、ブ
ロック706でさらに示される。TYPEフィールド7
08は、5つのエントリのうちの1つ、すなわち、TR
EE_RDATA、TREE_LOST、TREE_R
EPAIR、TREE_NACKおよびTREE_KA
Mの1つを含み得る。TYPEフィールド708がTR
EE_RDATAを含む場合、パケットはデータパケッ
トであり、TREE_CONTENTフィールド704
はアプリケーション特定データを含む。TYPEフィー
ルド708がTREE_LOSTを含む場合、パケット
はLOSTパケットであり、TREE_CONTENT
フィールド704中に内容はない。TYPEフィールド
708がTREE_REPAIRを含む場合、パケット
は修復パケットであり、TREE_CONTENTフィ
ールド704はアプリケーション特定データを含む。T
YPEフィールド708がTREE_NACKである場
合、このパケットはNACKパケットであり、TREE
_CONTENTフィールド704はCLUSTER_
IDおよび紛失したデータパケットを識別するシーケン
ス番号(SEQUENCE)を含む。TYPEフィール
ド708がTREE_KAMを含む場合、パケットはツ
リーKAMパケットであり、TREE_CONTENT
フィールド704は用いられない。TREE_KAMパ
ケットの処理は、以下でさらに詳細に記載される。TR
EE_HEADER702のRESERVEDフィール
ド710は、この特定の実施の形態において用いられな
い。CLUSTER_IDフィールド712は、データ
パケット源であるメンバノードがメンバであるリングの
識別を含む。CLUSTER_SEQUENCEフィー
ルド714は、特定のブリッジノードについてのこのデ
ータパケットのシーケンス番号(SEQUENCE)を
含む。従って、ブリッジノードも、各メンバノードがそ
の送信された各パケットに連続するシーケンス番号を割
り当てる方法と同様な方法で、ツリーを介して送信され
るパケットに連続するシーケンス番号を割り当てる。
【0034】次に図9に戻ると、TREE_HEADE
R702のTYPEフィールド708を調べることによ
って、ステップ902でパケットタイプが決定される。
TYPEフィールドがTREE_RDATAを含む場
合、これはデータパケットであり、いずれのデータパケ
ットが紛失しているか否かを決定するステップ904に
処理が続く。各ブリッジノードは、他のリング(CLU
STER_IDによって識別されるリング)の各々から
受け取られる最後のデータパケットシーケンス番号(S
EQUENCE)を維持する。従って、ブリッジノード
は、フィールド712中に特定のCLUSTER_ID
を含むデータパケットを受け取ると、フィールド714
中のCLUSTER_SEQUENCE番号を、識別さ
れたリングから受け取られた最後のパケットシーケンス
番号と比較する。ブリッジノードがシーケンス番号中の
ギャップを検出する場合、ブリッジノードは、(単数ま
たは複数の)欠けたシーケンス番号と関連付けられたデ
ータパケットがツリー上で紛失したと決定する。このよ
うな場合、メンバノードはステップ906で(単数また
は複数の)NACKパケットを送信し、(単数または複
数の)送られたNACKパケットと関連付けられた(単
数または複数の)NACKタイマをスケジューリングす
る。上述のように、NACKパケットは、紛失したデー
タ源であったリングの識別(CLUSTER_ID)を
含み、NACKパケットは紛失したパケットのシーケン
ス番号を含む。NACKパケットは、ツリー上の全ての
ブリッジノードに送信される。NACKタイマは、NA
CKまたはNACKに対応する応答(すなわち、修復メ
ッセージ)が紛失している状況を処理するために用いら
れる。図11に関連してさらに詳細に以下で記載される
ように、NACKタイマが満了する場合、新しいNAC
Kが送られる。この時点で、初期NACKを送ると、N
ACKタイマは、パケットの片道移動時間の三倍の時間
値(すなわち、1往復+さらに1片道)に有利に設定さ
れる。ステップ906に続いて、またはステップ904
で損失が検出されなかった場合、ブリッジノードはステ
ップ908で、受け取られたデータパケットをその局所
リングに送信する。また、ツリーからその局所リング上
で受け取られるパケットを送信する際に、ブリッジノー
ドは、ブリッジノードに格納されたring_sent
_bufferの終端にパケットを添付する。以下でさ
らに詳細に記載されるように、このring_sent
_bufferは、ツリーから局所リングにブリッジに
よってフォワードされたパケットのデータパケットの紛
失を検出するために用いられる。次いで、受け取られた
データパケットの処理は終了する。
【0035】ステップ902における試験が、受け取ら
れたパケットがLOSTパケットである(すなわち、パ
ケットのTYPEフィールド708がTREE_LOS
Tを含む)ことを決定する場合、ブリッジノードは、ス
テップ910でLOSTパケットを局所リングに送信す
る。LOSTパケットは、ブリッジノードのring_
sent_bufferに付加される。ブリッジノード
によってLOSTパケットが受け取られることは、別の
リングに紛失したデータがあることを示し、そのリング
からのブリッジノードは、他の全てのリングにデータパ
ケットの紛失を知らせるために、LOSTパケットを送
っている。図4のステップ428と関連して上述したよ
うに、メンバノードがLOSTパケットを受け取ると、
メンバノードはそのフロー制御ウィンドウを適切に調整
する。受け取られたデータパケットの処理は、ステップ
910に続いて終了する。
【0036】ステップ902における試験が、受け取ら
れたパケットがNACKパケットである(すなわち、パ
ケットのTYPEフィールド708がTREE_NAC
Kを含む)ことを決定する場合、ブリッジノードはステ
ップ912に進み、このパケットが紛失したパケット源
であったか否かを決定する。ブリッジノードは、受け取
られたNACKパケットのCLUSTER_IDフィー
ルド712を調べてそのリングが識別されるか否かを決
定することによって、そのパケットが紛失したパケット
源であったか否かを決定する。受取りブリッジノードが
紛失したパケット源である場合、ステップ914におい
てブリッジノードは、この特定の紛失したパケットにつ
いてのイグノアタイマが設定されていたか否かを決定す
る(イグノアタイマの目的は、ステップ918に関連し
て記載する)。イグノアタイマが設定されていなかった
場合、ブリッジノードはステップ916において、紛失
したデータを含む修復パケット(TREE_CONTE
NTフィールド704中で紛失したシーケンス番号によ
って識別されるように)を送信する。ステップ918に
おいて、ブリッジノードはイグノアタイマを設定する。
イグノアタイマは、修復を送るブリッジノードから、N
ACKを送ったブリッジノードまでの往復時間に有利に
設定される。イグノア期間の間、複製NACKを送信す
るブリッジノードは既に送られた修復パケットを受け取
るとみなされるので、ブリッジノードはいずれものさら
なる受け取られた複製NACKを無視する。従って、ス
テップ914によりイグノアタイマが設定されていると
決定する場合、ステップ916および918は行われな
い。従って、ステップ918の後、またはイグノアタイ
マが設定されている場合、受け取られたNACKパケッ
トが受取りブリッジノードの局所リングに送られ、NA
CKパケットがブリッジノードのring_sent_
bufferに付加されるステップ920に処理が続
く。ステップ428(図4)と関連して上述したよう
に、メンバノードはNACKパケットを受け取ると、そ
のフロー制御ウィンドウを適切に調整する。
【0037】ステップ912に戻り、パケットが紛失し
たパケット源でなかったことをブリッジノードが決定す
る場合、ステップ922において、NACKタイマを特
定の紛失したデータパケットについてステップ906に
おいて前もってスケジューリングしている(すなわち、
受け取られたNACKパケットと関連付けられるデータ
パケットの紛失をブリッジノードに既に検出させ、ステ
ップ906においてそれ自体のNACKパケットを送ら
せている)か否かをブリッジノードが判定する。スケジ
ューリングしている場合、ステップ924で、紛失した
パケット源をNACKで圧倒することを防止するため
に、特定の紛失したパケットについてのそれ自体のNA
CKタイマをブリッジノードが遅延させる(すなわち、
期間を長くし、従って、NACKタイマの満了を遅延さ
せる)。ステップ924に続き、またはステップ922
における試験が、ブリッジノードがステップ906にお
いて特定の紛失したデータパケットについてNACKタ
イマを前もってスケジューリングしていないことを示す
場合、ステップ920で、受け取られたNACKパケッ
トが受取りブリッジノードの局所リングに送られ、NA
CKパケットはブリッジノードのring_sent_
bufferに付加される。受け取られたパケットの処
理は、ステップ920に続いて終了する。
【0038】受け取られたパケットが修復パケットであ
る(すなわち、パケットのTYPEフィールド708が
TREE_REPAIRを含む)ことをステップ902
における試験が決定する場合、ブリッジノードはステッ
プ926に進み、ステップ906でNACKパケットを
送信することによって修復を要求したかを決定する。要
求していた場合、修復パケットが受け取られているの
で、ステップ928でNACKタイマは取り消され、ス
テップ930で修復パケットがブリッジノードの局所リ
ングに送られ、修復パケットがブリッジノードのrin
g_sent_bufferに付加される。ステップ9
30に続いて、またはステップ926における試験がN
Oである場合、受け取られたパケットの処理は終了す
る。
【0039】図8に戻り、ステップ804で検出された
イベントがブリッジノードの局所リングからの着信パケ
ットである場合、処理は図10に示されるステップに続
く。まず、ステップ1002において、パケットのTR
EE_HEADER702中のTYPEフィールド70
8を調べることによって、パケット源およびパケットの
タイプが決定される。TYPEフィールド708がプレ
フィクスTREEを含む場合、パケットはツリーパケッ
トであり、このようなパケットが局所リング上へ進み得
た唯一の方法は、ツリーからブリッジノードによってフ
ォワードされる場合であるために、これがパケット源で
あったことをブリッジノードは決定する。TYPEフィ
ールド708がプレフィックスRINGを含む場合、パ
ケットがリングパケットであるために、局所リングのメ
ンバノードの一つはパケット源であったことをブリッジ
ノードは決定する。特定のタイプのパケットは、TYP
Eフィールド708のサフィックスを調べることによっ
て決定される。
【0040】パケットのTYPEフィールド708がT
REE_RDATAを含む場合、これがデータパケット
源であり、ブリッジノードがツリーネットワークから受
け取り、かつ局所リング上でメンバノードにフォワード
したデータをパケットが含むことをブリッジノードは決
定し、処理はステップ1006に続く。ステップ100
6において、受け取られたパケットをブリッジノードの
ring_sent_bufferと比較することによ
って、何らかのデータパケットの紛失があったか否かを
ブリッジノードが判定する。上述のように、ブリッジノ
ードがツリーから受け取られたパケットを局所リングに
フォワードする度に、ブリッジノードはring_se
nt_bufferの終端にパケットを添付する。パケ
ットが局所リングからブリッジノードによって受け取ら
れると、ブリッジノードはring_sent_buf
ferを調べる。受け取られたパケットは、ring_
sent_bufferの先頭のパケットと同一である
べきである。同一である場合、ring_sent_b
ufferの先頭のパケットはring_sent_b
ufferから取り除かれる。ring_sent_b
ufferの先頭のパケットが、受け取られたパケット
と同一でない場合、ring_sent_buffer
の先頭のパケットは局所リング上で紛失したことが決定
される。このような場合、紛失したパケット(すなわ
ち、ring_sent_bufferの先頭のパケッ
ト)はステップ1008で局所リングに再送され、紛失
したパケットはring_sent_bufferの先
頭から取り除かれ、ring_sent_buffer
の終端に添付される。ステップ1010において、メン
バノードには紛失したパケットが知らされ、それに応答
して、図4のステップ428と関連して上述されるよう
にそれらのフロー制御ウィンドウを調整するように、L
OSTパケットはツリーおよび局所リングに送られる。
着信パケットの処理は、ステップ1010に続いて終了
する。
【0041】ステップ1002において、着信パケット
がそれ自体のKAMパケットである(すなわち、パケッ
トヘッダのタイプフィールドがTREE_KAMを含
む)ことをブリッジノードが決定する場合、ステップ1
004において、ブリッジノードはそのKAMカウンタ
をクリアし、KAMタイマをリセットし、新しいKAM
パケットを送信する。この時点で、新たに送られたKA
Mパケットもring_sent_bufferに付加
される。次いで、処理は、上述のようにデータパケット
の紛失があったか否かをブリッジノードが判定するステ
ップ1006に続く。従って、ブリッジノードは、受け
取られたKAMパケットをブリッジノードのring_
sent_bufferの先頭のパケットと比較する。
ブリッジノードのring_sent_bufferの
先頭のパケットが、受け取られたKAMパケットと一致
しない場合、データパケットの紛失が検出されており、
上述のように処理はステップ1008および1010に
続く。ブリッジノードのring_sent_buff
erの先頭のパケットが受け取られたKAMパケットと
一致する場合、着信パケットの処理は終了する。
【0042】ステップ1002に戻り、着信パケットの
TYPEフィールド708がRING_DATAを含む
場合、局所リングのメンバノードの一つがデータパケッ
ト源であることをブリッジノードは決定し、処理はステ
ップ1012に続く。ステップ1012において、ブリ
ッジノードは、以下のようにメンバノードの局所リング
パケットをツリーパケットにパッケージする。ブリッジ
ノードは、図7に示されるようにTREE_HEADE
R702およびTREE_CONTENT704を用い
てツリーパケットを生成する。ヘッダ702のTYPE
フィールド708はTREE_RDATAを含み、CL
USTER_IDフィールド712はブリッジノードの
局所リングの識別を含み、CLUSTER_SEQUE
NCEフィールド714はこのデータパケットのパケッ
トシーケンス番号(SEQUENCE)を含む。TRE
E_CONTENT704は、ブリッジノードによって
受け取られたRINGパケット全体を含む。またステッ
プ1012において、ブリッジノードはシーケンスカウ
ンタSEQUENCEを増分する。ブリッジノードは、
ステップ1014において、新たに生成されたTREE
パケットをツリーネットワークに送信する。ステップ1
014に続き、着信データパケットの処理は終了する。
【0043】ステップ1002に戻り、着信パケットの
TYPEフィールド708がRING_KAMを含む場
合、パケットがリングのメンバノードの一つからのKA
Mパケットであることをブリッジノードが決定する。こ
の場合、ブリッジノードはパケットを無視し、着信デー
タパケットの処理は終了する。
【0044】次に図8に戻り、ステップ804で検出さ
れたイベントがNACKタイマの満了である場合、処理
は図11に示されるステップに続く。上述のように、送
信されたNACKまたはNACKへの対応する応答(す
なわち、修復メッセージ)が紛失している状況をブリッ
ジノードが検出することを可能にするために、NACK
タイマが用いられる。NACKタイマが満了する場合、
NACKおよび/または対応する修復パケットがツリー
上で紛失したことをブリッジノードは推定する。この場
合、ステップ1102において、ブリッジノードは、満
了したNACKタイマと関連付けられたNACKパケッ
トの複製を送信する。ブリッジノードは、ステップ11
04においてNACKタイマをリセットする。満了した
NACKタイマの処理は、ステップ1104後に終了す
る。
【0045】図8に戻ると、ブリッジノードはイグノア
タイマの満了に働きかけない。ステップ918に関連し
て上述されるように、イグノア時間は複製NACKを無
視するために用いられ、NACKタイマの満了はブリッ
ジノードの一部への働きかけを必要としない。
【0046】再び図8に戻ると、ステップ804におい
て検出されるイベントがブリッジノードのKAMタイマ
の満了である場合、処理は図12に示されるステップに
続く。ステップ1202において、ブリッジノードは、
連続して紛失したKAMパケットの数を数えるそのKA
Mカウンタを増加させる。ステップ1204において、
KAMカウンタは、リング障害があったことを推定する
前に紛失したはずであるKAMパケットの数を表すしき
い値と比較される。そのしきい値に達した場合、リング
障害がステップ1210で推定され、適切な例外処理が
行われる。しきい値に達していない場合、ステップ12
06で新しいKAMパケットが送られ、ステップ120
8でKAMタイマがリセットされる。ブリッジノードに
おけるKAMの目的は、ブリッジノードから送信される
全てのパケットが局所リング上で紛失するイベントから
保護することである。
【0047】メンバノードは、以下のようにそのマルチ
キャストセッションを終了(すなわち、マルチキャスト
アプリケーションにおける関与を終了させ、マルチキャ
ストグループを離れる)させ得る。局所リング上の制御
メッセージENDを送ることによって、メンバノードは
セッションを離れる。セッションを離れた後、メンバノ
ードはリング非常駐ノードになる。特定の局所リング上
の全てのメンバノードがそれらのマルチキャストセッシ
ョンを終了させると、そのリングについてのブリッジノ
ードは制御メッセージEND(CLUSTER_ID、
CLUSTER_SEQUENCE)を送信し、図7に
関連して上述したように、ここでCLUSTER_ID
はリングを識別し、CLUSTER_SEQUENCE
はリングから送られた最後のデータパケットのシーケン
ス番号を含む。このブリッジノード制御メッセージは、
他のブリッジノードによって応答されなければならな
い。従って、受取りブリッジノードは、END(CLU
STER_ID、CLUSTER_SEQUENCE)
を受け取ると、送りブリッジノードに適切な肯定応答を
送る。送りブリッジノードが他の全てのブリッジノード
からの肯定応答を受け取ると、送りブリッジノードはツ
リーとの通信を中止する。終端ブリッジノードもタイマ
をそのENDメッセージと関連付けて、そのENDメッ
セージまたは関連付けられた肯定応答がツリー上で紛失
した状態を処理する。そのようなタイマが満了すると、
終端ブリッジノードはそのENDメッセージを再送信す
る。
【0048】上述のプロトコルは、本発明に従って信頼
性のあるグループマルチキャスティングを実施するため
に用いられる。従って、再び図1を参照すると、本発明
に従って信頼性のあるグループマルチキャスティングを
実施するために、ブリッジノード(Bで示される)は図
8〜図12と関連して上述されたプロトコルを行い、メ
ンバノード(Mで示される)は図2〜図5と関連して上
述されたプロトコルを行う。
【0049】当業者によって理解されるように、上述の
プロトコルは、図1に示されるネットワークノードの機
能の一つの態様を記載する。より低レベルのネットワー
ク動作のいくつかを実施するために、他のプロトコルも
必要とされる。例えば、有効なマルチキャストリングの
維持、リング隣接ノード間でのパケットのフォワーディ
ング、パケットがリングの移動を終えたときのパケット
送信の終了、および適切である場合に上述のより高レベ
ルの信頼性のあるグループマルチキャスティングプロト
コルへの到着パケットを与えることなどの基本的な環状
ネットワーク機能を行うために、リングを実施するノー
ドは、より低いレベルのリングルーティングプロトコル
も行わなければならない。例えば、リング非常駐ノード
(RT)、メンバノード(M)およびブリッジノード
(B)は全て、環状ネットワークの一部であるので、こ
れらのノードは全てこのより低いレベルのリングルーテ
ィングプロトコルを行わなければならない。メンバノー
ドの場合、より低いレベルのリングルーティングプロト
コルは、より高いレベルのメンバノードの信頼性のある
グループマルチキャスティングプロトコルに着信パケッ
トを与える。ブリッジノードの場合、より低いレベルの
リングルーティングプロトコルは、より高いレベルのブ
リッジノードの信頼性のあるグループマルチキャスティ
ングプロトコルに着信パケットを与える。このようなよ
り低いレベルのリングルーティングプロトコルは、当業
者によって実施され得る。
【0050】さらに、ツリーネットワークを実施するノ
ードは、有効なマルチキャストツリーの維持、ツリー隣
接ノード間でのパケットのフォワーディング、およびよ
り高いレベルのプロトコルへ着信パケットを適切なよう
に与えることなどの基本的なツリーネットワーク機能を
行うために、低レベルツリールーティングプロトコルを
行わなければならない。例えば、ツリー非常駐ノード
(TT)およびブリッジノード(B)は両方ともツリー
ネットワークの一部であるので、これらのノードは両方
ともこのより低いレベルのツリールーティングプロトコ
ルを行わなければならない。ブリッジノードの場合、よ
り低いレベルのツリールーティングプロトコルは、より
高いレベルのブリッジノードの信頼性のあるグループマ
ルチキャスティングプロトコルに着信パケットを提供し
なければならない。このようなより低レベルのツリール
ーティングプロトコルは、例えば、S.Deering
ら、The PIM Architecture fo
r Wide−Area Multicast Rou
ting、IEEE/ACM Transaction
s on Networking、第4巻、No.2、
第153〜162頁、1996年およびT.Balla
rdie,P.FrancisおよびJ.Crowcr
oft、Core Based Tree(CBT):
An Architecture for Scala
ble Inter−Domain Multicas
t Routing、Proc.ACM SIGCOM
M 193、1993年10月、第85〜95頁に記載
されているように当該分野で公知であり、これら両文献
は本明細書において参照により援用される。
【0051】図1のネットワーク図はネットワークの論
理的な構成を表し、必ずしも(可能ではあるが)ネット
ワークの物理的な構成を表すわけではないことが当業者
によって理解される。すなわち、ツリーネットワークを
構成するノードおよびそれら各々のより低いレベルのル
ーティングプロトコルは、ツリーネットワーク構成に従
ってパケットをルーティングするように構成され、環状
ネットワークを構成するノードおよびそれら各々のより
低レベルのルーティングプロトコルは、環状ネットワー
ク構成に従ってパケットをルーティングするように構成
される。この構成に基づき、パケットの論理的ルーティ
ングを行う結果、図1に示される論理的ネットワーク構
成となる。しかし、ノードの物理的構成およびそれらの
物理的相互接続は異なり得り、ネットワークの物理的構
成に従ってただ単にパケットをルーティングする介在ノ
ード(図示せず)を含み得る。
【0052】マルチキャストネットワーク全体の性能
は、ネットワークがどのように分割されるかによって影
響を受ける。g個のクラスタに分割され得るm個のメン
バを有するマルチキャストグループを仮定する。極値で
は、gが1に近づくと、単一リングアーキテクチャに近
づき、mがgに近づくと、単一ツリーアーキテクチャに
近づく。有利な分割は、環状ネットワークの輻輳制御利
益を維持しつつ、ツリーネットワークの低い伝搬遅延か
ら利益を得るために十分大きいgを有する。
【0053】上述の詳細な記載は全ての点において説明
的かつ例示的であるが、制限的ではないと理解されるべ
きであり、本明細書で開示される本発明の範囲は詳細な
記載からではなく、特許法によって認められる全範囲に
従って解釈されるように特許請求の範囲から決定される
べきである。本明細書において示され、記載される実施
の形態は本発明の原理の例示の説明でしかなく、本発明
の範囲および精神から逸脱せずに、当業者によって様々
な改変が実施され得ることが理解されるべきである。
【図面の簡単な説明】
【図1】本発明の一つの態様の原理を具現化するネット
ワークを示す図である。
【図2】マルチキャストメンバノードによって行われる
プロトコルステップを示すフローチャートである。
【図3】マルチキャストメンバノードによって行われる
プロトコルステップを示すフローチャートである。
【図4】マルチキャストメンバノードによって行われる
プロトコルステップを示すフローチャートである。
【図5】マルチキャストメンバノードによって行われる
プロトコルステップを示すフローチャートである。
【図6】リングデータパケットのフォーマットを示す図
である。
【図7】ツリーデータパケットのフォーマットを示す図
である。
【図8】ブリッジノードによって行われるプロトコルス
テップを示すフローチャートである。
【図9】ブリッジノードによって行われるプロトコルス
テップを示すフローチャートである。
【図10】ブリッジノードによって行われるプロトコル
ステップを示すフローチャートである。
【図11】ブリッジノードによって行われるプロトコル
ステップを示すフローチャートである。
【図12】ブリッジノードによって行われるプロトコル
ステップを示すフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブレント イーナー アメリカ合衆国 10025 ニューヨーク, ニューヨーク シティ,ウエスト ワンハ ンドレッド サード ストリート 308

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 ツリーネットワークによって相互接続さ
    れた複数の環状ネットワークを備える、ネットワーク。
  2. 【請求項2】 前記環状ネットワークは、前記ツリーネ
    ットワークのリーフノードとして接続されている、請求
    項1に記載のネットワーク。
  3. 【請求項3】 前記環状ネットワークは、ブリッジノー
    ドによって前記ツリーネットワークに接続されている、
    請求項1に記載のネットワーク。
  4. 【請求項4】 前記環状ネットワークは論理環状ネット
    ワークである、請求項1に記載のネットワーク。
  5. 【請求項5】 前記ツリーネットワークは論理ツリーネ
    ットワークである、請求項1に記載のネットワーク。
  6. 【請求項6】 各前記環状ネットワークは、少なくとも
    一つのマルチキャストメンバノードを備える、請求項1
    に記載のネットワーク。
  7. 【請求項7】 第1の環状ネットワークを実施するよう
    に構成された第1の複数のノードと、 第2の環状ネットワークを実施するように構成された第
    2の複数のノードと、 ツリーネットワークを実施するように構成された第3の
    複数のノードと、を備え、 前記第1および前記第2の環状ネットワークは前記ツリ
    ーネットワークによって接続されている、ネットワー
    ク。
  8. 【請求項8】 前記第1および前記第2の環状ネットワ
    ークは、前記ツリーネットワークのリーフノードとして
    接続されている、請求項7に記載のネットワーク。
  9. 【請求項9】 前記第1および前記第2の環状ネットワ
    ークは、ブリッジノードによって前記ツリーネットワー
    クに接続されている、請求項7に記載のネットワーク。
  10. 【請求項10】 前記第1および前記第2の複数のノー
    ドは、マルチキャストメンバノードをさらに備える、請
    求項7に記載のネットワーク。
  11. 【請求項11】 ツリーネットワークによって相互接続
    される複数の環状ネットワークを備えるネットワークに
    おける、環状ネットワークを該ツリーネットワークに接
    続するブリッジノードの動作方法であり、該方法は、 前記環状ネットワークを介して受け取られたデータパケ
    ットを前記ツリーネットワークに送信するステップと、 前記ツリーネットワークを介して受け取られたデータパ
    ケットを前記環状ネットワークに送信するステップと、
    を包含する方法。
  12. 【請求項12】 前記ツリーネットワークからのデータ
    パケットの紛失を検出すると、前記ツリーネットワーク
    に否定応答メッセージを送信するステップをさらに包含
    する、請求項11に記載の方法。
  13. 【請求項13】 前記環状ネットワーク上の前記データ
    パケットの紛失を検出すると、前記ツリーネットワーク
    を介して受け取られるデータパケットを前記環状ネット
    ワークに再送信するステップをさらに包含する、請求項
    11に記載の方法。
  14. 【請求項14】 前記ツリーネットワークから否定応答
    メッセージを受け取ると、前記環状ネットワークを介し
    て受け取られるデータパケットを前記ツリーネットワー
    クに再送信するステップをさらに包含する、請求項11
    に記載の方法。
  15. 【請求項15】 前記環状ネットワーク上のデータパケ
    ットの紛失を検出すると、前記ツリーネットワークに紛
    失したメッセージを送信するステップをさらに包含す
    る、請求項11に記載の方法。
  16. 【請求項16】 前記環状ネットワークを介して受け取
    られたデータパケットを前記ツリーネットワークに送信
    する前記ステップは、 前記データパケットにリング識別およびシーケンス番号
    を付加するステップを包含する、請求項11に記載の方
    法。
  17. 【請求項17】 キープアライブメッセージを周期的に
    生成するステップと、 前記環状ネットワークに該キープアライブメッセージを
    送信するステップと、をさらに包含する、請求項11に
    記載の方法。
  18. 【請求項18】 受け取られたキープアライブメッセー
    ジに少なくとも一部が基づいてデータパケットの紛失を
    検出するステップをさらに包含する、請求項17に記載
    の方法。
  19. 【請求項19】 前に送信されたキープアライブメッセ
    ージがその送信から所定時間内に受け取られない場合、
    該キープアライブメッセージが紛失したと決定するステ
    ップをさらに包含する、請求項17に記載の方法。
  20. 【請求項20】 所定数のキープアライブメッセージが
    紛失したと決定される場合、リング障害が生じたと決定
    するステップをさらに包含する、請求項19に記載の方
    法。
  21. 【請求項21】 ブリッジノードを介してツリーネット
    ワークによって相互接続された、マルチキャストメンバ
    ノードを備える複数の環状ネットワークを備えたネット
    ワークにおける使用方法であって、該方法は、 暗黙フィードバックによって環状ネットワーク上のデー
    タパケットの紛失をブリッジノードが検出するステップ
    と、 受け取られたデータパケットを調べることによって、前
    記ツリーネットワーク上のデータパケットの紛失をブリ
    ッジノードが検出するステップと、を包含する、方法。
  22. 【請求項22】 前記暗黙フィードバックを介して前記
    環状ネットワーク上のデータパケットの紛失をメンバノ
    ードが検出するステップと、 データパケットの紛失を検出すると、メンバノードがフ
    ロー制御ウィンドウを調整するステップと、をさらに包
    含する、請求項21に記載の方法。
  23. 【請求項23】 ブリッジノードが前記環状ネットワー
    ク上のデータパケットの紛失を検出すると、該ブリッジ
    ノードが紛失したメッセージを前記ツリーネットワーク
    に送信するステップをさらに包含する、請求項21に記
    載の方法。
  24. 【請求項24】 ブリッジノードが前記ツリーネットワ
    ーク上のデータパケットの紛失を検出すると、該ブリッ
    ジノードが否定応答を前記ツリーネットワークに送信す
    るステップをさらに包含する、請求項21に記載の方
    法。
  25. 【請求項25】 メンバノードが前記リング上にキープ
    アライブメッセージを周期的に送信するステップをさら
    に包含する、請求項21に記載の方法。
  26. 【請求項26】 キープアライブメッセージがその送信
    から所定時間内に受け取られない場合、該キープアライ
    ブメッセージが紛失していることをメンバノードが決定
    するステップをさらに包含する、請求項25に記載の方
    法。
  27. 【請求項27】 所定数のキープアライブメッセージが
    紛失している場合、メンバノードがリング障害を決定す
    るステップをさらに包含する、請求項26に記載の方
    法。
  28. 【請求項28】 前に送信されたキープアライブメッセ
    ージの受取りに少なくとも一部が基づいて、メンバノー
    ドがデータパケットの紛失を検出するステップをさらに
    包含する、請求項25に記載の方法。
  29. 【請求項29】 終了制御メッセージを送信することに
    よって、メンバノードがマルチキャストセッションを終
    了させるステップをさらに包含する、請求項21に記載
    の方法。
  30. 【請求項30】 ブリッジノードの局所リング上で全て
    のメンバノードからの終了制御メッセージを受け取る
    と、該ブリッジノードが前記ツリーネットワークから切
    断するステップをさらに包含する、請求項29に記載の
    方法。
JP2001097918A 2000-03-31 2001-03-30 グループマルチキャスティングのためのネットワークおよびプロトコル Abandoned JP2001308900A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53958900A 2000-03-31 2000-03-31
US09/539589 2000-03-31

Publications (1)

Publication Number Publication Date
JP2001308900A true JP2001308900A (ja) 2001-11-02

Family

ID=24151867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001097918A Abandoned JP2001308900A (ja) 2000-03-31 2001-03-30 グループマルチキャスティングのためのネットワークおよびプロトコル

Country Status (3)

Country Link
EP (1) EP1139602A1 (ja)
JP (1) JP2001308900A (ja)
CA (1) CA2337600A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613703B2 (en) 2004-09-30 2009-11-03 Microsoft Corporation Organizing resources into collections to facilitate more efficient and reliable resource access
US20110082928A1 (en) 2004-10-22 2011-04-07 Microsoft Corporation Maintaining consistency within a federation infrastructure
US8392515B2 (en) 2004-10-22 2013-03-05 Microsoft Corporation Subfederation creation and maintenance in a federation infrastructure
US8095601B2 (en) 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US20060090003A1 (en) 2004-10-22 2006-04-27 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US8549180B2 (en) 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8095600B2 (en) 2004-10-22 2012-01-10 Microsoft Corporation Inter-proximity communication within a rendezvous federation
US20080288659A1 (en) 2006-11-09 2008-11-20 Microsoft Corporation Maintaining consistency within a federation infrastructure
US7958262B2 (en) 2004-10-22 2011-06-07 Microsoft Corporation Allocating and reclaiming resources within a rendezvous federation
US8014321B2 (en) 2004-10-22 2011-09-06 Microsoft Corporation Rendezvousing resource requests with corresponding resources
US7730220B2 (en) 2004-10-22 2010-06-01 Microsoft Corporation Broadcasting communication within a rendezvous federation
US7694167B2 (en) 2004-10-22 2010-04-06 Microsoft Corporation Maintaining routing consistency within a rendezvous federation
CN100449997C (zh) * 2006-06-02 2009-01-07 华为技术有限公司 一种组网通信系统及其节点地址的分配方法
WO2008011712A1 (en) * 2006-07-28 2008-01-31 Michael Tin Yau Chan Wide-area wireless network topology
CN102316154B (zh) * 2010-06-22 2016-05-11 微软技术许可有限责任公司 优化对基于联盟基础结构的资源的访问
US9900168B2 (en) * 2014-02-04 2018-02-20 Dipankar Sarkar System and method for reliable multicast data transport
WO2017063016A1 (de) * 2015-10-16 2017-04-20 Fts Computertechnik Gmbh Verfahren und computersystem zur schnellen übertragung von zeitgesteuerten echtzeitnachrichten

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577313A (en) * 1984-06-04 1986-03-18 Sy Kian Bon K Routing mechanism with encapsulated FCS for a multi-ring local area network

Also Published As

Publication number Publication date
CA2337600A1 (en) 2001-09-30
EP1139602A1 (en) 2001-10-04

Similar Documents

Publication Publication Date Title
Topolcic Experimental internet stream protocol: Version 2 (ST-II)
EP1747644B1 (en) Method and apparatus for group communication with end-to-end reliability
US9270475B2 (en) Network-based service for the repair of IP multicast sessions
Gemmell et al. The PGM reliable multicast protocol
Li et al. OTERS (On-tree efficient recovery using subcasting): A reliable multicast protocol
US5519704A (en) Reliable transport protocol for internetwork routing
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
US6580715B1 (en) Load balancing switch protocols
JP3430966B2 (ja) 無線atmを使用してipマルチキャストを処理できるネットワークシステム及び方法
JP2001308900A (ja) グループマルチキャスティングのためのネットワークおよびプロトコル
KR101610715B1 (ko) 단방향 데이터 송수신 시스템 및 방법
Ramani et al. Explicit congestion notification (ECN) in TCP over wireless network
Caro et al. Retransmission policies with transport layer multihoming
US6590895B1 (en) Adaptive retransmission for error control in computer networks
Rojviboonchai et al. RM/TCP: protocol for reliable multi-path transport over the Internet
Sadok et al. A reliable subcasting protocol for wireless environments
EP3432500A1 (en) Point-to-point transmitting method based on the use of an erasure coding scheme and a tcp/ip protocol
Chandra et al. TCP performance for future IP-based wireless networks
Yamamoto et al. Performance evaluation of reliable multicast communication protocol with network support
Chandra et al. Congestion and Corruption Loss Detection with Enhanced-TCP
Wang et al. An SSCOP-based link layer protocol for wireless LANs
Asfour et al. RMTP performance in heterogeneous environments and a new QoS-based mechanism for building RMTP trees
Lim et al. Reliable multicast using IP/ICMP protocol
Topolcic RFC1190: Experimental Internet Stream Protocol: Version 2 (ST-II)
Brandt Reliable multicast protocols and their application on the Green Bank Telescope

Legal Events

Date Code Title Description
A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20040708