JPH1032572A - 経路選択方法及びルーチングテーブル - Google Patents

経路選択方法及びルーチングテーブル

Info

Publication number
JPH1032572A
JPH1032572A JP20649296A JP20649296A JPH1032572A JP H1032572 A JPH1032572 A JP H1032572A JP 20649296 A JP20649296 A JP 20649296A JP 20649296 A JP20649296 A JP 20649296A JP H1032572 A JPH1032572 A JP H1032572A
Authority
JP
Japan
Prior art keywords
node
message
destination
nodes
boss
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP20649296A
Other languages
English (en)
Other versions
JP3445444B2 (ja
Inventor
Kiyouichi Nakamaki
恭一 中牧
Naohisa Komatsu
尚久 小松
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP20649296A priority Critical patent/JP3445444B2/ja
Publication of JPH1032572A publication Critical patent/JPH1032572A/ja
Application granted granted Critical
Publication of JP3445444B2 publication Critical patent/JP3445444B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

(57)【要約】 【解決手段】 複数のメッセージが到着したとき、その
うち最も自ノードから近くに存在する宛先をサーチし、
その宛先への最短経路に確定リンクを定める。他の宛先
については、最短経路をとる場合の宛先と確定リンクを
経由した場合のコストを比較し、この差が一定以下の場
合、メッセージを相乗りさせる。 【効果】 メッセージの相乗りによって全体のスループ
ットが低下する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コネクションオリ
エント型やコネクションレス型の分散型ネットワーク上
における通信に適する経路選択方法及びルーチングテー
ブルに関する。
【0002】
【従来の技術】例えば、インターネットやISDN(総
合ディジタル通信網)といった分散型ネットワークにお
いては、ネットワークを構成する各ノードにメッセージ
を送信するためのルーチングテーブルを保持させる(Co
mputer Networks Andrews. Tanenbaum Prentice Hal
l)。
【0003】
【発明が解決しようとする課題】ところで、上記のよう
なネットワークにおいて、各ノードに保管するルーチン
グテーブルを適切に設定することは、ルーチングの最適
化を図る上で重要な課題となる。即ち、メッセージの送
信には最短のルートあるいは最も経済的なルートを選定
し、更にネットワークのトラヒック増大を防止するよう
なルーチングが要求される。特に、マルチキャスト通信
においては一度に多くの宛先にメッセージを送信するた
め、トラヒックの増大防止を図る要求が強い。しかも、
ネットワークの規模が増大すれば、ルーチングテーブル
自身も複雑になる。従って、ルーチングテーブル自身の
増大防止を図ることも重要な課題となる。
【0004】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉ネットワーク上で、自ノードから宛先ノード
へのメッセージを、最短経路になるような出力リンクに
転送した場合に要するコストと、既に他のメッセージ転
送のために設定された確定リンクを経由して転送した場
合に要するコストとを比較して、そのコストの差が一定
以下の場合には、その確定リンクに相乗りさせて当該メ
ッセージを転送することを特徴とするメッセージの経路
選択方法。
【0005】〈構成2〉構成1において、何らかのメッ
セージが自ノードに到着するたびに、どのリンクからメ
ッセージが到着したかを監視して,その情報を蓄積する
トラヒック監視テーブルを設けて、このトラヒック監視
テーブルを参照して、どのリンクにメッセージを転送す
ればそのメッセージが宛先に近づくかを判断し、そのメ
ッセージを宛先に近づくような確定リンクに相乗りさせ
ることを特徴とするメッセージの経路選択方法。
【0006】〈構成3〉構成2において、いずれかのノ
ードからいずれかのリンクを通じてメッセージが到着し
たとき、ルーチングテーブル上のそのノードに該当する
宛先に対応させて、上記リンクにトラヒックが存在した
旨を記録することを特徴とするメッセージの経路選択方
法。
【0007】〈構成4〉構成3において、アドレスが位
置情報に従って各ノードに割りつけられているとき、ト
ラヒック監視テーブル上のアドレスの一部が一致する全
てのノードからもメッセージが到着したものとして、ト
ラヒックが存在した旨を記録することを特徴とするメッ
セージの経路選択方法。
【0008】〈構成5〉構成4において、受け取ったメ
ッセージの送信元ノードが自ノードから遠くに存在する
場合にのみ、アドレスの一部が一致する全てのノードか
らもメッセージが到着したものとすることを特徴とする
メッセージの経路選択方法。
【0009】〈構成6〉構成5において、メッセージが
到着したリンク方向へメッセージを転送した場合に要す
るコストが閾値を越えていたとき、受け取ったメッセー
ジの送信元ノードが自ノードから遠くに存在すると判定
することを特徴とするメッセージの経路選択方法。
【0010】〈構成7〉マルチキャスト通信の要求が生
起したとき、当該通信における全ての宛先ノードまで送
信要求メッセージを転送し、その送信要求メッセージを
受け取った宛先ノードは、自ノードの近隣に他の宛先ノ
ードが存在するかどうかを判定して、存在した場合には
近隣に存在する宛先ノードの集まりで一つのグループを
形成し、そのグループ内で最も送信元ノードに近い宛先
ノードを代表ノードとし、各グループの代表ノードと、
グループを形成しない他の宛先ノードは、送信元に向け
て応答メッセージを返送し、互いに近隣に存在する宛先
ノードを経由させ、そのつど応答メッセージに含まれる
経路情報に経由した宛先ノードを示す情報を付加して、
その応答メッセージを送信元に向けて転送し、送信元
は、全ての宛先ノードから応答メッセージを受け取った
ことを確認した後に、応答メッセージに含まれる経路情
報に従って、各宛先ノードに対する通信を開始すること
を特徴とするメッセージの経路選択方法。
【0011】〈構成8〉構成7において、送信要求メッ
セージには、全ての宛先アドレスと、通信コストの閾値
とを含めて、送信要求メッセージを受け取った各宛先ノ
ードは、すべての宛先ノードについて、自ノードから見
た通信コストを算出し、送信要求に含まれた閾値と比較
して、その宛先ノードが自ノードから見て近隣ノードで
あるかどうかを判定することを特徴とするメッセージの
経路選択方法。
【0012】〈構成9〉構成7または8において、各宛
先ノードは、近隣ノードと認めた他の宛先ノードに対し
て、自ノードのアドレスと、自ノードから送信元までの
通信コストとを含む近隣ノード認知要求を送信し合っ
て、近隣ノードのグループを決定することを特徴とする
メッセージの経路選択方法。
【0013】〈構成10〉構成9において、相互に近隣
ノードとなった宛先ノードは、それぞれ、自ノードから
送信先までの通信コストと、近隣ノード認知要求に含ま
れた各近隣ノードから送信元までの通信コストとを比較
して、自ノードよりも送信元に近い近隣ノードが存在し
たと判断すると、代表ノードの候補に選定する旨の仮ボ
ス認定メッセージを、当該近隣ノードに送信し、全ての
近隣ノードから仮ボス認定を受けたノードが代表ノード
の候補に選定されることを特徴とするメッセージの経路
選択方法。
【0014】〈構成11〉構成10において、互いに近
隣ノードとされた同一のグループ内で、複数の代表ノー
ドの候補が選定された場合に、該当するノードは、全て
の近隣ノードに、自ノードが代表ノードである旨のボス
認知要求メッセージを送信し、このボス認知要求メッセ
ージを受けた他のノードはこれを近隣ノードに転送し、
いずれかのノードで複数のボス認知要求メッセージが衝
突したとき、衝突が起きたノードでは、送信元ノードま
での距離が小さい方のノードのボス認知要求メッセージ
のみを近隣ノードに転送するようにして、唯一のボス認
知要求メッセージのみを全ての近隣ノードに届けること
を特徴とするメッセージの経路選択方法。
【0015】〈構成12〉構成11において、全近隣ノ
ードからボス認知要求メッセージが送信されてきたいず
れかのノードが、ボス認知要求を認めた旨のボス認知メ
ッセージを全近隣ノードに送信し、このボス認知メッセ
ージを受け取った各ノードは、ボス認知要求メッセージ
を送信した該当するノードにボス認知メッセージを送信
して、全ての近隣ノードからボス認知メッセージを受け
取ったノードを近隣ノードのグループの代表ノードに選
定することを特徴とするメッセージの経路選択方法。
【0016】〈構成13〉構成12において、ボス認知
メッセージには、当該ボス認知メッセージが経由したノ
ードのアドレスが、送信経路情報として含められること
を特徴とするメッセージの経路選択方法。
【0017】〈構成14〉構成7から13において、送
信元への応答メッセージは、その転送経路中の任意の中
継ノードの近隣に、グループの代表ノードまたはグルー
プを構成しない宛先ノードがある場合には、それらのノ
ードを経由して送信元へ転送され、応答メッセージに
は、経由したグループの代表ノードまたはグループを構
成しない宛先ノードを表示する中継ノード履歴情報を含
め、送信元は、その応答メッセージの転送経路を逆に辿
って、実際の送信を実行することを特徴とするメッセー
ジの経路選択方法。
【0018】〈構成15〉構成14において、応答メッ
セージに、経由した宛先ノードと代表ノードおよびその
グループを構成する宛先ノードを次の経由先から除外す
る中継ノード履歴情報が含められることを特徴とするメ
ッセージの経路選択方法。
【0019】〈構成16〉構成14または15におい
て、宛先ノード以外のノードであって、同一の応答メッ
セージを複数回重複して受け取ったノードでは、2回目
以降に受け取った応答メッセージを無視して、重複しな
い経路へメッセージを転送することを特徴とするメッセ
ージの経路選択方法。
【0020】〈構成17〉ルーチングテーブルに記載さ
れた宛先アドレスを広域部と狭域部の2階層構造とし、
各宛先ノードのアドレスと自ノードのアドレスとを比較
したとき、広域部が一致する宛先ノードについては狭域
部までのアドレス情報を格納し、広域部が一致しない宛
先ノードについては広域部だけのアドレス情報を格納し
たことを特徴とするルーチングテーブル。
【0021】〈構成18〉各宛先ノードのアドレスと自
ノードのアドレスとを上位から3以上の階層に区分し、
最上位の階層から異なる場合には、アドレスの最上位の
み、最上位の階層は一致しても次の階層が異なる場合に
はアドレスの次の階層までというようにして、アドレス
が近いものほど具体的なアドレス情報を含めたことを特
徴とするルーチングテーブル。
【0022】〈構成19〉自ノードから宛先ノードまで
のホップ数の数により宛先ノードを分類し、メッセージ
の辿る経路が複雑なものはアドレスの上位のみとし、ホ
ップ数が少ないものほど具体的なアドレス情報を含めた
ことを特徴とするルーチングテーブル。
【0023】〈構成20〉自ノードから宛先ノードまで
の通信コストにより宛先ノードを分類し、通信コストの
高い宛先ノードはアドレスの上位のみとし、通信コスト
が安いものほど具体的なアドレス情報を含めたことを特
徴とするルーチングテーブル。
【0024】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 《具体例1》 〈ルーチングテーブル参照方式〉図1に、具体例1にお
けるメッセージの転送手順フローチャートを示す。この
説明の前に、比較のための従来の転送手順を説明する。
ルーチングテーブルの参照のみによってルーチングを決
定する方法で最も単純なアルゴリズムとしては、各宛先
に対して最短ルートを算出し、それぞれの宛先に最短ル
ートでメッセージを送信する方法がある。これは、マル
チキャスト通信の各宛先に対して最短ルートのルーチン
グを行い、転送先が一致したメッセージを相乗りさせる
というものである。これは、MINDC(Minimum Dest
inationCost Routing)として既に知られている方法で
ある。
【0025】図2に、マルチキャスト通信のメッセージ
が到着した中継ノードにおける「MINDC」の送信手
順を示す。しかし、MINDCでは、次のような場合
に、適切な判断が行われない場合が生じる。例えば、宛
先ノードN1 、N2 へのマルチキャスト通信のメッセー
ジが、あるノードNC に到着したとする。ステップS1
で自ノード宛のメッセージを取り込み、ステップS2〜
ステップS7のループに移る。ステップS3では最短距
離の出力リンクをサーチする。このとき、ノードNC に
おいて、N1 への最短経路が同コストで複数存在し、そ
の最短経路となる出力リンクがL1 、L2 の2種類が考
えられたとする。また、N2 への最短経路となる出力リ
ンクがL2 であったとする。このようなとき、N1 への
メッセージは、L2 に転送されればN2 へのメッセージ
と相乗りすることができるので当然L2 に転送されるべ
きである。しかしながら、MINDCにおいては、N1
への最短経路となる出力リンクは、N2への最短経路と
なる出力リンクと無関係に決定されるため、N1 へのメ
ッセージの出力リンクとしてL2 が選択されるとは限ら
ない(ステップS4〜ステップS7)。
【0026】この問題を解消したのがこの具体例の方式
であり、ルーチングテーブルの参照のみによって、相乗
り効果を最大限に引き出すルーチングアルゴリズムであ
る。また、MINDCでは、各宛先への最短経路を重要
視しているが、メッセージが効果的に相乗りし、その結
果得られた経路が宛先までに要するコストをさして増大
させるものでない場合には、最短経路にはこだわる必要
もないと考えられる。よって、この具体例は、最短経路
よりもメッセージの相乗りに重きをおいたルーチング手
法として意義がある。
【0027】〈アルゴリズム〉この具体例では、マルチ
キャスト通信の各宛先への最短経路となる出力リンクを
考慮しながら、メッセージの転送を行う。また、各宛先
までの最短経路を考慮しながらも、相乗り効果を最大限
に引き出す。図1は、マルチキャスト通信のメッセージ
が到着した中継ノードにおけるメッセージの転送手順を
示す。 ステップS1.メッセージの宛先群の中に自ノードが含
まれていたら、そのメッセージを取り込み、宛先群の中
から自ノードを削除する。 ステップS2.残された宛先群の中で、最も自ノードか
ら近くに存在する宛先(最もコストをかけないで到着す
ることができるノード)をサーチし、このノードを確定
宛先Nx とする。 ステップS3.このノードへの最短経路となる出力リン
クを確定リンクLk とする。また、この宛先Nx へのメ
ッセージを確定リンクLk の送信バッファに格納し、N
x を宛先群の中から削除する。
【0028】残りの宛先群の各宛先に対して、ステップ
S4〜ステップS8のループで以下の処理を施す。当該
宛先へ最短経路になるような出力リンクに転送した場合
に宛先に到着するまでに要するコストと、確定リンクL
k に転送した場合に宛先に到着するまでに要するコスト
を比較する(ステップS5)。これらの間に大きな差が
認められなかった場合には、当該宛先へのメッセージを
確定リンクLk のバッファに格納されているメッセージ
に相乗りさせ(ステップS6)、宛先群から当該宛先を
削除する(ステップS7)。
【0029】ステップS9.確定リンクLk にメッセー
ジを転送する。 ステップS10.全ての宛先に向けてメッセージが転送
されていれば処理を終了する。また、全ての宛先に向け
てメッセージが転送されていない場合には、ステップS
2に戻り、上記の処理を全ての宛先に向けてメッセージ
が転送されるまで繰り返す。図3には、以上の処理の結
果得られた、回り込みルーチングの例説明図を示す。図
のように、相乗り区間のスループットは増大するが、全
体としてスループットが低下する。
【0030】〈具体例1の効果〉以上に示したように、
この具体例では、確定宛先以外の各宛先へのメッセージ
を確定リンクに転送するか否かの判定が重要な要素とな
る。確定リンクというのは、事前に確定した任意のリン
クであればよい。ここでは、あるメッセージに対して、
確定リンクへ転送した場合に宛先に到着するまでに要す
るコストをCost1、最短経路となるリンクに転送し
た場合に宛先に到着するまでに要するコストをCost
2とした場合に、以下の判定を行う。 Cost1≦Cost2+threshold (閾値)
【0031】この条件式の真偽値がTrueであれば、
このメッセージを確定リンクへ転送し、Falseであ
れば確定リンクには転送しない。従って、当然ながら、
この閾値threshold が重要なポイントとなる。この閾値
が0の場合は、確定宛先以外の宛先への最短経路も確保
されることになり、各宛先への最短経路を確保しなが
ら、その上で無駄のないメッセージの相乗り効果が得ら
れる。一方、閾値として0以外の値を設定した場合に
は、ある宛先N1 までに要するコストがたいして増大し
ないならば、N1 へのメッセージを無理やり他の宛先へ
のメッセージに相乗りさせてしまい、宛先N1 への最短
経路とならない出力リンクにメッセージの出力を行う。
【0032】《具体例2》 〈ルーチングテーブルの参照+トラヒック監視方式〉具
体例1で紹介した方法は、ルーチングテーブルのみを参
照して得た情報から、マルチキャスト通信における各宛
先への転送先を決定した。この方法は、ノードにおける
処理が極めて少ないことから、簡略性という観点からす
ると優れた方法であるといえる。しかし、ルーチングに
用いる情報がルーチングテーブルに記載されている宛先
と各出力リンクに転送した場合に宛先に到着するまでに
要するコストのみであり、マルチキャスト通信のルーチ
ングを決定する情報量としては不足しているケースもあ
る。
【0033】また、閾値を0より大きな値に設定した場
合においては、パケットの相乗り効果は大きくなるもの
の、メッセージが無駄な経路を中継されるときは、全体
としてのスループットの向上が小さいこともある。従っ
て、ルーチングテーブル上の情報の他に、マルチキャス
ト通信のルーチングに何らかの情報を寄与するデータを
各ノードが有していれば、更に高スループットのルーチ
ングを行うことができるといえる。
【0034】しかし、一方で、ノードにおけるルーチン
グに要する処理量の増加も抑えなければならないという
ことも考慮しなければならず、「マルチキャストルーチ
ングに何らかの情報を寄与するデータ」は、データの収
集、及びその利用が簡単に行えるものでなければならな
い。また、「各ノードのルーチングテーブルの宛先が集
約されている状態で実現が可能なルーチング手法」とす
るためには、ルーチングテーブルの集約が行われている
環境下で、その力が最大限に発揮される「ルーチングに
何らかの情報を寄与するデータ」であることが望まし
い。
【0035】これらのことを総合的に考慮し、ここで
は、ノード間の方向性に関する情報、即ち、「あるノー
ドNx へは、大体こちら方向のリンクに転送すれば良
い」といった類のいわゆる曖昧な情報が「ルーチングに
何らかの情報を寄与するデータ」として有効であると見
なし、他のノードから転送されてくるメッセージのトラ
ヒックを監視することにより、各ノードに、ネットワー
ク中の他のノード間の方向性を持たせ、これをマルチキ
ャスト通信のルーチングに用いる。
【0036】〈概要〉ここで示す具体例2は、まず通常
の1:1型通信のトラヒックに関して、「ノードNx か
らのメッセージが当該ノードに到着した際、どのリンク
からそのメッセージが到着したか」を監視する。そし
て、各ノードは、この監視して得た情報を蓄積してお
き、マルチキャスト通信のメッセージが到着した際に役
立てる。従って、各ノードには、ルーチングテーブルの
他にルーチングテーブルと同様の大きさでこのトラヒッ
ク監視結果を格納するデータ格納メモリが必要になる
が、ルーチングテーブル上の宛先は集約されており、そ
れほど大きな容量にはならない。
【0037】図4には、ルーチングテーブルとトラヒッ
ク監視テーブルの説明図を示す。このトラヒック監視結
果を格納するテーブル(以降、トラヒック監視テーブル
と呼ぶ)は、ルーチングテーブルと同様の宛先と、出力
リンクの項目を有している。初期状態では、全ての項目
は0で初期化されているものとする。このトラヒック監
視テーブルの各項目の情報を、何らかのメッセージがノ
ードに到着する度に更新(具体的には、値をインクリメ
ントする等)していく。その結果、このノードでは、ル
ーチングテーブル上の集約されている宛先に関して、
「どのリンクにメッセージを転送すれば、そのメッセー
ジが宛先に近づくことができるか」といった情報を得る
ことができるようになる。これによって、宛先までのメ
ッセージの出力先に幅を持たせることができるようにな
り、マルチキャスト通信のメッセージの転送時に適応が
可能となる。
【0038】なお、この方法では、トラヒックの監視が
十分に行われていない場合には、適切な判断をしかねる
場合も生じるが、実際には、少なくともルーチングテー
ブルを作成する際に各ノードの情報はブロードキャスト
されているはずであるし、ルーチングに関する情報の交
換等も半定期的に行われる。また、この他にも各ノード
間で行われる制御用のメッセージの交換は莫大になると
考えられることから、これらのトラヒックを監視するだ
けでもある程度の効果が認められる。しかし、ネットワ
ークの状況に変化が生じた場合には、これまで蓄積して
きた情報の信頼性が落ちることから、これを反映するべ
く、蓄積してきた情報の濃度を低くする等といった処置
が行われることが好ましい。
【0039】〈アルゴリズム〉図5には、具体例2にお
ける、マルチキャスト通信のメッセージが到着した際の
転送の手順を示す。 ステップS1.メッセージの宛先群の中に自ノードが含
まれていたら、そのメッセージを取り込む。 ステップS2.残された宛先群の中で、最も自ノードか
ら近くに存在する宛先(最もコストをかけないで到着す
ることができるノード)をサーチし、このノードを確定
宛先Nx とする。 ステップS3.このノードへの最短経路となる出力リン
クを確定リンクLk とする。この宛先Nx へのメッセー
ジを確定リンクLk の送信バッファに格納し、Nx を宛
先群の中から削除する。
【0040】ステップS4〜ステップS9のループで
は、残りの宛先群の各宛先に対して、以下の処理を施
す。ステップS4では、当該宛先をルーチングテーブル
上でサーチし、該当するルーチングテーブル上の宛先を
摘出する。ステップS5では、確定リンクLk が、上の
処理で摘出した該当するルーチングテーブル上の宛先へ
の最短経路となる出力リンクのうちの一つとなっている
かどうかを判定する。ステップS6では、上の処理で摘
出した該当するルーチングテーブル上の宛先に対応する
トラヒック監視テーブルの項目を参照した結果、当該宛
先(ルーチングテーブル上の集約された宛先)からのメ
ッセージが、確定リンクLk より頻繁に到着した経歴が
あるかどうかを判定する。
【0041】ステップS7、S8.ステップS5とステ
ップS6の判定結果のいずれかがYESならば、当該宛
先へのメッセージを確定リンクのバッファに格納されて
いるメッセージに相乗りさせ、宛先群から当該宛先を削
除する。 ステップS10.確定リンクLk にメッセージを転送す
る。 ステップS11.全ての宛先に向けてメッセージが転送
されていれば処理を終了する。また、全ての宛先に向け
てメッセージが転送されていない場合には、ステップS
2以下の処理を全ての宛先に向けてメッセージが転送さ
れるまで繰り返す。
【0042】〈具体例2の効果〉具体例2では、具体例
1で相乗り不可能と判断されたメッセージを、再度、別
のトラヒック監視結果によるフィルタによって、確定リ
ンクLk に相乗りさせるか否かを判定することになる。
この作業により、確定リンクに相乗りで転送すべき宛先
として、よりふさわしいものが選択されることになり、
具体例1よりも更に高スループットを得られる。
【0043】《具体例3》 〈トラヒック監視手法〉具体例2においては、いうまで
もなくトラヒック監視テーブルに記載されているトラヒ
ック監視結果がメッセージ転送時の重要な要素となる。
このトラヒック監視テーブルの作成方法としてはさまざ
まなものが考えられるが、ここでは、次の二通りの手順
を示す。この説明は、図4を参照する。まず、ノードN
1 からのメッセージがリンクL1 より到着したとする。
このとき、ノードN1 をルーチングテーブル上でサーチ
し、N1 に該当するルーチングテーブル上の宛先を抽出
する。次に、トラヒック監視テーブル上の、リンクL1
とN1 に該当するルーチングテーブル上の宛先に対応す
る項目に、トラヒックが存在した旨を記録する。これ
は、当該項目に格納されている値をインクリメントする
等の処理によって行われる。
【0044】〈トラヒック監視手法〉図6には、トラヒ
ック監視手続の説明図を示す。この手法は、アドレス
が、位置情報に従って各ノードに割り当てられているこ
とを利用する方法である。例えば、アドレスが「1−1
−2−*」のノード群と、アドレスが「1−1−1−
*」のノード群は、互いに近傍に位置している、という
ことを利用する。具体的なトラヒック監視テーブルの作
成手順(トラヒックの監視手順)を以下に示す。まず、
アドレスが「1−1−1−1」であるノードN1 からの
メッセージがリンクL1 より到着したとする。このと
き、ノードN1 をルーチングテーブル上でサーチし、N
1 に該当するルーチングテーブル上の宛先を抽出する。
次に、トラヒック監視テーブル上の、リンクL1 と上で
抽出した宛先の項目にトラヒックが存在した旨を記録す
る。更に、トラヒック監視テーブル上の、リンクL1 と
アドレス「1−1−1−*」に該当する全ての項目にト
ラヒックが存在した旨を記録する。
【0045】以上のように、トラヒック監視テーブルの
当該宛先以外の項目にもメッセージが到着したと同様の
旨を記録し、これによって、トラヒック監視テーブルの
持つ方向性に関する情報に一段と幅を持たせることがで
きる。なお、この手法は、ルーチングテーブルの宛先の
集約が行われていない場合においても実現が可能であ
る。
【0046】《具体例4》以上のトラヒック監視手法に
おいて注意が必要なことは、自ノードの近傍に位置する
ノードからのメッセージに対してこの作業を行うと、と
んでもないことが生じる危険があるということである。
例えば、図6に示したネットワークにおいて、アドレス
が「1−2−1−2」であるノードに、ノード「1−1
−1−0」からのメッセージがノード「1−2−1−
1」方面から到着した場合を考える。このとき、トラヒ
ック監視テーブルの、「1−1−1−*」に該当する全
ての項目にトラヒックが存在した旨を記載する。ここ
で、ノード「1−1−1−3」へのメッセージをノード
「1−2−1−1」方面に転送するとすれば、大幅なコ
ストの増大が発生する。それにも関わらず、上記の手法
ではノード「1−1−1−3」からのメッセージがノー
ド「1−2−1−1」方面から到着したこととして記録
されてしまう。
【0047】更に、トラヒック監視テーブルの、「1−
1−*−*」に該当する全ての項目にトラヒックが存在
した旨を記載してしまうとなると、後のマルチキャスト
通信時に自ノード「1−2−1−2」と隣接している
「1−1−1−6」、「1−2−1−3」、「1−2−
1−6」といったノードへのメッセージも「1−2−1
−1」方面に転送するといった事態が発生することにな
り、更にとんでもないことになってしまう。このような
事態を避けるために、以下のような制限を加えることが
好ましい。
【0048】即ち、受け取ったメッセージの送信元が自
ノードから遠くに存在する場合のみに、アドレスのclas
s Aをワイルドカードとして、トラヒック監視テーブル
の該当する全ての項目にトラヒックが存在した旨を記載
する。なお、class A−B−C−Dは1−1−1−0に
対応させている。なお、この場合において、class Bま
でワイルドカードとすると、その対象となるノードがか
なり増えることから、上記の事態と類似した問題が発生
する可能性があるので、これは行わない。
【0049】また、受け取ったメッセージの送信元が自
ノードの近傍に存在しているか否かの判定は、宛先の集
約手法によっては難解になる場合もあるが、ここでは以
下のようにして行うものとする。 1.受け取ったメッセージの送信元アドレスをルーチン
グテーブル上でサーチし、これに該当するルーチングテ
ーブル上の宛先を抽出する。 2.ルーチングテーブル上に記載されている、1.で抽
出した宛先に、メッセージが到着したリンク方向へメッ
セージを転送した場合に要するコストを抽出し、このコ
ストがある閾値を超えていた場合には、受け取ったメッ
セージの送信元が自ノードから遠くに存在するものと見
なす。
【0050】《具体例5》 〈ルーチングテーブル参照+ACK方式〉CATV等と
いったサービスにおいては、一旦経路が設定されると、
ネットワークの故障、ネットワークトポロジーの変化、
新規視聴者の追加、視聴者の削除等といった何らかの変
化が起こるまで、設定された経路が用いられることにな
り、経路を設定するまでに必要とされる制御に要する帯
域、処理量よりも、設定された経路のスループットが大
きな問題となる。従って、このようなサービスを行うト
ラヒックに関しては、経路を設定するまでに必要とされ
る制御の複雑さよりも、設定された経路のスループット
が重要視されなければならないことになる。
【0051】これまでに紹介した具体例は、送信元から
各宛先までの経路設定が、通信要求の生起と共に行われ
る場合にも実現が可能なものであり、コネクションレス
型のパケット交換等の通信においてもその適応が可能で
ある。しかし、マルチメディア通信の実現性が問われて
いて広帯域伝送が必要とされており、なおかつ広域にま
たがっているネットワークにおいては、今後、ATM
(非同期転送モード)が導入される可能性が高い。実
際、既にLAN(ローカルエリアネットワーク)のハブ
としてATMが導入されているところも多く、これらの
バックボーンネットワークは、ATMもしくは、ATM
に類似したコネクションオリエンテッド型の通信方式が
採用されるべきであろう。
【0052】コネクションオリエンテッド型の通信方式
においては、情報の転送に先立って、通信経路の確保と
いったコネクション確立の制御が行われる。このよう
に、コネクションを確立してから情報の送信が始まるよ
うな通信においては、宛先から、経路を決定していくこ
とも考えられる。また、分散データベースアクセス等と
いったn:1型の通信は、マルチキャスト通信において
宛先から通信が行われると考えることができ、宛先から
経路を決定することによって、これを実現することもで
きる。具体例5の手法は、宛先が相互に協調作業を行い
ながら当該通信の経路を決定していくという方式であ
り、経路を設定するまでに要する処理量は前述の方式と
比較して大きくなっても構わないが、設定された経路の
スループットを大きく向上させることを目的としてい
る。
【0053】〈概要〉この具体例では、経路設定の作業
は、五つの作業ステップS1〜S5が段階的に行われる
ことによって完了する。まず、ここでは、そのダイアグ
ラムを掴むべく、これらの作業ステップの概要を解説す
る。なお、各作業ステップの詳細は後ほど改めて記述す
る。図7と図8に、具体例5における経路設定手順説明
図を示す。 〈ステップS1〉マルチキャスト通信の要求が生起する
と、まず、従来の経路選択方式(MINDC)や具体例
1〜4に示したいずれかの方法で、当該通信における全
ての宛先ノードまで「送信要求」を転送する。 〈ステップS2〉送信要求パケットを受け取った各宛先
ノードでは、自ノードの近隣に本通信における宛先が存
在するか否かを判定する。近隣に本通信における宛先が
存在した場合には、近隣に存在するノードの集まりで一
つのグループを形成する。更に、グループ内で相互に情
報を交換し、各グループの代表ノード(ボス)を決定す
る。このとき、「ボス」は、そのグループ内で最も送信
元ノードまで近いノードとする。
【0054】〈ステップS3〉各グループの代表ノー
ド、もしくはグループを形成しなかった各宛先ノード
は、送信元に向けてACK(アクノレッジ応答メッセー
ジ)を返送する。ただし、このACKを転送する各中継
ノードでも、近隣に本通信の宛先ノードが存在するか否
かの判定を行い、近隣に宛先ノードが存在した場合に
は、ACK目的地を「送信元」からその「近隣に存在す
る宛先ノード」へと変更する。
【0055】〈ステップS4〉ACKの目的地が「近隣
に存在する宛先ノード」へと変更された場合には、その
ACKを受け取ったノード(近隣に存在する宛先ノー
ド)は、そのACKをステップS3の手順に従って送信
元に向けて送信する。以降、ACKの目的地が「近隣に
存在する宛先ノード」へと変更された場合には、同様の
手順を繰り返す。 〈ステップS5〉送信元は、全ての宛先からACKを受
け取ったのを確認の上、送信を開始する。なお、ステッ
プS3〜ステップS4の過程において、通信路中にルー
プを生じる場合が考えられるが、これについては、中継
ノードがACKの情報を蓄積することによって解決さ
れ、設定された経路にループが生じることはない。
【0056】この手順では、以上に示したステップS1
〜ステップS5までの作業が各ノードで行われ、経路の
設定が行われる。ここで注意しなければならないこと
は、ステップS3以降の処理は、全ての宛先においてス
テップS2の作業が終了してから行われなければならな
いということである。従って、ステップS3の作業は、
ステップS1が行われてから一定の時間をおいた後に開
始されることが好ましい。以降では、各作業ステップの
詳細をステップごとに説明する。
【0057】〈各ステップの詳細なアルゴリズム〉 〈ステップS1〉ステップS1では、まず各宛先ノード
に、通信の要求がある旨を伝える「送信要求」メッセー
ジが転送される。この転送に用いられる経路は、この具
体例で最終的に決定される経路とは無関係であり、従来
の方式でマルチキャストしてよい。なお、当然ながら、
このマルチキャストも高スループットを得た方がよいの
で、前述の各具体例のうちのいずれか実現可能な方法で
転送することが望ましい。
【0058】図9に、「送信要求」のメッセージフォー
マットを示す。この図に示す「送信要求」メッセージに
は、ヘッダに宛先アドレスを入れ、本通信における全て
の宛先のアドレスと、後のステップで用いられることに
なるコストの閾値が情報として格納されている。
【0059】〈ステップS2〉「送信要求」メッセージ
を受け取った各宛先ノードは、「送信要求」のメッセー
ジ中の情報より、本通信における全ての宛先を認識でき
る。まず、各ノードは、この全ての宛先についてルーチ
ングテーブルを参照し、それぞれの宛先ノードに関し
て、自ノードからの距離(自ノードからその宛先ノード
までメッセージが到着するのに要するコスト)を算出す
る。このとき、「送信要求」メッセージに記載されてい
るコストの閾値を用い、その宛先ノードが自ノードから
見て近隣ノードであるか否かの判定を行う。具体的に
は、その宛先ノードまでのコストがこの閾値以下であっ
た場合には、このノードを近隣に存在するノードとして
扱うことになる。つまり、この近隣ノードであるか否か
の判定は、あるノードNx に到着するまでに要するコス
トをcost(Nx )、「送信要求」に記載されている
コストの閾値をthreshold とした場合、次の判定式によ
って行われる。 cost(Nx )≦threshold (閾値)
【0060】この判定式の真偽値がTrueであれば、
その宛先ノードNx は近隣ノードであると見なされ、真
偽値がFalseであれば、その宛先ノードNx は近隣
ノードと見なされない。以上の処理によって、自ノード
に近隣ノードが存在しないことが明らかになった場合に
は、ステップS2においてはこれ以上の処理を行わずス
テップS3の作業に移るが、近隣ノードが存在する場合
には、近隣ノードで形成される「グループ」を作成す
る。
【0061】図10に、近隣ノード認知要求のメッセー
ジフォーマットを示す。グループの形成は、各近隣ノー
ド間で、近隣ノードであると認めたノードに「近隣ノー
ド認知要求」メッセージを送信し合うことによって行わ
れる。「近隣ノード認知要求」のメッセージフォーマッ
トは、図に示すように、自ノードから送信元ノードまで
のコストを知らせ合うものとなる。
【0062】図11に、グループ形成の様子説明図を示
す。各ノード間で近隣ノードの認知が正常に行われてい
た場合には、自ノードで近隣ノードと認めた全てのノー
ドから「近隣ノード認知要求」が送信されてくるはずで
ある。なお、自ノードで近隣ノードと認めたノードのう
ち、「近隣ノード認知要求」が送信されてこなかったノ
ードに関しては、以降、近隣ノードでないものとして扱
う。即ち、ノードA〜Fが同一グループに属するとすれ
ば、図の矢印に示すように認知要求が送出される。
【0063】次に、グループ内で、最も送信元ノードに
近いノードをボスとして選出する処理を行う。ボスの選
出においては、「近隣ノードの認知は各ノードで独立に
行われることから、実際に形成されるグループは、互い
に隣接ノードとして認めていないノード同士が同一のグ
ループに属することもある」ということに注意する必要
がある。これは、例えば以下のような場合に生じる事象
である。あるマルチキャスト通信において、その宛先に
ノードN1 、N2 、N3 が含まれていたとする。このと
き、ノードN1 とN2 同士は直接的には隣接ノードとし
て認められないが、これらに対して第三のノードN3 が
N1 の近隣ノードであり、同時にN2 の近隣ノードであ
る場合、N1 、N2 、N3 は同一グループに属すること
になる。このようなことは頻繁に生じることになると考
えられることから、ボスの選出作業はやや複雑になる。
グループにおけるボスの選出は、以下に示す3段階の作
業によって行われる。なお、グループ内のボス以外のノ
ードを「メンバ」と呼ぶ。
【0064】〈仮ボスの選出〉図12に、仮ボスの設定
動作説明図を示す。各ノードは、自ノードの近隣ノード
からは「近隣ノード認知要求」メッセージを受け取って
いることになるので、各近隣ノードから送信元ノードま
でに要するコストは把握している状態となっている。こ
の情報を用いて、自ノードから送信元ノードまでに要す
るコストと、各近隣ノードから送信元ノードまでに要す
るコストの比較を行い、自ノード、及び近隣ノードのう
ち、最も送信元ノードの近くに存在する(最も低コスト
で送信元ノードまで到着できる)ノードをサーチする。
その結果、自ノードが最も送信元ノードに近い場合には
何もせず、自ノードよりも送信元ノードに近い近隣ノー
ドが存在した場合には、その「自ノードの近隣ノード中
で最も送信元ノード近いノード」へ「仮ボス認定」の旨
を図の矢印のように送信し伝達する。以上の処理が終了
した時点で、全ての近隣ノードから「仮ボス認定」を伝
達されたノードが、「仮ボス」となる。なお、仮ボスは
図2に示すように一グループ内に複数存在することが考
えられる。
【0065】〈仮ボス間の抗争〉図13に、「ボス認知
要求」のメッセージフォーマット説明図を示す。仮ボス
の認定を受けたノードは、自ノードがグループ内の全て
のノードに当該グループのボスとして認められるか否か
を知る必要がある。まず、各仮ボスとなったノードは、
全ての近隣ノードに自ノードが仮ボスである旨を伝達す
るため、図に示す「ボス認知要求」メッセージを全ての
近隣ノードに転送する。ここには、その仮ボスから送信
元までのコストが情報として含められる。更に、この伝
達を受けた各ノードでは、この「ボス認知要求」を、各
ノードにおける各近隣ノード(ただし「ボス認知要求」
が送られてきたノードを除く)に転送する。
【0066】図14には、「ボス認知要求」の配送状況
説明図を示す。もし、図のように、グループ内に仮ボス
(ここではAとE)が複数存在した場合には、この仮ボ
スの「ボス認知要求」メッセージの伝達がグループ内の
どこかのノードで(ここではCやF)衝突することにな
る。「ボス認知要求」メッセージの伝達が衝突した場
合、衝突が起こったノードでは双方の仮ボスから送信元
ノードまでの距離(仮ボスから送信元ノードまでに要す
るコスト)を比較し、送信元ノードまでの距離が小さい
方の「ボス認知要求」のみを近隣ノードに転送する。こ
れを繰り返すことにより、グループ内に複数の仮ボスが
存在していても、最終的には、グループ内には唯一の、
ここではEの「ボス認知要求」のみが行き届くことにな
る。
【0067】〈ボスの認知〉図15に、「ボス認知」の
メッセージフォーマットを示す。また、図16に、「ボ
ス認知」メッセージの配送状況説明図を示す。「ボス認
知要求」メッセージの発信からしばらくたち、上述の作
業によって、グループ内で最も送信元ノードに近いノー
ドから発せられた「ボス認知要求」がグループ内に行き
届くと、全近隣ノードから同一の「ボス認知要求」メッ
セージが送信されてきたノードが存在することになる。
全近隣ノードから同一の「ボス認知要求」メッセージが
送信されてきたノードは、確かにその「ボス認知要求」
を認めたとして、「ボス認知」メッセージを、全近隣ノ
ードに送信する。この、「ボス認知」メッセージメッセ
ージを受け取った各ノードでは、前フェーズにおいて当
該「ボス認知要求」メッセージが送信されてきたノード
以外の全近隣ノードから「ボス認知」メッセージが到着
したことを確認した後に、前フェーズにおいて当該「ボ
ス認知要求」メッセージが送信されてきたノードに向け
て「ボス認知」メッセージを送信する。これを繰り返す
ことにより、グループのボスとなるノードに「ボス認
知」メッセージが届けられることになる。
【0068】なお、この「ボス認知」メッセージには、
図15に示すように、経路の履歴情報も併記し、図16
に示すように、ボスからグループ内の各ノードへの経路
を作成する。A,A−B,A−B−Cというように、経
路情報は各ノードを通過する度に付加されていく。
【0069】図17に、ボスから各メンバへの送信経路
説明図を示す。以上の作業によって、グループのボスが
選出され、ボスは当該グループに属する各メンバのアド
レス、及びボスから各メンバへの送信経路を得ることが
できる。
【0070】〈ステップS3、ステップS4〉ステップ
S3では、各グループのボスとなったノード、及びグル
ープを形成しなかった宛先ノードが、送信元ノードに向
けてACKを返送する。図18に、このACKのメッセ
ージフォーマットを示す。この図に示したように、AC
Kには、本通信における「近隣ノード」判定に用いるコ
ストの閾値をA領域に、本通信における全ての宛先から
自ノード及びグループを形成している場合にはそのグル
ープのメンバを除いた宛先のアドレスをB領域に、NU
LLをC領域に、そして、当該グループに属する宛先ア
ドレスをD領域に、それぞれ記載する。
【0071】ACKは送信元ノードに向けて送信される
が、途中の各中継ノードにおいて、当該ACKのB領域
に記載されているノードが近隣に存在するか否かの判定
を行い、もし、中継ノードにおいて近隣に本通信におけ
る宛先が存在した場合には、ACKの目的地をそのノー
ドへと変更する。また、送信元に至るまでの各中継ノー
ドで近隣に本通信の宛先が存在しなかった場合には、送
信元ノードにACKが届けられ、当該ACKに関する処
理は終了し、ステップS4が行われることなくステップ
S5へと移る。なお、この作業によって得られる経路は
各中継ノードにおいて記録され、後にステップS5、及
び本通信が行われる際に用いられることになる。
【0072】ステップS3における作業において、AC
Kの目的地が本通信における宛先の一つへと変更された
場合は、以上に示したステップS3の処理が、再びAC
Kが送信元ノードに到着するまで繰り返される。具体的
には以下のような処理が行われる。 1.ACKがグループのメンバに到着した場合には、A
CKを自ノードが所属しているグループのボスに転送す
る。ACKがグループのボス、もしくはグループを形成
しない宛先に到着した場合には何もせずに、次の2.の
処理を行う。 2.ACKを受け取ったグループのボス(もしくはグル
ープを形成しない宛先)は、ACKのB領域に記載され
ている宛先群から、当該グループに含まれる宛先を全て
削除する(グループを形成していない場合は自ノードを
削除する)。また、ACKのC領域「中継ノード履歴情
報」に自ノード(ボス)のアドレスを書き込み、その
後、ステップS3と同様、ACKを送信元に向けて送信
する。
【0073】これにより、ACKは必要に応じて寄り道
をしながら送信元まで到着することになる。以上の処理
がステップS4である。図19と図20に、本通信にお
ける送信元がNx 、宛先がN1 、N2 、N3 、N4 、N
5 、N6 である通信におけるステップS3〜ステップS
4の作業の様子を示す。
【0074】図では、N1 、N2 によって構成されてい
るグループと、N3 、N4 、N5 によって構成されてい
るグループができている。N1 、N2 によって構成され
ているグループから送信されたACKは、送信元ノード
までの経路上の中継ノードにおいて近隣に宛先が存在し
ないため、寄り道をせず送信元まで到着している。ま
た、グループを形成しなかった宛先ノードN6 は、自ノ
ードからACKを送信し、このACKも寄り道をせずに
送信元ノードまで辿り着いている。なお、これらのAC
Kに記載されている情報は図20に示した通り(a区間
のACK、d区間のACK)である。
【0075】一方、N3 、N4 、N5 によって構成され
ているグループから送信されたACKは、送信元ノード
までの経路上で近隣に本通信の宛先ノード(N2 )を発
見したため、一旦目的地をN2 に変更している。このA
CKを受け取ったN2 は、グループのボスであるN1 に
ACKを転送する。その後、N1 において、ACKに記
載されている「本通信における全宛先から当該グループ
に属する宛先を除いたアドレス群」から自ノードが所属
しているグループに属するノード(即ち、N1、N2 )
を削除し、更に「中継ノード履歴情報」に自ノードを書
き加えた後、再び送信元ノードに向けてACKを転送す
る。この処理によって、ACKに記載されている情報が
変更される点に注意が必要である(図中の「b区間のA
CKの内容」と「c区間のACKの内容」が異なってい
る点に注意)。これにより、いったん経由したノードが
次の経由先から除外されるからACKが無限ループに陥
り、送信元ノードまで辿り着かないといった事態を回避
している。
【0076】〈ステップS5〉ステップS5は、ステッ
プS4までの作業で決定された経路を用いて、実際の情
報送信に伴って行われるフェーズである。実際の情報の
送信は、全ての宛先からACKを受け取った送信元ノー
ド及びACKを中継したノードが、ACKが通ってきた
経路を逆に辿って行われることになるが、ステップS4
の処理によって、経路中にループ(メッセージが同じ経
路を往復するといった無駄な状態)が生じていることも
考えられる。この無駄を省く処理がステップS5で行わ
れる。ステップS5の処理を、事例を示し、その事例上
で説明する。図21に、マルチキャスト通信の一例説明
図を示す。図のようなネットワークにおいて、宛先がN
1 、N5 、N7 である通信経路の設定要求があった場合
を考える。なお、N1 、N5 、N7 は、ともにグループ
を形成しなかったものとする。
【0077】図22に、N1 からのACKの転送動作説
明図を示す。このとき、N1 からのACKは、図22に
示したように、最初は、送信元ノードを目指して矢印a
のように転送されるが、その過程でN3 に到着すると、
宛先の一つであるN5 が近隣ノードと認識されるため、
矢印bのようにして目的地をN5 に変更する。このAC
Kを受け取ったN5 は、ACK上の情報をステップS4
のところで説明したように書き換えた後に、再びN1 か
らのACKを矢印cのように送信元に向けて転送する。
ここでACKがN3 に到着すると、再びN1 及びN5 が
近隣ノードとして認識されることになるが、N5 におい
てACK上の情報を更新しているため、経由先から除外
され、再度N1 、N5 には立ち寄ることなく、このAC
Kは送信元に向けて転送される。
【0078】図23に、N5 からのACKの転送動作説
明図を示す。同様に、N5 からのACKも、図23に示
したように、矢印a、b、cの順序で、N1 を経由した
後に送信元に転送される。
【0079】図24に、N7 からのACKの転送動作説
明図を示す。次に、N7 からのACKが、N5 の近隣を
通ったためにN5 に立ち寄った。このACKは、その
後、N5 からのACKと全く同様の経路を通って送信元
に転送される。以上で全宛先からのACKが送信元に転
送されたことになり、これを確認した送信元は、本通信
を開始する。この本通信のメッセージは、N6 を経由し
てN3に到着することになるが、ここでN3 が、受け取
ったACKの通りに本通信のメッセージを転送すると、
N3 は同一のACKを重複して交換しているために無駄
が生じることになる。
【0080】図25に、N3 が受け取って転送したAC
Kの説明図を示す。N3 には、合計6回ACKが到着し
ているが、これは同一のACKを複数回受け取っている
ためで、実際の宛先は三つしかなく、更に本送信を転送
する方向は2方向のみである。従って、これらのACK
のうちのいくつかを消去し、必要な経路にのみ本通信の
メッセージを転送する必要がある。これは、N3 におい
て、 1.同一のACKを複数回受け取った場合は、2回目以
降に受け取ったACKをステップS5では無視する。 2.上の処理で残ったACKのうちで、あるACKに記
載されているD領域「ACKの送り出し元」とC領域
「中継ノード履歴情報」の内容が、他のACKのそれに
完全に含まれている場合には、そのACKをステップS
5では無視するという処理を行うことによって実現され
る。なお、受け取ったACKが以前に受け取ったことが
あるか否かの判定は、ACKのD領域を参照することに
よって行われる。
【0081】図26に、ステップS5におけるACKの
選定動作説明図を示す。図25のACKにおいて、
「c」と「e」は同一のものであり、「b」と「f」
も、同一である。また、「a」と「d」も同一である。
ここで、「a」、「b」、「e」は共に二回目に受け取
ったACKであるので、これらを消去する。これによっ
て、「c」と「d」と「f」が残るが、このうち、
「f」のACKに記載されているそれ(即ちN5 、N7
)に完全に含まれているため、これも消去する。N3
では、これによって残された「c」と「d」のACKを
元に本通信のメッセージを転送する。以上のような処理
を、複数のACKを受け取った各中継ノードで行い、残
されたACKの到着したリンクにのみ本通信におけるメ
ッセージを転送すれば、無駄がなくなり、効率の良い通
信が可能になる。
【0082】〈ルーチングテーブル容量の削減〉上記の
ような各ノードが持つルーチングテーブルは、ネットワ
ークに接続されているノード数の増加に比例して拡大す
る。長期的に見れば、ネットワークは宛先数の増加に伴
って半無限に成長し続けると考えられる。図27には、
ルーチングテーブルに記載する宛先数の説明図を示す。
この縦軸は、ルーチングテーブルに記載する宛先数で、
上に行くほど多くなることを示す。また、横軸はネット
ワークに接続されているノード数で、右に行くほど多く
なることを示す。ここで、宛先の増加と共に、そのまま
ルーチングテーブルの記載を増加させると、矢印aに示
すように、直線的にルーチングテーブルの大きさが増大
する。
【0083】一方、この具体例の方法では、宛先を集約
することによって、図のBに示すような曲線とする。即
ち、ネットワーク中のノード数が大幅に増えてもある一
定値でルーチングテーブルに記載する宛先数が飽和する
ようにした。この飽和値はその都度任意に選定できるよ
うにする。
【0084】〈第一の宛先集約方法〉この方法では、宛
先アドレスを広域部と狭域部の二階層構造にする。広域
部は上位アドレス、狭域部は下位アドレスに相当する。
そして、各宛先ノードのアドレスと自ノードのアドレス
を比較し、広域部が一致する宛先ノードの場合には、狭
域部までの情報をルーチングテーブルに記載する。一
方、広域部が不一致の宛先ノードについては広域部だけ
の情報をルーチングテーブルに記載する。この方法によ
って、ルーチングテーブルに記載される宛先数は、(自
ノードのアドレスと広域部が同一のアドレスのノード
数)+(広域アドレス数−1)となる。
【0085】即ち、図4を用いて説明したルーチングテ
ーブルの宛先部分を、広域部が一致するものについては
宛先ノード数分だけを用意し、広域部が不一致のものに
ついては広域アドレスのみを宛先とする。これ以上のル
ーチングは広域部が一致するノードで行えば良いという
ことである。これによって、ルーチングテーブルに記載
される宛先数の集約が可能となる。
【0086】図28には、広域部と狭域部の割当てのバ
リエーションを示す。この図に示すように、例えばアド
レスが上位アドレスから順にD−C−B−Aというよう
に階層化されている場合に、広域部を最も上位のレベル
Dに設定する場合、レベルDとCに設定する場合、ある
いはレベルD,C,Bを含めたものに設定する場合で、
それぞれ集約化の異なる結果が得られる。即ち、バリエ
ーション番号を図のように1,2,3とした場合に、第
一番目のバリエーションではルーチングテーブルの広域
アドレス数は少なくなり、同一広域アドレスのノード数
が多くなる。逆にバリエーションナンバーが3のケース
では広域アドレス数が多くなり、同一広域アドレスのノ
ード数が小さくなる。従って、ネットワークの置かれた
環境やその拡張の見込み等を考慮して、いずれかの形式
を採用すれば良い。
【0087】〈第二の宛先集約方法〉図29には、第二
の宛先集約方法の説明図を示す。この例では、宛先ノー
ドのアドレスと自ノードのアドレスとをその一致状況に
よって分類する。アドレスは、例えば上位からD−C−
B−Aというように4階層に分ける。そして、各ノード
をこの図に示すように、広帯域ノード、中広帯域ノー
ド、中狭帯域ノード、狭帯域ノードの4種類に分ける。
広帯域ノードはレベルDから異なっているノードであ
る。中帯域ノードはレベルDが一致するノードである。
中狭帯域ノードはレベルD,Cが一致するノードであ
る。狭帯域ノードはレベルD,C,Bが一致するノード
である。
【0088】図30は、第二の宛先集約方法によるルー
チングテーブルの説明図である。この例の場合、広帯域
ノードについてはレベルDの情報だけをルーチングテー
ブルの宛先情報とする。また、中広帯域ノードについて
はレベルD,Cの情報だけ、中狭帯域ノードについては
レベルD,C,Bの情報だけをルーチングテーブルの宛
先とする。狭帯域ノードは全てとする。このように段階
的にアドレスのレベルを比較して宛先を設定することに
よってもルーチングテーブルの集約が可能である。こう
した集約方法によれば、ルーチングテーブルの情報をア
ドレスが近いものほど比較的具体的に表示でき、しかも
集約によるテーブル容量の縮小化を図ることができる。
【0089】〈第三の宛先集約方法〉図31に、ホップ
数による宛先集約方法説明図を示す。ここでは、自ノー
ドから宛先ノードまでのホップ数によりノードを分類す
る。ホップ数というのは、メッセージ送信の際に経由す
るノードの数等に対応させた数値である。図に示すh1
〜h3は、任意の基準でこの数を設定する。図の例で
は、h1が最も大きく、h3が最も小さくなるように設
定している。こうして、広帯域ノードはh1以下では到
着しないノードとし、中広帯域ノードではh2以下では
到着しないノードとする。また、中狭帯域ノードはh3
以下では到着しないノードとし、狭帯域ノードはh3以
下で到着するノードする。境界部分は図に示す通りにす
る。このようにしてノードを分類し、その後は図30に
示す通りの要領でルーチングテーブルに記載すべき宛先
を設定する。
【0090】従って、この例では、ホップ数と各ノード
のアドレス階層とは必ずしも対応しなくて良い。これに
よって、複雑な経路を辿ってメッセージが到着するノー
ドの場合にはアドレスの上位のみがルーチングテーブル
に表示される。こうして、宛先数の集約が行われる。
【0091】〈第四の宛先集約方法〉第三の宛先集約方
法においては、ホップ数を基準にノードを分類した。第
四の方法では、自ノードから宛先ノードまでの送信に要
するコストに着目して各ノードを分類する。コストはメ
ッセージの遅延、スループット、信頼性、通信料金等の
要素を加味して算定する。図32には、コストを基準と
した宛先集約方法の説明図を示す。この図に示すよう
に、例えばコストをc1,c2,c3という閾値と比較
する。この閾値はc1が最も高く、c3が最も低いもの
にする。こうして、広帯域ノードをc1以下では到着し
ないノードとし、中帯域ノードc2では到着しないノー
ドとする。また、中狭帯域ノードはc3以下では到着し
ないものとし、狭帯域ノードはc3以下で到着するノー
ドとする。これによって、各ノードを分類し、図30と
同様の方法によってそれぞれルーチングテーブルに記載
すべき宛先を設定する。
【0092】〈ルーチングテーブル容量の削減効果〉分
散ネットワーク上の各ノードが持つルーチングテーブル
の大きさの減少を図ることができ、かつ、この効果はネ
ットワーク規模によらず得られる。 1:n型マルチキャスト通信への適用 1:n型マルチキャスト通信におけるルーチングが実現
でき、かつ、上記で示した効果を活用できる。
【図面の簡単な説明】
【図1】具体例1におけるメッセージの転送手順フロー
チャートである。
【図2】具体例1における中継ノードにおける「MIN
DC」のメッセージの転送手順フローチャートである。
【図3】回り込みルーチングの例説明図である。
【図4】ルーチングテーブルとトラヒック監視テーブル
の説明図である。
【図5】具体例2におけるメッセージが到着した際の転
送手順フローチャートである。
【図6】トラヒック監視手法の説明図である。
【図7】具体例5における経路設定手順説明図(その
1)である。
【図8】具体例5における経路設定手順説明図(その
2)である。
【図9】「送信要求」のメッセージフォーマットであ
る。
【図10】近隣ノード認知要求のメッセージフォーマッ
トである。
【図11】グループ形成の様子説明図である。
【図12】仮ボスの設定動作説明図である。
【図13】「ボス認知要求」のメッセージフォーマット
説明図である。
【図14】「ボス認知要求」の配送状況説明図である。
【図15】「ボス認知」のメッセージフォーマットであ
る。
【図16】「ボス認知」の配送状況説明図である。
【図17】ボスから各メンバへの送信経路説明図であ
る。
【図18】ACKのメッセージフォーマットである。
【図19】ステップS3〜ステップS4の処理説明図
(その1)である。
【図20】ステップS3〜ステップS4の処理説明図
(その2)である。
【図21】マルチキャスト通信の一例説明図である。
【図22】N1 からのACKの転送動作説明図である。
【図23】N5 からのACKの転送動作説明図である。
【図24】N7 からのACKの転送動作説明図である。
【図25】N3 が受け取って転送したACKの説明図で
ある。
【図26】ステップS5におけるACKの選定動作説明
図である。
【図27】ルーチングテーブルに記載する宛先数の説明
図である。
【図28】広域部と狭域部の割当てのバリエーションで
ある。
【図29】第二の宛先集約方法の説明図である。
【図30】第二の宛先集約方法によるルーチングテーブ
ルの説明図である。
【図31】ホップ数による宛先集約方法説明図である。
【図32】コストを基準とした宛先集約方法の説明図で
ある。
【符号の説明】
ステップS1〜ステップS11 処理ステップ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 ネットワーク上で、自ノードから宛先ノ
    ードへのメッセージを、最短経路になるような出力リン
    クに転送した場合に要するコストと、既に他のメッセー
    ジ転送のために設定された確定リンクを経由して転送し
    た場合に要するコストとを比較して、 そのコストの差が一定以下の場合には、その確定リンク
    に相乗りさせて当該メッセージを転送することを特徴と
    するメッセージの経路選択方法。
  2. 【請求項2】 請求項1において、 何らかのメッセージが自ノードに到着するたびに、どの
    リンクからメッセージが到着したかを監視して、その情
    報を蓄積するトラヒック監視テーブルを設けて、 このトラヒック監視テーブルを参照して、どのリンクに
    メッセージを転送すればそのメッセージが宛先に近づく
    かを判断し、そのメッセージを宛先に近づくような確定
    リンクに相乗りさせることを特徴とするメッセージの経
    路選択方法。
  3. 【請求項3】 請求項2において、 いずれかのノードからいずれかのリンクを通じてメッセ
    ージが到着したとき、ルーチングテーブル上のそのノー
    ドに該当する宛先に対応させて、前記リンクにトラヒッ
    クが存在した旨を記録することを特徴とするメッセージ
    の経路選択方法。
  4. 【請求項4】 請求項3において、 アドレスが位置情報に従って各ノードに割りつけられて
    いるとき、トラヒック監視テーブル上のアドレスの一部
    が一致する全てのノードからもメッセージが到着したも
    のとして、トラヒックが存在した旨を記録することを特
    徴とするメッセージの経路選択方法。
  5. 【請求項5】 請求項4において、 受け取ったメッセージの送信元ノードが自ノードから遠
    くに存在する場合にのみ、アドレスの一部が一致する全
    てのノードからもメッセージが到着したものとすること
    を特徴とするメッセージの経路選択方法。
  6. 【請求項6】 請求項5において、 メッセージが到着したリンク方向へメッセージを転送し
    た場合に要するコストが閾値を越えていたとき、受け取
    ったメッセージの送信元ノードが自ノードから遠くに存
    在すると判定することを特徴とするメッセージの経路選
    択方法。
  7. 【請求項7】 マルチキャスト通信の要求が生起したと
    き、当該通信における全ての宛先ノードまで送信要求メ
    ッセージを転送し、 その送信要求メッセージを受け取った宛先ノードは、自
    ノードの近隣に他の宛先ノードが存在するかどうかを判
    定して、存在した場合には近隣に存在する宛先ノードの
    集まりで一つのグループを形成し、そのグループ内で最
    も送信元ノードに近い宛先ノードを代表ノードとし、 各グループの代表ノードと、グループを形成しない他の
    宛先ノードは、送信元に向けて応答メッセージを返送
    し、互いに近隣に存在する宛先ノードを経由させ、その
    つど応答メッセージに含まれる経路情報に経由した宛先
    ノードを示す情報を付加して、その応答メッセージを送
    信元に向けて転送し、 送信元は、全ての宛先ノードから応答メッセージを受け
    取ったことを確認した後に、応答メッセージに含まれる
    経路情報に従って、各宛先ノードに対する通信を開始す
    ることを特徴とするメッセージの経路選択方法。
  8. 【請求項8】 請求項7において、 送信要求メッセージには、全ての宛先アドレスと、通信
    コストの閾値とを含めて、 送信要求メッセージを受け取った各宛先ノードは、すべ
    ての宛先ノードについて、自ノードから見た通信コスト
    を算出し、送信要求に含まれた閾値と比較して、その宛
    先ノードが自ノードから見て近隣ノードであるかどうか
    を判定することを特徴とするメッセージの経路選択方
    法。
  9. 【請求項9】 請求項7または8において、 各宛先ノードは、近隣ノードと認めた他の宛先ノードに
    対して、 自ノードのアドレスと、自ノードから送信元までの通信
    コストとを含む近隣ノード認知要求を送信し合って、近
    隣ノードのグループを決定することを特徴とするメッセ
    ージの経路選択方法。
  10. 【請求項10】 請求項9において、 相互に近隣ノードとなった宛先ノードは、それぞれ、自
    ノードから送信先までの通信コストと、近隣ノード認知
    要求に含まれた各近隣ノードから送信元までの通信コス
    トとを比較して、自ノードよりも送信元に近い近隣ノー
    ドが存在したと判断すると、代表ノードの候補に選定す
    る旨の仮ボス認定メッセージを、当該近隣ノードに送信
    し、 全ての近隣ノードから仮ボス認定を受けたノードが代表
    ノードの候補に選定されることを特徴とするメッセージ
    の経路選択方法。
  11. 【請求項11】 請求項10において、 互いに近隣ノードとされた同一のグループ内で、複数の
    代表ノードの候補が選定された場合に、 該当するノードは、全ての近隣ノードに、自ノードが代
    表ノードである旨のボス認知要求メッセージを送信し、
    このボス認知要求メッセージを受けた他のノードはこれ
    を近隣ノードに転送し、 いずれかのノードで複数のボス認知要求メッセージが衝
    突したとき、衝突が起きたノードでは、送信元ノードま
    での距離が小さい方のノードのボス認知要求メッセージ
    のみを近隣ノードに転送するようにして、 唯一のボス認知要求メッセージのみを全ての近隣ノード
    に届けることを特徴とするメッセージの経路選択方法。
  12. 【請求項12】 請求項11において、 全近隣ノードからボス認知要求メッセージが送信されて
    きたいずれかのノードが、ボス認知要求を認めた旨のボ
    ス認知メッセージを全近隣ノードに送信し、 このボス認知メッセージを受け取った各ノードは、ボス
    認知要求メッセージを送信した該当するノードにボス認
    知メッセージを送信して、全ての近隣ノードからボス認
    知メッセージを受け取ったノードを近隣ノードのグルー
    プの代表ノードに選定することを特徴とするメッセージ
    の経路選択方法。
  13. 【請求項13】 請求項12において、 ボス認知メッセージには、当該ボス認知メッセージが経
    由したノードのアドレスが、送信経路情報として含めら
    れることを特徴とするメッセージの経路選択方法。
  14. 【請求項14】 請求項7から13において、 送信元への応答メッセージは、その転送経路中の任意の
    中継ノードの近隣に、グループの代表ノードまたはグル
    ープを構成しない宛先ノードがある場合には、それらの
    ノードを経由して送信元へ転送され、 応答メッセージには、経由したグループの代表ノードま
    たはグループを構成しない宛先ノードを表示する中継ノ
    ード履歴情報を含め、 送信元は、その応答メッセージの転送経路を逆に辿っ
    て、実際の送信を実行することを特徴とするメッセージ
    の経路選択方法。
  15. 【請求項15】 請求項14において、 応答メッセージに、経由した宛先ノードと代表ノードお
    よびそのグループを構成する宛先ノードを次の経由先か
    ら除外する中継ノード履歴情報が含められることを特徴
    とするメッセージの経路選択方法。
  16. 【請求項16】 請求項14または15において、 宛先ノード以外のノードであって、同一の応答メッセー
    ジを複数回重複して受け取ったノードでは、2回目以降
    に受け取った応答メッセージを無視して、重複しない経
    路へメッセージを転送することを特徴とするメッセージ
    の経路選択方法。
  17. 【請求項17】 ルーチングテーブルに記載された宛先
    アドレスを広域部と狭域部の2階層構造とし、 各宛先ノードのアドレスと自ノードのアドレスとを比較
    したとき、広域部が一致する宛先ノードについては狭域
    部までのアドレス情報を格納し、広域部が一致しない宛
    先ノードについては広域部だけのアドレス情報を格納し
    たことを特徴とするルーチングテーブル。
  18. 【請求項18】 各宛先ノードのアドレスと自ノードの
    アドレスとを上位から3以上の階層に区分し、最上位の
    階層から異なる場合には、アドレスの最上位のみ、最上
    位の階層は一致しても次の階層が異なる場合にはアドレ
    スの次の階層までというようにして、アドレスが近いも
    のほど具体的なアドレス情報を含めたことを特徴とする
    ルーチングテーブル。
  19. 【請求項19】 自ノードから宛先ノードまでのホップ
    数の数により宛先ノードを分類し、メッセージの辿る経
    路が複雑なものはアドレスの上位のみとし、ホップ数が
    少ないものほど具体的なアドレス情報を含めたことを特
    徴とするルーチングテーブル。
  20. 【請求項20】 自ノードから宛先ノードまでの通信コ
    ストにより宛先ノードを分類し、通信コストの高い宛先
    ノードはアドレスの上位のみとし、通信コストが安いも
    のほど具体的なアドレス情報を含めたことを特徴とする
    ルーチングテーブル。
JP20649296A 1996-07-17 1996-07-17 メッセージの経路選択方法 Expired - Fee Related JP3445444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20649296A JP3445444B2 (ja) 1996-07-17 1996-07-17 メッセージの経路選択方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20649296A JP3445444B2 (ja) 1996-07-17 1996-07-17 メッセージの経路選択方法

Publications (2)

Publication Number Publication Date
JPH1032572A true JPH1032572A (ja) 1998-02-03
JP3445444B2 JP3445444B2 (ja) 2003-09-08

Family

ID=16524275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20649296A Expired - Fee Related JP3445444B2 (ja) 1996-07-17 1996-07-17 メッセージの経路選択方法

Country Status (1)

Country Link
JP (1) JP3445444B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310482C (zh) * 2003-01-27 2007-04-11 华为技术有限公司 一种建立最短路径树的方法
WO2014136740A1 (ja) * 2013-03-05 2014-09-12 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1310482C (zh) * 2003-01-27 2007-04-11 华为技术有限公司 一种建立最短路径树的方法
WO2014136740A1 (ja) * 2013-03-05 2014-09-12 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム
JPWO2014136740A1 (ja) * 2013-03-05 2017-02-09 日本電気株式会社 経路情報交換方法、通信ノード、通信システム、及び通信ノードのプログラム
US9860158B2 (en) 2013-03-05 2018-01-02 Nec Corporation Path information exchange method, communication node, communication system, and communication node program

Also Published As

Publication number Publication date
JP3445444B2 (ja) 2003-09-08

Similar Documents

Publication Publication Date Title
TWI254527B (en) Network system, spanning tree configuration method and spanning tree configuration node
CN103119900B (zh) 通信系统、控制设备、节点控制方法和节点控制程序
EP0518581B1 (en) Routing in communications networks
JP3400265B2 (ja) 通信ネットワークの改善されたルーチングの方法
EP0722644B1 (en) Method for selecting links in networks
JP4387519B2 (ja) マルチキャスト樹を蓄積するための効果的な手段
JPH0936873A (ja) リンクステートルーティング装置
KR20080089285A (ko) 이더넷 링 네트워크에서의 보호 절체 방법
Ramanathan et al. Delivery of time-critical messages using a multiple copy approach
JPH10173681A (ja) 代替ルート決定方法およびネットワーク用ノード
CN101444045A (zh) 用于针对多个生成树选项高效管理带宽注册的技术
JPS6268343A (ja) パケツト交換網におけるル−チング制御方式
CN105141516A (zh) 通信系统、转发节点、路径管理服务器以及通信方法
EP2198571B1 (en) Method and apparatus for network routing between a tactical network and a satellite network
CN103780419B (zh) 一种分布式链路聚合组业务切换方法和装置
CN102136957B (zh) 一种标签交换路径监控的实现方法、装置和系统
CN103238300B (zh) 管理网络单元的路由选择信息库中的过时路由移除的方法及装置
JP3406246B2 (ja) 迂回経路選定方法及び装置、障害回復方法及び装置、ノード並びにネットワークシステム
CN1787475B (zh) 接入网络系统及移动内部网络中继设备的方法
JPH1032572A (ja) 経路選択方法及びルーチングテーブル
Novak et al. Steiner tree based distributed multicast routing in networks
CN100420245C (zh) 路由器内部物理设备配置管理方法及系统
Han et al. Maximizing path durations in mobile ad-hoc networks
JP2013198077A (ja) ネットワーク及びブリッジ
Felstaine et al. Crankback prediction in hierarchical ATM networks

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100627

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100627

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees