Comments
Description
Transcript
複数制約条件下でのパス経路計算 156081 晒谷 光一 [竹中研究室]
平成 18 年度卒業研究発表会(日本大学工学部情報工学科) No-10 複数制約条件下でのパス経路計算 Routing algorithm with multi constrained 156081 1 晒谷 光一 はじめに ① active ノードは previous active ノードに remove message を送信する。 ② remove message を受け取った active ノードは、自身 を active ノードに設定して、remove massage が来た リンクを、追加するリンクの候補から除外する。 近年、ビデオチャットや音声チャット、オンラインゲ ームなどのリアルタイムアプリケーションが急速に増加 している。これらのアプリケーションは、遅延や QoS 等 の厳しい制限をネットワークに要求する。 本稿では、まず DCLC(Delay Constrained Least Cost) 問題について述べ、この問題の解決手法として提案され た。DCUR(delay Constrained Unicast Routing) Algorithm について述べたのち、提案方式との有効性を 比較する。 2 S 1 ループ発生 2 1 1 1 Delay Constrained Least Cost Problem DCLC 問題は source ノードから destination ノードま での経路の遅延の合計が、遅延の制約条件を上回らない ように、cost の最小の経路を見つける問題で、NP-hard[2] である。 3 [竹中研究室] 1 3.2 DCUR アルゴリズム 4 経路構築アルゴリズム 提案方式 既存方式の DCUR は、経路探索の際すべての経路の探 索を行わない。このため、最適な経路の発見ができない 可能性がある。本提案では、この問題を解決するための 提案手法、Algorithm1 と Algorithm2 を提案する。 ① source ノードを active ノードに設定する。 ② active ノードの outgoing link で、最も link cost の低 いリンクを一つ選択して経路に加える。 ③ 経路に加えたリンク先のノードを active ノードに設 定する。 ④ 経路にリンクを追加した際、経路の合計が遅延の制約 条件を満たすか確認する。 <遅延の制約を満たす場合> ⑤ 経路構築アルゴリズム①~④を destination ノードが active ノードになるまで繰り返す。 <遅延の制約条件を満たさない場合> ⑤ active ノードを previous active ノードに設定し、制 約条件を上回ったリンクを、一時的に除外する。 ⑥ active ノードの outgoing link で最も link 遅延の低い リンクを active ノードに加える。 ⑦ active ノードに加えたリンク先のノードを active ノー ドに設定する。 ⑧ 経路構築アルゴリズム②~④を destination ノードが active ノードになるまで繰り返す。 3.1.2 DCUR の問題点 DCUR の問題点は、active ノードの outgoing link に 対して一つしか経路計算を行わない事である。このため、 経路探索の際すべての経路の探索を行うことが出来ない。 このため、発見された source ノードから destination ノ ードまでに構築された経路が必ずしも最適であるとは限 らない。 DCUR は DCLC 問題を解決するヒューリスティクな 手法の一つである。DCUR は、遅延が制限された中で、 cost が最小となる Unicast Routing を行う。 3.1.1 D 図 1 DCUR アルゴリズムループ発生例 Delay Constrained Unicast Routing 3.1 2 4.1 Algorithm1 ① ② ③ ④ ループ除去アルゴリズム DCUR アルゴリズムは、経路構築を行う際、outgoing link の中で、一つしか経路計算を行わない、このため、 DCUR アルゴリズムはループが発生する可能性がある。 この問題を解決するため、以下にループ除去するアルゴ リズムを示す。 コストをメトリックとした Dijkstra Algorithm を 用いて、shortest path tree を構築する。shortest path tree にリンクを追加する際、tree にリンクを 追加した時の経路が、遅延の制約条件を満たすかを 確認する。 制約を満たさない場合、Dijkstra Algorithm で追加 するリンクを除外する。 Destination に到達するまで①~②を繰り返す。 destination ノードまでの経路が構築できば、アル ゴリズムを終了する。しかし、①で destination ノ ードまでの経路が構築できなければ、経路情報とネ ットワークを計算前の最初の状態に戻す。 遅延をメトリックにして Dijkstra Algorithm を用 いて source-destination(以下、s-d)間に最短経路 を構築する。 4.1.1 Algorithm1 の特徴 Algorithm1 の特徴として、source ノードから、遅延を メトリックとした Dijkstra Algorithm を行うことによっ て、source ノードと destination ノードの間に遅延の制 約条件を満たす経路が存在すれば必ず発見することがで きる。 20 平成 18 年度卒業研究発表会 No-10 4.2 Algorithm2 3.5 3 ③ ④ ⑤ ⑥ ⑦ 4.2.1 3 Algorithm2の特徴 Algorithm1 では、経路が構築できない場合、遅延をメ トリックとした Dijkstra Algorithm を用い s-d 間に遅延 最小経路を構築する。Algorithm2 では、リンクを除外す る際に網の接続性の確認を加えることによって、網の接 続 性 を 保 ち 、 コ ス ト を メ ト リ ッ ク と し た Dijkstra Algorithm で s-d 間の経路を発見する可能性を高める。 5 シミュレーションによる評価 シミュレーション条件 z 網モデル:NSFNET (14 ノード 20 リンク) z Source ノード:ランダムに選択 z Destination ノード:source ノード以外からランダ ムに選択 リンクコスト:[0,1]でランダムな値 z z リンク遅延:[0,1]でランダムな値 z 遅延制約条件:任意の値 z リクエスト数:50000 件 Algorithm1 Algorithm2 DCUR 2 1.5 1 0.5 Algorithm1 Algorithm2 DCUR 2 1.5 1 0 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 delay_constrained 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 delay_constrained 図4 確立したパスに対する平均経路コスト 図5 確立したパスに対する平均経路遅延 2.5 2 1.5 Algorithm1 Algorithm2 1 0.5 0 0 0.4 0.8 1.2 1.6 2 2.4 2.8 3.2 3.6 delay_constrained 4 図 6 確立したパスに対する平均経路計算回数 図 3 について、Algorithm1 と Algorithm ともに同様に の結果を得た。両提案方式と DCUR アルゴリズムでは提 案方式の方がわずかに計算成功確立が高い。これは、提 案両方式は destinaiton ノードの孤立が発生したとき、 遅延をメトリックに s-d 間に遅延を最小とした経路を構 築するため、s-d 間に制約を満たす経路が存在する限り必 ず経路を発見できるのに対して、DCUR は孤立が発生し たときに経路構築要求が棄却されてしまうためである。 図 4,5 でも Algorithm1 と Algorithm2 の評価結果で、 ほとんど差は見られなかった。これは、計算成功確率が 同じ事から、Algorithm1 と Algorithm2 で同一の経路を 発見していることがわかる。DCUR アルゴリズムは、提 案方式が経路コストの合計を見ているのに対して、隣接 のリンクコストしか見ていない。このため、DCUR アル ゴリズムは遅延制約が緩い状況では、s-d 間に経路を構築 際、あえて遠回りをするような経路構築を行ってしまう 可能性がある。逆に遅延制約条件が厳しい状況では、迂 回する事がないため、提案方式と同じ経路を発見できる。 図 6 における計算回数とは、source ノードから経路構 築を行った回数を示す。Algorithm2 は Algorithm1 に比 べ網の接続性の確認を行い、source ノードから Reroute を行う。このため、Algorithm2 の方が、計算回数が多い。 この事から、Algorithm2 より Algorithm1 の方が有効で あると言える。 まとめ 本 稿 では 、 DCLC 問 題 の解 決 手法 で ある 、 DCUR Algorithm を紹介、その問題点を挙げ、その問題を解決 す る方式の提案と評価を行った。今後の予定として、 DCUR のシミュレーション評価を行い、提案方式と DCUR アルゴリズム性能を比較していきたい。 図 2 ネットワークモデル success_probability 2.5 0.5 6 100 90 80 70 60 50 40 30 average_delay 2.5 計算回数 ② コストをメトリックとした Dijkstra Algorithm を 用いて shortest path tree を構築する。shortest path tree にリンクを追加する際、tree にリンクを 追加した時の経路が、遅延制約条件を満たすかを確 認する。 遅延制約条件を満たす場合は、destination ノード までの経路が構築できれば、アルゴリズムを終了す る。構築できていない場合は①へ。 遅延制約条件を満たさない場合は、追加するリンク を除外する。リンクを除外する際、網の接続性の確 認を行う(接続性確認の方法を記述する)。 網の接続性が保たれる場合は、リンクを除外し①へ、 網の接続性が保たれない場合は⑤へ。 接続性の確認手法として、既に構築された tree をさ かのぼり、リンクを除外しても網の接続性が保たれ るリンクがある場合、該当リンクを除外する。そし て、経路情報を初期化し、①に戻る。 接続性が保たれるリンクがない場合は、ネットワー クと経路情報を計算前の最初の状態に戻し、⑦へ。 遅延をメトリックとした Dijkstra Algorithm を用 いて s-d 間に最短経路を構築する。 average_cost ① 参考文献 Algorithm1 Algorithm2 [1] Douglas S.Reeves and Hussein F.Salama,”A Distributed Algorithm for delay-Constrained unicast Routing”,IEEE//ACM TRANSACTION ON NETWORKING,Vlo.8,NO.2,APRIL 2000 [2] Xin Jin,Xiande Liu,Shiyuan Xiao,“An Effective Algorithm for delay Constrained Least Cost Unicast Routing”,IEEE//ACM TRANSACTION ON DCUR 20 10 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 delay_constrained 図 3 経路計算成功確率 21 NETWORKING,0-7803-8834,2005 22