JP2986784B1 - ルータ装置の制御方法及び制御装置 - Google Patents

ルータ装置の制御方法及び制御装置

Info

Publication number
JP2986784B1
JP2986784B1 JP10285458A JP28545898A JP2986784B1 JP 2986784 B1 JP2986784 B1 JP 2986784B1 JP 10285458 A JP10285458 A JP 10285458A JP 28545898 A JP28545898 A JP 28545898A JP 2986784 B1 JP2986784 B1 JP 2986784B1
Authority
JP
Japan
Prior art keywords
routing
node
probability
ant
routing table
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.)
Expired - Lifetime
Application number
JP10285458A
Other languages
English (en)
Other versions
JP2000115255A (ja
Inventor
和正 種田
明 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EI TEI AARU KANKYO TEKIO TSUSHIN KENKYUSHO KK
Original Assignee
EI TEI AARU KANKYO TEKIO TSUSHIN KENKYUSHO KK
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 EI TEI AARU KANKYO TEKIO TSUSHIN KENKYUSHO KK filed Critical EI TEI AARU KANKYO TEKIO TSUSHIN KENKYUSHO KK
Priority to JP10285458A priority Critical patent/JP2986784B1/ja
Application granted granted Critical
Publication of JP2986784B1 publication Critical patent/JP2986784B1/ja
Publication of JP2000115255A publication Critical patent/JP2000115255A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

【要約】 【課題】 ルーチングロックを回避してネットワーク上
の故障や誤りに対する頑強性を有することができるルー
タ装置の制御方法及び制御装置を提供する。 【解決手段】 パケットを自局ノードから隣接ノード
に、各隣接ノードに対するルーチング確率を含むルーチ
ングテーブルを用いてルーチングし、かつ蟻エージェン
トを用いてアントネットアルゴリズムに基づいてルーチ
ングテーブルを学習により構築するルータ装置が提供さ
れる。ルータ装置のコントローラ10は、すべてのルー
チング確率を均一ランダム確率に近付けるように周期的
に減少させることによって、ルーチングテーブルを更新
する減衰法処理と、自局ノードから宛先ノードへのトリ
ップ時間がしきい値よりも長いときに、すべてのルーチ
ング確率を均一ランダム確率に近付けるように減少させ
ることによって、ルーチングテーブルを更新する負のフ
ィードバック処理との少なくとも一方を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、インターネットな
どのコネクションレスのパケット伝送ネットワークのた
めのルータ装置の制御方法及び制御装置に関する。
【0002】
【従来の技術】インターネットに代表されるデータグラ
ムネットワークの適応型ルーチングアルゴリズムの多く
は、1960年代より従来技術文献1「エー・エス・タ
ネンバウム(A. S. Tanenbaum),“コンピュータネッ
トワークス(Computer Networks)”,Printice-Hall,
1996年」記載のARPANET(Advanced Research Pr
oject Agency Network)で研究されてきた従来技術文献
2「ディー・バートセカスほか(D. Bertsekas et a
l),“データネットワークス(Data Networks)”,Pr
intice-Hall,1992年」記載の最短経路ルーチングアル
ゴリズムから派生したものである。これらは、ネットワ
ークノード間でメッセージパッシングにより情報交換を
行う分散アルゴリズムの一種であり、従来技術文献3
「エム・イー・ストリーンストラップ(M. E. Streenst
rup),“通信網におけるルーチング(Routing in Comm
unications Networks)”,Printice-Hall,1995年」に
記載されているように様々なアルゴリズムが存在する。
【0003】一方、近年、難解な分散処理問題に対し
て、従来技術文献4「イー・ボナブーほか(E. Bonabea
u et al),“社会性昆虫の自己組織化(Self-organiza
tion in social insects)”,TREE,Vol.12,No.5,19
97年」に記載される蟻や蜂などの社会性昆虫の自己組織
化に触発された解決手法が提案されている。
【0004】その中で、蟻コロニーの振舞いをデータグ
ラムネットワークのルーチングに適用したものが、従来
技術文献5「ジー・ディー・カロほか(G. D. Caro et
al),“適応的ルーチングのための移動性エージェント
(Mobile Agents for Adaptive Routing)”,Internat
ional Conference of Systems Sciences,Hawaii,1998
年」に記載されているアントネット(Antnet)で
ある。蟻が巣穴と食物の間の軌道の中で、長さが短い方
を選択する過程は次の通りである。 (1)蟻同士は、分散アルゴリズムとは異なり、明示的
な情報交換は行わない。 (2)フェロモンという化学物質を介して緩慢な相互作
用を行う。 (3)各蟻はフェロモンを放出しながら食物を求めて徘
徊する。 (4)これによりフェロモンの軌道ができる。 (5)蟻は、食物を見つけると同一軌道を通って巣穴に
戻る。
【0005】蟻はフェロモンの量が多い軌道をたどるた
め、正のフィードバック効果により、短い軌道のフェロ
モンの堆積量が次第に多くなり、最終的に、ほとんどの
蟻が短い軌道を通ることになる。
【0006】アントネットは、蟻コロニーが短い軌道を
選択する自己組織化の過程を、ネットワーク上を動く蟻
エージェントを使って実現したルーチングアルゴリズム
である。フェロモンの堆積量をルーチング確率に、巣穴
を出発ノードに、食物を宛先ノードにそれぞれ対応づけ
ている。コンピュータシミュレーションを行った結果、
アントネットはインターネットのデファクト標準である
従来技術文献6「ジェイ・モイ(J. Moy),“OSPF
バージョン2(Open Shortest Path First Version
2)”,RFC1583,Network Working Group,1994年」記
載のルーチングアルゴリズムと比較すると、平均遅延時
間が1/2から1/10になることが、従来技術文献5
によって報告されている。
【0007】
【発明が解決しようとする課題】ルーチングアルゴリズ
ムの適応性の評価は、平均遅延時間のように長い時間ス
ケールで見た評価の他に、入力トラヒック強度やネット
ワークトポロジが変化した直後のルーチングの安定性の
ような短い時間スケールで見た評価も重要である。アン
トネットは、そのような短い時間スケールで見たときに
アントネットの適応能力を低下させるルーチングロック
を起こしやすいという問題点を有する。ルーチングロッ
クとは、ルーチング確率が1に近づくと、確率1から離
れにくくなる現象をいう。
【0008】本発明の目的は以上の問題点を解決し、ル
ーチングロックを回避してネットワーク上の故障や誤り
に対する頑強性を有することができるルータ装置の制御
方法及び制御装置を提供することにある。
【0009】
【課題を解決するための手段】本発明に係る請求項1記
載のルータ装置の制御方法は、複数のノードから構成さ
れるパケット伝送ネットワークを介して出発ノードから
宛先ノードに向けてパケットを送信する場合に、パケッ
トを自局ノードから隣接ノードに、各隣接ノードに対す
るルーチング確率を含むルーチングテーブルを用いてル
ーチングし、かつ蟻エージェントを用いてアントネット
アルゴリズムに基づいて上記ルーチングテーブルを学習
により構築するルータ装置の制御方法において、上記ル
ーチングテーブルのすべてのルーチング確率を、隣接ノ
ードの数の逆数である均一ランダム確率に近付けるよう
に、周期的に減少させることによって、上記ルーチング
テーブルを更新する減衰法処理と、自局ノードから宛先
ノードへのトリップ時間が所定のしきい値よりも長いと
きに、上記ルーチングテーブルのすべてのルーチング確
率を、上記均一ランダム確率に近付けるように減少させ
ることによって、上記ルーチングテーブルを更新する負
のフィードバック処理との少なくとも一方を実行するこ
とを特徴とする。
【0010】また、請求項2記載のルータ装置の制御方
法は、請求項1記載のルータ装置の制御方法において、
上記減衰法処理は、上記蟻エージェントのうちの後退蟻
が所定の前進蟻の送信間隔で戻ってくるとしたときに、
後退蟻が自局ノードに到着することによるルーチング確
率の増加と、上記減衰法処理によるルーチング確率の減
少とが釣り合う確率P0に基づいて計算された減衰率を
用いて、上記ルーチングテーブルのすべてのルーチング
確率を減衰させることを特徴とする。
【0011】さらに、請求項3記載のルータ装置の制御
方法は、請求項1記載のルータ装置の制御方法におい
て、上記負のフィードバック処理は、上記ルーチング確
率が1に近い所定の値よりも大きく、ルータ装置のルー
チングが不安定な状態にあり、かつ、自局ノードから宛
先ノードへのトリップ時間が所定のしきい値よりも長い
ときに、所定の負の強化率を用いて、上記ルーチングテ
ーブルのすべてのルーチング確率を、上記均一ランダム
確率に近付けるように減少させることを特徴とする。
【0012】本発明に係る請求項4記載のルータ装置の
制御装置は、複数のノードから構成されるパケット伝送
ネットワークを介して出発ノードから宛先ノードに向け
てパケットを送信する場合に、パケットを自局ノードか
ら隣接ノードに、各隣接ノードに対するルーチング確率
を含むルーチングテーブルを用いてルーチングし、かつ
蟻エージェントを用いてアントネットアルゴリズムに基
づいて上記ルーチングテーブルを学習により構築する制
御手段を備えたルータ装置の制御装置において、上記制
御手段は、上記ルーチングテーブルのすべてのルーチン
グ確率を、隣接ノードの数の逆数である均一ランダム確
率に近付けるように、周期的に減少させることによっ
て、上記ルーチングテーブルを更新する減衰法処理と、
自局ノードから宛先ノードへのトリップ時間が所定のし
きい値よりも長いときに、上記ルーチングテーブルのす
べてのルーチング確率を、上記均一ランダム確率に近付
けるように減少させることによって、上記ルーチングテ
ーブルを更新する負のフィードバック処理との少なくと
も一方を実行することを特徴とする。
【0013】また、請求項5記載のルータ装置の制御装
置は、請求項4記載のルータ装置の制御装置において、
上記制御手段は、上記減衰法処理において、上記蟻エー
ジェントのうちの後退蟻が所定の前進蟻の送信間隔で戻
ってくるとしたときに、後退蟻が自局ノードに到着する
ことによるルーチング確率の増加と、上記減衰法処理に
よるルーチング確率の減少とが釣り合う確率P0に基づ
いて計算された減衰率を用いて、上記ルーチングテーブ
ルのすべてのルーチング確率を減衰させることを特徴と
する。
【0014】さらに、請求項6記載のルータ装置の制御
装置は、請求項4記載のルータ装置の制御装置におい
て、上記制御手段は、上記負のフィードバック処理にお
いて、上記ルーチング確率が1に近い所定の値よりも大
きく、ルータ装置のルーチングが不安定な状態にあり、
かつ、自局ノードから宛先ノードへのトリップ時間が所
定のしきい値よりも長いときに、所定の負の強化率を用
いて、上記ルーチングテーブルのすべてのルーチング確
率を、上記均一ランダム確率に近付けるように減少させ
ることを特徴とする。
【0015】
【発明の実施の形態】以下、図面を参照して本発明に係
る実施形態について説明する。従来技術において、ネッ
トワーク故障のように瞬間的にルーチングの変更を必要
とする場合、ルーチングが素早く最短経路に収束するた
めには、ロックしたルーチングの割合を減少させたり、
ルーチングロックを素早く解除するメカニズムが必要に
なると考えられる。本発明に係る実施形態では、その問
題点を解決するための方法及び装置について開示する。
【0016】<第1の実施形態>図1は、本発明に係る
第1の実施形態である減衰法処理を含むルーチング処理
を実行するルータ装置100の全体構成を示すブロック
図である。第1の実施形態であるルータ装置100のコ
ントローラ10は、複数のノードから構成されるパケッ
ト伝送ネットワークを介して出発ノードから宛先ノード
に向けてパケットを送信する場合に、パケットを自局ノ
ードから隣接ノードに、各隣接ノードに対するルーチン
グ確率を含むルーチングテーブルメモリ13aに格納さ
れた第1のルーチングテーブルを用いてルーチングし、
かつ蟻エージェントを用いてアントネットアルゴリズム
に基づいて第1のルーチングテーブルを学習し、第1の
ルーチングテーブルのすべてのルーチング確率を、隣接
ノードの数の逆数である均一ランダム確率に近付けるよ
うに、周期的に減少させることによって、上記ルーチン
グテーブルを更新する減衰法処理を実行することを特徴
としている。ここで、上記減衰法処理は、上記蟻エージ
ェントのうちの後退蟻が所定の前進蟻の送信間隔で戻っ
てくるとしたときに、後退蟻が自局ノードに到着するこ
とによるルーチング確率の増加と、上記減衰法処理によ
るルーチング確率の減少とが釣り合う確率P0に基づい
て計算された減衰率を用いて、上記第1のルーチングテ
ーブルのすべてのルーチング確率を減衰させる。
【0017】ここで、ネットワーク上の各ノードはパケ
ット交換器等の中継器であり、それぞれ当該ルータ装置
100を設け、入力されたパケット等をルーチング処理
により隣接ノードに送信する。
【0018】以下、図1のルータ装置100によって実
行される本実施形態である減衰法処理を含むルーチング
処理について説明する。まず、ルーチング処理に用いら
れるアントネットアルゴリズムについて説明する。アン
トネットアルゴリズムは、データグラムネットワークの
ルーチングアルゴリズムであり、パケット交換を行う複
数のノード間を接続するリンクからなるネットワーク上
において動作する。ルーチングとは、出発ノードと宛先
ノードの間の経路をパケット毎に決定することであり、
アントネットアルゴリズムは、時間的に短い経路を介し
てパケットをルーチングするためのアルゴリズムであ
る。時間的に短い経路は、時間とともに変化するため
に、アントネットアルゴリズムは動的ルーチングのカテ
ゴリに属する。なお、本実施形態では、図1のルータ装
置100をそれぞれ備えた複数個のノードから構成され
るネットワークを使用する。
【0019】アントネットアルゴリズムは、ネットワー
ク上の任意のノードsが宛先ノードdにパケットを送信
するためにノードsの隣接ノードnにパケットを送信す
るルーチング確率Ps d,nを計算するアルゴリズムであ
る。ルーチング確率Ps d,nは次式の正規化条件を満足す
る。
【0020】
【数1】 Σ Ps d,n=1,∀s∈N,∀d∈N−{s} n∈Ns
【0021】ここで、Nはネットワーク内のノード集合
を表し、Nsはノードsの隣接ノードのノード集合を表
す。
【0022】アントネットアルゴリズムで用いられるパ
ラメータを次のように定義する。Fsdは、ノードsを
出発して宛先ノードdに向かう前進蟻を表す。Bd
sは、宛先ノードdを出発してノードsに向かう後退蟻
を表す。Ssdは、ノードsから宛先ノードdまでの経
路上のノード集合を表す。Tk,k'は、前進蟻Fsdがノ
ードkに到着してからノードk’に到着するまでのトリ
ップ時間を表すが、ノードkからノードk’までの経路
中にループがあれば、当該トリップ時間から当該ループ
間の移動時間は差し引かれる。Ssd(k)は、前進蟻
sdがノードkを出発してから通過する全ノードk’
の識別子とトリップ時間Tk,k'が入るスタックデータを
表す。但し、経路中にループができれば、そのループ上
のすべてのノードlの識別子とトリップ時間Tk,lはそ
れらから削除される。ここで、k∈Ssdである。Tr
ipk(μk',σk' 2)は、ノードkが有するトリップ時
間Tk,k 'の平均値μk'と分散値σk' 2とを表すトリップ
時間統計データである。
【0023】図2は、本発明に係る第1の実施形態で用
いられるアントネットアルゴリズムを用いたルーチング
処理に基づいて、ノードsから宛先ノードdにパケット
を送信するときの前進蟻及び後退蟻の動きを示す図であ
る。図2には図示してないが、ノードsと宛先ノードd
との間には少なくとも1つのノードが存在してもよい。
図2に示されるように、ノードsから宛先ノードdにパ
ケットを送信するときは、まず、ノードsは、前進蟻F
sdを宛先ノードdに送信する。前進蟻Fsdは宛先ノ
ードdまでの経路上のノードやその経路上の各ノード間
のトリップ時間である経路情報を記憶する。前進蟻Fs
dが宛先ノードdに到達すると、宛先ノードdは、後
退蟻Bdsをノードsに送信する。後退蟻Bdsは、前
進蟻Fsdが有するすべての経路情報を引き継ぐ。後退
蟻Bdsが通過する各ノードは、後退蟻Bdsが有する
それらの経路情報に従ってルーチングテーブルを更新す
る。各ノードのルーチングテーブルを更新することによ
って、パケットの伝送が次第に改善される。
【0024】図3は、本発明に係る第1の実施形態で用
いられるアントネットアルゴリズムの前進蟻及び後退蟻
のパケットフォーマットを示す図である。前進蟻及び後
退蟻は特殊なパケットであるが、本実施形態では、音声
データや画像データ等のパケットと区別するために、前
進蟻及び後退蟻をまとめてエージェントという。図3に
示されるように、エージェントのパケットフォーマット
は、前進蟻又は後退蟻のいずれであるかを示す蟻識別子
と、出発ノードがどのノードかを示す出発ノードの識別
子sと、宛先ノードがどのノードかを示す宛先ノードの
識別子dと、スタックデータとから構成される。上記ス
タックデータは、前進蟻が出発ノードから宛先ノードに
到達するまでに通過したすべてのノードの識別子と、通
過したノード間のトリップ時間とから構成される。
【0025】以下に、アントネットアルゴリズムについ
て説明する。 (1)まず、ネットワーク上のすべてのノードsは、前
進蟻送信間隔Δt毎にランダムに選択した宛先ノードd
に前進蟻Fsdを送信する。本実施形態では、前進蟻送
信間隔Δtは、好ましくは125ミリ秒である。 (2)前進蟻Fsdは、ノードkを通過する毎に、当該
前進蟻FsdのスタックデータSsd(k)を更新しな
がら宛先ノードdに向かって送信される。 (3)ノードk上の前進蟻Fsdの次のホップノードn
は、ノードkの隣接ノード集合Nkの中からルーチング
テーブルのルーチング確率Pk d,nによって決定される方
法と、隣接ノード集合Nkの中から同一確率でランダム
に決定される方法のいずれかによって決定される。後者
の方法が実行される確率を探求確率Peという。もし、
前者の方法によって決定されたノードが以前通過したノ
ードであれば、後者の方法が実行される。ここで、前者
の方法によって使用されるルーチングテーブルを第1の
ルーチングテーブルといい、後者の方法によって使用さ
れるルーチングテーブルを第2のルーチングテーブルと
いう。 (4)もし前進蟻Fsdが以前通過したノードに到着す
れば、前進蟻Fsdの経路にループが形成されたことに
なる。このループ上のすべてのノードlに関する情報を
スタックデータSsd(k)から削除する。
【0026】(5)前進蟻Fsdが宛先ノードdに到着
すると、宛先ノードdは後退蟻Bdsを生成してノード
sに送信する。後退蟻Bdsは、前進蟻Fsdのスタッ
クデータSsd(k)を引継ぎ、それに従って前進蟻F
sdが移動した経路を逆方向に進む。後退蟻Bdsは、
移動中に通過する各ノードの全ての待ち行列で、前進蟻
及びパケットよりも優先される。 (6)後退蟻Bdsがノードkの隣接ノードfから当該
ノードkに到着すると、ノードkは、後退蟻Bdsが有
するトリップ時間Tk,k'を用いて、前進蟻Fsdが通過
したすべてのノードk’に対するトリップ時間統計デー
タTripk(μk ',σk' 2)を更新する。 (7)次いで、ノードkは、ノードkが有する宛先ノー
ドdに対するトリップ時間統計データTripk(μd
σd 2)と、後退蟻Bdsが有するノードkから宛先ノー
ドdまでのトリップ時間Tk,dを用いて、ノードkに隣
接するすべてのノードnのルーチング確率Pk d,nを更新
する。 (8)上述のように、前進蟻Fsdが通過したすべての
ノードk’において、それらの各ノードが、後退蟻Bd
sのスタックデータSsd(k)に基づいて当該ノー
ドk’の第1のルーチングテーブルを更新することによ
って、当該ノードk’におけるパケットのルーチングが
改善される。 (9)なお、各ノードは、改善された第1のルーチング
テーブルのルーチング確率に従って、パケットを隣接ノ
ードを介して宛先ノードに送信する。
【0027】ここで、上述のアントネットアルゴリズム
の(8)において示される、ノードkがルーチング確率
k d,nを更新する手順をより詳細に説明する。ノードf
は後退蟻Bdsがノードkに到着する1つ前に通過した
ノードkの隣接ノードであり、ノードn’はノードf以
外のノードkの隣接ノードを表す。ルーチング確率Pk
d,nの更新処理は、ノードfにルーチングするためのル
ーチング確率Pk d,fと、ノードn’にルーチングするた
めのルーチング確率Pk d,n'とを区別して行う。なお、
以下の式で用いられるパラメータc,a,a’,ε,
h,tは所定の定数である。
【0028】(a)まず、トリップ時間Tk,dの良さを
表す尺度r’を次式に基づいて計算する。
【0029】
【数2】{Tk,d/(c×μd)}<1の場合は、r’=
k,d/(c×μd) {Tk,d/(c×μd)}≧1の場合は、r’=1
【0030】ここで、尺度r’は、小さいほど良い値で
ある。
【0031】(b)次いで、トリップ時間統計データT
ripk(μd,σd 2)を用いて次式に基づいて、尺度
r’を修正する。
【0032】
【数3】r'←r'+sign(t-r')×sign{(σd)/(μd)-
ε}×f(σd,μd)
【0033】ここで、signは、()内の引数の符号を示
す関数であり、r’<tの場合は、f(σ,μ)=ex
p(−a×σ/μ)であり、r’≧tの場合は、f
(σ,μ)=exp(−a’×σ/μ)/exp
(a’)である。
【0034】(c)次いで、学習率hを用いて次式に基
づいて尺度r’の最終スケールを決定する。
【数4】r’←(r’)
【0035】(d)尺度r’を[0,1]の範囲に制限
する。 (e)ルーチング確率P d,f及びPk d,n'を次式を
用いてそれぞれ更新する。
【0036】
【数5】 Pk d,f←Pk d,f+(1−r’)×(1−Pk d,f
【0037】
【数6】Pk d,n'←Pk d,n'−(1−r’)×Pk d,n'
∀n’∈Nk−{f}
【0038】アントネットアルゴリズムは、トリップ時
間の短い経路へのルーチングに対して報酬を与えること
により最短経路を求める、従来技術文献7「安倍直樹ほ
か,“能動学習概要”,情報処理,Vol.38,No.7,1997
年」に記載の強化学習の一種である。アントネットアル
ゴリズムによるルーチングが最短経路に収束するメカニ
ズムは、次のように表現できる。短いトリップ時間の経
路へのルーチングに対してそのルーチング確率が増加さ
れる(報酬が与えられる)。ルーチング確率が増えると
より多くのエージェント(前進蟻)がその経路を選択す
る。多くのエージェントが通過するほど多くの報酬がそ
のルーチング確率に与えられる。つまり、短いトリップ
時間の経路へのルーチング確率の成長プロセスが、正の
フィードバックを形成している。従来技術文献8「河本
英夫,“オートポイエーシス 第三世代システム”,青
土社,1995年」によって報告されているように、ルーチ
ング確率自体がこの成長プロセスの進行速度を加速する
(自己触媒作用)ため、素早く最短経路に収束すること
ができる。更に、このプロセスの進行速度は、短い経路
ほど速い。
【0039】次に、本実施形態で用いられるアントネッ
トアルゴリズムと、メッセージパッシングによりノード
間で情報交換を行う最短経路ルーチングアルゴリズムで
あるオープン・ショーテスト・パス・ファースト(Open
Shortest Path First;以下、OSPFという。)アル
ゴリズムとの比較結果を次表に表す。
【0040】
【表1】
【0041】上表を参照すると、OSPFは、バッファ
内での待ち時間を観測する場所が固定であるのに対し
て、アントネットは時間とともに遅延の大きな経路の観
測、つまり無駄な観測を回避可能であることが分かる。
また、アントネットは、OSPFと比較して、1つの観
測結果がルーチング確率に与える影響が少ないため、観
測の誤りがネットワーク全体に与える影響とエージェン
ト紛失の影響がともに少ない。つまり、アントネット
は、誤り及び紛失に対する頑強性を有する。これらの特
徴から、アントネットは、後述するようにネットワーク
故障に対しても少ない機能追加で対応できる。
【0042】上述したアントネットにおいて、各ノード
が宛先ノードへの最短経路を見つけるという点に関して
は、従来の最短経路ルーチングアルゴリズムと全く同一
である。各ノードが遅延時間を最小化する戦略をとって
も、ネットワーク全体で見たグローバルな遅延時間が最
小化するとは限らない。誤りと遅れを伴う情報に基づく
戦略間で有限のリソースを奪い合うと、戦略のダイナミ
ックスが振動したり、カオス的振舞いをすることが、従
来技術文献9「ビー・エー・フーバーマン(B.A. Huber
man),“計算のエコロジー(The Ecology of Computat
ion)”,Elsevier,North-Holland,1988年」によって
報告されている。実際、メッセージパッシングに基づく
最短経路ルーチングアルゴリズムはルーチング振動を引
き起こすことが、従来技術文献2や従来技術文献10
「ゼット・ワングほか(Z. Wang),“動的ネットワー
ク環境における最短経路ルーチングアルゴリズムの解析
(Analysis of Shortest-Path Routing Algorithms in
a Dynamic Network Environment)”,Computer Commun
ication Review,Vol.22,No.2,1992年」等の多くの文
献で紹介されており、アントネットも同一の課題を有す
る。
【0043】アントネットアルゴリズムは、正のフィー
ドバックで動作しているため、他に短い経路を発見しな
い限りルーチング確率は減少しない。ルーチング確率が
1に近付くと、その他の経路の選択確率が小さくなるた
め、ルーチング確率は1から離れにくくなる。この現象
をルーチングロックと呼ぶ。ルーチングロックは、入力
トラヒックやトポロジ変化等のイベント発生後、ルーチ
ングが新たな最短経路へ収束するまでの時間を遅らせ
る。このため、ルーチングロックの割合を小さくした
り、ルーチングロックを素早く解除するメカニズムが必
要である。
【0044】そこで、本実施形態では、アントネットア
ルゴリズムによるルーチングロックを素早く解除するた
めに減衰法処理を用いる。第1の実施形態である減衰法
処理は、ネットワークの故障などのイベント発生から短
時間でルーチングロックを解除することにより、アント
ネットアルゴリズムを用いたルーチング処理が素早く最
短経路に収束することを補助する機能を有する。以下、
減衰法処理を含むルーチング処理をDCYという。
【0045】まず、第1の実施形態であるDCYについ
て説明する。減衰法処理は、ルーチング確率を時間とと
もに揮発させる。この処理を蟻コロニーのアナロジーで
言えば、フェロモンに揮発性を持たせることにより、蟻
コロニーがよりダイナミックに軌道を切替えられること
を想定している。
【0046】減衰法処理は、周期的に各ノードs(∀s
∈N)のルーチング確率Ps d,nを、均一ランダム確率に
近付けることにより、ルーチングロックの割合を減少さ
せる処理である。ここで、均一ランダム確率は、隣接ノ
ードの数の逆数に等しい。減衰法処理は、所定の時間間
隔である減衰間隔Δd毎に、アントネットアルゴリズム
を用いたルーチング処理に対して割込処理で実行され、
共通のルーチング確率Ps d,nを修正する。全てのルーチ
ング確率Ps d,nは減衰間隔Δd毎に次式に基づいて更新
される。
【0047】
【数7】Ps d,n←Ps d,n−v×(Ps d,n−1/|N
s|),∀d∈N,∀n∈Ns
【0048】ここで、vは減衰率を表す。なお、上式の
計算結果は、数1の正規化条件を満足している。
【0049】減衰間隔ΔdをΔd=前進蟻送信間隔Δt
/mと定義し、後退蟻Bdsが前進蟻送信間隔Δtで戻
って来ると仮定する。ここで、mは所定の定数である。
また、前進蟻Fsdのトリップ時間はその平均値μと同
一であると仮定する。後退蟻Bdsが到着することによ
るルーチング確率Ps d,nの増加とDCYによるルーチン
グ確率Ps d,nの減少が釣合う確率を平衡確率P0で表す
と、減衰率vは次式によって近似できる。
【0050】
【数8】v≒1−[1−{(1−P0)/P0}×(1−
0.5h)]1/d
【0051】ここで、h及びdはそれぞれ所定の定数で
ある。ネットワークが安定しているときは、最短経路へ
のルーチング確率はP0で釣り合う。ネットワークが不
安定になると後退蟻Bdsの到着間隔が長くなるので、
平衡確率P0で釣り合ったルーチング確率は、次第に減
衰する(ロック解除)ため、新たな最短経路への収束を
早めることができる。
【0052】次いで、図1を参照して、本実施形態であ
る減衰法処理を含むルーチング処理を実行する、ノード
kに備えられたルータ装置100の構成及び動作につい
て説明する。図1において、コントローラ10は、当該
ルータ装置100の動作を制御するためのマイクロコン
ピュータなどのCPU又はDSPで構成され、コントロ
ーラ10には、図4乃至図8のルーチング処理のプログ
ラム、図9の前進蟻送信処理のプログラム及び図10の
減衰法処理のプログラムなどを予め記憶するプログラム
ROM(読み出し専用メモリ)11と、コントローラ1
0のワーキングエリアとして用いられるワーキングRA
M(ランダムアクセスメモリ)12と、第1のルーチン
グテーブルを記憶するルーチングテーブルメモリ13a
と、第2のルーチングテーブルを記憶するルーチングテ
ーブルメモリ13bと、ネットワークを構成するすべて
のノードを記憶するネットワークノードメモリ14と、
トリップ時間統計データTripk(μk',δk' 2)を記
憶するトリップ時間統計データメモリ15とが接続され
る。
【0053】図1において、コントローラ10は、複数
M個の隣接するノードA1乃至AMに接続された入力イン
ターフェース20−1乃至20−Mと、ローカル通信端
末CT1に接続された入力インターフェース20−0
と、キューメモリ21と、データスイッチ22と、複数
M個のノードA1乃至AMに対応する出力バッファメモリ
23−1乃至23−Mと、ローカル通信端末CT1に対
応する出力バッファメモリ23−0と、複数M個の隣接
するノードA1乃至AMに接続された出力インターフェー
ス24−1乃至24−Mと、ローカル通信端末CT1に
接続された出力インターフェース24−0との動作を制
御する。当該ノードkが出発ノードであれば、ノードk
のコントローラ10は、送信すべきパケットをローカル
通信端末CT1から入力インターフェース20−0を介
してキューメモリ21で受信する一方、当該ノードkが
宛先ノードであれば、ノードkのコントローラ10は、
パケットをデータスイッチ22から出力バッファメモリ
23−0及び出力インターフェース24−0を介してロ
ーカル通信端末CT1に送信する。
【0054】各入力インターフェース20−0乃至20
−Mはそれぞれ、パケット又はエージェントを受信する
ための受信機を備え、ローカル通信端末CT1又は各ノ
ードA1乃至AMから入力されるパケット又はエージェン
トを受信してキューメモリ21に出力する。キューメモ
リ21は、FIFO(先入れ先出し方式)メモリで構成
され、各入力インターフェース20−0乃至20−Mか
ら入力されるパケット又はエージェントを順次、その入
力順序で待ち合わせて記憶して、コントローラ100の
制御のもとで、先頭のパケット又はエージェントをデー
タスイッチ22を介して出力バッファメモリ23−0乃
至23−Mのうちの1つに出力して記憶させる。但し、
入力されたエージェントが後退蟻であれば、キューメモ
リ21は当該後退蟻を前進蟻及びパケットより優先す
る。データスイッチ22は、パケット交換機を構成し、
コントローラ10の制御のもとで、キューメモリ21か
ら入力されるパケット又はエージェントをコントローラ
10から指示されたローカル通信端末CT1及びノード
1乃至AMにそれぞれ対応する出力バッファメモリ23
−0乃至23−Mに出力して記憶させる。出力バッファ
メモリ23−0乃至23−Mはそれぞれ、入力されたパ
ケット又はエージェントを一時的に記憶した後、対応す
る送信機を備えた各出力インターフェース24−0乃至
24−Mを介してローカル通信端末CT1又はノードA
1乃至AMに送信する。
【0055】次いで、図4乃至図10のフローチャート
を参照して、本発明の第1の実施形態である減衰法処理
を含むルーチング処理について説明する。
【0056】図4は、図1のルータ装置100を備えた
ノードkによって実行されるルーチング処理を示すフロ
ーチャートである。図4を参照すると、ステップS1に
おいて、キューメモリ21に後退蟻が存在するか否かを
判断する。YESであれば、ステップS5において後退
蟻ルーチング処理を実行した後、ステップS1に戻る。
NOであれば、ステップS2において、キューメモリ2
1で待ち合わせしている先頭のパケット又は前進蟻を処
理対象とした後、ステップS3に進む。ステップS3に
おいて、上記処理対象が前進蟻であるか否かを判断す
る。YESであれば、ステップS4において、当該前進
蟻がノードk自身から出発する前進蟻か否かを判断し、
NOであれば、ステップS7において、パケットルーチ
ング処理を実行した後、ステップS1に戻る。ステップ
S4において、YESであれば割込処理として図9の前
進蟻送信処理を実行した後、再びステップS1に戻り、
NOであれば、ステップS6において前進蟻ルーチング
処理を実行した後、ステップS1に戻る。
【0057】図5は、図4のサブルーチンであるステッ
プS5の後退蟻ルーチング処理を示すフローチャートで
ある。図5を参照すると、ステップS11において、処
理対象の後退蟻からスタックデータをすべて読み出す。
次いで、ステップS12において、スタックデータのう
ちのトリップ時間Tk,k'を用いてトリップ時間統計デー
タメモリ15内のトリップ時間統計データTrip
k(μk',δk' 2)を更新する。次いで、ステップS13
において、更新されたトリップ時間統計データTrip
k(μd,δd 2)とトリップ時間Tk,dを用いて第1のル
ーチングテーブルのルーチング確率pk d,nを更新する。
次いで、ステップS14において、スタックデータのう
ちの通過したすべてのノードk’の識別子を読み出し、
それに従って、当該後退蟻を送信すべき隣接ノードを決
定する。次いで、ステップS15において、データスイ
ッチ22を制御して処理対象の後退蟻を、決定された隣
接ノードに送信し、メインルーチンに戻る。
【0058】図6は、図4のサブルーチンであるステッ
プS6の前進蟻ルーチング処理を示すフローチャートで
ある。図6を参照すると、まず、ステップS21におい
て、処理対象の前進蟻からすべてのデータを読み出す。
次いで、ステップS22において、当該ノードk自身が
宛先ノードdであるか否かを判断する。YESであれ
ば、ステップS23において後退蟻送信処理を実行した
後、メインルーチンに戻り、NOであれば、ステップS
24において、前進蟻がノードkに到着したことによっ
てループが形成されたか否かを判断する。ステップS2
4において、YESであれば、ステップS25において
当該ループ上のノードlに関する情報をスタックデータ
から削除してトリップ時間Tk,k'からループ時間を減算
した後、ステップS26に進み、NOであれば、ステッ
プS26に直接に進む。ステップS26において、乱数
R(0≦R≦1)を発生した後、ステップS27におい
て、発生された乱数Rが探求確率Peより小さいか否か
を判断する。YESであればステップS28において、
乱数R”(0≦R”≦1)を発生した後、ステップS2
9に進み、NOであれば、ステップS32において、乱
数R’(0≦R’≦1)を発生した後、ステップS33
に進む。ステップS29において、発生された乱数R”
に基づいて、ルーチングテーブルメモリ13bに記憶さ
れた第2のルーチングテーブルを用いて処理対象の前進
蟻を送信すべき隣接ノードを決定する。次いで、ステッ
プS30において、前進蟻のスタックデータ内の通過し
たすべてのノードk’の識別子を更新する。次いで、ス
テップS31において、データスイッチ22を制御し
て、処理対象の前進蟻を、決定された隣接ノードに向け
て送信した後、メインルーチンに戻る。ステップS33
においては、発生された乱数R’に基づいて、ルーチン
グテーブルメモリ13aに記憶された第1のルーチング
テーブルを用いて処理対象の前進蟻を送信すべき隣接ノ
ードを決定する。次いで、ステップS34において、前
進蟻が決定された隣接ノードに送信されると、ループが
形成されるか否かを判断する。YESであればステップ
S28に進み、NOであればステップS30に進む。
【0059】図7は、図6のサブルーチンであるステッ
プS23の後退蟻送信処理を示すフローチャートであ
る。図7を参照すると、ステップS41において、前進
蟻から読み出したすべてのデータを用いて後退蟻のパケ
ットを生成する。次いで、ステップS42において、読
み出したデータのうちのスタックデータの通過全ノード
k’の識別子に従って、後退蟻を送信すべき隣接ノード
を決定する。次いで、ステップS43において、データ
スイッチ22を制御して、処理対象の後退蟻を、決定さ
れた隣接ノードに送信した後、図6の前進蟻ルーチング
処理に戻る。
【0060】図8は、図4のサブルーチンであるステッ
プS8のパケットルーチング処理を示すフローチャート
である。図8を参照すると、まず、ステップS51にお
いて、この処理を実行しているノードk自身が宛先ノー
ドであるか否かを判断する。YESであれば、ステップ
S56において、データスイッチ22を制御して処理対
象のパケットをローカル通信端末CT1に向けて送信し
た後、メインルーチンに戻る。ステップS51において
NOであれば、ステップS52において、処理対象のパ
ケットの宛先ノードを読み出した後、ステップS53に
進む。ステップS53において、乱数R(0≦R≦1)
を発生する。次いで、ステップS54において、読み出
した宛先ノードと発生された乱数Rとに基づいて、ルー
チングテーブルメモリ13aに記憶された第1のルーチ
ングテーブルを用いて、処理対象のパケットを送信すべ
き隣接ノードを決定する。次いで、ステップS55にお
いてデータスイッチ22を制御して、処理対象のパケッ
トを、決定された隣接ノードに向けて送信した後、メイ
ンルーチンに戻る。
【0061】図9は、図4のルーチング処理に対する割
込処理である前進蟻送信処理を示すフローチャートであ
る。前進蟻送信処理は、前進蟻送信間隔Δt毎に図4の
ルーチング処理に対する割込処理として実行される。図
9を参照すると、ステップS61において、タイマーT
2を0にリセットする。次いで、ステップS62におい
て、ネットワークノードメモリ14内に記憶されるすべ
てのノードからランダムに1つの宛先ノードを選択す
る。次いで、ステップS63において、乱数R(0≦R
≦1)を発生する。ステップS64において、ランダム
に選択された宛先ノードと発生された乱数Rとに基づい
て、ルーチングテーブルメモリ13aに記憶される第1
のルーチングテーブルを用いて、処理対象の前進蟻を送
信すべき隣接ノードを決定する。次いで、ステップS6
5において、データスイッチ22を制御して、処理対象
の前進蟻を、決定された隣接ノードに向けて送信する。
次いで、ステップS66において、タイマーT2が前進
蟻送信間隔Δt以上か否かを判断する。YESであれば
ステップS61に戻り、NOであればステップS66に
再び戻る。
【0062】図10は、第1の実施形態の割込処理であ
る減衰法処理を示すフローチャートである。減衰法処理
は、減衰間隔Δd毎に図4のルーチング処理に対する割
込処理として実行される。図10を参照すると、ステッ
プS71において、タイマーT1を0にリセットする。
次いで、ステップS72において、ルーチングテーブル
メモリ13aに記憶された第1のルーチングテーブル内
のルーチング確率Pk d ,nを、数7に従って更新する。次
いで、ステップS73において、タイマーT1が減衰間
隔Δd以上か否かを判断する。YESであればステップ
S71に戻り、NOであればステップS73に戻る。
【0063】<第2の実施形態>次いで、第2の実施形
態である負のフィードバック処理について説明する。本
実施形態は、アントネットアルゴリズムを用いたルーチ
ング処理において、第1の実施形態である減衰法処理に
代えて負のフィードバック処理を用いてルーチングロッ
クを回避することを特徴とする。なお、第1の実施形態
における図1のルータ装置100のプログラムROM1
1に、減衰法処理のプログラムに代えて負のフィードバ
ック処理のプログラムを記憶させることによって、図1
のルータ装置100は、本実施形態である負のフィード
バック処理を含むルーチング処理を実行する。
【0064】第2の実施形態である負のフィードバック
処理は、自局ノードから宛先ノードへのトリップ時間が
所定のしきい値よりも長いときに、上記ルーチングテー
ブルのすべてのルーチング確率を、上記均一ランダム確
率に近付けるように減少させることによって、上記ルー
チングテーブルを更新する負のフィードバック処理を実
行することを特徴としている。ここで、上記負のフィー
ドバック処理は、好ましくは、上記ルーチング確率が1
に近い所定の値よりも大きく、ルータ装置のルーチング
が不安定な状態にあり、かつ、自局ノードから宛先ノー
ドへのトリップ時間が所定のしきい値よりも長いとき
に、所定の負の強化率を用いて、上記ルーチングテーブ
ルのすべてのルーチング確率を、上記均一ランダム確率
に近付けるように減少させる。
【0065】本実施形態で用いるアントネットアルゴリ
ズムは、第1の実施形態で説明したものと同一である。
以下、本実施形態の負のフィードバック処理を含むアン
トネットアルゴリズムを用いたルーチング処理をNFB
という。
【0066】第2の実施形態である負のフィードバック
処理は、トリップ時間の長い経路に対して負の強化を行
うことにより、ルーチングロックを素早く解除する。具
体的には、ロックされた経路を通過したエージェントが
大きなトリップ時間を経験すると、その経路に関連する
ルーチング確率を減少させる処理である。
【0067】以下、本実施形態の負のフィードバック処
理について説明する。負のフィードバック処理では、ノ
ードkに隣接するノードfから当該ノードkに後退蟻B
dsが到着すると、ノードkは、後退蟻Bdsが有する
前進蟻Fsdが通過した全てのノードk’へのトリップ
時間Tk,k'を用いて、ノードkが有するトリップ時間統
計データTripk(mk',vk' 2)を更新する。ここ
で、mk'とvk' 2はそれぞれ、最近のW個のトリップ時
間Tk,k'の平均値と分散値である。負のフィードバック
処理は、トリップ時間のエイジング(aging)により、
ネットワークの状態をより敏感に検出することが目的で
ある。
【0068】次に、ノードkは、更新したトリップ時間
統計データTripk(mk',vk' 2)のうちの宛先ノー
ドdに対するトリップ時間統計データTripk(md
d 2)と、宛先ノードdへのトリップ時間Tk,dを用い
てそれぞれ次式に基づいて、トリップ時間平均比r”と
トリップ時間統計データの増加分ΔVdを計算する。
【0069】
【数9】r”=Tk,d/(c×md
【0070】
【数10】 ΔVd=√(md 2+vd 2)−√(mbd 2+vbd 2
【0071】ここで、cは数2で用いられたパラメータ
であり、mbdとvbd 2はそれぞれ、後退蟻Bdsが到
着する直前の、最近のW個のトリップ時間Tk,dの平均
値と分散値である。
【0072】負のフィードバック処理は、ルーチング確
率Pk d,fがパラメータαよりも大きく(Pk d,f>α)、
ルーチングが不安定な状態(ΔVd>δ)であり、か
つ、トリップ時間Tk,dが平均値mdのc倍以上(r”≧
1)の場合、次式に基づいてすべての隣接ノードnへの
ルーチング確率Pk d,nを更新することにより、ルーチン
グ確率Pk d,fを減少(ロック解除)させる。なお、パラ
メータαは1に近い所定の定数であり、好ましくは、
0.9≦α<1.0の範囲で設定される。
【0073】
【数11】Pk d,n←Pk d,n−v’×(Pk d,n−1/|N
k|),∀n∈Nk
【0074】ここで、v’は所定の負の強化率を表し、
δは所定の定数であり、|Nk|は、ノードkの隣接ノ
ード集合Nkのノード数を表す。ここで、δは好ましく
は1近傍の値に設定される。数11の計算結果は、数1
の正規化条件を満足している。
【0075】なお、負のフィードバック処理によってル
ーチング確率が更新される場合、アントネットアルゴリ
ズムによるルーチング確率の更新処理は行われない。
【0076】次いで、図11のフローチャートを参照し
て、第2の実施形態である負のフィードバック処理につ
いて説明する。負のフィードバック処理を含むルーチン
グ処理は、第1の実施形態で説明した図1乃至図10の
ルーチング処理のうちの図5の後退蟻ルーチング処理
を、その変形例である図11の負のフィードバック処理
に置きかえ、かつ、図10の減衰法処理を除くことによ
って実行される。従って、図1乃至図9のフローチャー
トの説明は上述しているので省略し、本実施形態である
図11の負のフィードバック処理についてのみ説明す
る。
【0077】図11は、図5のステップS5の後退蟻ル
ーチング処理の変形例である第2の実施形態の負のフィ
ードバック処理を示すフローチャートである。負のフィ
ードバック処理では、ステップS5の後退蟻ルーチング
処理においてステップS12までが実行された後、本処
理のステップS81乃至ステップS86が実行され、次
いで、図5のステップS13又はS14が実行される。
【0078】図11を参照すると、図5の後退蟻ルーチ
ング処理のステップS12が実行された後、ステップS
81において、前進蟻が通過したすべてのノードk’に
対するスタックデータ内のトリップ時間Tk,k'のうち最
近のW個のトリップ時間Tk, k'を用いて、トリップ時間
統計データメモリ15に記憶されたトリップ時間統計デ
ータTripk(mk',vk' 2)を更新する。次いで、ス
テップS82において、更新されたトリップ時間統計デ
ータTripk(mk',vk' 2)のうちの宛先ノードdに
対するトリップ時間統計データTripk(md,vd 2
と、宛先ノードdへのトリップ時間Tk,dに基づいて、
数9及び数10を用いてトリップ時間平均比r”とトリ
ップ時間統計データの増加分ΔVdをそれぞれ計算す
る。次いで、ステップS83において、後退蟻が当該ノ
ードkに到達する前に通過したノードfへのルーチング
確率Pk d,fが、パラメータαより大きいか否かを判断す
る。YESであればステップS84に進み、NOであれ
ば図5のステップS13に進む。ステップS84におい
て、トリップ時間統計データの増加分ΔVdがパラメー
タδより大きいか否かを判断する。YESであればステ
ップS85に進み、NOであれば図5のステップS13
に進む。ステップS85において、トリップ時間平均比
r”が1以上か否かを判断する。YESであればステッ
プS86に進み、NOであれば図5のステップS13に
進む。ステップS86において、数11に従って、ルー
チングテーブルメモリ13aに記憶された第1のルーチ
ングテーブル内における隣接するすべてのノードnへの
ルーチング確率Pk d,nを更新(減少又は増加)させるこ
とによって、ノードfへのルーチング確率Pk d,fを減少
させた後、図5のステップS14に進む。
【0079】
【実施例】本発明者は、本発明に係る第1及び第2の実
施形態である減衰法処理及び負のフィードバック処理を
含むルーチング処理(DCY及びNFB)の動作を検証
するために、シミュレーションを行った。
【0080】図12は、本発明に係る第1及び第2の実
施形態の動作を検証するためのシミュレーションで用い
られる14個のノードから構成されたNSFNET(Na
tional Science Foundation Network)のネットワーク
モデルを示すノード説明図である。本シミュレーション
では、従来技術文献1記載のNSFNETを使う。図1
2において、円はノードを示し、その内部の数字はノー
ドの識別子を表す。ノード間を結ぶ線はノード間のリン
クを示し、ノード間のリンクに付された数字は、当該リ
ンクの伝搬遅延時間(ミリ秒)を表す。ノード間のすべ
てのリンクは双方向全二重であり、すべてのリンクの伝
送速度は同一である。
【0081】ネットワークに対して、入力トラヒック変
動やトポロジ変化等のイベントが起きると、ルーチング
処理が乱れることにより、ネットワークは不安定にな
る。不安定な状態とは、トラヒック負荷の不均衡やルー
プパケットの発生等が原因でネットワーク内のパケット
数Npが増えることにより、パケットがネットワークに
長く滞在する状態である。このようなイベント発生後、
新たな最短経路へのルーチングが収束することにより、
パケット数Npは減少する。一方、収束に失敗すると、
パケット数Npはバッファ容量の限界まで増大する。こ
の場合は、フロー制御や輻輳制御によりトラヒックを制
御することが必要になるが、ここでは、これらの制御は
対象外とする。本実施例では、ネットワークの状態の指
標として、ネットワーク内のパケット数Npを用い、不
安定状態でのネットワーク内のパケット数Npの最大値
pをルーチング方法の適応性の評価尺度とする。パケ
ット数Npの最大値Mpが小さいということは、イベント
発生から新たな最短経路に収束するまでの時間が短いこ
と、つまり、適応性が高いことを意味する。
【0082】図13は、図12のネットワークモデルに
おけるノードの内部構造を示すブロック図である。この
ノードは、第1の実施形態で説明したノードkに備えら
れる図1のルータ装置100と同様の構成を有しかつ同
様の動作を行う。このノードは、ORG,DCY,NF
Bの各ルーチング処理を実行する。以下、DCY及びN
FBと区別するために、アントネットアルゴリズムだけ
で実行されるルーチング処理をORGという。
【0083】次いで、シミュレーションにおける入力ト
ラヒック条件を説明する。各ノードのパケット到着率λ
は、各ノードに到着したパケット数を単位時間で除算し
た値であり、すべてのノードに対するパケット到着率λ
は同一の値である。各パケットは、独立にノードに到着
し、パケットの再送やバッチ到着はない。パケットの生
存時間に制限はない。また、ネットワーク故障に対する
適応性を判断するためのシミュレーション結果を後述す
るが、ここでは、ネットワーク故障は生じないと仮定す
る。
【0084】次表は、シミュレーションによって用いら
れる各パラメータを示す。
【0085】
【表2】
【0086】また、本実施例では、アントネットアルゴ
リズムのルーチング確率の更新式のパラメータ値とし
て、c=2,a=10,a’=9,ε=0.25,h=
0.4,t=0.5を使用し、数8のパラメータとし
て、h=0.4,m=10,P=0.994,v=
0.00015を使用し、数11のパラメータとして、
W=30,α=0.9,δ=1,v’=0.2を使用す
る。なお、本実施例において、ネットワークへの入力ト
ラヒックの強度Iをパケット到着率λで表し、時間の単
位をシミュレーション時間で表現するものとする。
【0087】図14は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として比較例のOR
Gを用いたときに、異なるシミュレーション時間にトラ
ヒック強度Iを変化させたときのルーチングロックの影
響を示すグラフである。ここで、探求確率Peは0.0
02であり、シミュレーション時間Ta=2000のと
きとシミュレーション時間Tb=5000のときとにそ
れぞれ、トラヒック強度Iを0.2から0.5に変化さ
せた。図14を参照すると、入力トラヒック強度Iの変
化時刻によってパケット数Npが大きく異なることがわ
かる。シミュレーション時間Ta=2000のときにト
ラヒック強度Iを変化させたときは、パケット数Np
最大値Mpは約590であり、かつシミュレーション時
間が約7500のときからパケット数Npが減少してい
るのに対して、シミュレーション時間Tb=5000の
ときにトラヒック強度Iを変化させたときは、パケット
数Npの最大値Mpは約1100以上に達しており、さら
にシミュレーション時間が約20000からパケット数
pが減少していることが分かる。
【0088】これらの2つのシミュレーション結果の差
は、図15を参照すると原因が分かる。図15は、図1
2のネットワークモデルにおいて、各ノードのルーチン
グ処理として、比較例のORGと第1の実施形態のDC
Yと第2の実施形態のNFBを用いたときのロック率の
比較を示すグラフである。入力トラヒック強度Iは0.
2である。ここで、ロック率は、ネットワーク全体で
0.99以上のルーチング確率が占める割合として定義
され、具体的には、0.99以上のルーチング確率の数
を、出発ノードと宛先ノードの組合せの個数で除算した
値である。探求確率Peが0.002と小さいときのO
RGを用いた場合、ルーチングロックの影響で、時間が
経過するにつれてロック率が1に漸近する。このため、
シミュレーション時刻によるロック率の差が大きく、シ
ミュレーション時刻Tbのときのロック率は、シミュレ
ーション時刻Taのときのロック率の約2倍である。こ
のロック率の差が、図14のパケット数Npのダイナミ
ックスの相違として現れたのである。ロック率が低いほ
ど、ネットワークの変化に対する適応性があることがわ
かる。図15を参照すると、探求確率Pe=0.3のと
きのORGを用いた場合のロック率は、探求確率Pe=
0.002のときのORGを用いた場合のロック率より
もかなり低いことが分かる。従って、ロック率は探求確
率Peが大きいほど低くなることがわかる。
【0089】図16は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として、比較例のO
RGと第1の実施形態のDCYと第2の実施形態のNF
Bとを用いたときに、トラヒック強度Iを変化させた場
合のそれぞれの平均遅延時間の比較を示すグラフであ
る。ここで、平均遅延時間とは、100000シミュレ
ーション時間の平均値である。図16を参照して探求確
率Pe=0.7のORGと探求確率Pe=0.3のOR
Gとを比較すると、探求確率Peが大きいほど、平均遅
延時間が長くなることがわかる。これは、探求確率Pe
が大きいほど、ネットワーク内のエージェント数が増え
ることによる影響である。
【0090】以上のことから、ORGを用いた場合は探
求確率Peが大きいほど、ロック率は低くなり、逆に、
平均遅延時間は長くなる。これに対して、減衰確率Pe
=0.3の場合のDCYは、減衰確率Pe=0.7の場
合のORGのシミュレーション結果と比較すると、ロッ
ク率及び平均遅延時間ともに小さい。一方、探求確率P
e=0.3の場合のNFBは、ロック率と平均遅延時間
のいずれも、探求確率Pe=0.3のORGのシミュレ
ーション結果と同一である。
【0091】図17は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として比較例のOR
Gを用いたときに、トラヒック強度Iを変化させた場合
のパケット数Npのダイナミックスを示すグラフであ
り、図18は、図12のネットワークモデルにおいて、
各ノードのルーチング処理として第1の実施形態のDC
Yを用いたときに、トラヒック強度Iを変化させた場合
のパケット数Npのダイナミックスを示すグラフであ
り、図19は、図12のネットワークモデルにおいて、
各ノードのルーチング処理として第2の実施形態のNF
Bを用いたときに、トラヒック強度Iを変化させた場合
のパケット数Npのダイナミックスを示すグラフであ
る。ここで、図17乃至図19において、探求確率Pe
=0.3が用いられ、トラヒック強度Iを0.2から
0.5に変化させた場合と、トラヒック強度Iを0.2
から0.75に変化させた場合とのパケット数Npのダ
イナミックスが表される。図17を参照すると、ORG
を用いたときに、トラヒック強度Iが0.2から0.5
に変化した場合はパケット数Npは安定しているが、ト
ラヒック強度Iが0.2から0.7に変化した場合のよ
うにトラヒック強度の変化が大きいときは、パケット数
pは不安定な状態になる。一方、図18及び図19を
参照すると、DCY及びNFBをそれぞれ用いた場合で
は、トラヒック強度Iが0.2から0.75に大きく変
化したときも、ORGを用いたときと比較してパケット
数Npの増大を抑制していることが分かる。
【0092】図20は、図12のネットワークモデルに
おける、パケット数Npの最大値Mpによる比較例のOR
G、第1の実施形態のDCY又は第2の実施形態のNF
Bのネットワークへの適応性の評価を示すグラフであ
る。ここで、探求確率Peは0.3であり、トラヒック
強度差dIは、トラヒック強度が変化するときの変化前
のトラヒック強度と変化後のトラヒック強度との差を表
し、トラヒック強度は、0.2から(0.2+dI)に
変化する。図20を参照すると、DCYとNFBのパケ
ット数Npの最大値Mpはともに、ORGのパケット数N
pの最大値Mpよりも小さいことから、ロックフリーアル
ゴリズムであるDCY及びNFBは、トラヒック強度I
の変化に対してアントネットの適応性を改善することが
わかる。
【0093】次いで、第1及び第2の実施形態である減
衰法処理及び負のルーチング処理を含むDCF及びNF
Bを用いた場合のネットワークの故障に対する適応性を
検証する。従来技術文献11「萩原兼一ほか,“分散ア
ルゴリズム”,情報処理,Vol.31,No.9,1995年」に報
告されるように、ネットワーク故障には様々な種類があ
るが、本実施例のシミュレーションでは、リンクダウン
とノードダウンに対する適応性を評価する。以下に、上
記2つの故障に対するネットワークの各ノードの条件を
示す。
【0094】まず、リンクダウンについて説明する。リ
ンクダウンとは、ノード間のリンクが何らかの理由で故
障(ダウン)していることをいう。また、ダウンリンク
とは、ダウンしているリンクのことをいう。ここで、ノ
ードA及びノードB間のリンクを、リンク{A,B}で
表す。ダウンリンクに接続されるノードは、ダウン直後
に故障の検出が可能であり、ダウン直後にリンクダウン
処理を実行する。
【0095】リンク{s,n}がダウンした場合のノー
ドsのリンクダウン処理を説明する。まず、ダウンリン
ク{s,n}への出力バッファメモリ内のパケットとエ
ージェントを廃棄する。次に、ノードsの隣接ノード集
合Nsからノードnを削除し、ルーチング確率の総和を
次式を用いて1に正規化する。
【0096】
【数12】
【0097】次いで、ノードsは、ダウンリンク{s,
n}を通過する予定の後退蟻をダウン直後から廃棄す
る。なお、ダウンリンク{s,n}に接続されるノード
s又はn以外のノードは、ダウン前後では動作に違いは
ない。
【0098】次に、ノードダウンについて説明する。ノ
ードダウンとは、何らかの理由でノード自身が故障(ダ
ウン)していることをいう。また、ダウンノードとは、
ダウンしているノードのことをいう。
【0099】ダウンノードは、ダウン直後から一切動作
せず、ダウンノードが受信するパケットとエージェント
は全て消滅する。これはノードの停止故障である。ダウ
ンノードの隣接ノードは、ダウン直後に、ダウンノード
との間のリンクの故障を検出することが可能であり、ダ
ウン直後にリンクダウン処理を実行する。また、ダウン
ノードの隣接ノードは、ダウンリンクを通過する予定の
後退蟻をダウン直後から廃棄する。さらに、ダウンノー
ドの隣接ノードは、リンクの故障を検出してから200
単位時間(546ミリ秒)後に、ノードダウンを検出可
能であり、その後、宛先ノードがダウンノードとなった
前進蟻とパケットとを廃棄する。ここで、200単位時
間は、ダウンリンク以外のリンクからダウンノードに対
して行われる折返し試験を想定した時間である。なお、
ダウンノードとその隣接ノード以外のノードは、そのダ
ウン前後で動作に違いはない。
【0100】上述の2つの故障処理は、故障箇所に隣接
するノードのみの処理であり、故障をネットワーク全体
に通知する必要がない。この特徴は、故障情報(又はト
ポロジ情報)の一貫性をネットワーク全体で確保するた
めの従来技術文献12「アール・パールマン(R. Perlm
an),“ルーチング情報の耐障害性散布(Fault-Tolera
nt Broadcast of Routing Information)”,Computer
Networks,Vol.7,pp.395-405,1983年」において報告
されるような複雑なプロトコルを必要としないことを意
味する。
【0101】ここで、上述のリンクダウンによるネット
ワークに対する影響が、第1及び第2の実施形態を含む
DCY及びNFBとORGとによってどのように解消さ
れるかを、シミュレーションによって検証する。
【0102】図21は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として比較例のOR
Gを用いたときに、リンク{2,7}がリンクダウンし
た場合のパケット数Npのダイナミックスを示すグラフ
であり、図22は、図12のネットワークモデルにおい
て、各ノードのルーチング処理として第1の実施形態の
DCYを用いたときに、リンク{2,7}がリンクダウ
ンした場合のパケット数Npのダイナミックスを示すグ
ラフであり、図23は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として第2の実施形
態のNFBを用いたときに、リンク{2,7}がリンク
ダウンした場合のパケット数Npのダイナミックスを示
すグラフである。図21を参照すると、ORGを用いた
場合では、リンクダウンが生じた後はネットワーク内の
パケット数Npの最大値Mpが400以上に増大してお
り、さらに安定状態に戻るまでに、約20秒(約700
0単位時間)のシミュレーション時間を費やしている。
これに対して、図22と図23を参照すると、DCYと
NFBはそれぞれ、リンクダウンによるネットワーク内
のパケット数Npの増大を抑制し、最大値Mpでも200
程度であり、さらにリンクダウンから約5秒(約180
0単位時間)後に安定状態に戻ることが可能であること
が分かる。
【0103】図24は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として、比較例のO
RG、第1の実施形態のDCY又は第2の実施形態のN
FBを用いたときに、リンク{2,7}がリンクダウン
した場合のルーチング確率P10 2,7のダイナミックスを
示すグラフである。ノード10の次のホップ先ノードと
してノード7を選択することは、リンクダウン前では、
最短経路へのルーチングであるが、リンク{2,7}ダ
ウン後は、最もホップ数の多い経路選択となる。このた
め、ルーチング確率P10 2,7はダウン後に素早く0に近
づく方がよい。図24を参照すると、ORGを用いた場
合は、ルーチング確率P10 2,7はダウン後しばらくは1
にロックされている。これに対して、NFBとDCYを
用いた場合は、それらのロック解除メカニズムの働きに
より、ルーチング確率P10 2,7は、ORGと比較してリ
ンクダウン後の減少が早いことが分かる。
【0104】図25は、図12のネットワークモデルに
おいて探求確率Peを変化させた場合のパケット数Np
の最大値Mpによる比較例のORG、第1の実施形態の
DCY及び第2の実施形態のNFBのリンクダウンへの
適応性の評価を示すグラフであり、図26は、図12の
ネットワークモデルにおいてトラヒック強度Iを変化さ
せた場合のパケット数Npの最大値Mpによる比較例のO
RG、第1の実施形態のDCY及び第2の実施形態のN
FBのリンクダウンへの適応性の評価を示すグラフであ
る。図25及び図26を参照すると、DCY及びNFB
を用いた場合のパケット数Npの最大値Mpはともに、探
求確率Peを増加させてもトラヒック強度Iを増大させ
ても、ORGを用いた場合のパケット数Npの最大値Mp
より少ないことが分かる。従って、第1及び第2の実施
形態を含むDCY及びNFBを用いた場合のルータ装置
100は、リンクダウンに対して有効である。
【0105】次いで、上述のノードダウンによるネット
ワークに対する影響が、第1及び第2の実施形態を含む
DCY及びNFBとORGとによってどのように解消さ
れるかを、シミュレーションによって検証する。
【0106】図27は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として比較例のOR
Gを用いた場合に、ノード11がノードダウンしたとき
のパケット数Npのダイナミックスを示すグラフであ
り、図28は、図12のネットワークモデルにおいて、
各ノードのルーチング処理として第1の実施形態のDC
Yを用いた場合に、ノード11がノードダウンしたとき
のパケット数Npのダイナミックスを示すグラフであ
り、図29は、図12のネットワークモデルにおいて、
各ノードのルーチング処理として第2の実施形態のNF
Bを用いた場合に、ノード11がノードダウンしたとき
のパケット数Npのダイナミックスを示すグラフであ
る。図27乃至図29において、探求確率Peは0.3
であり、トラヒック強度Iは0.5である。図27乃至
図29を参照すると、トラヒック強度Iが0.5と大き
いために、ノードダウン検出時間がパケット数Npの最
大値Mpに与える影響が大きいことがわかる。図28と
図29を参照すると、DCYとNFBを用いた場合では
それぞれパケット数Npの最大値Mpは約300と約32
0となり、図27を参照すると、ORGを用いた場合で
はパケット数Npの最大値Mpは約390となり、DCY
又はNFBを用いた場合ではORGを用いた場合と比較
して、ノードダウン後のパケット数Npの増大を抑えて
いることがわかる。しかし、その後のパケット数Np
大きく振動して不安定である。これは、ノードダウンに
よってネットワーク全体の伝送容量が大幅に減少したた
めに、ノード間の競合が激しくなり、ルーチング振動が
生じたからである。
【0107】図30は、図12のネットワークモデルに
おける、探求確率Peを変化させた場合のパケット数N
pの最大値Mpによる比較例のORG、第1の実施形態の
DCY及び第2の実施形態のNFBのノードダウンへの
適応性の評価を示すグラフであり、図31は、図12の
ネットワークモデルにおける、トラヒック強度Iを変化
させた場合のパケット数Npの最大値Mpによる比較例の
ORG、第1の実施形態のDCY及び第2の実施形態の
NFBのノードダウンへの適応性の評価を示すグラフで
ある。図30において、トラヒック強度Iは0.5であ
り、図31において、探求確率Peは0.3である。図
30及び図31を参照すると、NFBを用いた場合の最
大値Mpは、探求確率Peを変化させてもトラヒック強
度Iを変化させても、ORGを用いた場合の最大値Mp
よりも小さい。一方、DCYを用いた場合は、図31を
参照すると、トラヒック強度Iが大きくなると、最大値
pがORGを用いた場合の最大値Mpよりも大きくな
る。このことは、待ちパケット数の増加による後退蟻の
到着率の減少とルーチング確率の減衰の二重の効果によ
り、ルーチングが最短経路に収束する速度が遅くなるた
めである。
【0108】また、図30を参照すると、ORG又はN
FBを用いた場合は、DCYを用いた場合と比較して、
探求確率Peが0.1と小さいときは、最大値Mpが非
常に大きくなり、ネットワークが不安定になっている。
この理由を、図32を参照して説明する。
【0109】図32は、図12のネットワークモデルに
おいてシミュレーションを行っている場合のリンクダウ
ンによるスタブの発生を示すノード説明図である。円は
ノードを表し、ノード間を結ぶ実線はリンクを表す。ル
ーチング確率Ps d,n≒1のとき、ノードd及びノードn
間のリンク{d,n}がリンクダウンしたと仮定する。
ノードnでは、リンクダウンによって接続されるリンク
が一本に減少する。このようなノードをスタブという。
例えば、図12のノード11がノードダウンしたときの
ノード12はスタブである。ノードsはノードd宛のパ
ケットをノードnに送信する。ノードnはリンクダウン
を検出し、ノードd宛のパケットをノードsに送り返
す。スタブが生成されると、このようにしてループパケ
ットが発生する。ループパケットは、ルーチング確率P
s d,nが小さくなるまでループを繰り返す。探求確率Pe
が小さいと、図32において点線で示される代替ルート
(Alternative Route)を発見するまでに時間がかかる
ため、ルーチング確率Ps d,nの減少は遅い。NFBを用
いた場合では、ノードsがノードnから長いトリップ時
間の後退蟻を受信することによってルーチング確率Ps
d,nを減少させるが、ノードnがスタブであれば、ノー
ドsがノードnからの後退蟻を受信しないので、NFB
のロック解除メカニズムは機能しない。従って、図30
の探求確率Pe=0.1のときのように、ORG及びN
FBを用いた場合では、パケット数Npの最大値Mpが非
常に大きくなってしまう。
【0110】次に、故障したノードを予備のノードに物
理的に切り換える(アップする)ときに、瞬間的にノー
ドダウンが生じる場合を想定する。このような瞬間的に
ノードダウンが生じた状態を瞬間ノードダウンという。
ここでは、瞬間ノードダウンが生じたときのNFBとD
CYとを用いた場合のルータ装置100の振舞いを比較
する。ここで、切り換えられたノードをアップノードと
いう。アップノードは、切り換えられた直後からパケッ
ト及び前進蟻の送信を開始する。また、アップノードの
ルーチング確率の初期値はダウン直前の値を使う。アッ
プノードの隣接ノードは、切り換えられた直後に、アッ
プノードとの間のリンクの回復を検出することが可能で
あり、アップ直後にリンクアップ処理を実行する。アッ
プノードnとその隣接ノードs間のリンク{n,s}が
回復した場合のノードsのリンクアップ処理は、ノード
sの隣接ノード集合Nsにアップノードnを追加し、次
式を用いてルーチング確率Ps d,nを更新することであ
る。
【0111】
【数13】Ps d,n←0,∀d∈N−{s}
【0112】また、アップノードの隣接ノードは、リン
ク回復を検出した直後から、アップノードを通過する予
定の後退蟻と、宛先がアップノードである前進蟻及びパ
ケットとをルーチングする。なお、アップノードとその
隣接ノード以外のノードは、ノードアップ前後で動作に
違いはない。
【0113】図33は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として第1の実施形
態のDCYを用いた場合に、ノード11がノードダウン
した場合と瞬間ノードダウンした場合とのネットワーク
への影響を示すグラフであり、図34は、図12のネッ
トワークモデルにおいて、各ノードのルーチング処理と
して第2の実施形態のNFBを用いた場合に、ノード1
1がノードダウンした場合と瞬間ノードダウンした場合
とのネットワークへの影響を示すグラフである。図33
及び図34において、探求確率Peは0.3であり、ト
ラヒック強度Iは0.5である。瞬間ノードダウンは、
ノードダウン後、400単位時間(1.092秒)経過
した後、アップすることによって生じる。図33及び図
34を参照すると、DCY又はNFBを用いたときの瞬
間ノードダウン後のシミュレーション結果は、ノードダ
ウンのみのシミュレーション結果と比較するとより不安
定になるが、DCYを用いたときはNFBを用いたとき
と比較してパケット数Npの増加が少ない。この理由
は、DCYを用いたときのルーチング確率の変化が、N
FBを用いたときのルーチング確率の変化に比べて緩慢
なためである。
【0114】図35は、図12のネットワークモデルに
おいて、各ノードのルーチング処理として、第1の実施
形態のDCY及び第2の実施形態のNFBを用いたとき
の、通常のノードダウン時と瞬間ノードダウン時のそれ
ぞれのロック率の比較を示すグラフである。図35を参
照すると、NFBを用いた場合は瞬間ノードダウンの前
後でロック率の変化が大きいのに対して、DCYを用い
た場合のロック率の変化は小さいことが分かる。
【0115】以上のシミュレーション結果から、本発明
に係る第1及び第2の実施形態である減衰法処理及び負
のフィードバック処理を含むルーチング処理はそれぞ
れ、通常のアントネットアルゴリズムだけを用いたルー
チング処理と比較して、入力トラヒック強度の大きな変
化やネットワーク故障により対応できることが分かっ
た。
【0116】また、DCY及びNFBを用いた場合に、
イベント発生後のネットワーク内パケット数Npのダイ
ナミックスを計算することにより、次のことがわかっ
た。 (1)NFBは、全ての場合において、ORGの適応性
を改善する。しかし、探求確率Peが低く、かつスタブ
が発生するとORGと同様にネットワーク内のパケット
数Npが大きく増大する。 (2)DCYは、ロック率が小さいために、ORG及び
NFBよりもルーチングロックの影響が小さい。しか
し、ルーチング確率の減衰は、最短経路への収束速度も
減少させるため、入力トラヒック強度Iが大きくなると
DCYは不安定になる。また、NFBと比較するとルー
チング確率の変化が緩やかなため、瞬間ノードダウンに
対する適応性を有する。
【0117】以上説明したように、本発明に係る第1の
実施形態によれば、減衰法処理を用いてルーチング確率
を時間とともに揮発させることにより、ルーチングロッ
クを回避してネットワーク上の故障や誤りに対する頑強
性を有することができる。
【0118】以上説明したように、本発明に係る第2の
実施形態によれば、ルーチングロックされた経路を通過
したエージェントが大きなトリップ時間を経験したと
き、その経路に関連するルーチング確率を、負のフィー
ドバック処理によって減少させることにより、ルーチン
グロックを回避してネットワーク上の故障や誤りに対す
る頑強性を有することができる。
【0119】それ故、パケットロスを改善することがで
きるとともに、伝送遅延を改善することができ、当該パ
ケット伝送ネットワーク全体の品質を改善することがで
きる。
【0120】なお、第1の実施形態で用いられる減衰法
処理と、第2の実施形態で用いられる負のフィードバッ
ク処理とを共に、アントネットアルゴリズムに組み合わ
せたルーチング処理を実行してもよい。
【0121】
【発明の効果】以上詳述したように本発明に係るルータ
装置の制御方法によれば、複数のノードから構成される
パケット伝送ネットワークを介して出発ノードから宛先
ノードに向けてパケットを送信する場合に、パケットを
自局ノードから隣接ノードに、各隣接ノードに対するル
ーチング確率を含むルーチングテーブルを用いてルーチ
ングし、かつ蟻エージェントを用いてアントネットアル
ゴリズムに基づいて上記ルーチングテーブルを学習によ
り構築するルータ装置の制御方法において、上記ルーチ
ングテーブルのすべてのルーチング確率を、隣接ノード
の数の逆数である均一ランダム確率に近付けるように、
周期的に減少させることによって、上記ルーチングテー
ブルを更新する減衰法処理と、自局ノードから宛先ノー
ドへのトリップ時間が所定のしきい値よりも長いとき
に、上記ルーチングテーブルのすべてのルーチング確率
を、上記均一ランダム確率に近付けるように減少させる
ことによって、上記ルーチングテーブルを更新する負の
フィードバック処理との少なくとも一方を実行する。従
って、減衰法処理を用いてルーチング確率を時間ととも
に揮発させることにより、ルーチングロックを回避して
ネットワーク上の故障や誤りに対する頑強性を有するこ
とができる。また、ルーチングロックされた経路を通過
したエージェントが大きなトリップ時間を経験したと
き、その経路に関連するルーチング確率を、負のフィー
ドバック処理によって減少させることにより、ルーチン
グロックを回避してネットワーク上の故障や誤りに対す
る頑強性を有することができる。それ故、パケットロス
を改善することができるとともに、伝送遅延を改善する
ことができ、当該パケット伝送ネットワーク全体の品質
を改善することができる。
【0122】また、本発明に係るルータ装置の制御装置
によれば、複数のノードから構成されるパケット伝送ネ
ットワークを介して出発ノードから宛先ノードに向けて
パケットを送信する場合に、パケットを自局ノードから
隣接ノードに、各隣接ノードに対するルーチング確率を
含むルーチングテーブルを用いてルーチングし、かつ蟻
エージェントを用いてアントネットアルゴリズムに基づ
いて上記ルーチングテーブルを学習により構築する制御
手段を備えたルータ装置の制御装置において、上記制御
手段は、上記ルーチングテーブルのすべてのルーチング
確率を、隣接ノードの数の逆数である均一ランダム確率
に近付けるように、周期的に減少させることによって、
上記ルーチングテーブルを更新する減衰法処理と、自局
ノードから宛先ノードへのトリップ時間が所定のしきい
値よりも長いときに、上記ルーチングテーブルのすべて
のルーチング確率を、上記均一ランダム確率に近付ける
ように減少させることによって、上記ルーチングテーブ
ルを更新する負のフィードバック処理との少なくとも一
方を実行する。従って、減衰法処理を用いてルーチング
確率を時間とともに揮発させることにより、ルーチング
ロックを回避してネットワーク上の故障や誤りに対する
頑強性を有することができる。また、ルーチングロック
された経路を通過したエージェントが大きなトリップ時
間を経験したとき、その経路に関連するルーチング確率
を、負のフィードバック処理によって減少させることに
より、ルーチングロックを回避してネットワーク上の故
障や誤りに対する頑強性を有することができる。それ
故、パケットロスを改善することができるとともに、伝
送遅延を改善することができ、当該パケット伝送ネット
ワーク全体の品質を改善することができる。
【図面の簡単な説明】
【図1】 本発明に係る第1の実施形態である減衰法処
理を含むルーチング処理を実行するルータ装置100の
全体構成を示すブロック図である。
【図2】 本発明に係る第1の実施形態で用いられるア
ントネットを用いたルーチング処理に基づいて、ノード
sから宛先ノードdにパケットを送信するときの前進蟻
及び後退蟻の動きを示す図である。
【図3】 本発明に係る第1の実施形態で用いられるア
ントネットアルゴリズムの前進蟻及び後退蟻のパケット
フォーマットを示す図である。
【図4】 図1のルータ装置100を備えたノードkに
よって実行されるルーチング処理を示すフローチャート
である。
【図5】 図4のサブルーチンであるステップS5の後
退蟻ルーチング処理を示すフローチャートである。
【図6】 図4のサブルーチンであるステップS6の前
進蟻ルーチング処理を示すフローチャートである。
【図7】 図6のサブルーチンであるステップS23の
後退蟻送信処理を示すフローチャートである。
【図8】 図4のサブルーチンであるステップS8のパ
ケットルーチング処理を示すフローチャートである。
【図9】 図4のルーチング処理に対する割込処理であ
る前進蟻送信処理を示すフローチャートである。
【図10】 第1の実施形態の割込処理である減衰法処
理を示すフローチャートである。
【図11】 図5のステップS5の後退蟻ルーチング処
理の変形例である第2の実施形態の負のフィードバック
処理を示すフローチャートである。
【図12】 本発明に係る第1及び第2の実施形態の動
作を検証するためのシミュレーションで用いられる14
個のノードから構成されたNSFNETのネットワーク
モデルを示すノード説明図である。
【図13】 図12のネットワークモデルにおけるノー
ドの内部構造を示すブロック図である。
【図14】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として比較例のORGを用いた
ときに、異なるシミュレーション時間にトラヒック強度
Iを変化させたときのルーチングロックの影響を示すグ
ラフである。
【図15】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として、比較例のORGと第1
の実施形態のDCYと第2の実施形態のNFBを用いた
ときのロック率の比較を示すグラフである。
【図16】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として、比較例のORGと第1
の実施形態のDCYと第2の実施形態のNFBとを用い
たときに、トラヒック強度Iを変化させた場合のそれぞ
れの平均遅延時間の比較を示すグラフである。
【図17】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として比較例のORGを用いた
ときに、トラヒック強度Iを変化させた場合のパケット
数Npのダイナミックスを示すグラフである。
【図18】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第1の実施形態のDCY
を用いたときに、トラヒック強度Iを変化させた場合の
パケット数Npのダイナミックスを示すグラフである。
【図19】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第2の実施形態のNFB
を用いたときに、トラヒック強度Iを変化させた場合の
パケット数Npのダイナミックスを示すグラフである。
【図20】 図12のネットワークモデルにおける、パ
ケット数Npの最大値Mpによる比較例のORG、第1の
実施形態のDCY又は第2の実施形態のNFBのネット
ワークへの適応性の評価を示すグラフである。
【図21】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として比較例のORGを用いた
ときに、リンク{2,7}がリンクダウンした場合のパ
ケット数Npのダイナミックスを示すグラフである。
【図22】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第1の実施形態のDCY
を用いたときに、リンク{2,7}がリンクダウンした
場合のパケット数Npのダイナミックスを示すグラフで
ある。
【図23】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第2の実施形態のNFB
を用いたときに、リンク{2,7}がリンクダウンした
場合のパケット数Npのダイナミックスを示すグラフで
ある。
【図24】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として、比較例のORG、第1
の実施形態のDCY又は第2の実施形態のNFBを用い
たときに、リンク{2,7}がリンクダウンした場合の
ルーチング確率P10 2,7のダイナミックスを示すグラフ
である。
【図25】 図12のネットワークモデルにおいて探求
確率Peを変化させた場合のパケット数Npの最大値Mp
による比較例のORG、第1の実施形態のDCY及び第
2の実施形態のNFBのリンクダウンへの適応性の評価
を示すグラフである。
【図26】 図12のネットワークモデルにおいてトラ
ヒック強度Iを変化させた場合のパケット数Npの最大
値Mpによる比較例のORG、第1の実施形態のDCY
及び第2の実施形態のNFBのリンクダウンへの適応性
の評価を示すグラフである。
【図27】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として比較例のORGを用いた
場合に、ノード11がノードダウンしたときのパケット
数Npのダイナミックスを示すグラフである。
【図28】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第1の実施形態のDCY
を用いた場合に、ノード11がノードダウンしたときの
パケット数Npのダイナミックスを示すグラフである。
【図29】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第2の実施形態のNFB
を用いた場合に、ノード11がノードダウンしたときの
パケット数Npのダイナミックスを示すグラフである。
【図30】 図12のネットワークモデルにおける、探
求確率Peを変化させた場合のパケット数Npの最大値
pによる比較例のORG、第1の実施形態のDCY及
び第2の実施形態のNFBのノードダウンへの適応性の
評価を示すグラフである。
【図31】 図12のネットワークモデルにおける、ト
ラヒック強度Iを変化させた場合のパケット数Npの最
大値Mpによる比較例のORG、第1の実施形態のDC
Y及び第2の実施形態のNFBのノードダウンへの適応
性の評価を示すグラフである。
【図32】 図12のネットワークモデルにおいてシミ
ュレーションを行っている場合のリンクダウンによるス
タブの発生を示すノード説明図である。
【図33】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第1の実施形態のDCY
を用いた場合に、ノード11がノードダウンした場合と
瞬間ノードダウンした場合とのネットワークへの影響を
示すグラフである。
【図34】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として第2の実施形態のNFB
を用いた場合に、ノード11がノードダウンした場合と
瞬間ノードダウンした場合とのネットワークへの影響を
示すグラフである。
【図35】 図12のネットワークモデルにおいて、各
ノードのルーチング処理として、第1の実施形態のDC
Y及び第2の実施形態のNFBを用いたときの、通常の
ノードダウン時と瞬間ノードダウン時のそれぞれのロッ
ク率の比較を示すグラフである。
【符号の説明】
10…コントローラ、 11…プログラムROM、 12…ワーキングRAM、 13a,13b…ルーチングテーブルメモリ、 14…ネットワークノードメモリ、 15…トリップ時間統計データメモリ、 20−0乃至20−M…入力インターフェース、 21…キューメモリ、 22…データスイッチ、 23−0乃至23−M…出力バッファメモリ、 24−0乃至24−M…出力インターフェース、 100…ルータ装置、 A1乃至AM…ノード、 CT1…ローカル通信端末。
───────────────────────────────────────────────────── フロントページの続き 特許法第30条第1項適用申請有り 平成10年6月4日大 阪大学基礎工学部において開催された社団法人電子情報 通信学会情報ネットワーク研究会において発表 (56)参考文献 特開 平5−14396(JP,A) 特開 平2−290352(JP,A) 特開 平6−30113(JP,A) Di Caro G,Dorigo M”Ant Colonies for Adaptive Rcuting in Packet−Switched Communications Ne tworks”Proceedings of PPSN V Amsterd am,Holland,Sep.1998 Di Caro G,Dorigo M”Mobile Agents fo r Adaptive Routin g”Proceedings of H ICSS31 Hawaii,Jan. 1998 http://iridia.ul b.ac.be/ ̄gdicaro/m y_publications.htm l_ http://iridia.ul b.ac.be/ ̄mdorigo/A CO/ACO.html (58)調査した分野(Int.Cl.6,DB名) H04L 12/56 H04L 12/28 H04L 12/46

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のノードから構成されるパケット伝
    送ネットワークを介して出発ノードから宛先ノードに向
    けてパケットを送信する場合に、パケットを自局ノード
    から隣接ノードに、各隣接ノードに対するルーチング確
    率を含むルーチングテーブルを用いてルーチングし、か
    つ蟻エージェントを用いてアントネットアルゴリズムに
    基づいて上記ルーチングテーブルを学習により構築する
    ルータ装置の制御方法において、 上記ルーチングテーブルのすべてのルーチング確率を、
    隣接ノードの数の逆数である均一ランダム確率に近付け
    るように、周期的に減少させることによって、上記ルー
    チングテーブルを更新する減衰法処理と、 自局ノードから宛先ノードへのトリップ時間が所定のし
    きい値よりも長いときに、上記ルーチングテーブルのす
    べてのルーチング確率を、上記均一ランダム確率に近付
    けるように減少させることによって、上記ルーチングテ
    ーブルを更新する負のフィードバック処理との少なくと
    も一方を実行することを特徴とするルータ装置の制御方
    法。
  2. 【請求項2】 上記減衰法処理は、上記蟻エージェント
    のうちの後退蟻が所定の前進蟻の送信間隔で戻ってくる
    としたときに、後退蟻が自局ノードに到着することによ
    るルーチング確率の増加と、上記減衰法処理によるルー
    チング確率の減少とが釣り合う確率P0に基づいて計算
    された減衰率を用いて、上記ルーチングテーブルのすべ
    てのルーチング確率を減衰させることを特徴とする請求
    項1記載のルータ装置の制御方法。
  3. 【請求項3】 上記負のフィードバック処理は、上記ル
    ーチング確率が1に近い所定の値よりも大きく、ルータ
    装置のルーチングが不安定な状態にあり、かつ、自局ノ
    ードから宛先ノードへのトリップ時間が所定のしきい値
    よりも長いときに、所定の負の強化率を用いて、上記ル
    ーチングテーブルのすべてのルーチング確率を、上記均
    一ランダム確率に近付けるように減少させることを特徴
    とする請求項1記載のルータ装置の制御方法。
  4. 【請求項4】 複数のノードから構成されるパケット伝
    送ネットワークを介して出発ノードから宛先ノードに向
    けてパケットを送信する場合に、パケットを自局ノード
    から隣接ノードに、各隣接ノードに対するルーチング確
    率を含むルーチングテーブルを用いてルーチングし、か
    つ蟻エージェントを用いてアントネットアルゴリズムに
    基づいて上記ルーチングテーブルを学習により構築する
    制御手段を備えたルータ装置の制御装置において、 上記制御手段は、 上記ルーチングテーブルのすべてのルーチング確率を、
    隣接ノードの数の逆数である均一ランダム確率に近付け
    るように、周期的に減少させることによって、上記ルー
    チングテーブルを更新する減衰法処理と、 自局ノードから宛先ノードへのトリップ時間が所定のし
    きい値よりも長いときに、上記ルーチングテーブルのす
    べてのルーチング確率を、上記均一ランダム確率に近付
    けるように減少させることによって、上記ルーチングテ
    ーブルを更新する負のフィードバック処理との少なくと
    も一方を実行することを特徴とするルータ装置の制御装
    置。
  5. 【請求項5】 上記制御手段は、上記減衰法処理におい
    て、上記蟻エージェントのうちの後退蟻が所定の前進蟻
    の送信間隔で戻ってくるとしたときに、後退蟻が自局ノ
    ードに到着することによるルーチング確率の増加と、上
    記減衰法処理によるルーチング確率の減少とが釣り合う
    確率P0に基づいて計算された減衰率を用いて、上記ル
    ーチングテーブルのすべてのルーチング確率を減衰させ
    ることを特徴とする請求項4記載のルータ装置の制御装
    置。
  6. 【請求項6】 上記制御手段は、上記負のフィードバッ
    ク処理において、上記ルーチング確率が1に近い所定の
    値よりも大きく、ルータ装置のルーチングが不安定な状
    態にあり、かつ、自局ノードから宛先ノードへのトリッ
    プ時間が所定のしきい値よりも長いときに、所定の負の
    強化率を用いて、上記ルーチングテーブルのすべてのル
    ーチング確率を、上記均一ランダム確率に近付けるよう
    に減少させることを特徴とする請求項4記載のルータ装
    置の制御装置。
JP10285458A 1998-10-07 1998-10-07 ルータ装置の制御方法及び制御装置 Expired - Lifetime JP2986784B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10285458A JP2986784B1 (ja) 1998-10-07 1998-10-07 ルータ装置の制御方法及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10285458A JP2986784B1 (ja) 1998-10-07 1998-10-07 ルータ装置の制御方法及び制御装置

Publications (2)

Publication Number Publication Date
JP2986784B1 true JP2986784B1 (ja) 1999-12-06
JP2000115255A JP2000115255A (ja) 2000-04-21

Family

ID=17691792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10285458A Expired - Lifetime JP2986784B1 (ja) 1998-10-07 1998-10-07 ルータ装置の制御方法及び制御装置

Country Status (1)

Country Link
JP (1) JP2986784B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007227997A (ja) * 2006-02-21 2007-09-06 Nippon Telegr & Teleph Corp <Ntt> オーバーレイネットワークにおける通信経路決定方法および通信経路決定システム
WO2010110234A1 (ja) * 2009-03-23 2010-09-30 日本電気株式会社 経路設定サーバ、経路設定方法、及び経路設定プログラム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5201731B2 (ja) * 2009-01-29 2013-06-05 日本電信電話株式会社 パケット経路制御装置、パケット経路制御方法、パケット経路制御プログラムおよびそのプログラムを記録した記録媒体
KR101441270B1 (ko) * 2009-12-18 2014-09-17 인텔 코오퍼레이션 무리 지능을 사용하는 대규모 분산 시스템에서 정보 라우팅을 위해 프레임워크를 이용하는 시스템 및 방법
JP5682620B2 (ja) 2010-03-17 2015-03-11 日本電気株式会社 経路選択方法、情報処理装置、ネットワークシステムおよび経路選択プログラム
KR101282611B1 (ko) 2011-03-09 2013-07-12 한국과학기술원 라우팅 장치 및 이를 이용한 전송 경로 설정 방법과 라우팅 장치의 테이블 관리 방법
CN109255462B (zh) * 2017-07-14 2020-09-08 中移(杭州)信息技术有限公司 一种货物配送方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Di Caro G,Dorigo M"Ant Colonies for Adaptive Rcuting in Packet−Switched Communications Networks"Proceedings of PPSN V Amsterdam,Holland,Sep.1998
Di Caro G,Dorigo M"Mobile Agents for Adaptive Routing"Proceedings of HICSS31 Hawaii,Jan.1998
http://iridia.ulb.ac.be/ ̄gdicaro/my_publications.html_
http://iridia.ulb.ac.be/ ̄mdorigo/ACO/ACO.html

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007227997A (ja) * 2006-02-21 2007-09-06 Nippon Telegr & Teleph Corp <Ntt> オーバーレイネットワークにおける通信経路決定方法および通信経路決定システム
JP4553314B2 (ja) * 2006-02-21 2010-09-29 日本電信電話株式会社 オーバーレイネットワークにおける通信経路決定方法および通信経路決定システム
WO2010110234A1 (ja) * 2009-03-23 2010-09-30 日本電気株式会社 経路設定サーバ、経路設定方法、及び経路設定プログラム
CN102362470A (zh) * 2009-03-23 2012-02-22 日本电气株式会社 路径设置服务器、路径设置方法和路径设置程序
US8467400B2 (en) 2009-03-23 2013-06-18 Nec Corporation Route setup server, route setup method and route setup program
JP5532347B2 (ja) * 2009-03-23 2014-06-25 日本電気株式会社 経路設定サーバ、経路設定方法、及び経路設定プログラム
CN102362470B (zh) * 2009-03-23 2015-01-28 日本电气株式会社 路径设置服务器和路径设置方法

Also Published As

Publication number Publication date
JP2000115255A (ja) 2000-04-21

Similar Documents

Publication Publication Date Title
US7760718B2 (en) Taxonomy based multiple ant colony optimization approach for routing in mobile ad hoc networks
JP2679895B2 (ja) 情報伝送方法及び装置
US7382731B1 (en) Method and apparatus for updating probabilistic network routing information
Gelenbe Steps toward self-aware networks
US7643427B2 (en) Multipath routing architecture for large data transfers
Di Caro et al. Ant colonies for adaptive routing in packet-switched communications networks
US20150200850A1 (en) Communication system, control device, communication method, and program
Hong et al. Design of adaptive PI rate controller for best-effort traffic in the Internet based on phase margin
EP1561311B1 (en) Dynamic load distribution using local state information
US20130250797A1 (en) Communication control system, control device, communication control method, and communication control program
US7974188B2 (en) Repeater and communication method
JP2986784B1 (ja) ルータ装置の制御方法及び制御装置
US20120155268A1 (en) Packet relay device
CN114567915A (zh) 基于改进等价多路由的最佳路径规划方法及系统
Sensarma et al. Iwdra: An intelligent water drop based qos-aware routing algorithm for manets
Xu et al. Novel TCP congestion control scheme and its performance evaluation
KR101733894B1 (ko) 대규모 재배 관리 센서 네트워크에서 영상 데이터를 전송하는 프로토콜 설정 방법 및 시스템
Farahmand et al. A closed-loop rate-based contention control for optical burst switched networks
Komatireddy et al. Source-ordering for improved TCP performance over load-balanced optical burst-switched (OBS) networks
Pedro et al. Distributed routing path optimization for OBS networks based on ant colony optimization
Lv et al. Routing algorithm based on swarm intelligence
Cao et al. Switching congestion control for satellite TCP/AQM networks
Une et al. Network load balancing algorithm using ants computing
Kadhum et al. Congestion control and traffic management in wireless sensor networks
Tayeen et al. Analysis of Independent Learning in Network Agents: A Packet Forwarding Use Case