JP4081113B2 - 経路選択方法、経路選択プログラムおよび経路選択装置 - Google Patents

経路選択方法、経路選択プログラムおよび経路選択装置 Download PDF

Info

Publication number
JP4081113B2
JP4081113B2 JP2005353282A JP2005353282A JP4081113B2 JP 4081113 B2 JP4081113 B2 JP 4081113B2 JP 2005353282 A JP2005353282 A JP 2005353282A JP 2005353282 A JP2005353282 A JP 2005353282A JP 4081113 B2 JP4081113 B2 JP 4081113B2
Authority
JP
Japan
Prior art keywords
node
finger
nodes
round trip
route selection
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 - Fee Related
Application number
JP2005353282A
Other languages
English (en)
Other versions
JP2007158907A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005353282A priority Critical patent/JP4081113B2/ja
Publication of JP2007158907A publication Critical patent/JP2007158907A/ja
Application granted granted Critical
Publication of JP4081113B2 publication Critical patent/JP4081113B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、経路選択方法、経路選択プログラムおよび経路選択装置に関する。
分散ハッシュテーブルのうち、Chordについて、Finger(短絡経路)を形成する仕組みが存在する。Fingerにより、ハッシュテーブル上の残り探索空間を1/n(nは2以上の整数)とでき、これによりO(logN)(Nはノード数)のホップ数での探索が可能になる。
従来技術として、
1)分散ハッシュテーブルの探索空間を削減するのに最適なノードをFingerに選択する(非特許文献1参照)、2)分散ハッシュテーブル上の一定範囲に存在する一定数のノードのうち、もっともRTTの小さいものをFingerに選択する(非特許文献2参照)、の2種類の方法が存在する。
特開2004−266796公報 I.Stoica,R.Morris,D.Karger,M.F.Kaashoek,andH.Balakrishnan.Chord:Ascalablepeer-to-peerlookupserviceforinternetapplications.InProceedingsofACMSIGCOMM,August2001. FrankDabek,JinyangLi,EmilSit,JamesRobertson,FransKaashoek,andRobertMorris.DesigningaDHTforlowlatencyandhighthrough-put.InProceedingsofthe1stUSENIXSymposiumonNetworkSys-temsDesignandImplementation(NSDI’04),SanFrancisco,California,March2004.
しかしながら、分散ハッシュテーブルの構築において、ネットワーク層の近傍性の軽視により高遅延なシステムができていた。
また、遅延を低減させるための仕組みの一つとしてプロトコル上許される範囲でRTTの短いノードを選択し、問い合わせにかかる時間を減少させる、という手段がある。
しかし、分散ハッシュテーブルの探索において最適でないノードを選択することによる問い合わせホップ数の期待値の増加の効果と、上記問い合わせにかかる時間の減少とを比べて、どちらが優位であるかは判断ができず、上記手段は単純にある数のノードをFinger候補として比較しもっとも小さいRTTのものを選択するのみであった。
従って、このFingerの選択によって選ばれた経路が最適であるという保証がない。特に、近くのFingerのRTTを最適化する際、探索空間の削減比の増分が大きくなる可能性があり、その評価が不十分であった。
本発明は、問い合わせを再帰解決するのにより適した経路を選択できるようにした経路選択方法、経路選択プログラムおよび経路選択装置を提供する。
本発明の一態様としての経路選択方法は、分散ハッシュネットワーク(分散ハッシュテーブルを構成する装置間で構築する論理的ネットワーク)におけるあるノードにおいて実行する経路選択方法であって、前記分散ハッシュネットワークにおけるノードの密度を推定するノード密度推定ステップと、前記分散ハッシュネットワークにおけるラウンドトリップタイムの平均値を推測する平均値推測ステップと、あらかじめ保持するフィンガーノードの情報を元にフィンガー候補ノードを順次選出するフィンガー候補選出ステップと、選出された前記フィンガー候補ノードに対するラウンドトリップタイムを計測する計測ステップと、前記選出されたフィンガー候補ノードをフィンガー経路として選択した場合における探索空間の残存サイズと、推定された前記ノードの密度と、推測された前記ラウンドトリップタイムの平均値とから、前記選択されたフィンガー候補ノードに対する問い合わせを行った後、探索が完了するまでに要する探索時間を予測する、予測ステップと、予測された前記探索時間と、計測された前記ラウンドトリップタイムとから求められる評価値を各前記選択されたフィンガー候補ノード間で比較し、最も評価の高いフィンガー候補ノードを新たなフィンガーノードとして選択するフィンガーノード選択ステップと、を備える。
本発明の一態様としての経路選択プログラムは、上記経路選択方法に記載の各ステップをコンピュータに実行させることを特徴とする。
本発明の一態様としての経路選択装置は、分散ハッシュネットワーク上のノードに搭載される経路選択装置であって、前記分散ハッシュネットワークにおけるノードの密度を推定するノード密度推定部と、前記分散ハッシュネットワークにおけるラウンドトリップタイムの平均値を推測する平均値推測部と、 あらかじめ保持するフィンガーノードの情報を元にフィンガー候補ノードを選出するフィンガー候補選出部と、選出された前記フィンガー候補ノードに対するラウンドトリップタイムを計測する計測部と、前記選出されたフィンガー候補ノードをフィンガー経路として選択した場合における探索空間の残存サイズと、推定された前記ノードの密度と、推測された前記ラウンドトリップタイムの平均値とから、前記選択されたフィンガー候補ノードに対する問い合わせ後、探索が完了するまでに要する探索時間を予測する予測部と、予測された前記探索時間と、計測された前記ラウンドトリップタイムとから求められる評価値を各前記選択されたフィンガー候補ノード間で比較し、最も評価の高いフィンガー候補ノードを新たなフィンガーノードとして選択するフィンガーノード選択部と、を備える。
本発明により、問い合わせを再帰解決するのにより適した経路を選択できる。
本発明はChordアルゴリズムを背景としている。Chordアルゴリズムについては、非特許文献2を参照されたい。以下では、まず本発明の要点を説明するに足る最低限の内容について説明する。
分散ハッシュテーブル(DHT:Distributed Hash Table)とは、Chordに代表されるアルゴリズムの総称で、ハッシュテーブルの機能を分散させ、大規模なデータ管理機構を実現させるものである。
分散ハッシュテーブルにおけるキー(鍵)の取り得る値域を空間に射影したものを、DHT空間と呼ぶ。Chordでは、160ビットのハッシュ関数(SHA-1)をキーの値域とし、これを1次元の閉じた数直線に射影する。この閉じた数直線は、本実施形態では上を0=2160 とし、下を2159 とする時計回りの座標を持つ円として表現する。
本実施形態において、ノードとは通信可能、かつデータ保存可能な計算機であり、分散ハッシュテーブルを形成するための基本構成要素である。多数のノードがネットワーク接続されて分散ハッシュネットワークが形成される。多数のノードが自律分散協調的に連携することにより誤りなくハッシュテーブルの機能が実現される。
ノードのDHT上の位置とは、DHT空間上に各ノードを射影した結果のキーの値を指す。実装上、ノードのIPアドレスの文字列などをハッシュ関数にかけた結果(ハッシュ値)をDHT上の位置として用いることが多い。また、DHT空間は各ノードのDHT上の位置により分割され、各ノードは自身の位置から一つ手前(本実施形態では反時計回り)のノードの位置までの間のデータを管理する。
Finger(フィンガー)とは、ノード間で作成する短絡経路のことである。各ノードは自身の前後のノードについてはお互いにお互いを教え合う(例えばノードに割り当てられたキーの値(ハッシュ値)、ノードのIPアドレスなどを教え合う)ことで分散したデータの取り扱いを可能にする。一方、前後のつながりのみにおいて数千・数万台のノードを接続することは、問い合わせに必要な時間がノードの台数に比例して大きくなることを意味し、現実的ではない。そこで、DHT空間をショートカットするための経路を各ノードが自律的に構成する。この経路をFingerと呼ぶ。
Fingerには添字が存在する。具体的には、Fingerは各ノードが、DHT空間上の半分、1/4、1/8、1/16‥‥‥先付近に存在するノードを予め互いの連携により調べておき、自分の位置からDHT空間を半分(半周)行ったところよりも先にあるデータは半分先のノードに、半分よりも手前だが1/4よりも向こうにあるデータは1/4向こうに位置するノードに、といった形で問い合わせを転送する。転送先でも半分、1/4、1/8‥‥‥といったFingerを用いてショートカットすることができるので、ノードの数が増えても再帰問い合わせの回数はそれほどは増えない(具体的にはノードの数をNとして、log2Nに比例する)。
以下、DHT空間上の半分から先の領域を担当するFingerを、Finger[159]、1/4から先の領域を担当するFingerをFinger[158]などと表現する。これは、自ノードの位置をsとして、Finger[i]は、s+2i を超えない範囲でできるだけ自ノードよりも遠い(s+2i に近い) 位置に存在するノードを意味する。
RTTとは、Round-Trip-Time(ラウンドトリップタイム)の略で、あるノードから別のノードまでの通信の往復にかかる時間である。
図1は、分散ハッシュネットワークの例を模式的に示す。
説明の簡単のため6つのノード(計算機)1〜6のみを示している。図中上側の円が160ビットのDHT空間を表しこのDHT空間上にノード1〜6が配置されている。図中下側は実際のネットワーク構造を示している。ノード1〜3は地理的(ネットワーク層的)に互いに近い距離に配置され、ノード4〜6も同様に地理的に互い近い距離に配置される。一方、DHT空間上ではノード1、2、4、3、5、6の順に配置され、ノード2〜6が比較的互いに近い距離に配置され、ノード1がノード2〜6から遠い距離に配置されている。ここでは、ノード1がノード4、3、5、6に順次再帰的に問い合わせを行って、ノード6から目的の情報(キーの値に対応する情報)を取得する例が示されている。ノード4はノード1のFingerノードに相当するとする。
図2は、ノードの構成を概略的に示すブロック図である。図3および図4はノードによる行われる処理の流れを示すフローチャートである。ノードによる処理は、図3に示す「Finger最適化処理」と、図4に示す「Finger[i]の最適化処理」との2つに分れている。前者は全体の処理であり、後者はサブルーチン(プログラム実装の場合)である。また、ノードによる処理は、この他に、Successor(サクセッサ)およびSuccessorList(サクセッサリスト)の最適化処理も存在する。
SuccessorとはDHT空間において自ノードの次に位置するノードである。また、各ノードは、Successorの故障時に備えるためと、問い合わせの最終ホップの効率化のために、別途定める台数のノードをSuccessorListとして保持する。SuccessorListはSuccessorの次のノード、その次のノード、といったふうに順次自ノードから見てDHT空間の順方向に位置するノードを選択する。なお、SuccessorListの台数は、logNに比例させるのが良いという研究結果があるが、とりあえず十分な数の定数でも構わない。
SuccessorおよびSuccessorListはノード起動時あるいはタイマ駆動により確認・更新される。詳細は非特許文献1に記載される。Successor情報およびSuccessorListは記憶部11に格納される。Successor情報はSuccessorのキーの値やIPアドレスの他、過去に通信を行った際に測定したRTTも含む。SuccessorListも同様に各ノードのキーの値やIPアドレスの他、過去に通信を行った際に測定したRTTも含む。記憶部11にはFinger情報も格納される。Finger情報は各Fingerノードのキーの値やIPアドレスの他、過去に通信を行った際に測定したRTTも含む。
図3を用いて、「Finger最適化処理」全体の処理について説明する。
Finger最適化処理は、DHTを構成する各ノードでタイマ等により起動される(Finger最適化処理開始)。この処理は、平均RTT推測部12が記憶部11から、現在のノードが持っているFinger情報や、Successor情報&SuccessorListなどからそれぞれのノードとのRTT(過去に測定した内容)を取得し、そこからネットワーク全体への平均RTTを推測する(S11)。具体的には、過去に測定したRTTの算術平均を取る。
次に、ノード密度推定部13が、Successor情報&SuccessorListを利用して、ノードの密度を推定する(S12)。ノードの密度の推定は具体的には次の通りである。Successor情報&SuccessorListによりノードがnノード先まで観測されていたとする。自ノードからnノード先のノードまでのDHT空間上の距離をdとしたときに、ノードの密度はn/dで表現できる。また、ノードの密度n/dを用いて、DHT空間上に存在するノードの数の推定値Nは2m×n/dと表される。
次に、それぞれのFingerについて図4に示す「Finger[i]の最適化処理」を行う。存在するFingerの添字[i]の最大のもの(通常はm-1(mが160の場合は159))から開始する(S13)。S13の詳細については後述する。i の処理が終了したら、i =i-1、つまり次に小さいiの処理を行う(S14のYES)。もし、より小さい添字を持つFingerが残っていなかったら(S14のNO)、処理を終了する(Finger最適化処理終了(sleep))。なお、全体の処理が終了した後、一定時間を経過後に再度「Finger最適化処理」は起動される。
さて、図4に示す「Finger[i]の最適化処理」について説明する。Finger[i]においては、正規のアルゴリズムで求めたFinger[i]ノード、およびこれに対して近傍性で優位になりうる複数のFinger[i]候補ノードの中から、より優位なノードを実際のFinger[i]ノードとして利用するものである。
まず、最適化部20におけるFinger指定部19が、最初に処理すべきFinger[i]をFinger情報から検出してFinger候補選出部14に通知する。Finger候補選出部14は、通知されたFinger[i]について、Finger候補の選出を行う(S21)。Finger[i]自体もFinger候補として選出してもよい。ここにはいくつかの戦略(アルゴリズム)があり得る。最も単純な戦略は、正規のアルゴリズムで求めたFinger[i]ノードを起点として、一つずつ手前側に隣接するノードを選択する方法である。ただし、この方法では毎回ほぼ同一のノードしか探索できず、最適化の程度が低いので、過去探索したノードについては一定時間の間は再探索を行わず、より手前のノードに探索を延長する方法が考えられる。逆に、一定時間毎に再探索を行うことによって、新規に登場したノードを探索対象に含めることができる。また、前回探索したノードが存在する場合は、そのうち成績の良かったもの半分を再探索し、残りは新規ノードと入れ替えて探索する、といった戦略も考えられる。このような戦略あるいはその派生により、次のFinger候補としてノードを一つ選出する。Finger候補の選出のため、Finger候補選出部14は、Finger[i]ノード等と連携してFinger候補の情報を取得する。
このように選出したノードに対して、RTT計測部15が自ノードとの間のRTTを計測する(S22)。計測方法は、単純にプローブパケットを送受信するだけでも良いし、より正確な計測方法があればそれを利用しても良い。計測したRTTは、記憶部11における「各Finger候補のRTT一覧」に記録する。
予測部16は、選出したノードについて、これをFingerとして利用した場合に、このFingerから先にかかる問い合わせ時間(探索時間)を予測し(S23)、「各Finger候補の問い合わせ時間予測一覧」に記録する。ここで、問い合わせ時間は、そのノードに問い合わせを行った以後、問い合わせが解決するまでにかかる時間を示す。
この時間を、本実施形態ではP(X)×平均RTTで予測する。ここで、P(X)は、そのノードに問い合わせを転送することにより残る探索空間のサイズXを引数とし、そのノード以降問い合わせを解決するまでに必要な平均ホップ数を示す。
残る探索空間Xは、例えば自ノードのDHT空間上の位置が0x3000..0000(160bitで、..は省略を意味、以下同じ)である場合を例に説明する。
Finger[159]の場合、元々のFinger[159]による探索区間は、ノードの位置+2159、つまり0x3000..0000+2159 =0xb000..0000から時計回りにノードの位置の直前0x2fff..ffffまでである(ノードの位置+2159にFingerノードが存在する場合を想定している)。候補ノードのDHT空間上の位置が0x9000..0000であった場合、Finger[159]による探索区間に加えて、0x9000..0000〜0xafff..ffffが探索空間として残る。サイズにしてFinger[159]による探索区間に加えて、0xa000...0000分の空間が増分することになる。この合計サイズ(残存サイズ)がXになる。Finger[158]の場合は、元々のFinger[158]による探索区間が0x3000..0000+2158 =0x7000..0000から、Finger[159]の始点の直前0xafff..ffffまでである。仮に候補ノードが0x5000..0000であった場合、そこから0xafff..ffffまでの区間の0x6000..0000がXとなる。図5に、探索空間が増分する様子を示す。Fingerノード4(Finger[159])に対するFinger候補としてノード2を選出した場合、斜線で示された領域Aが増分する探索空間である。
ここで、P(X)は、事前に推定されたノードの密度をDとしたときに、P(X)=log2(D×X)となる。非特許文献1より、ノード数がNのChordネットワークは平均log2Nホップの再帰問い合わせにより解決が可能となる。ここで、引数として与えられたXの空間に存在するノードの数はD× Xであることから、Xの領域への問い合わせホップ数の平均がP(X)=log2(D×X)により求められる。
この探索は、事前に定められた終了条件が満されるまで続き、終了条件が満たされたか否かを判断部17が判断する(S24)。終了条件が満たされない場合は(S24のNO)S21に戻る。終了条件にはいくつかの種類が考えられ、例えば必ずN個のノードを探索するもの、消費するトラフィック量を事前に定めるもの、あるいは、Finger[i]のiの値によって資源を偏って配分し、より大きな影響を与える、iの大きい短絡経路の最適化を優先するもの、RTT改善比やRTTの絶対値の閾値を用いて、閾値に達したら探索を打ち切るもの、およびそれらの組み合わせなどが考えられる。もっとも単純な実装としては、処理に用いる時間をi秒と定数で決めておき、i秒間で探索できるだけのノードの探索(S21)とRTTの計測(S22)とを行う実装が考えられる。例えば、探索開始(「Finger[i]の最適化処理」の開始)からi秒経過した時点で探索を終了する。
終了条件が満たされたら(S24のYES)、選択部18が、ここまでで計測されたRTT(各Finger候補のRTT一覧)および問い合わせ時間(各Finger候補の問い合わせ時間予測一覧)を集計し、それぞれのFinger候補ノードについて、例えば、該ノードに対するRTTと、該ノードから先の問い合わせ時間の予測値とを合計した値を評価値として計算する。そして各Finger候補ノードから計算された評価値を比較し、この値がもっとも小さいFinger候補ノードを、新しいFinger[i]として選択する。比較の際、前回求めた各Finger候補ノードの評価値も含めて比較を行ってもよい。選択された新しいFinger[i]がこれ以降問い合わせの経路付けに使われる。
図6は、Fingerノードが変更された後の分散ハッシュネットワークを示している。ノード4に代わってノード2が新たなFingerノードとして選択されている。図1と対比すると、長距離ホップが図1ではノード1→ノード4、ノード1→ノード5、ノード1→ノード6の3つあったが、図6では、ノード1→ノード5、ノード1→ノード6の2つに減少されている。よって、図1よりも高速な検索が行われることが期待される。
以上に述べた本実施形態の要点を別の観点から述べると以下の通りである。Finger(短絡経路)の選択において、対象経路を選択することによるRTTの減少または増加と、問い合わせホップ数の増加による問い合わせ時間の増加との総合評価を通じて、最適な選択を行う。具体的には、問い合わせホップ数の増加による問い合わせ時間の増加について、DHTのノード数と平均RTTとの2つの推測値から増加量の推測値を算出し、算出した推測値とRTTの減少または増加とを総合評価する。
以下に本発明を実施するのに最適な実施例を述べる。本発明により提供される分散ハッシュテーブルは、例えばEPCglobalによる電子タグのように、商品に関連づけられたIDと、その商品に関する情報とを関連づける、などの目的で利用できる。この時、例えば商品のIDなどを鍵として、商品の位置情報履歴や、鮮度に関係する保管状況などの情報を格納する、などの利用例が考えられる。分散ハッシュテーブルの持つスケーラビリティにより、このような大規模の情報管理が可能になる。
一方、現実に分散ハッシュテーブルを提供することを考える。このようなサービスは、P2P的にクライアントの参加により実現することも、データセンターに設置することもできる。また、その両者を混合することもできる。ここでは、米国・欧州・アジアの3箇所のデータセンターにおいて、1000台ずつのノードを設置し、サービスを行うことを考える。
ここで、米国←→欧州、欧州←→アジア、アジア←→米国の間には、インターネット回線の速度の限界などによる通信の遅延が発生する。クライアント・サーバ方式の通常のサービスであれば遅延はクライアント・サーバ間の遅延のみで済むが、大規模な情報管理を実現するためには通常のクライアント・サーバシステムでは不十分である。しかし一方で、広域に分散したサービスを分散ハッシュテーブルで実現する場合、分散ハッシュテーブル上の再帰的問い合わせの結果遅延が長くなる傾向があるのも事実である。
こういった場合、本発明にあるFingerの選択方式を採用することにより、分散ハッシュテーブルのノード間の「長距離リンク」を選択することが少なくなり、理想的には各長距離リンクのメッセージ転送は高々一往復で完了する。
分散ハッシュネットワークの例を模式的に示す図 ノードの構成を概略的に示すブロック図 ノードにより行われる処理の流れを示すフローチャート ノードにより行われる処理の流れを示すフローチャート 探索空間が増分する様子を示す図 Fingerノードが変更された後の分散ハッシュネットワークを示す図
符号の説明
1〜6 ノード(計算機)
11 記憶部
12 平均RTT推測部
13 ノード密度推定部
14 Finger候補選出部
15 RTT計測部
16 予測部
17 判断部
18 選択部
19 Finger指定部
20 最適化部

