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

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

Info

Publication number
JP2001111609A
JP2001111609A JP29094099A JP29094099A JP2001111609A JP 2001111609 A JP2001111609 A JP 2001111609A JP 29094099 A JP29094099 A JP 29094099A JP 29094099 A JP29094099 A JP 29094099A JP 2001111609 A JP2001111609 A JP 2001111609A
Authority
JP
Japan
Prior art keywords
node
agent
ant
path
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP29094099A
Other languages
English (en)
Inventor
Kazumasa Taneda
和正 種田
Riminoru Sekido
理稔 関戸
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.)
ATR Adaptive Communications Research Laboratories
Original Assignee
ATR Adaptive Communications Research Laboratories
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 ATR Adaptive Communications Research Laboratories filed Critical ATR Adaptive Communications Research Laboratories
Priority to JP29094099A priority Critical patent/JP2001111609A/ja
Publication of JP2001111609A publication Critical patent/JP2001111609A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 一定のQoSを保証することができるルータ
装置の制御方法及び制御装置を提供する。 【解決手段】 パケットを自局ノードから隣接ノード
に、各隣接ノードに対するルーチング確率を含むルーチ
ングテーブルを用いてルーチングするルータ装置が提供
される。ルータ装置のコントローラ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】
【発明が解決しようとする課題】以上のように構成され
た従来例のアントネットにおいては、サービス品質(以
下、QoSという。)の制約条件に基づいたルーチング
をしていないために、当該ネットワークにおいて一定の
QoSを保証することができない。また、各ノードにお
いてリソースの管理をしていないために、リソース利用
率を高めることができない。さらには、発信ノード側で
パケット発生率の制御をしていないために、当該ネット
ワーク全体におけるスループットを高めることができな
いという問題点があった。
【0008】本発明の第1の目的は上述の問題点を解決
し、一定のQoSを保証することができるルータ装置の
制御方法及び制御装置を提供することにある。
【0009】また、本発明の第2の目的は上述の問題点
を解決し、従来例に比較してリソース利用率を高めるこ
とができるルータ装置の制御方法及び制御装置を提供す
ることにある。
【0010】さらに、本発明の第3の目的は上述の問題
点を解決し、発信ノード側でパケット発信を制御してネ
ットワークにおけるスループットを高めることができる
ルータ装置の制御方法及び制御装置を提供することにあ
る。
【0011】
【課題を解決するための手段】本発明に係る請求項1記
載のルータ装置の制御方法は、複数のノードから構成さ
れるパケット伝送ネットワークを介して発信ノードから
宛先ノードに向けてパケットを送信する場合に、パケッ
トを自局ノードから隣接ノードに、各隣接ノードに対す
るルーチング確率を含むルーチングテーブルを用いてル
ーチングし、かつ蟻エージェントを用いてアントネット
アルゴリズムに基づいて上記ルーチングテーブルを学習
により構築するルータ装置の制御方法において、各ノー
ドにおいて、宛先ノードとサービス品質との組み合わせ
に対して、実行可能なパスのノードのシーケンスである
ルート情報である実行可能パス情報と、それが現在有効
であるか否かを示す有効フラグとを格納するパスキャッ
シュテーブルメモリを備え、発信ノードに接続された通
信端末からの発信要求時とは独立にかつ定期的に、ラン
ダムに決定されたサービス品質を保持する前進蟻エージ
ェントを発信ノードから宛先ノードに向けて送信した
後、宛先ノードで前進蟻エージェントを受信したとき後
退蟻エージェントを発信ノードに返信し、各ノードにお
いて前進蟻エージェントを受信したときに当該前進蟻エ
ージェントにより形成されたパスが当該前進蟻エージェ
ントが保持するサービス品質を満たさないと判断したと
きに当該前進蟻エージェントを廃棄して後退蟻エージェ
ントを返信することを中止し、各ノードから後退蟻エー
ジェントを送信するときに当該ノードの出リンクにおけ
るサービス品質の情報を保持して送信し、発信ノードを
含む各ノードで後退蟻エージェントを受信するときに当
該後退蟻エージェントが保持する隣接するノードの出リ
ンクにおけるサービス品質の情報に基づいて上記パスキ
ャッシュテーブルメモリにおける実行可能パス情報を更
新することを特徴とする。
【0012】また、請求項2記載のルータ装置の制御方
法は、請求項1記載のルータ装置の制御方法において、
上記サービス品質は、少なくともリソース数を含み、各
ノードにおいて前進蟻エージェントを受信したときに、
出リンクにおける未使用リソース数が必要なリソース数
を下回らないリンクだけを使用し、各ノードにおいてす
べての出リンクがリソースの必要条件を満たさないため
に、前進蟻エージェントが次のホップのノードを選択で
きないとき、もしくは、前進蟻エージェントが少なくと
も同一のノードを2回通過したとき、当該前進蟻エージ
ェントにより形成されたパスが当該前進蟻エージェント
が保持するサービス品質を満たさないと判断して当該前
進蟻エージェントを廃棄して後退蟻エージェントを返信
することを中止することを特徴とする。
【0013】さらに、請求項3記載のルータ装置の制御
方法は、請求項1記載のルータ装置の制御方法におい
て、上記サービス品質は、少なくとも最大ホップ数を含
み、各ノードにおいて前進蟻エージェントを受信したと
きに、当該前進蟻エージェントが伝送することにより計
数したホップ数が上記最大ホップ数を越えるときに、当
該前進蟻エージェントにより形成されたパスが当該前進
蟻エージェントが保持するサービス品質を満たさないと
判断して当該前進蟻エージェントを廃棄して後退蟻エー
ジェントを返信することを中止することを特徴とする。
【0014】またさらに、請求項4記載のルータ装置の
制御方法は、請求項1記載のルータ装置の制御方法にお
いて、上記サービス品質は、少なくともリソース数及び
最大ホップ数を含み、各ノードにおいて前進蟻エージェ
ントを受信したときに、出リンクにおける未使用リソー
ス数が、必要なリソース数を下回らないリンクだけを使
用し、各ノードにおいてすべての出リンクがリソースの
必要条件を満たさないために、前進蟻エージェントが次
のホップのノードを選択できないとき、前進蟻エージェ
ントが少なくとも同一のノードを2回通過したとき、も
しくは、各ノードにおいて前進蟻エージェントを受信し
たときに、当該前進蟻エージェントが伝送することによ
り計数したホップ数が上記最大ホップ数を越えるとき
に、当該前進蟻エージェントにより形成されたパスが当
該前進蟻エージェントが保持するサービス品質を満たさ
ないと判断して当該前進蟻エージェントを廃棄して後退
蟻エージェントを返信することを中止することを特徴と
する。
【0015】また、請求項5記載のルータ装置の制御方
法は、請求項1乃至4のうちの1つに記載のルータ装置
の制御方法において、各ノードにおいて出リンクの各リ
ソース毎にリソース予約されているか否かを含むリソー
ス管理テーブルを格納するリソース管理テーブルメモリ
を備え、発信ノードに接続された通信端末からの発信要
求時に、上記発信通信端末からパケットを送信するとき
に必要なサービス品質を受信し、受信されたサービス品
質を保持するリソース予約用前進エージェントを発信ノ
ードから宛先ノードに向けて送信し、当該リソース予約
用前進エージェントは上記実行可能パス情報に沿って各
ノードを通過するときに上記リソース管理テーブルにお
いてリソースを予約するように更新し、宛先ノードで当
該リソース予約用前進エージェントを受信したときリソ
ース予約用後退エージェントを発信ノードに返信し、上
記リソース予約用前進エージェントによりリソースが予
約されたパスを介して上記実行可能パス情報を用いて発
信ノードから宛先ノードに向けてパケットを伝送し、当
該パケットの伝送が完了したとき、宛先ノードは発信ノ
ードに向けて、リソース開放用後退エージェントを送信
することにより、当該リソース開放用後退エージェント
により上記リソース管理テーブルにおけるリソースの予
約を開放することを特徴とする。
【0016】さらに、請求項6記載のルータ装置の制御
方法は、請求項5記載のルータ装置の制御方法におい
て、発信ノードに接続された通信端末からの発信要求時
において上記リソース予約用前進エージェントを送信す
る前に、上記パスキャッシュメモリに格納された実行可
能パス情報を参照して、宛先ノードへのパスが上記有効
フラグにより現在有効であって実行可能であるときのみ
上記リソース予約用前進エージェントを送信することに
より発信制御を行うことを特徴とする。
【0017】本発明に係る請求項7記載のルータ装置の
制御装置は、複数のノードから構成されるパケット伝送
ネットワークを介して発信ノードから宛先ノードに向け
てパケットを送信する場合に、パケットを自局ノードか
ら隣接ノードに、各隣接ノードに対するルーチング確率
を含むルーチングテーブルを用いてルーチングし、かつ
蟻エージェントを用いてアントネットアルゴリズムに基
づいて上記ルーチングテーブルを学習により構築する制
御手段を備えたルータ装置の制御装置において、上記制
御手段は、各ノードにおいて、宛先ノードとサービス品
質との組み合わせに対して、実行可能なパスのノードの
シーケンスであるルート情報である実行可能パス情報
と、それが現在有効であるか否かを示す有効フラグとを
格納するパスキャッシュテーブルメモリを備え、上記制
御手段は、発信ノードに接続された通信端末からの発信
要求時とは独立にかつ定期的に、ランダムに決定された
サービス品質を保持する前進蟻エージェントを発信ノー
ドから宛先ノードに向けて送信した後、宛先ノードで前
進蟻エージェントを受信したとき後退蟻エージェントを
発信ノードに返信し、各ノードにおいて前進蟻エージェ
ントを受信したときに当該前進蟻エージェントにより形
成されたパスが当該前進蟻エージェントが保持するサー
ビス品質を満たさないと判断したときに当該前進蟻エー
ジェントを廃棄して後退蟻エージェントを返信すること
を中止し、各ノードから後退蟻エージェントを送信する
ときに当該ノードの出リンクにおけるサービス品質の情
報を保持して送信し、発信ノードを含む各ノードで後退
蟻エージェントを受信するときに当該後退蟻エージェン
トが保持する隣接するノードの出リンクにおけるサービ
ス品質の情報に基づいて上記パスキャッシュテーブルメ
モリにおける実行可能パス情報を更新することを特徴と
する。
【0018】また、請求項8記載のルータ装置の制御装
置は、請求項7記載のルータ装置の制御装置において、
上記サービス品質は、少なくともリソース数を含み、上
記制御手段は、各ノードにおいて前進蟻エージェントを
受信したときに、出リンクにおける未使用リソース数が
必要なリソース数を下回らないリンクだけを使用し、各
ノードにおいてすべての出リンクがリソースの必要条件
を満たさないために、前進蟻エージェントが次のホップ
のノードを選択できないとき、もしくは、前進蟻エージ
ェントが少なくとも同一のノードを2回通過したとき、
当該前進蟻エージェントにより形成されたパスが当該前
進蟻エージェントが保持するサービス品質を満たさない
と判断して当該前進蟻エージェントを廃棄して後退蟻エ
ージェントを返信することを中止することを特徴とす
る。
【0019】さらに、請求項9記載のルータ装置の制御
装置は、請求項7記載のルータ装置の制御装置におい
て、上記サービス品質は、少なくとも最大ホップ数を含
み、上記制御手段は、各ノードにおいて前進蟻エージェ
ントを受信したときに、当該前進蟻エージェントが伝送
することにより計数したホップ数が上記最大ホップ数を
越えるときに、当該前進蟻エージェントにより形成され
たパスが当該前進蟻エージェントが保持するサービス品
質を満たさないと判断して当該前進蟻エージェントを廃
棄して後退蟻エージェントを返信することを中止するこ
とを特徴とする。
【0020】またさらに、請求項10記載のルータ装置
の制御装置は、請求項7記載のルータ装置の制御装置に
おいて、上記サービス品質は、少なくともリソース数及
び最大ホップ数を含み、上記制御手段は、各ノードにお
いて前進蟻エージェントを受信したときに、出リンクに
おける未使用リソース数が、必要なリソース数を下回ら
ないリンクだけを使用し、各ノードにおいてすべての出
リンクがリソースの必要条件を満たさないために、前進
蟻エージェントが次のホップのノードを選択できないと
き、前進蟻エージェントが少なくとも同一のノードを2
回通過したとき、もしくは、各ノードにおいて前進蟻エ
ージェントを受信したときに、当該前進蟻エージェント
が伝送することにより計数したホップ数が上記最大ホッ
プ数を越えるときに、当該前進蟻エージェントにより形
成されたパスが当該前進蟻エージェントが保持するサー
ビス品質を満たさないと判断して当該前進蟻エージェン
トを廃棄して後退蟻エージェントを返信することを中止
することを特徴とする。
【0021】また、請求項11記載のルータ装置の制御
装置は、請求項7乃至10のうちの1つに記載のルータ
装置の制御装置において、各ノードにおいて出リンクの
各リソース毎にリソース予約されているか否かを含むリ
ソース管理テーブルを格納するリソース管理テーブルメ
モリを備え、上記制御手段は、発信ノードに接続された
通信端末からの発信要求時に、上記発信通信端末からパ
ケットを送信するときに必要なサービス品質を受信し、
受信されたサービス品質を保持するリソース予約用前進
エージェントを発信ノードから宛先ノードに向けて送信
し、当該リソース予約用前進エージェントは上記実行可
能パス情報に沿って各ノードを通過するときに上記リソ
ース管理テーブルにおいてリソースを予約するように更
新し、宛先ノードで当該リソース予約用前進エージェン
トを受信したときリソース予約用後退エージェントを発
信ノードに返信し、上記リソース予約用前進エージェン
トによりリソースが予約されたパスを介して上記実行可
能パス情報を用いて発信ノードから宛先ノードに向けて
パケットを伝送し、当該パケットの伝送が完了したと
き、宛先ノードは発信ノードに向けて、リソース開放用
後退エージェントを送信することにより、当該リソース
開放用後退エージェントにより上記リソース管理テーブ
ルにおけるリソースの予約を開放することを特徴とす
る。
【0022】さらに、請求項12記載のルータ装置の制
御装置は、請求項11記載のルータ装置の制御装置にお
いて、上記制御手段は、発信ノードに接続された通信端
末からの発信要求時において上記リソース予約用前進エ
ージェントを送信する前に、上記パスキャッシュメモリ
に格納された実行可能パス情報を参照して、宛先ノード
へのパスが上記有効フラグにより現在有効であって実行
可能であるときのみ上記リソース予約用前進エージェン
トを送信することにより発信制御を行うことを特徴とす
る。
【0023】
【発明の実施の形態】以下、図面を参照して本発明に係
る実施形態について説明する。
【0024】<第1の実施形態>図1は、本発明に係る
実施形態であるルーチング処理を実行するルータ装置1
00の全体構成を示すブロック図であり、図11はそれ
を模式化したブロック図図である。このルータ装置10
0のコントローラ10は、従来例のアントネットにおい
て、以下の処理を行うことを特徴としている。 (1)QoSの制約条件に基づくQoSルーチング処
理。 (2)リソースを管理するリソース管理処理。 (3)発信パケットの発生を制御する発信制御処理。
【0025】ここで、ネットワーク上の各ノードはパケ
ット交換器等の中継器であり、それぞれ当該ルータ装置
100を設け、入力されたパケット等をルーチング処理
により隣接ノードに送信する。
【0026】図1を参照して、本実施形態であるルーチ
ング処理を実行する、ノードkに備えられたルータ装置
100の構成及び動作について説明する。図1におい
て、コントローラ10は、当該ルータ装置100の動作
を制御するためのマイクロコンピュータなどのCPU又
はDSPで構成され、コントローラ10には、図4乃至
図9のルーチング処理のプログラム、図10の前進蟻送
信処理のプログラム、並びにQoSルーチング処理、リ
ソース管理処理、発信制御処理のプログラムなどを予め
記憶するプログラムROM(読み出し専用メモリ)11
と、コントローラ10のワーキングエリアとして用いら
れるワーキングRAM(ランダムアクセスメモリ)12
と、第1のルーチングテーブルを記憶するルーチングテ
ーブルメモリ13aと、第2のルーチングテーブルを記
憶するルーチングテーブルメモリ13bと、ネットワー
クを構成するすべてのノードを記憶するネットワークノ
ードメモリ14と、トリップ時間統計データTripk
(μk',δk' 2)を記憶するトリップ時間統計データメ
モリ15と、パスキャッシュテーブルメモリ16と、リ
ソース管理テーブルメモリ17とが接続される。
【0027】図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に送信する。
【0028】各入力インターフェース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に送信する。
【0029】以下、図1のルータ装置100によって実
行され、本実施形態で用いるルーチング処理に用いられ
るアントネットアルゴリズムについて説明する。アント
ネットアルゴリズムは、データグラムネットワークのル
ーチングアルゴリズムであり、パケット交換を行う複数
のノード間を接続するリンクからなるネットワーク上に
おいて動作する。ルーチングとは、発信ノードと宛先ノ
ードの間のパスをパケット毎に決定することであり、ア
ントネットアルゴリズムは、時間的に短いパスを介して
パケットをルーチングするためのアルゴリズムである。
時間的に短いパスは、時間とともに変化するために、ア
ントネットアルゴリズムは動的ルーチングのカテゴリに
属する。なお、本実施形態では、図1のルータ装置10
0をそれぞれ備えた複数個のノードから構成されるネッ
トワークを使用する。
【0030】アントネットアルゴリズムは、ネットワー
ク上の任意のノードsが宛先ノードdにパケットを送信
するためにノードsの隣接ノードnにパケットを送信す
るルーチング確率Ps d,nを計算するアルゴリズムであ
る。ルーチング確率Ps d,nは次式の正規化条件を満足す
る。
【0031】
【数1】
【0032】ここで、Nはネットワーク内のノード集合
を表し、Nsはノードsの隣接ノードのノード集合を表
す。
【0033】アントネットアルゴリズムで用いられるパ
ラメータを次のように定義する。F s dは、ノードsを
出発して宛先ノードdに向かう前進蟻を表す。B
d sは、宛先ノードdを出発してノードsに向かう後退
蟻を表す。Ss dは、ノードsから宛先ノードdまでの
パス上のノード集合を表す。Tk,k'は、前進蟻Fs d
ノードkに到着してからノードk’に到着するまでのト
リップ時間を表すが、ノードkからノードk’までのパ
ス中にループがあれば、当該トリップ時間から当該ルー
プ間の移動時間は差し引かれる。Ss d(k)は、前進
蟻Fs dがノードkを出発してから通過する全ノード
k’の識別子とトリップ時間Tk,k'が入るスタックデー
タを表す。但し、パス中にループができれば、そのルー
プ上のすべてのノードlの識別子とトリップ時間Tk,l
はそれらから削除される。ここで、k∈Ss dである。
Tripk(μk',σk' 2)は、ノードkが有するトリッ
プ時間Tk,k 'の平均値μk'と分散値σk' 2とを表すトリ
ップ時間統計データである。
【0034】図2は、本発明に係る実施形態で用いられ
るアントネットアルゴリズムを用いたルーチング処理に
基づいて、ノードsから宛先ノードdにパケットを送信
するときの前進蟻及び後退蟻の動きを示す図である。図
2には図示してないが、ノードsと宛先ノードdとの間
には少なくとも1つのノードが存在してもよい。図2に
示されるように、ノードsから宛先ノードdにパケット
を送信するときは、まず、ノードsは、前進蟻F
s d(前進蟻を説明の便宜上Fantで示すこともあ
る。)宛先ノードdに送信する。前進蟻Fs dは宛先ノ
ードdまでのパス上のノードやそのパス上の各ノード間
のトリップ時間であるパス情報を記憶する。前進蟻Fs
dが宛先ノードdに到達すると、宛先ノードdは、後
退蟻Bd s(後退蟻を説明の便宜上Bantで示すことも
ある。)ノードsに送信する。後退蟻Bd sは、前進蟻
s dが有するすべてのパス情報を引き継ぐ。後退蟻B
d sが通過する各ノードは、後退蟻Bd sが有するそれ
らのパス情報に従ってルーチングテーブルを更新する。
各ノードのルーチングテーブルを更新することによっ
て、パケットの伝送が次第に改善される。
【0035】図3は、本発明に係る実施形態で用いられ
るアントネットアルゴリズムの前進蟻及び後退蟻のパケ
ットフォーマットを示す図である。前進蟻及び後退蟻は
特殊なパケットであるが、本実施形態では、音声データ
や画像データ等のパケットと区別するために、前進蟻及
び後退蟻をまとめてエージェントという。図3に示され
るように、エージェントのパケットフォーマットは、前
進蟻又は後退蟻のいずれであるかを示す蟻識別子と、発
信ノードがどのノードかを示す発信ノードの識別子s
と、宛先ノードがどのノードかを示す宛先ノードの識別
子dと、スタックデータとから構成される。上記スタッ
クデータは、前進蟻が発信ノードから宛先ノードに到達
するまでに通過したすべてのノードの識別子と、通過し
たノード間のトリップ時間とから構成される。
【0036】以下に、アントネットアルゴリズムについ
て説明する。 (1)まず、ネットワーク上のすべてのノードsは、前
進蟻送信間隔Δt毎にランダムに選択した宛先ノードd
に前進蟻Fs dを送信する。本実施形態では、前進蟻送
信間隔Δtは、好ましくは125ミリ秒である。 (2)前進蟻Fs dは、ノードkを通過する毎に、当該
前進蟻Fs dのスタックデータSs d(k)を更新しな
がら宛先ノードdに向かって送信される。 (3)ノードk上の前進蟻Fs dの次のホップノードn
は、ノードkの隣接ノード集合Nkの中からルーチング
テーブルのルーチング確率Pk d,nによって決定される方
法と、隣接ノード集合Nkの中から同一確率でランダム
に決定される方法のいずれかによって決定される。後者
の方法が実行される確率を探求確率Peという。もし、
前者の方法によって決定されたノードが以前通過したノ
ードであれば、後者の方法が実行される。ここで、前者
の方法によって使用されるルーチングテーブルを第1の
ルーチングテーブルといい、後者の方法によって使用さ
れるルーチングテーブルを第2のルーチングテーブルと
いう。 (4)もし前進蟻Fs dが以前通過したノードに到着す
れば、前進蟻Fs dのパスにループが形成されたことに
なる。このループ上のすべてのノードlに関する情報を
スタックデータSs d(k)から削除する。
【0037】(5)前進蟻Fs dが宛先ノードdに到着
すると、宛先ノードdは後退蟻Bd sを生成してノード
sに送信する。後退蟻Bd sは、前進蟻Fs dのスタッ
クデータSs d(k)を引継ぎ、それに従って前進蟻F
s dが移動したパスを逆方向に進む。後退蟻Bd sは、
移動中に通過する各ノードのすべての待ち行列で、前進
蟻及びパケットよりも優先される。 (6)後退蟻Bd sがノードkの隣接ノードfから当該
ノードkに到着すると、ノードkは、後退蟻Bd sが有
するトリップ時間Tk,k'を用いて、前進蟻Fs dが通過
したすべてのノードk’に対するトリップ時間統計デー
タTripk(μk ',σk' 2)を更新する。 (7)次いで、ノードkは、ノードkが有する宛先ノー
ドdに対するトリップ時間統計データTripk(μd
σd 2)と、後退蟻Bd sが有するノードkから宛先ノー
ドdまでのトリップ時間Tk,dを用いて、ノードkに隣
接するすべてのノードnのルーチング確率Pk d,nを更新
する。 (8)上述のように、前進蟻Fs dが通過したすべての
ノードk’において、それらの各ノードが、後退蟻Bd
sのスタックデータSs d(k)に基づいて当該ノー
ドk’の第1のルーチングテーブルを更新することによ
って、当該ノードk’におけるパケットのルーチングが
改善される。 (9)なお、各ノードは、改善された第1のルーチング
テーブルのルーチング確率に従って、パケットを隣接ノ
ードを介して宛先ノードに送信する。
【0038】ここで、上述のアントネットアルゴリズム
の(8)において示される、ノードkがルーチング確率
k d,nを更新する手順をより詳細に説明する。ノードf
は後退蟻Bd sがノードkに到着する1つ前に通過した
ノードkの隣接ノードであり、ノードn’はノードf以
外のノードkの隣接ノードを表す。ルーチング確率P k
d,nの更新処理は、ノードfにルーチングするためのル
ーチング確率Pk d,fと、ノードn’にルーチングするた
めのルーチング確率Pk d,n'とを区別して行う。なお、
以下の式で用いられるパラメータc,a,a’,ε,
h,tは所定の定数である。
【0039】(a)まず、トリップ時間Tk,dの良さを
表す尺度r’を次式に基づいて計算する。
【0040】
【数2】{Tk,d/(c×μd)}<1の場合は、r’=
k,d/(c×μd) {Tk,d/(c×μd)}≧1の場合は、r’=1
【0041】ここで、尺度r’は、小さいほど良い値で
ある。
【0042】(b)次いで、トリップ時間統計データT
ripk(μd,σd 2)を用いて次式に基づいて、尺度
r’を修正する。
【0043】
【数3】r'←r'+sign(t-r')×sign{(σd)/(μd)-
ε}×f(σd,μd)
【0044】ここで、signは、()内の引数の符号を示
す関数であり、r’<tの場合は、f(σ,μ)=ex
p(−a×σ/μ)であり、r’≧tの場合は、f
(σ,μ)=exp(−a’×σ/μ)/exp
(a’)である。
【0045】(c)次いで、学習率hを用いて次式に基
づいて尺度r’の最終スケールを決定する。
【数4】r’←(r’)h
【0046】(d)尺度r’を[0,1]の範囲に制限
する。(e)ルーチング確率Pk d,f及びPk d,n'を次式
を用いてそれぞれ更新する。
【0047】
【数5】 Pk d,f←Pk d,f+(1−r’)×(1−Pk d,f
【0048】
【数6】Pk d,n'←Pk d,n'−(1−r’)×Pk d,n'
∀n’∈Nk−{f}
【0049】アントネットアルゴリズムは、トリップ時
間の短いパスへのルーチングに対して報酬を与えること
により最短パスを求める、従来技術文献7「安倍直樹ほ
か,“能動学習概要”,情報処理,Vol.38,No.7,1997
年」に記載の強化学習の一種である。アントネットアル
ゴリズムによるルーチングが最短パスに収束するメカニ
ズムは、次のように表現できる。短いトリップ時間のパ
スへのルーチングに対してそのルーチング確率が増加さ
れる(報酬が与えられる)。ルーチング確率が増えると
より多くのエージェント(前進蟻)がそのパスを選択す
る。多くのエージェントが通過するほど多くの報酬がそ
のルーチング確率に与えられる。つまり、短いトリップ
時間のパスへのルーチング確率の成長プロセスが、正の
フィードバックを形成している。従来技術文献8「河本
英夫,“オートポイエーシス 第三世代システム”,青
土社,1995年」によって報告されているように、ルーチ
ング確率自体がこの成長プロセスの進行速度を加速する
(自己触媒作用)ため、素早く最短パスに収束すること
ができる。更に、このプロセスの進行速度は、短いパス
ほど速い。
【0050】次いで、上記アントネットにおけるリソー
ス管理処理について説明する。本実施形態のルーチング
システムは、2つの条件のもとでデータグラムネットワ
ーク上で動作する。第1に、ネットワークのユーザは、
データグラム及びリアルタイムフローという2つのサー
ビスクラス発信を要求する。データグラムとは、遅延に
鈍感なパケットであるが、リアルタイムフローは遅延に
敏感なパケットのシーケンスである。第2に、ネットワ
ーク中のあらゆるノードは、公知の重み付けされた公正
な待ち合わせ(Weighted Fair Queuing;WFQ)アル
ゴリズム(以下、WFQアルゴリズムという。)をサポ
ートする。WFQアルゴリズムは、ネットワーク中のあ
らゆるリンク伝送容量を複数N個の被分割リンクに均等
に分割する。ある1つの被分割リンクが恒久的にデータ
グラムに割り当てられ、もう1つの被分割リンクが恒久
的にエージェントに割り当てられるが、他の(N−2)
個の被分割リンクは、本実施形態のルーチングシステム
によって、オンデマンドで要求に応じて各リアルタイム
フローに割り当てられる。これ以降、リアルタイムフロ
ーのための(N−2)個の被分割リンクのそれぞれを
「リソース」と呼ぶ。リソースとは、ユーザ要求毎に割
り当てられる帯域幅の単位である。
【0051】ところで、本実施形態で実行するQoSル
ーチング処理、リソース管理処理及び発信制御処理のた
めに、図1のルータ装置100において、パスキャッシ
ュテーブルメモリ16及びリソース管理メモリ17を備
えている。パスキャッシュテーブルメモリ16では、宛
先ノードdとパケット伝送に必要なリソース数mの異な
る組み合わせ毎に、現在実行可能であるパスのノードの
シーケンスであるルート情報である実行可能パス情報f
−pathと、そのルート情報が現在有効であるか否か
の有効フラグ(ここで、1が有効で、0が無効であ
る。)とを格納している。また、リソース管理テーブル
メモリ17は、各出力バッファメモリ23毎に隣接する
ノードに対して確立可能なリンク内であって被分割リン
ク毎にどのユーザ要求(信号)Request(idで
示す。)によりリソースが予約されているか、もしくは
予約されていないかを示す情報を格納する。なお、これ
らのメモリ16,17のデータの更新方法については詳
細後述する。
【0052】図12は、本実施形態においてリソース予
約のユーザ要求(信号)Requestを発信したとき
のリソース予約の処理フローである。当該ネットワーク
のユーザがホストコンピュータである発信通信端末か
ら、ユーザ要求(信号)Requestを送信してリア
ルタイムフローの発信を要求するたびに、ユーザは2つ
の通信端末間で必要とされる帯域幅(リソースのm個の
単位)を示す。本実施形態のルーチングシステムが要求
を受け入れることを決めると、リソース予約用前進エー
ジェントFrsyが発信ノードから当該ネットワークを介
して宛先ノードに向けて伝送され、2つの通信端末間で
少なくともm個の単位の帯域幅のパスをセットアップす
る。つまり、リソース予約用前進エージェントF
rsvは、パスを構成している全リンクのリソースのう
ち、m個の単位を予約しようとする。確立されているパ
スは単方向である。本実施形態のルーチングシステム
は、宛先ノードdと帯域幅の必要条件(リソース数m)
の組毎にパスのルート情報を作成する。リソース予約用
後退エージェントBrsvは、宛先ノードから当該ネット
ワークを介して発信ノードに向けて伝送され、要求側の
通信端末のユーザに、パスが無事に確立されたことを通
知するためにだけ使用される。データ伝送用パケット
は、ソースルーチングによって送られ、最後のパケット
はリアルタイムフローの完了の通知を搭載して伝送す
る。最後に、リソース開放用後退エージェントB
relは、宛先ノードから当該ネットワークを介して発信
ノードに向けて伝送され、このユーザ要求に予約されて
いるすべてのリソースを開放する。図1のすべてのエー
ジェント及びパケットは、同じパスを使用する。リソー
ス予約用前進エージェントFrsvが、ユーザ要求を満た
すために十分なリソースを持たないリンクに遭遇すると
(つまり、リンクの未使用リソース数がmより少ない場
合)、そのリソース予約用前進エージェントはリソース
予約用後退エージェントBrsvを作成して消滅する。こ
の場合、リソース予約用後退エージェントBrsvは、リ
ソース予約用前進エージェントFrsvが予約していたす
べてのリソースを開放する。
【0053】図12に示すリソース予約の処理フローに
ついて、図12を参照して以下詳述する。 (SS1)ホストコンピュータである発信通信端末から
ユーザ要求(信号)Requestが発信ノードに到着
する。このユーザ要求(信号)Requestは、リソ
ースを要求する通信端末の識別情報であるリソース要求
識別子(id)と、宛先ノード番号(d)と、必要なリ
ソース数(m)とを含むデータを含む。ここで、本実施
形態においては、最大ホップ数Hmaxを固定している
が、変形例として、ユーザ要求(信号)Request
において、最大ホップ数(Hmax)を含んでもよく、
最大ホップ数Hmaxは、これから伝送しようとするデ
ータパケットを伝送するときに使用するホップ数の最大
上限値を示す。すなわち、最大ホップ数Hmaxを越え
るパケット伝送をしないというQoSの制約条件であ
る。 (SS2)各ノードは、データ(d,m)の組み合わせ
毎に1つの待ち行列を持つ。到着したユーザ要求(信
号)Requestは、対応するキューメモリ21にお
いて待ち行列の最後に入る。
【0054】(SS3)本実施形態のルーチングシステ
ムは所定の周期で周期的に、以下の処理を行う。 (SS3−1)キューメモリ21における複数の待ち行
列の先頭のユーザ要求(信号)Requestの中から
1つのユーザ要求(信号)Requestをラウンドロ
ビンで取り出す。 (SS3−2)もしも、そのユーザ要求(信号)Req
uestが持つデータ(d,m)の組み合わせに対応す
るメモリ16のパスキャッシュテーブル内の実行可能パ
ス情報f−pathの有効フラグが“有効(1)”であ
れば、リソース予約用前進エージェントFrsvを用いて
当該ノードにおいてリソースを予約する。ここで、リソ
ース予約用前進エージェントFrsvは、データ(id,
s,d,m,f−path)を含むパケットフォーマッ
トを有する。ここで、sは発信ノード番号である。但
し、実行可能パス情報f−pathの有効フラグが有効
であるとは、その実行可能パス情報f−path内のル
ート情報に含まれるすべてのリンクのリンク状態が”有
効(1)”である場合のみである。 (SS3−3)もし、上記ユーザ要求(信号)Requ
estが持つデータ(d,m)の組み合わせに対応する
実行可能パス情報f−path内の有効フラグが”無効
(0)”であれば、そのユーザ要求(信号)Reque
stはキューメモリ21内の待ち行列に戻され、上記S
S1の処理に戻る。
【0055】(SS4)リソース予約用前進エージェン
トFrsvは、それに含まれる実行可能パス情報f−pa
th内のルート情報のパスに沿って通過するすべてのリ
ンクのリソースを以下のように予約する。 (SS4−1)メモリ17のリソース管理テーブルから
空きリソース数(r)を計数する。 (SS4−2)もしm>rならば、後述するリソース開
放処理に進む。 (SS4−3)もしm≦rならば、メモリ17のリソー
ス管理テーブルの中の空きリソースの状態を予約中と
し、リソース予約用前進エージェントFrsvが持つリソ
ース要求識別子idを設定する。
【0056】(SS5)リソース予約用前進エージェン
トFrsvは宛先ノードdに到着すると、宛先ノードdに
接続されたホストコンピュータである通信端末に対し
て、リソース要求識別子(id)の情報を有するユーザ
要求(信号)Requestを送信後、リソース要求識
別子(id)の情報を有する肯定応答パケットAckの
受信を待つ。 (SS6)リソース要求識別子(id)の情報を有する
肯定応答パケットAckが到着すると、リソースの設定
が完了したことを通知するために、リソース予約用後退
エージェントBrsvは、実行可能パス情報f−path
内のルート情報に従ってそのパスに沿って発信ノード
(s)に戻る。 (SS7)発信ノード(s)に到着すると、ホストコン
ピュータである発信通信端末に対して、リソース要求識
別子(id)の情報を有する肯定応答パケットAckを
送信する。 (SS8)ホストコンピュータである通信端末は、リソ
ース要求識別子(id)の情報を有する肯定応答パケッ
トAckを受信すると、そのリソース識別子(id)を
付けたデータ伝送パケットを発信ノード(s)に送信す
る。 (SS9)データ伝送パケットを受信した発信ノード
(s)は、データ伝送パケットに、実行可能パス情報f
−pathを付与して設定する。各ノードは、データ伝
送パケットに設定された実行可能パス情報f−path
から次のホップノードを決定する。これらの処理はソー
スルーチングと呼ばれる。 (SS10)ホストコンピュータである発信通信端末
は、最後のデータ伝送パケットにパケット送信終了を示
す情報を設定して、発信ノードから当該パス及び宛先ノ
ードを介して着信通信端末に対して伝送する。ここで、
宛先ノード(d)は、その情報を検出すると、そのパケ
ットが持つリソース要求識別子(id)と実行可能パス
情報f−pathを取り出し、リソース要求識別子(i
d)と実行可能パス情報f−pathとを有するリソー
ス開放用後退エージェントBrelを発信ノード(s)
に向かって送信する。 (SS11)さらに、リソース開放手順においては、リ
ソース要求識別子(id)と実行可能パス情報f−pa
thとを有するリソース開放用後退エージェントBrsv
は当該実行可能パス情報f−pathに沿って、発信ノ
ード(s)に戻るが、その途中で、予約したすべてのリ
ソースをメモリ17のリソース管理テーブルの中のリソ
ース要求識別子(id)に該当するリソースの状態を空
きに更新する。
【0057】本実施形態のルーチングシステムにおいて
は、実行可能パスを見つけるために従来例のアントネッ
トに対して拡張した、QoSルーチング処理に係る以下
の拡張処理を実行する。パスが現在一定のQoSの制約
条件を満たしている場合に、パスは「実行可能」であ
る。
【0058】本実施形態においては、QoSの制約条件
の集合のもとで遅延時間を最小限に抑える実行可能パス
を見つけることができる拡張処理について説明する。ま
ず最初に、最短パスを選択するためにパスのパケット遅
延をどのようにして測定するのかについて説明してか
ら、QoSの制約条件を満たす実行可能パスを選択する
方法について説明する。
【0059】従来例のアントネットにおいては、前進蟻
エージェントや前進エージェント及びデータ伝送パケッ
トは、キューメモリ21内の同じ出力待ち行列に加わ
り、先に来たものが先にサービスを受けること(FCF
S)を基準にして伝送される。つまり、その結果、前進
蟻エージェントは、パケットのトリップ時間を測定する
ことができる。他方、本実施形態のルーチングシステム
においては、エージェントは、恒久的なパスが予めエー
ジェントのために確立されたかのように、WFQアルゴ
リズムによって割り当てられている専用の帯域幅を使用
する。従って、本実施形態においては、パスに沿って移
動する前進蟻のトリップ時間を使用して、新しいパスを
使用する予定のパケットのトリップ時間を測定する。
【0060】次に、制約条件に基づくルーチングの拡張
処理について説明する。本実施形態のルーチングシステ
ムは、帯域幅及びホップ数という2つのQoSの制約条
件をサポートする。必要とされる帯域幅の量(必要とさ
れるリソースの数m)は、各ユーザ要求(信号)Req
uestの到着時に提示される。これとは対照的に、本
実施形態においては、最大ホップ数Hmaxは、すべて
のユーザ要求(信号)Requestに対して予め決定
されると仮定する。従来例のアントネットは、帯域幅及
びホップ数の制約ルーチン機能をサポートするために容
易に拡張することができる。単にすべての前進蟻の行動
を以下のように制限するだけで、これらの機能を得るこ
とができる。このQoSルーチングの拡張処理において
は、発信ノードに接続された発信通信端末からのユーザ
要求(信号)による発信要求とは独立にかつ所定の周期
で周期的に(すなわち、定期的に)、宛先ノードと必要
なリソース数をランダムに決定してそれらの情報を保持
した前進蟻エージェントを発信ノードから宛先ノードに
向けて送信した後、宛先ノードで前進蟻エージェントを
受信したとき後退蟻エージェントを発信ノードに返信
し、各ノードにおいて前進蟻エージェントを受信したと
きに当該前進蟻エージェントにより形成されたパスが当
該前進蟻エージェントが保持するサービス品質を満たさ
ないと判断したときに当該前進蟻エージェントを廃棄し
て後退蟻エージェントを返信することを中止し、各ノー
ドから後退蟻エージェントを送信するときに当該ノード
の出リンクにおけるサービス品質の情報を保持して送信
し、発信ノードを含む各ノードで後退蟻エージェントを
受信するときに当該後退蟻エージェントが保持する隣接
するノードの出リンクにおけるサービス品質の情報に基
づいてパスキャッシュテーブルメモリ16内の実行可能
パス情報f−pathを更新することを特徴としてい
る。従って、発信通信端末から発信ノードに発信要求が
あったときは、パスキャッシュテーブルメモリ16内の
実行可能パス情報f−pathを参照することにより、
発信可能であるか否かを即事に判断できる。なお、この
実施形態においては、QoSルーチング処理における最
大ホップ数Hmaxは当該ルーチングシステムにおいて
予め決定して固定であるが、本発明はこれに限らず、発
信通信端末から受信するように構成してもよい。
【0061】<第1の拡張処理>(帯域幅の制約ルーチ
ン)すべての前進蟻エージェントは、出リンクにおける
未使用リソース数rが、必要とされているリソース数m
を下回らないリンクだけを使用する。
【0062】<第2の拡張処理>(ホップ数制約ルーチ
ン)前進蟻エージェントのホップ数が所定の最大ホップ
数Hmaxを上回る場合、前進蟻エージェントは消滅す
る。
【0063】要求されているリソースのそれぞれの数
は、前進蟻エージェントの1つの制約されている行動に
マッピングされるため、|M|個の独立に拡張されたア
ントネットアルゴリズムが、帯域幅の必要条件をサポー
トするためにネットワーク内で同時並行して実行されな
ければならず、この場合、Mは本実施形態のルーチング
システムによってサポートされている必要とされている
リソースの数の集合である。例えば、M={1,3}の
場合には、あるアルゴリズムに属しているすべての前進
蟻エージェントは、未使用リソースの少なくとも1つの
単位を備えているリンクだけを使用し、他のアルゴリズ
ムに属しているすべての前進蟻エージェントは、少なく
とも3つの未使用リソースの単位を備えているリンクだ
けを使用する。
【0064】本実施形態においては、上記第1の拡張処
理の容易な実施例を提示することができる。すなわち、
r(s,n)をリンク(s,n)(ノードsからノード
nまでのリンク)の未使用リソースの数とし、mを必要
とされているリソースの数とする。ネットワークのあら
ゆる発信ノードsにおいては、ノードn∈Nsがr
(s,n)<mを満たすとき、ノードnが(まるでリン
ク(s,n)が故障したかのように)集合Nsから削除
されてから、ノードsのすべてのルーチング確率は、以
下のように正規化される。
【0065】
【数7】
【0066】その後、ノードnがr(s,n)≧mを満
たすと、ノードnが(あたかもリンク(s,n)が回復
したかのように)集合Nsに加えられてから、ノードs
のすべてのルーチン確率が再び上記数7によって正規化
される。
【0067】帯域幅の制約ルーチング機能付きアントネ
ットは、大量の要求到着時に、前進蟻エージェントの大
部分がいくつかの少しばかり利用されているリンクの中
でロック状態となるという問題が生じる。この状況で
は、実行可能パスは絶対に発見されず、これらの前進蟻
エージェントはただ伝送帯域幅を浪費するだけである。
この問題を克服するためにさらに2つの拡張処理を付加
する。
【0068】<第3の拡張処理>すべての出力リンクが
帯域幅の必要条件を満たさないために、前進蟻エージェ
ントが次のホップノードを選択できない場合には、前進
蟻エージェントは消滅する。 <第4の拡張処理>前進蟻エージェントが少なくとも2
回同じノードを通過又は訪問した場合には、前進蟻エー
ジェントは消滅する。すなわち、2回目のループができ
たときに、前進蟻エージェントは消滅する。
【0069】以上2つの拡張処理の規則により、多くの
前進蟻エージェントが、このような要求到着時に長い時
間ネットワーク内に留置しないようになる。
【0070】次いで、本実施形態に係るグローバルな発
信制御処理について説明する。本実施形態のルーチング
システムの主要な目的とは、ユーザの要求に従って、ネ
ットワーク全体のリソースを効率よく割り当てることで
ある。従って、本実施形態においては、効率という用語
を、予約済みのリソースが、リアルタイムフローでデー
タ伝送パケットを伝送するために可能な限り多く使用さ
れなければならないことを示すために使用する。効率的
なグローバルな発信制御を行わない場合、大量の要求到
着時には、パスをセットアップするような試みはたいて
いの場合に失敗するため、未使用で予約済みリソース
(パスに部分的に予約されているリソースだけ)の率は
優勢になる。
【0071】次いで、発信制御処理について以下に詳述
する。効率的な発信制御処理を達成するための基本的な
考えとは、以下の通りである。多くの前進蟻エージェン
ト及び後退蟻エージェントは、最短実行パスを探索する
ためにネットワーク上で動き回るので、本実施形態で
は、これらの蟻エージェントに彼らが訪問したことのあ
るノードのリンク状態に関する情報を搬送させる。それ
からこの情報は各ノードのパスキャッシュテーブルメモ
リ16内で保持されている実行可能パスが、現在実行可
能であるのかどうかを決定するために使用され、このパ
スキャッシュテーブルメモリ16の参照はリソース予約
用前進エージェントを送信する前に行われる。これ以
降、我々は各ノード内で維持されている実行可能パスの
情報を、実行可能パス情報f−pathと呼んでいる。
すなわち、本実施形態においては、発信ノードに接続さ
れた通信端末からの発信要求時においてリソース予約用
前進エージェントを送信する前に、パスキャッシュメモ
リ16に格納された実行可能パス情報を参照して、宛先
ノードへのパスが有効フラグにより現在有効であって実
行可能であるときのみリソース予約用前進エージェント
を送信することにより発信制御を行う。
【0072】以上で本実施形態のルーチングシステムの
発信制御処理を説明する準備が整った。ネットワーク中
のあらゆるノードは、パスキャッシュテーブルメモリ1
6内に1つのパスキャッシュテーブルを保持する。パス
キャッシュテーブルは、宛先ノード及び帯域幅の必要条
件のすべての組毎に、実行可能パス情報f−path及
びこれらの実行可能パス情報f−pathを構成するす
べてのリンクの状態の集合を含む。P(s,d,m)
は、2つのノード間でm単位以上の帯域幅を用いて発信
ノードsから宛先ノードdまでの実行可能パス情報f−
pathを示す。また、s(n1,n2,m)は、ノード
1からノードn2へのリンクであるリンク(n1,n2
が少なくともm単位の未使用のリソースを有しているか
否かを示す状態を示す。その結果、ノードsのパスキャ
ッシュテーブルは、以下を含む。
【0073】
【数8】P(s,d,m),{s(n1,n2,m)|(n1
2)∈P(s,d,m)},∀d∈S−{s},∀m∈M
【0074】この場合SとMは、それぞれネットワーク
のノードの集合、及び本実施形態のルーチングシステム
によってサポートされている必要とされているリソース
の数の集合である。以下では、発信制御機構を説明す
る。
【0075】次いで、メモリ16内のパスキャッシュテ
ーブルのリンク状態の更新処理について詳述する。
【0076】<第1の説明>後退蟻エージェントBant
や後退エージェントBrsv,Brelのいずれかである後退
蟻エージェント又は後退エージェントがノードkを出発
する時、それはそのノードのすべての出力リンクの状態
を搬送する。この後退蟻エージェント又は後退エージェ
ントによって運ばれる情報は(k,l,r)で表現され
る。ここで、lはノードkの隣接ノード番号であり、r
はリンク(k,l)(ノードkからノードlへのリンク
を表す。)の残りのリソース数である。
【0077】<第2の説明>後退蟻エージェント又は後
退エージェントがノードsに到着すると、それは、パス
キャッシュテーブル内のリンク状態を、そのエージェン
トが運ぶすべてのリンク情報(k,l,r)を使って次
のように更新する。すべての宛先ノードdとすべての要
求リソース数mに対して、もしリンク(k,l)が実行
可能パス情報f−path(d,m)(つまり、組み合
わせ(d,m)に対応する実行可能パス情報f−pat
hをいう。)に含まれているならば、そのリンクの状態
s(k,l,m)を次式のように更新する。
【0078】
【数9】s(k,l,m)=1,もしr≧mのとき=
0,その他のとき
【0079】<第3の説明>その帯域幅がm個のリソー
ス数を下回らない新規に発見された実行可能パス情報に
関するルート情報を携えてノードdからノードsに戻る
後退蟻Bantがその宛先ノードsに達すると、それは、
この実行可能パス情報に関するルート情報でパスキャッ
シュテーブル内の実行可能パス情報f−pathP
(s,d,m)を置き換えてから、後退蟻エージェント
antが上記第2の説明で説明されたように、パスキャ
ッシュテーブル内のリンク状態を更新する。すなわち、
データ(s,d,m,f−path)を有する後退蟻エ
ージェントBantが発信ノード(s)に戻ってくると、
パスキャッシュテーブルのデータ(d,m)に該当する
実行可能パス情報f−pathを、その前進蟻エージェ
ントFantが持つf−pathを使って置き換える。
【0080】<第4の説明>各ノードは宛先ノードと帯
域幅の必要条件の組毎に1つのユーザ要求待ち行列を備
えている。従って、各ノードは、(|S|−1)×|M
|個のユーザ要求待ち行列の入力バッファメモリを備え
ている。到着する各ユーザ要求は、要求の宛先ノード及
び必要とされている帯域幅に従って、これらの待ち行列
の1つに割り当てられる。
【0081】<第5の説明>所定の周期で周期的に、本
実施形態のルーチングシステムは、1つのユーザ要求に
パスをセットアップしようとする。本実施形態のルーチ
ングシステムは、ラウンドロビンでユーザ要求待ち行列
のキューメモリ21の先頭で待機しているすべての要求
から、その対応する実行可能パス情報f−pathが
「利用可能」であるリソース要求を選択する。実行可能
パス情報f−pathであるP(s,d,m)は、すべ
てのリンク(n1,n2)∈P(s,d,m)に対して、
s(n1,n2,m)=1の場合にだけ「利用可能」であ
る。それ以外の場合には、それは「利用できない」。選
択された要求は待ち行列のキューメモリ21から除去さ
れる。要求に対するパス確立が成功すると、リソース要
求は破棄され、要求側ユーザであるホストコンピュータ
の通信端末は、パス確立完了について知らされる。それ
以外の場合、リソース要求は、リソース要求がその到着
時に昇順で待ち行列のキューメモリ21から出現するよ
うに、同じ待ち行列のキューメモリ21に戻される。
【0082】「第1の説明」及び「第2の説明」に説明
されているリソース管理処理は、実行可能パス情報f−
pathの状態の確度を高める。最新のリンク状態情報
が後退蟻エージェントによって収集されている、パスキ
ャッシュ内でのリンク状態の各修正又は更新により、い
くつかの実行可能パス情報f−pathは利用できなく
なり、それ以外のいくつかの実行可能パス情報f−pa
thは利用できるようになる。リソース管理処理を行わ
ない場合、パスキャッシュテーブル内のすべての実行可
能パス情報f−pathはつねに利用可能となり、その
結果ユーザ要求は絶対に遮られず、パスのセットアップ
の失敗率が上昇するだろう。後述するシミュレーション
では、ユーザ要求到着率が高いとき、ネットワークサイ
ズが大きいとき、及び未使用リソースの数が急速に変化
するときにこのリソース管理が有効であることを示す。
【0083】本発明に係る実施形態は、リアルタイムフ
ローの高いスループットのための効率的なネットワーク
リソースの割り当て、及びパス確立のための小さい平均
待機時間だけを目的として構築する。従って、パス確立
のリソース要求の選択は、リソース要求に対応する実行
可能パス情報f−pathの利用可能性だけに基づいて
いる。より少ない数のリソースを必要とするユーザ要求
の方が、さらに多い数のリソースを必要とする要求より
頻繁に選択される傾向があるために生じる公正さの問題
は、本発明の範囲外である。
【0084】この発信制御処理の機構の利点は、以下の
ように要約される。第1に、実行可能パス情報f−pa
thはつねに宛先ノードと必要とされている帯域幅のす
べての組に対して作成されるため、即座のパス確立が達
成できる。第2に、すべての実行可能パス情報f−pa
thのリンク状態は一貫して更新されるため、利用可能
な実行可能パス情報f−pathは実際に実行可能であ
る。後述するシミュレーションの結果がこれらの長所を
証明している。情報が、それに沿って後退蟻エージェン
トによって収集されるパスがランダムに選択されないこ
とは注目に値する。例えば、後退エージェントB
rsv(又はBrel)は、そのリソースがちょうど予約され
た(開放された)ところのパスのリンク状態を搬送す
る。つまり、その利用可能性が変更したばかりのパスで
ある。一方、後退エージェントや後退蟻エージェントB
antの大部分は、最短の実行可能パス情報f−path
の状態を搬送する。その結果、これらの重要なパスのリ
ンク状態は頻繁に報告されるが、他のパスのリンク状態
(無駄な情報)はほとんど報告されない。
【0085】さらに、図4乃至図10のフローチャート
を参照して、本発明に係る実施形態であるルーチング処
理について説明する。
【0086】図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に戻る。
【0087】図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を制御して処理対象の後退蟻を、決定された隣
接ノードに送信し、メインルーチンに戻る。
【0088】図6及び図7は、図4のサブルーチンであ
るステップS6の前進蟻ルーチング処理を示すフローチ
ャートである。図6を参照すると、まず、ステップS2
1において、処理対象の前進蟻からすべてのデータを読
み出す。次いで、ステップS22において、当該ノード
k自身が宛先ノードdであるか否かを判断する。YES
であれば、ステップS23において後退蟻送信処理を実
行した後、メインルーチンに戻る。ステップS22にお
いてNOであれば、ステップS24において上述の第3
の拡張処理により残りのリソース数が前進蟻内の必要リ
ソース数m以上のリンクはあるか否かが判断され、YE
SのときはステップS25に進む一方、NOのときはメ
インルーチンに戻る。次いで、ステップS25では、第
2の拡張処理によりホップ数が当該処理対象の前進蟻の
最大ホップ数Hmaxを越えるか否かが判断され、YE
Sのときはメインルーチンに戻る一方、NOのときはス
テップS26に進む。
【0089】次いで、ステップS26において、前進蟻
がノードkに到着したことによってループが形成された
か否かを判断する。ステップS26において、YESで
あれば、第4の拡張処理により2回目のループであるか
否かが判断され、YESのときはメインルーチンに戻る
一方、NOのときはステップS28に進む。ステップS
28において当該ループ上のノードに関する情報をスタ
ックデータから削除してトリップ時間Tk,k'からループ
時間を減算した後、図7のステップS29に進む。一
方、ステップS26においてNOであれば、図7のステ
ップS29に直接に進む。
【0090】図7のステップS29において、乱数R
(0≦R≦1)を発生した後、ステップS30におい
て、発生された乱数Rが探求確率Peより小さいか否か
を判断する。YESであればステップS31において、
乱数R”(0≦R”≦1)を発生した後、ステップS3
2に進み、NOであれば、ステップS36において、乱
数R’(0≦R’≦1)を発生した後、ステップS37
に進む。
【0091】ステップS32では、上述の第1の拡張処
理により、数7を用いて第2のルーチングテーブルのル
ーチング確率を正規化することにより第2のルーチング
テーブルを更新した後、ステップS33において、発生
された乱数R”に基づいて、ルーチングテーブルメモリ
13bに記憶された第2のルーチングテーブルを用いて
処理対象の前進蟻を送信すべき隣接ノードを決定する。
次いで、ステップS34において、前進蟻のスタックデ
ータ内の通過したすべてのノードk’の識別子を更新
し、ステップS35において、データスイッチ22を制
御して、処理対象の前進蟻を、決定された隣接ノードに
向けて送信した後、メインルーチンに戻る。
【0092】一方、ステップS37では、上述の第1の
拡張処理により、数7を用いて第1のルーチングテーブ
ルのルーチング確率を正規化することにより第1のルー
チングテーブルを更新した後、ステップS38で発生さ
れた乱数R’に基づいて、ルーチングテーブルメモリ1
3aに記憶された第1のルーチングテーブルを用いて処
理対象の前進蟻を送信すべき隣接ノードを決定する。次
いで、ステップS39において、前進蟻が決定された隣
接ノードに送信されると、ループが形成されるか否かを
判断する。YESであればステップS31に進み、NO
であればステップS35に進む。
【0093】図8は、図6のサブルーチンであるステッ
プS23の後退蟻送信処理を示すフローチャートであ
る。図8を参照すると、ステップS41において、前進
蟻から読み出したすべてのデータを用いて後退蟻のパケ
ットを生成する。次いで、ステップS42において、読
み出したデータのうちのスタックデータの通過全ノード
k’の識別子に従って、後退蟻を送信すべき隣接ノード
を決定する。次いで、ステップS43において、データ
スイッチ22を制御して、処理対象の後退蟻を、決定さ
れた隣接ノードに送信した後、図6の前進蟻ルーチング
処理に戻る。
【0094】図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を制御して、処理対象のパケッ
トを、決定された隣接ノードに向けて送信した後、メイ
ンルーチンに戻る。
【0095】図10は、図4のルーチング処理に対する
割込処理である前進蟻送信処理を示すフローチャートで
ある。前進蟻送信処理は、前進蟻送信間隔Δt毎に図4
のルーチング処理に対する割込処理として実行される。
図10を参照すると、ステップS61において、タイマ
ーT2を0にリセットする。次いで、ステップS62に
おいて、ネットワークノードメモリ14内に記憶される
すべてのノードからランダムに宛先ノードdとリソース
数mを選択する。次いで、ステップS63において、乱
数R(0≦R≦1)を発生する。ステップS64におい
て、ランダムに選択された宛先ノードと発生された乱数
Rとに基づいて、ルーチングテーブルメモリ13aに記
憶される第1のルーチングテーブルを用いて、処理対象
の前進蟻を送信すべき隣接ノードを決定する。次いで、
ステップS65において、データスイッチ22を制御し
て、処理対象の前進蟻を、決定された隣接ノードに向け
て送信する。次いで、ステップS66において、タイマ
ーT2が前進蟻送信間隔Δt以上か否かを判断する。Y
ESであればステップS61に戻り、NOであればステ
ップS66に再び戻る。
【0096】以上の実施形態においては、図6の前進蟻
ルーチング処理において、第1乃至第4の拡張処理をと
もに実行しているが、リソース数に係るQoSの制約条
件に基づくルーチング処理である第1、第3及び第4の
拡張処理を少なくとも実行してもよい。もしくは、ホッ
プ数に係るQoS制約条件に基づくルーチング処理であ
る第2の拡張処理を少なくとも実行してもよい。以上の
ように構成された実施形態においては、パケットをルー
チングテーブルを用いてルーチングする(QoS保証が
ない)場合と、リソース予約されたパスを用いてソース
ルーチングによりルーチングされる(QoS保証があ
る)場合とがある。
【0097】
【実施例】本発明者は、本発明に係る実施形態のルーチ
ングシステムについてその動作を検証するために、以下
のごとくシミュレーションを行った。このシミュレーシ
ョンにおいては、本実施形態のルーチングシステムにお
ける効率、スケーラビリティ、及び拡張性を調べた。
【0098】まず、シミュレーション条件について説明
する。このシミュレーションにおいて、図13に示す4
つのネットワークを使用した。図13において黒丸はノ
ードである。表1に、4つのネットワークに特有なシミ
ュレーションパラメータを示す。
【0099】
【表1】 ――――――――――――――――――――――――――――――――――― |S| 出リンク数 伝搬遅延(ミリ秒) Lratemax ――――――――――――――――――――――――――――――――――― ネットワークA 7 (2.9,2,4) (9.20,4,14) 3.0 5 ネットワークB 14 (3.0,2,4) (9.24,4,20) 1.0 6 ネットワークC 28 (3.0,2,4) (9.21,4,14) 0.4 10 ネットワークD 42 (3.0,2,4) (9.25,4,14) 0.3 15 ――――――――――――――――――――――――――――――――――― (注)「出リンク数」は(平均,最小,最大)を示す。 「伝搬遅延」は(平均,最小,最大)を示す。 「蟻発生率Lrate」の単位は(蟻の数/秒)である。
【0100】ネットワーク中のすべてのリンクは両方向
性であり、全二重通信で行われ、同じ伝送帯域幅(C=
1.5Mビット/秒)及びリソース(N−2=10)を
有している。本実施形態のルーチングシステムは、リソ
ースが1単位と3単位(つまり、M={1,3})とい
う2つの帯域幅の必要条件をサポートしている。蟻エー
ジェントFant、Bant、Frsv、Brsv、及びBrelのサ
イズは、それぞれ(24+2h)バイト、(24+2H
+3R)バイト、(24+H)バイト、(24+H+3
R)バイト、及び(24+H+3R)バイトであり、こ
の場合、h、H、及びRは、それぞれエージェントが訪
問したノードの数、エージェントが辿るパス上のノード
の数、及びエージェントが搬送するリンク状態の数であ
る。
【0101】各ノードには、1つがパケット用、1つが
エージェント用という2つの入力待ち行列のキューメモ
リ21がある。キャッシュ入力待ち行列のキューメモリ
21で待機中のパケット又はエージェントは、最初に来
たものが最初にサービスされること(FCFS)を基準
にして処理される。すべての種類のエージェントの処理
時間は1エージェント当り2ミリ秒で同一であるが、パ
ケットの処理時間は0に設定される。2つの入力待ち行
列のキューメモリ21から出現するパケット及びエージ
ェントは、その宛先ノード及びルーチング確立に応じて
出力バッファメモリ23の一方に割り当てられる。それ
から、WFQアルゴリズムが、出力バッファ内でのパケ
ット及びエージェントの伝送順序を決定する。ネットワ
ーク内のすべてのバッファの容量は無限であるため、パ
ケット及びエージェントは絶対に失われない。
【0102】ユーザ要求は、ポアソンプロセスに従って
各ノードに到着し、2つの帯域幅の必要条件(リソース
の1単位と3単位)の要求到着率(λ)は同一である。
各ユーザ要求の宛先ノードは、ネットワーク上で均一に
選択される。リソースが1単位と3単位という帯域幅の
必要条件があるユーザ要求のパケット発生率は、それぞ
れ毎秒37パケットと毎秒110パケットである。ただ
し、すべてのリアルタイムフローは、リーキーバケット
フィルタを用いてネットワーク内に注入される前に整形
され、その場合トークンバケット率及びピーク率は必要
なフローの帯域幅に等しく、トークンバケットサイズ
(Bsize)及び最大パケットサイズ(Lma x)は204
8バイトに設定される。フローあたりのパケット総数
は、[1,100]の範囲内で均一に分布される。本実
施形態のルーチングシステムの効率はパスの寿命に大幅
に依存しているため、我々は寿命を小さい値に設定し
た。1ノードあたりのデータグラム到着率は、毎秒37
パケットである。パケットのサイズ及びデータグラム
は、負の指数分布を有しており、平均サイズは512キ
ロバイトである。パケット及びデータグラムは、それら
が最大パケットサイズ(Lma x)より大きい場合には、
ネットワークの中に注入される前に破棄される。
【0103】次いで、本実施形態のルーチングシステム
における効率的な動作を示すシミュレーション結果につ
いて説明する。まず最初に、本実施形態のルーチングシ
ステムネットワーク上のすべてのリアルタイムフローの
エンドツーエンドの遅延時間及びエンドツーエンドの遅
延ジッタの最大値を示す。表2は、エンドツーエンドの
遅延時間に対する理論的な限界値(Dbound)及びエン
ドツーエンドの遅延ジッタに対する理論的な限界値(J
bound)と比較する。
【0104】
【表2】 ――――――――――――――――――――――――――――――――――― 理論限界値 本実施形態による最大値 ――――――― ―――――――――――――――― m=1 m=1 m=3 m=3 m=1 m=3 λ=1.47 λ=3.66 λ=1.47 λ=3.66 ――――――――――――――――――――――――――――――――――― 遅延時間(msec) 1103.04 491.37 240.83 248.59 190.53 182.48 遅延ジッタ(msec) 917.5 305.83 224.79 214.4 180.36 167.52 ―――――――――――――――――――――――――――――――――――
【0105】
【数10】
【数11】
【0106】ここでは、Bsizeはトークンバケットのサ
イズであり、Cはリンク伝送帯域幅であり、mは予約さ
れたリソースの数であり、NはWFQアルゴリズムによ
って分割されているリンク伝送帯域幅の被分割リンクの
数であり、Hmaxは最大ホップ数であり、Lmaxは最大パ
ケットサイズであり、propmaxはネットワークでの
最大リンク伝搬遅延時間である。表2から明らかなよう
に、本実施形態のルーチングシステムのネットワーク内
の遅延及び遅延ジッタの最大値は、要求到着率λに無関
係の理論上の限界値に比較して十分に小さい。これは、
本実施形態に係る拡張されたアントネットのルーチング
システムが最短実行可能パスを選択し、その結果、これ
らのパスでのホップ数及び合計のリンク伝搬遅延時間が
ともに小さいためである。ユーザは、必要とされている
帯域幅(リソース数)mとともにHmax及びpropmax
を指定すると、さらに小さい理論上の限界値を得ること
もできる。
【0107】次いで、本実施形態のルーチングシステム
における効率を示す。あらゆるリソースがつねに「使用
中」、「未使用」、又は「予約済みであるが未使用」と
いう3つの状態の1つを有していることが重要であり、
この場合、「予約済みであるが、未使用」という状態と
は、この状態のリソースが予約されているが、このリソ
ースを使用することにより確立されなければならないパ
スがまだ確立されていないことを示す。ここで、ネット
ワーク内のすべてのリソースの「使用中」の状態及び
「予約済みであるが未使用」の状態のパーセンテージに
基づいて本実施形態のルーチングシステムの効率を測定
した。「使用中」の状態の大きなパーセンテージは、リ
アルタイムフローの高いスループットを表しているが、
「予約済みであるが未使用」の小さいパーセンテージ
は、ネットワークでの小さいパスセットアップ失敗率及
び小さいエージェントの処理と伝送のオーバヘッドを示
している。
【0108】図14は、ネットワークB(|S|=1
4)が使用されるときのユーザ要求到着率λの関数とし
てリソース状態のパーセンテージを示す。図14は2つ
の重要な結果を示している。第1に、本実施形態のルー
チングシステムは、高いリソース利用率を達成した。ネ
ットワーク内のリソースの70%より多くが、ユーザ要
求到着率λが、ネットワークの伝送容量を超えたときに
も、リアルタイムフローを発信するために使用された。
第2に、本実施形態のルーチングシステムは、ユーザ要
求の間の競合を効率的に仲裁した。「予約済みであるが
未使用」の状態のパーセンテージ(すなわち、競合のた
めの未利用の予約済みリソースの率)は10%を下回っ
た。本実施形態のルーチングシステムがいかに効率的で
あろうと、すべてのリソースを完全に利用することは不
可能である。ユーザが要求するリソースは、ネットワー
ク上で均等に分散されていないため、いくつかの未使用
のリソースがつねに存在する。さらに、図14に示され
るように、リソース状態のパーセンテージは、リアルタ
イムフロー用リソースが、エージェントのために割り当
てられている帯域幅を含むという仮定に基づいて計算さ
れる。この仮定がない場合は、エージェントのためのさ
らに大きな帯域幅によって、リソース利用率がさらに大
きな値も取ることができるために、この仮定を行った。
【0109】次いで、本実施形態のルーチングシステム
がどのようにしてユーザ要求を制御したのかを詳細に示
す。ユーザ要求は、「未完了」の要求と「完了」の要求
という2つのグループに分けられた。この場合、「完
了」の要求とは、そのパスが観測時点で設定が完了して
いる要求を表す一方、「未完了」の要求とは、そのパス
が観察時に確立されなかった要求を表す。1回目のパス
セットアップ試行の結果に従って、さらに「完了」の要
求のグループを「遮断された」要求、「失敗」要求、及
び「成功」要求という3つのグループに分けた。遮断さ
れた要求は、本実施形態のルーチングシステムがリソー
スの要求のためにパスをセットアップしようとしたとき
に、ユーザが要求する対応する実行可能パス情報f−p
athが使用できなかったため、ユーザ要求に対するパ
ス確立が延期されたことを示しているが、失敗要求は、
その実行可能パス情報f−pathを利用できたが、ユ
ーザ要求に対するパス確立が失敗したことを示す。図1
5は、最初のユーザ要求がネットワークBに達してから
約5分間が経過したときに観測された、これらの4種類
のユーザ要求の総数を比較する。重要な点とは、失敗し
た要求が、大量の要求到着時にも、他の2つの「完了」
要求(遮断された要求と成功要求)の合計に比較して小
さいという点である。この結果は、パスキャッシュテー
ブル内のすべての実行可能パス情報f−pathの状態
が、ネットワーク内の現在のリンクの状態を反映してい
ることを示す。
【0110】次いで、本実施形態のルーチングシステム
のスケーラビリティに係るシミュレーション結果につい
て説明する。本実施形態のルーチングシステムの効率に
対するネットワークサイズの影響を評価した。ネットワ
ークサイズをノード数(|S|)だけで表すために、シ
ミュレーションで使用されている4つのネットワークの
平均度数及び平均リンク伝搬遅延時間をほぼ同じ値に設
定した(表1参照。)。ネットワークサイズであるノー
ド数|S|に応じて調整する必要がある、各ノードから
の前進蟻の発生率(Lrate)、及びすべての実行可能パ
スの最大ホップ数(Hmax)という2つのパラメータが
ある。ネットワーク内で同時並行的に実行されるすべて
の拡張されたアントネットのアルゴリズムは、表1に示
されている2つのパラメータの同じ値を使用する。
【0111】本実施形態のルーチングシステムの効率
は、特にノード数|S|が大きいときに前進蟻の発生率
rateに敏感である。図16は、リソース状態のパーセ
ンテージを、ユーザ要求が、λ=3.66個の要求数/
秒(大量にユーザ要求が到着している場合)でネットワ
ークBの各ノードに到着するときの蟻発生率Lrateの関
数として示している。前進蟻及び後退蟻の数は増加する
ので、蟻発生率Lrateが上昇するに従って、さらに頻繁
に実行可能パス情報f−pathは更新される。従っ
て、「使用中」の状態のパーセンテージは、蟻発生率L
rateが増加するにつれて、徐々に増加する。ただし、蟻
発生率Lrateが一定のしきい値を超えると、「使用中」
の状態のパーセンテージは壊滅的に減少し、「予約済み
であるが未使用」の状態のパーセンテージが優勢にな
る。この現象は、ネットワーク内の蟻の数がネットワー
クの処理容量の限度に達したために発生した。従って、
各ノード数|S|に蟻発生率Lrateの最適値が存在す
る。
【0112】図17は、4つのネットワークの蟻発生率
rateの最適値の範囲及び有効値の範囲を表示してお
り、この場合、蟻発生率Lrateの有効値は、λ=3.6
6個の要求数/秒であるときに、「使用中」の状態のパ
ーセンテージが55%を超えることを保証する。図17
は、ノード数|S|が上昇するに従い、最適値が減少
し、有効値の範囲が急速に減少することを示している。
従って、蟻発生率Lrateの値は、ノード数|S|が大き
いときに注意深く選択されなければならない。
【0113】ここで、リソース利用、スループット、及
び最適発生率が使用されるときのパス確立の待機時間に
対するノード数|S|の影響を説明する。
【0114】図18及び図19は、要求到着率λが非常
に大きいので「未完了」要求の率が30%になる(つま
り、ユーザ要求がネットワークの容量に近づく)ときの
ノード数|S|の関数として、それぞれリソース利用率
(すべてのリソースの「使用中」の状態のパーセンテー
ジ)、及びリアルタイムフローのスループットを示す。
これらの図18及び図19では、本実施形態のルーチン
グシステムと、リソース管理が行われていない本実施形
態のルーチングシステムとを比較する。ここではリソー
ス管理とは、上述の発信制御処理の機構における「第1
の説明」及び「第2の説明」に相当する。つまり、リソ
ース管理の行われていない本実施形態のルーチングシス
テムは、後退蟻エージェントが、リンク状態情報を搬送
せず、すべてのパスキャッシュのすべての実行可能パス
情報f−pathがつねに利用可能である。これらの図
18及び図19に示されるように、本実施形態のルーチ
ングシステムは、大型ネットワークにも適用でき、リソ
ース管理は、特にノード数|S|が大きいときに有効で
ある。本実施形態のルーチングシステムは、ネットワー
クDのリソースの55%を超えて利用可能で(ノード数
|S|=42のとき)、リソース管理を使用することに
より、リソース管理を行わない本実施形態のルーチング
システムのスループットは、ノード数|S|=42のと
き約65%改善することができる。
【0115】図20及び図21は、ユーザ要求数が2
0,000であるときのパス確立の平均待機時間を示
し、誤差の棒は、シミュレーションで使用されているネ
ットワークが、それぞれネットワークB(ノード数|S
|=14)及びネットワークD(ノード数|S|=4
2)であるときに同一のシミュレーションパラメータを
用いて、シミュレーションの5回のトライアルで観測さ
れた標準偏差を表している。これらの図20及び図21
は、要求到着率λが小さいときには、リソース管理を行
わない本実施形態のルーチングシステムの平均待機時間
が、本実施形態のルーチングシステムの平均待機時間よ
り小さいことを示す。その理由とは、ネットワーク内の
多くのリソースが空き(未使用)である場合にも、本実
施形態のルーチングシステムの発信制御処理が、ときに
は不必要にパスセットアップトライアルを遮ることがあ
るためである。従って、この場合のリソース管理は、そ
れ自体が1つの障害である。逆に、要求到着率λが大き
くなると、空きリソースの数は減少し、その結果、本実
施形態のルーチングシステムのリソース管理処理は、空
きリソースに対するユーザ要求の間の競合に対して効果
的になる。リソース管理処理が、ノード数|S|が大き
いときの平均待機時間を減少する上でも効果的であるこ
とに注意する。図21は、リソース管理を行わない場
合、待機時間が要求到着率λに伴い、急に増加すること
を示す。
【0116】さらに、本実施形態のルーチングシステム
の拡張性に係るシミュレーション結果について説明す
る。本実施形態のルーチングシステムは、ネットワーク
ユーザからの多様なQoSの必要条件をサポートする必
要がある。上述したように、各QoSの必要条件毎に、
特別な行動を持つ1つの前進蟻コロニーがネットワーク
内で利用する必要がある。その結果、本実施形態のルー
チングシステムによって提供されているQoSの必要条
件の数(本実施形態のルーチングシステムの拡張性)
は、ネットワークがどれほど多くの蟻コロニーを利用す
ることができるかにかかっている。
【0117】すべての種類の蟻の処理時間が同一である
ときに、リソース利用率を最大限にするすべての蟻コロ
ニーの全体の発生率の最適値が蟻コロニーの数に依存し
ていないと仮定する。最適な全体の発生率が使用され、
蟻コロニーの数が増える場合には、1つの蟻コロニーの
発生率(Lrate)が減少するので(図16参照。)リソ
ース利用率は徐々に減少する。これは、蟻コロニーの数
とリソース利用率のトレードオフである。図16は、最
適な全体の発生率が、毎秒2蟻(Lrate=毎秒1蟻)で
あるときを示す。図16から、蟻コロニーの数が20で
ある場合には、リソース利用率は約50%(Lrate=2
/20=毎秒0.1蟻)である。表3は、4つのネット
ワークの場合の蟻コロニーの数及びリソース利用率の関
係性を示している。
【0118】
【表3】 ――――――――――――――――――――――――――――――――――― リソース利用率(%) ――――――――――――――――――――――――――― 蟻コロニーの数 ネットワークA ネットワークB ネットワークC ネットワークD ――――――――――――――――――――――――――――――――――― 10 60.5 56.3 52.7 47.1 100 45.9 32.9 17.9 13.8 ―――――――――――――――――――――――――――――――――――
【0119】ノード数が多い大型のネットワーク(例え
ばネットワークD)のリソース利用率は、蟻コロニーの
数に影響を受けやすい。大型のネットワークで蟻コロニ
ーが多数の場合には、ネットワークの処理容量は拡大さ
れなければならない。
【0120】表3は、蟻のコロニー数が多くても10の
場合、リソース利用率は十分に大きいことを示す。この
シミュレーションでは、これが真であることを検証し
た。図22は、3つのケースのリソース利用率、M=
{1,3}、M={1,2,3,5}、及びM={1,
2,3,4,5,6}を比較する。蟻コロニーの数は、
集合M(|M|)の数に等しい。これら3つのケースの
全体の発生率は、同じ最適値に設定され、すべての蟻の
処理時間は2ミリ秒で同一であり、必要とされているリ
ソースのすべての数の要求到着率λも同一である。図2
2は、リソース利用率が、蟻コロニーの数|M|が上昇
するにつれて急に減少しないことを示している。
【0121】図23は、M={1,2,3,5}及びネ
ットワークB(ノード数|S|=14)が使用されると
きのパス確立の待機時間を示す。図20及び図23か
ら、ケースM={1,2,3,5}の場合にはリソース
管理処理がより効果的であることは明らかである。これ
は、さらに大きい帯域幅の必要条件(つまり、5単位)
は、未使用リソースの数にさらに急激な変化を生じさせ
るためである。
【0122】以上説明したように、本実施形態に係るシ
ミュレーション結果は以下のように要約される。 (1)効率:ネットワーク内のノード数が14であった
とき、リソース利用率は70%を超え、未利用の予約済
みリソースの率は10%を下回り、失敗要求のパーセン
テージは小さかった。 (2)スケーラビリティ:各ネットワークサイズに最適
蟻発生率があった。大型ネットワークのリソース利用率
は、蟻発生率に敏感であった。ネットワーク内のノード
数が42であったとき、リソース利用率は55%を超え
た。リソース管理は、パス確立の平均待機時間を減少す
る上で、及び特にネットワークサイズが大きく、ユーザ
要求到着率が高いときに、リアルタイムフローのスルー
プットを高める上で有効であった。 (3)拡張性:本実施形態のルーチングシステムによっ
てサポートされるQoS要件の数は、ネットワーク内の
蟻コロニーの数に等しかった。大型ネットワークが、多
数の蟻コロニーを利用するのは困難であった。しかしな
がら、コロニーの数が多くとも10であったときに、リ
ソース利用率は十分に大きかった。ユーザが、さらに大
きい帯域幅を要求したので、リソース管理は、平均待機
時間を減少する上でより有効になった。
【0123】以上説明したように、本実施形態によれ
ば、従来例のアントネットにおいて、QoSルーチング
処理、リソース管理処理及び発信制御処理を併用して実
行することにより、以下の特有の効果を奏する。 (1)各ノードで、宛先ノードとリソース数と最大ホッ
プ数との組み合わせに対して、実行可能なパスのノード
のシーケンスであるルート情報である実行可能パス情報
f−pathと、それが現在有効であるか否かを示す有
効フラグとを格納するパスキャッシュテーブルを備え、
すべての後退蟻エージェントは各ノードを離れるたびに
当該ノードの出リンクにおける未使用のリソース情報を
保持して伝送し、すべての後退蟻エージェントが各ノー
ドに到着するたびに、後退蟻エージェントが保持する隣
接するノードの出リンクにおける未使用のリソース情報
に基づいて上記実行可能パス情報f−pathを更新す
る。また、発信通信端末からの発信要求とは独立にかつ
定期的に必要なQoSを保持した前進蟻エージェントを
宛先ノードに送信し、各ノードでリソース数と最大ホッ
プ数の少なくとも一方のQoSの必要条件が満たされな
いとき、当該前進蟻エージェントを廃棄する。従って、
後退蟻エージェントによるパスキャッシュテーブルの更
新により、最新の情報をパスキャッシュテーブルに格納
することができ、また、上記前進蟻エージェントの廃棄
により、一定のQoSを保証してパケットの伝送を行う
ことができる。 (2)また、各ノードでリソース管理テーブルを備え、
リソース予約用前進エージェントFrsvを用いて実行可
能パス情報に沿って各ノードでリソース予約を行った
後、所定のQoSの必要条件が満たされるパスでリソ−
ス予約ができたときに、リソース予約用後退エージェン
トBrsvを用いてその旨を発信ノードを介して発信通信
端末に通知し、これに応答してデータ伝送パケットを発
信通信端末からリソース予約されたパスを介して着信通
信端末に向かって伝送し、その伝送が完了したとき、リ
ソース開放用後退エージェントを用いて各ノードにおけ
るリソース予約を開放する。従って、各ノードでこのよ
うにリソース管理処理を実行したので、従来例に比較し
てリソース利用率を高めることができる。 (3)さらに、発信ノードに接続された通信端末からの
発信要求時において上記リソース予約用前進エージェン
トを送信する前に、パスキャッシュメモリ16に格納さ
れた実行可能パス情報を参照して、宛先ノードへのパス
が上記有効フラグにより現在有効であって実行可能であ
るときのみリソース予約用前進エージェントを送信する
ことにより発信制御を行う。従って、発信ノード側でパ
ケット発信を有効的に制御してネットワークにおけるス
ループットを高めることができる。特に、ユーザ要求数
が比較的高いとき、ネットワークのノード数が多いと
き、もしくは未使用のリソースの数が急激に変化すると
きに、有効的にリソースの管理を行うことができるの
で、従来例に比較してリソース利用率を高めることがで
き、これにより、ネットワーク全体のスループットを高
めることができる。
【0124】
【発明の効果】以上詳述したように本発明に係るルータ
装置の制御方法又は制御装置によれば、複数のノードか
ら構成されるパケット伝送ネットワークを介して発信ノ
ードから宛先ノードに向けてパケットを送信する場合
に、パケットを自局ノードから隣接ノードに、各隣接ノ
ードに対するルーチング確率を含むルーチングテーブル
を用いてルーチングし、かつ蟻エージェントを用いてア
ントネットアルゴリズムに基づいて上記ルーチングテー
ブルを学習により構築するルータ装置の制御方法又は制
御装置において、各ノードにおいて、宛先ノードとサー
ビス品質との組み合わせに対して、実行可能なパスのノ
ードのシーケンスであるルート情報である実行可能パス
情報と、それが現在有効であるか否かを示す有効フラグ
とを格納するパスキャッシュテーブルメモリを備え、発
信ノードに接続された通信端末からの発信要求時とは独
立にかつ定期的に、ランダムに決定されたサービス品質
を保持する前進蟻エージェントを発信ノードから宛先ノ
ードに向けて送信した後、宛先ノードで前進蟻エージェ
ントを受信したとき後退蟻エージェントを発信ノードに
返信し、各ノードにおいて前進蟻エージェントを受信し
たときに当該前進蟻エージェントにより形成されたパス
が当該前進蟻エージェントが保持するサービス品質を満
たさないと判断したときに当該前進蟻エージェントを廃
棄して後退蟻エージェントを返信することを中止し、各
ノードから後退蟻エージェントを送信するときに当該ノ
ードの出リンクにおけるサービス品質の情報を保持して
送信し、発信ノードを含む各ノードで後退蟻エージェン
トを受信するときに当該後退蟻エージェントが保持する
隣接するノードの出リンクにおけるサービス品質の情報
に基づいて上記パスキャッシュテーブルメモリにおける
実行可能パス情報を更新する。従って、後退蟻エージェ
ントによるパスキャッシュテーブルの更新により、最新
の情報をパスキャッシュテーブルに格納することがで
き、また、上記前進蟻エージェントの廃棄により、一定
のQoSを保証してパケットの伝送を行うことができ
る。
【0125】また、上記ルータ装置の制御方法又は制御
装置において、各ノードにおいて出リンクの各リソース
毎にリソース予約されているか否かを含むリソース管理
テーブルを格納するリソース管理テーブルメモリを備
え、発信ノードに接続された通信端末からの発信要求時
に、上記発信通信端末からパケットを送信するときに必
要なサービス品質を受信し、受信されたサービス品質を
保持するリソース予約用前進エージェントを発信ノード
から宛先ノードに向けて送信し、当該リソース予約用前
進エージェントは上記実行可能パス情報に沿って各ノー
ドを通過するときに上記リソース管理テーブルにおいて
リソースを予約するように更新し、宛先ノードで当該リ
ソース予約用前進エージェントを受信したときリソース
予約用後退エージェントを発信ノードに返信し、上記リ
ソース予約用前進エージェントによりリソースが予約さ
れたパスを介して上記実行可能パス情報を用いて発信ノ
ードから宛先ノードに向けてパケットを伝送し、当該パ
ケットの伝送が完了したとき、宛先ノードは発信ノード
に向けて、リソース開放用後退エージェントを送信する
ことにより、当該リソース開放用後退エージェントによ
り上記リソース管理テーブルにおけるリソースの予約を
開放する。従って、各ノードでこのようにリソース管理
処理を実行したので、従来例に比較してリソース利用率
を高めることができる。
【0126】さらに、上記ルータ装置の制御方法又は制
御装置において、発信ノードに接続された通信端末から
の発信要求時において上記リソース予約用前進エージェ
ントを送信する前に、上記パスキャッシュメモリに格納
された実行可能パス情報を参照して、宛先ノードへのパ
スが上記有効フラグにより現在有効であって実行可能で
あるときのみ上記リソース予約用前進エージェントを送
信することにより発信制御を行う。従って、発信ノード
側でパケット発信を有効的に制御してネットワークにお
けるスループットを高めることができる。特に、ユーザ
要求数が比較的高いとき、ネットワークのノード数が多
いとき、もしくは未使用のリソースの数が急激に変化す
るときに、有効的にリソースの管理を行うことができる
ので、従来例に比較してリソース利用率を高めることが
でき、これにより、ネットワーク全体のスループットを
高めることができる。
【図面の簡単な説明】
【図1】 本発明に係る第1の実施形態である減衰法処
理を含むルーチング処理を実行するルータ装置100の
全体構成を示すブロック図である。
【図2】 本発明に係る第1の実施形態で用いられるア
ントネットを用いたルーチング処理に基づいて、ノード
sから宛先ノードdにパケットを送信するときの前進蟻
及び後退蟻の動きを示す図である。
【図3】 本発明に係る第1の実施形態で用いられるア
ントネットアルゴリズムの前進蟻及び後退蟻のパケット
フォーマットを示す図である。
【図4】 図1のルータ装置100を備えたノードkに
よって実行されるルーチング処理を示すフローチャート
である。
【図5】 図4のサブルーチンであるステップS5の後
退蟻ルーチング処理を示すフローチャートである。
【図6】 図4のサブルーチンであるステップS6の前
進蟻ルーチング処理の第1の部分を示すフローチャート
である。
【図7】 図4のサブルーチンであるステップS6の前
進蟻ルーチング処理の第2の部分を示すフローチャート
である。
【図8】 図6のサブルーチンであるステップS23の
後退蟻送信処理を示すフローチャートである。
【図9】 図4のサブルーチンであるステップS8のパ
ケットルーチング処理を示すフローチャートである。
【図10】 図4のルーチング処理に対する割込処理で
ある前進蟻送信処理を示すフローチャートである。
【図11】 図1のルータ装置100の内部構造を示す
ブロック図である。
【図12】 本実施形態においてリソース予約のユーザ
要求(信号)Requestを発信したときのリソース
予約の処理フローである。
【図13】 本実施形態のシミュレーションにおいて用
いる4つのネットワークのトポロジーを示す図であっ
て、(a)はネットワークAのトポロジーを示し、
(b)はネットワークBのトポロジーを示し、(c)は
ネットワークCのトポロジーを示し、(d)はネットワ
ークDのトポロジーを示す。
【図14】 本実施形態のシミュレーション結果であっ
て、ネットワークBにおける要求到着率λに対するリソ
ースの状態の割合を示すグラフである。
【図15】 本実施形態のシミュレーション結果であっ
て、ネットワークBにおける要求到着率λに対するユー
ザ要求(信号)の状態数を示すグラフである。
【図16】 本実施形態のシミュレーション結果であっ
て、ネットワークB(要求到着率λ=3.66[要求数
/秒])における蟻発生率Lrateに対するリソースの状
態の割合を示すグラフである。
【図17】 本実施形態のシミュレーション結果であっ
て、各ネットワークにおけるノード数に対する蟻発生率
rateを示すグラフである。
【図18】 本実施形態のシミュレーション結果であっ
て、各ネットワークにおけるノード数に対するリソース
の利用率を示すグラフである。
【図19】 本実施形態のシミュレーション結果であっ
て、各ネットワークにおけるノード数に対するスループ
ットを示すグラフである。
【図20】 本実施形態のシミュレーションであって、
ネットワークB(ノード数|S|=14、ユーザ要求数
=20,000)における要求到着率λに対する平均待
機時間を示すグラフである。
【図21】 本実施形態のシミュレーションであって、
ネットワークD(ノード数|S|=42、ユーザ要求数
=20,000)における要求到着率λに対する平均待
機時間を示すグラフである。
【図22】 本実施形態のシミュレーションであって、
ネットワークB(ノード数|S|=14)における1ノ
ード当りの要求到着率λに対するリソースの利用率を示
すグラフである。
【図23】 本実施形態のシミュレーションであって、
蟻コロニーの数の集合M={1,2,3,5}及びネッ
トワークB(ノード数|S|=14)における要求到着
率λに対する平均待機時間を示すグラフである。
【符号の説明】
10…コントローラ、 11…プログラムROM、 12…ワーキングRAM、 13a,13b…ルーチングテーブルメモリ、 14…ネットワークノードメモリ、 15…トリップ時間統計データメモリ、 16…パスキャッシュテーブルメモリ、 17…リソース管理テーブル、 20−0乃至20−M…入力インターフェース、 21…キューメモリ、 22…データスイッチ、 23−0乃至23−M…出力バッファメモリ、 24−0乃至24−M…出力インターフェース、 100…ルータ装置、 A1乃至AM…ノード、 CT1…ローカル通信端末。
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K030 GA03 GA08 HB14 HB28 HD03 KA05 LB02 LB05 LC09 LC18 9A001 BB01 BB03 BB04 CC07 GG05 GG19 GG22 HH05 HH07 JJ25 KK17 KK24 KK31 KK37

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 複数のノードから構成されるパケット伝
    送ネットワークを介して発信ノードから宛先ノードに向
    けてパケットを送信する場合に、パケットを自局ノード
    から隣接ノードに、各隣接ノードに対するルーチング確
    率を含むルーチングテーブルを用いてルーチングし、か
    つ蟻エージェントを用いてアントネットアルゴリズムに
    基づいて上記ルーチングテーブルを学習により構築する
    ルータ装置の制御方法において、 各ノードにおいて、宛先ノードとサービス品質との組み
    合わせに対して、実行可能なパスのノードのシーケンス
    であるルート情報である実行可能パス情報と、それが現
    在有効であるか否かを示す有効フラグとを格納するパス
    キャッシュテーブルメモリを備え、 発信ノードに接続された通信端末からの発信要求時とは
    独立にかつ定期的に、ランダムに決定されたサービス品
    質を保持する前進蟻エージェントを発信ノードから宛先
    ノードに向けて送信した後、宛先ノードで前進蟻エージ
    ェントを受信したとき後退蟻エージェントを発信ノード
    に返信し、各ノードにおいて前進蟻エージェントを受信
    したときに当該前進蟻エージェントにより形成されたパ
    スが当該前進蟻エージェントが保持するサービス品質を
    満たさないと判断したときに当該前進蟻エージェントを
    廃棄して後退蟻エージェントを返信することを中止し、
    各ノードから後退蟻エージェントを送信するときに当該
    ノードの出リンクにおけるサービス品質の情報を保持し
    て送信し、発信ノードを含む各ノードで後退蟻エージェ
    ントを受信するときに当該後退蟻エージェントが保持す
    る隣接するノードの出リンクにおけるサービス品質の情
    報に基づいて上記パスキャッシュテーブルメモリにおけ
    る実行可能パス情報を更新することを特徴とするルータ
    装置の制御方法。
  2. 【請求項2】 請求項1記載のルータ装置の制御方法に
    おいて、 上記サービス品質は、少なくともリソース数を含み、 各ノードにおいて前進蟻エージェントを受信したとき
    に、出リンクにおける未使用リソース数が必要なリソー
    ス数を下回らないリンクだけを使用し、各ノードにおい
    てすべての出リンクがリソースの必要条件を満たさない
    ために、前進蟻エージェントが次のホップのノードを選
    択できないとき、もしくは、前進蟻エージェントが少な
    くとも同一のノードを2回通過したとき、当該前進蟻エ
    ージェントにより形成されたパスが当該前進蟻エージェ
    ントが保持するサービス品質を満たさないと判断して当
    該前進蟻エージェントを廃棄して後退蟻エージェントを
    返信することを中止することを特徴とするルータ装置の
    制御方法。
  3. 【請求項3】 請求項1記載のルータ装置の制御方法に
    おいて、 上記サービス品質は、少なくとも最大ホップ数を含み、 各ノードにおいて前進蟻エージェントを受信したとき
    に、当該前進蟻エージェントが伝送することにより計数
    したホップ数が上記最大ホップ数を越えるときに、当該
    前進蟻エージェントにより形成されたパスが当該前進蟻
    エージェントが保持するサービス品質を満たさないと判
    断して当該前進蟻エージェントを廃棄して後退蟻エージ
    ェントを返信することを中止することを特徴とするルー
    タ装置の制御方法。
  4. 【請求項4】 請求項1記載のルータ装置の制御方法に
    おいて、 上記サービス品質は、少なくともリソース数及び最大ホ
    ップ数を含み、 各ノードにおいて前進蟻エージェントを受信したとき
    に、出リンクにおける未使用リソース数が、必要なリソ
    ース数を下回らないリンクだけを使用し、各ノードにお
    いてすべての出リンクがリソースの必要条件を満たさな
    いために、前進蟻エージェントが次のホップのノードを
    選択できないとき、前進蟻エージェントが少なくとも同
    一のノードを2回通過したとき、もしくは、各ノードに
    おいて前進蟻エージェントを受信したときに、当該前進
    蟻エージェントが伝送することにより計数したホップ数
    が上記最大ホップ数を越えるときに、当該前進蟻エージ
    ェントにより形成されたパスが当該前進蟻エージェント
    が保持するサービス品質を満たさないと判断して当該前
    進蟻エージェントを廃棄して後退蟻エージェントを返信
    することを中止することを特徴とするルータ装置の制御
    方法。
  5. 【請求項5】 請求項1乃至4のうちの1つに記載のル
    ータ装置の制御方法において、 各ノードにおいて出リンクの各リソース毎にリソース予
    約されているか否かを含むリソース管理テーブルを格納
    するリソース管理テーブルメモリを備え、 発信ノードに接続された通信端末からの発信要求時に、
    上記発信通信端末からパケットを送信するときに必要な
    サービス品質を受信し、受信されたサービス品質を保持
    するリソース予約用前進エージェントを発信ノードから
    宛先ノードに向けて送信し、当該リソース予約用前進エ
    ージェントは上記実行可能パス情報に沿って各ノードを
    通過するときに上記リソース管理テーブルにおいてリソ
    ースを予約するように更新し、宛先ノードで当該リソー
    ス予約用前進エージェントを受信したときリソース予約
    用後退エージェントを発信ノードに返信し、上記リソー
    ス予約用前進エージェントによりリソースが予約された
    パスを介して上記実行可能パス情報を用いて発信ノード
    から宛先ノードに向けてパケットを伝送し、当該パケッ
    トの伝送が完了したとき、宛先ノードは発信ノードに向
    けて、リソース開放用後退エージェントを送信すること
    により、当該リソース開放用後退エージェントにより上
    記リソース管理テーブルにおけるリソースの予約を開放
    することを特徴とするルータ装置の制御方法。
  6. 【請求項6】 請求項5記載のルータ装置の制御方法に
    おいて、 発信ノードに接続された通信端末からの発信要求時にお
    いて上記リソース予約用前進エージェントを送信する前
    に、上記パスキャッシュメモリに格納された実行可能パ
    ス情報を参照して、宛先ノードへのパスが上記有効フラ
    グにより現在有効であって実行可能であるときのみ上記
    リソース予約用前進エージェントを送信することにより
    発信制御を行うことを特徴とするルータ装置の制御方
    法。
  7. 【請求項7】 複数のノードから構成されるパケット伝
    送ネットワークを介して発信ノードから宛先ノードに向
    けてパケットを送信する場合に、パケットを自局ノード
    から隣接ノードに、各隣接ノードに対するルーチング確
    率を含むルーチングテーブルを用いてルーチングし、か
    つ蟻エージェントを用いてアントネットアルゴリズムに
    基づいて上記ルーチングテーブルを学習により構築する
    制御手段を備えたルータ装置の制御装置において、 上記制御手段は、各ノードにおいて、宛先ノードとサー
    ビス品質との組み合わせに対して、実行可能なパスのノ
    ードのシーケンスであるルート情報である実行可能パス
    情報と、それが現在有効であるか否かを示す有効フラグ
    とを格納するパスキャッシュテーブルメモリを備え、 上記制御手段は、発信ノードに接続された通信端末から
    の発信要求時とは独立にかつ定期的に、ランダムに決定
    されたサービス品質を保持する前進蟻エージェントを発
    信ノードから宛先ノードに向けて送信した後、宛先ノー
    ドで前進蟻エージェントを受信したとき後退蟻エージェ
    ントを発信ノードに返信し、各ノードにおいて前進蟻エ
    ージェントを受信したときに当該前進蟻エージェントに
    より形成されたパスが当該前進蟻エージェントが保持す
    るサービス品質を満たさないと判断したときに当該前進
    蟻エージェントを廃棄して後退蟻エージェントを返信す
    ることを中止し、各ノードから後退蟻エージェントを送
    信するときに当該ノードの出リンクにおけるサービス品
    質の情報を保持して送信し、発信ノードを含む各ノード
    で後退蟻エージェントを受信するときに当該後退蟻エー
    ジェントが保持する隣接するノードの出リンクにおける
    サービス品質の情報に基づいて上記パスキャッシュテー
    ブルメモリにおける実行可能パス情報を更新することを
    特徴とするルータ装置の制御装置。
  8. 【請求項8】 請求項7記載のルータ装置の制御装置に
    おいて、 上記サービス品質は、少なくともリソース数を含み、 上記制御手段は、各ノードにおいて前進蟻エージェント
    を受信したときに、出リンクにおける未使用リソース数
    が必要なリソース数を下回らないリンクだけを使用し、
    各ノードにおいてすべての出リンクがリソースの必要条
    件を満たさないために、前進蟻エージェントが次のホッ
    プのノードを選択できないとき、もしくは、前進蟻エー
    ジェントが少なくとも同一のノードを2回通過したと
    き、当該前進蟻エージェントにより形成されたパスが当
    該前進蟻エージェントが保持するサービス品質を満たさ
    ないと判断して当該前進蟻エージェントを廃棄して後退
    蟻エージェントを返信することを中止することを特徴と
    するルータ装置の制御装置。
  9. 【請求項9】 請求項7記載のルータ装置の制御装置に
    おいて、 上記サービス品質は、少なくとも最大ホップ数を含み、 上記制御手段は、各ノードにおいて前進蟻エージェント
    を受信したときに、当該前進蟻エージェントが伝送する
    ことにより計数したホップ数が上記最大ホップ数を越え
    るときに、当該前進蟻エージェントにより形成されたパ
    スが当該前進蟻エージェントが保持するサービス品質を
    満たさないと判断して当該前進蟻エージェントを廃棄し
    て後退蟻エージェントを返信することを中止することを
    特徴とするルータ装置の制御装置。
  10. 【請求項10】 請求項7記載のルータ装置の制御装置
    において、 上記サービス品質は、少なくともリソース数及び最大ホ
    ップ数を含み、 上記制御手段は、各ノードにおいて前進蟻エージェント
    を受信したときに、出リンクにおける未使用リソース数
    が、必要なリソース数を下回らないリンクだけを使用
    し、各ノードにおいてすべての出リンクがリソースの必
    要条件を満たさないために、前進蟻エージェントが次の
    ホップのノードを選択できないとき、前進蟻エージェン
    トが少なくとも同一のノードを2回通過したとき、もし
    くは、各ノードにおいて前進蟻エージェントを受信した
    ときに、当該前進蟻エージェントが伝送することにより
    計数したホップ数が上記最大ホップ数を越えるときに、
    当該前進蟻エージェントにより形成されたパスが当該前
    進蟻エージェントが保持するサービス品質を満たさない
    と判断して当該前進蟻エージェントを廃棄して後退蟻エ
    ージェントを返信することを中止することを特徴とする
    ルータ装置の制御装置。
  11. 【請求項11】 請求項7乃至10のうちの1つに記載
    のルータ装置の制御装置において、 各ノードにおいて出リンクの各リソース毎にリソース予
    約されているか否かを含むリソース管理テーブルを格納
    するリソース管理テーブルメモリを備え、 上記制御手段は、発信ノードに接続された通信端末から
    の発信要求時に、上記発信通信端末からパケットを送信
    するときに必要なサービス品質を受信し、受信されたサ
    ービス品質を保持するリソース予約用前進エージェント
    を発信ノードから宛先ノードに向けて送信し、当該リソ
    ース予約用前進エージェントは上記実行可能パス情報に
    沿って各ノードを通過するときに上記リソース管理テー
    ブルにおいてリソースを予約するように更新し、宛先ノ
    ードで当該リソース予約用前進エージェントを受信した
    ときリソース予約用後退エージェントを発信ノードに返
    信し、上記リソース予約用前進エージェントによりリソ
    ースが予約されたパスを介して上記実行可能パス情報を
    用いて発信ノードから宛先ノードに向けてパケットを伝
    送し、当該パケットの伝送が完了したとき、宛先ノード
    は発信ノードに向けて、リソース開放用後退エージェン
    トを送信することにより、当該リソース開放用後退エー
    ジェントにより上記リソース管理テーブルにおけるリソ
    ースの予約を開放することを特徴とするルータ装置の制
    御装置。
  12. 【請求項12】 請求項11記載のルータ装置の制御装
    置において、 上記制御手段は、発信ノードに接続された通信端末から
    の発信要求時において上記リソース予約用前進エージェ
    ントを送信する前に、上記パスキャッシュメモリに格納
    された実行可能パス情報を参照して、宛先ノードへのパ
    スが上記有効フラグにより現在有効であって実行可能で
    あるときのみ上記リソース予約用前進エージェントを送
    信することにより発信制御を行うことを特徴とするルー
    タ装置の制御装置。
JP29094099A 1999-10-13 1999-10-13 ルータ装置の制御方法及び制御装置 Pending JP2001111609A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29094099A JP2001111609A (ja) 1999-10-13 1999-10-13 ルータ装置の制御方法及び制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29094099A JP2001111609A (ja) 1999-10-13 1999-10-13 ルータ装置の制御方法及び制御装置

Publications (1)

Publication Number Publication Date
JP2001111609A true JP2001111609A (ja) 2001-04-20

Family

ID=17762472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29094099A Pending JP2001111609A (ja) 1999-10-13 1999-10-13 ルータ装置の制御方法及び制御装置

Country Status (1)

Country Link
JP (1) JP2001111609A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251293A (ja) * 2006-03-14 2007-09-27 Mitsubishi Electric Corp 通信ルート決定方法
JP2021136688A (ja) * 2020-02-24 2021-09-13 四零四科技股▲ふん▼有限公司Moxa Inc. タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251293A (ja) * 2006-03-14 2007-09-27 Mitsubishi Electric Corp 通信ルート決定方法
JP4668098B2 (ja) * 2006-03-14 2011-04-13 三菱電機株式会社 通信ルート決定方法
JP2021136688A (ja) * 2020-02-24 2021-09-13 四零四科技股▲ふん▼有限公司Moxa Inc. タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法
JP7089606B2 (ja) 2020-02-24 2022-06-22 四零四科技股▲ふん▼有限公司 タイムセンシティブネットワーキングネットワークにおけるストリームのルーティングパスを処理するデバイス及び方法

Similar Documents

Publication Publication Date Title
US11431645B2 (en) Method and apparatus for handling network congestion, and system
JP2783469B2 (ja) パケット伝送ネットワークにおけるウィンドウサイズの調整方法及び装置
US6958998B2 (en) Traffic management in packet-based networks
JPH0690255A (ja) データネットワーク輻輳制御方法
AU2006223347B2 (en) Traffic stream admission control in a mesh network
US20220407808A1 (en) Service Level Adjustment Method, Apparatus, Device, and System, and Storage Medium
CN103532877B (zh) 一种保障无线传感器网络信息实时传输的调度方法
CN109618375B (zh) 基于业务优先级和信道中断概率的uav自组网时隙调度方法
Oida et al. An agent-based routing system for QoS guarantees
CN113543209B (zh) 一种基于令牌调度的拥塞控制方法及装置
JP4105955B2 (ja) 分散型共有メモリパケットスイッチ
JPH1185632A (ja) データ通信方法
Oida et al. ARS: an efficient agent-based routing system for QoS guarantees
CN114567915A (zh) 基于改进等价多路由的最佳路径规划方法及系统
JP2001111609A (ja) ルータ装置の制御方法及び制御装置
JP2986784B1 (ja) ルータ装置の制御方法及び制御装置
JP2002044136A (ja) マルチプロトコルネットワーク用のフロー制御装置
Malarvizhi et al. RETRACTED ARTICLE: Dynamic scheduling and congestion control for minimizing delay in multihop wireless networks
JP2005072682A (ja) 通信システム、通信方法、網構成管理ノード、サービス制御ノード及びアクセス装置
Zhong et al. Research and Implementation of AOMDV Multipath Routing Protocol
KR100369562B1 (ko) 고속 통합 서비스망에서 wfq의 에뮬레이션을 통한 공정패킷 스케쥴링 방법 및 그 공정 패킷 스케쥴러
JP2004282728A (ja) トラヒックシェーピング方法及びトラヒックシェーピング装置
Tadrus et al. A QoS network routing algorithm using multiple pheromone tables
Pedro et al. Distributed routing path optimization for OBS networks based on ant colony optimization
US20070280685A1 (en) Method of Optimising Connection Set-Up Times Between Nodes in a Centrally Controlled Network