Claims (10)

  1. 分散ハッシュネットワークにおけるあるノードにおいて実行する経路選択方法であって、
    前記分散ハッシュネットワークにおけるノードの密度を推定するノード密度推定ステップと、
    前記分散ハッシュネットワークにおけるラウンドトリップタイムの平均値を推測する平均値推測ステップと、
    あらかじめ保持するフィンガーノードの情報を元にフィンガー候補ノードを選出するフィンガー候補選出ステップと、
    選出された前記フィンガー候補ノードに対するラウンドトリップタイムを計測する計測ステップと、
    前記選出されたフィンガー候補ノードをフィンガー経路として選択した場合における探索空間の残存サイズと、推定された前記ノードの密度と、推測された前記ラウンドトリップタイムの平均値とから、前記選択されたフィンガー候補ノードに対する問い合わせを行った後、探索が完了するまでに要する探索時間を予測する、予測ステップと、
    予測された前記探索時間と、計測された前記ラウンドトリップタイムとから求められる評価値を各前記選択されたフィンガー候補ノード間で比較し、最も評価の高いフィンガー候補ノードを新たなフィンガーノードとして選択するフィンガーノード選択ステップと、
    を備えた経路選択方法。
  2. 前記ノード密度推定ステップは、あらかじめ与えられたノードリストに載っているノードの個数を、前記ノードリストに載っているノードのうち前記自ノードから最も遠いノードと自ノードとの間の距離で除算することにより前記ノードの密度を推定することを特徴とする請求項1に記載の経路選択方法。
  3. 前記平均値推測ステップは、過去に通信を行った各ノードに対するラウンドトリップタイムの平均をとることにより前記ラウンドトリップタイムの平均値を推測することを特徴とする請求項1に記載の経路選択方法。
  4. 前記フィンガー候補選出ステップと前記計測ステップとをこの順序で繰り返し行い、または、前記フィンガー候補選出ステップと前記計測ステップと前記予測ステップとをこの順序で繰り返し行い、あらかじめ指定された終了条件が満たされた場合は繰り返しを終了する繰り返しステップをさらに備えたことを特徴とする請求項1に記載の経路選択方法。
  5. 前記予測ステップは、前記探索空間の残存サイズをX、前記推定されたノードの密度をD、前記ラウンドトリップタイムの平均値を平均RTTとした場合、平均RTT×Log(D×X)により前記探索時間を予測することを特徴とする請求項1に記載の経路選択方法。
  6. 請求項1ないし5のいずれか一項に記載の各ステップをコンピュータに実行させるための経路選択プログラム。
  7. 分散ハッシュネットワーク上のノードに搭載される経路選択装置であって、
    前記分散ハッシュネットワークにおけるノードの密度を推定するノード密度推定部と、
    前記分散ハッシュネットワークにおけるラウンドトリップタイムの平均値を推測する平均値推測部と、
    あらかじめ保持するフィンガーノードの情報を元にフィンガー候補ノードを選出するフィンガー候補選出部と、
    選出された前記フィンガー候補ノードに対するラウンドトリップタイムを計測する計測部と、
    前記選出されたフィンガー候補ノードをフィンガー経路として選択した場合における探索空間の残存サイズと、推定された前記ノードの密度と、推測された前記ラウンドトリップタイムの平均値とから、前記選択されたフィンガー候補ノードに対する問い合わせ後、探索が完了するまでに要する探索時間を予測する予測部と、
    予測された前記探索時間と、計測された前記ラウンドトリップタイムとから求められる評価値を各前記選択されたフィンガー候補ノード間で比較し、最も評価の高いフィンガー候補ノードを新たなフィンガーノードとして選択するフィンガーノード選択部と、
    を備えた経路選択装置。
  8. 前記ノード密度推定部は、あらかじめ与えられたノードリストに載っているノードの個数を、前記ノードリストに載っているノードのうち前記自ノードから最も遠いノードと自ノードとの間の距離で除算することにより前記ノードの密度を推定することを特徴とする請求項7に記載の経路選択装置。
  9. 前記平均値推測部は、過去に通信を行った各ノードに対するラウンドトリップタイムの平均をとることにより前記ラウンドトリップタイムの平均値を推測することを特徴とする請求項7に記載の経路選択装置。
  10. 前記予測部は、前記探索空間の残存サイズをX、前記推定されたノードの密度をD、前記ラウンドトリップタイムの平均値を平均RTTとした場合、平均RTT×Log(D×X)により前記探索時間を予測することを特徴とする請求項7に記載の経路選択装置。
JP2005353282A 2005-12-07 2005-12-07 経路選択方法、経路選択プログラムおよび経路選択装置 Expired - Fee Related JP4081113B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005353282A JP4081113B2 (ja) 2005-12-07 2005-12-07 経路選択方法、経路選択プログラムおよび経路選択装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005353282A JP4081113B2 (ja) 2005-12-07 2005-12-07 経路選択方法、経路選択プログラムおよび経路選択装置

Publications (2)

Publication Number Publication Date
JP2007158907A JP2007158907A (ja) 2007-06-21
JP4081113B2 true JP4081113B2 (ja) 2008-04-23

Family

ID=38242659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005353282A Expired - Fee Related JP4081113B2 (ja) 2005-12-07 2005-12-07 経路選択方法、経路選択プログラムおよび経路選択装置

Country Status (1)

Country Link
JP (1) JP4081113B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2274944B1 (en) 2008-03-26 2012-06-06 Koninklijke Philips Electronics N.V. A method and corresponding stations for communicating in a mobile system
JP5062850B2 (ja) * 2008-10-24 2012-10-31 Kddi株式会社 オーバレイネットワークにおける応答メッセージの経路制御方法、ピアノード及びプログラム
JP5084694B2 (ja) * 2008-10-24 2012-11-28 Kddi株式会社 オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム
JP5201051B2 (ja) 2009-03-27 2013-06-05 富士通株式会社 接続状態推定プログラム、接続状態推定装置および接続状態推定方法

Also Published As

Publication number Publication date
JP2007158907A (ja) 2007-06-21

Similar Documents

Publication Publication Date Title
US6947386B2 (en) Practical network node coordinate estimation
US7778165B2 (en) Information plane for determining performance metrics of paths between arbitrary end-hosts on the internet
US8000239B2 (en) Method and system for bandwidth allocation using router feedback
EP2441220B1 (en) Routing-based proximity for communication networks
US9191304B1 (en) Reinforcement learning-based distributed network routing method utilizing integrated tracking and selective sweeping
US8165121B1 (en) Fast computation of loop free alternate next hops
US9104543B1 (en) Determining locations of network failures
US9197495B1 (en) Determining locations of network failures
CN107920368A (zh) 一种无线传感网中基于生命周期的rpl路由优化方法
US9210038B1 (en) Determining locations of network failures
US10122627B2 (en) Network routing through an overlay network
EP2198571A1 (en) Method and apparatus for network routing between a tactical network and a satellite network
JP2010531596A (ja) ラベルスイッチネットワークにおけるパス計算
JP4081113B2 (ja) 経路選択方法、経路選択プログラムおよび経路選択装置
US11005777B2 (en) Software defined prober
Kerrouche et al. AC-QoS-FS: Ant colony based QoS-aware forwarding strategy for routing in Named Data Networking
Parthiban et al. Maximizing the network life time based on energy efficient routing in ad hoc networks
CN111901237B (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
EP1440529B1 (en) System and method for information object routing in computer networks
Mordjana et al. A q-learning based forwarding strategy for named data networking
KR100971224B1 (ko) 인터넷 전송 경로 및 전송 지연시간 추정 시스템 및 그 방법
WO2010112802A1 (en) Routing traffic in a communications network
JP3977786B2 (ja) マルチキャストネットワーク、マルチキャスト転送経路計算方法、マルチキャスト転送経路計算プログラムおよびそのプログラムを記録した記録媒体
WO2021020525A1 (ja) 経路制御装置、経路制御方法、及びプログラム
Norvor et al. Dynamic Routing Implementation Decision between OSPFv3 and IS–IS in IPv6 Networks

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080207

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4081113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees