JP5084694B2 - オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム - Google Patents

オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム Download PDF

Info

Publication number
JP5084694B2
JP5084694B2 JP2008273745A JP2008273745A JP5084694B2 JP 5084694 B2 JP5084694 B2 JP 5084694B2 JP 2008273745 A JP2008273745 A JP 2008273745A JP 2008273745 A JP2008273745 A JP 2008273745A JP 5084694 B2 JP5084694 B2 JP 5084694B2
Authority
JP
Japan
Prior art keywords
peer node
delay time
identification value
peer
file server
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
JP2008273745A
Other languages
English (en)
Other versions
JP2010103786A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2008273745A priority Critical patent/JP5084694B2/ja
Publication of JP2010103786A publication Critical patent/JP2010103786A/ja
Application granted granted Critical
Publication of JP5084694B2 publication Critical patent/JP5084694B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラムに関する。
図1は、オーバレイネットワークのシステム構成図である。
図1のシステムによれば、複数のピアノード1、第1の端末2及び第2の端末3が物理ネットワーク4に接続されている。その物理ネットワーク4上には、複数のピアノード1によって仮想的にオーバレイネットワーク5が構成されている。オーバレイネットワークの代表的な例として、P2P(Peer to Peer)ネットワークがある。P2Pネットワークは、IP層を覆い隠して(オーバレイして)、端末間の相互接続を可能とする。図1によれば、第1の端末2及び第2の端末3が、ピアノード1に対するSIP−UA(SIP - User Agent)として機能し、オーバレイネットワークが、例えばP2PSIP(Peer to Peer - Session Initiation Protocol)によって構築されている。
また、図1のシステムによれば、ピアノード1は、ファイルサーバ(又はレプリカ(複製)サーバ)であって、第1の端末(データ保存元端末)から送信されたデータを、分散的且つ複製的に蓄積する。これに対し、第2の端末(データ取得元端末)は、第1の端末によって蓄積されたファイルサーバピアノードから、データを取得する。
近年、構造化オーバレイの代表例として、キーワードのハッシュ値に基づいて端末間のデータを分散管理する「分散ハッシュテーブル(DHT:Distributed Hash Table)」の技術がある(例えば非特許文献1参照)。Napster又はGunutellaに代表される従来のP2P技術と異なって、「分散ハッシュテーブル」は、ネットワーク全体に分散配置されたデータを高速に検索することができる。また、ピアノードの頻繁な参加・離脱に対しても、自律分散的にネットワークを再構築することができる。
また、IETF(Internet Engineering Task Force)によれば、SIPのシグナリング制御に、P2P(Peer-to-Peer)と称される自律分散ネットワークアーキテクチャ技術を融合させた「P2PSIP」技術を開示している(例えば非特許文献3参照)。P2PSIPによれば、SIPによるセッション制御機能を、ピアノードに搭載することによって、サーバレスのシステムを実現する。P2Pを用いることにより、ピアノード間で情報の分散管理及び分散制御を実行するために、加入者数の増加に対してもサーバシステムの増強が不要となる。
更に、オーバレイネットワーク構築時やデータ検索時に必要となるメッセージングを規定した技術がある(例えば非特許文献2参照)。具体的には、RELOAD(REsource LOcation And Discovery)について規定する。
更に、オーバレイネットワーク内で診断を実行する技術もある(例えば非特許文献3参照)。この技術によれば、診断を実行する第1の端末が、宛先ID(IDentifier)(識別値)に向けてEcho要求メッセージを送信し、当該IDを管理する第2の端末までの中継端末数及び遅延時間を測定する。Echoメッセージにタイムスタンプ情報を付加することで、第1の端末と第2の端末間での片方向/往復遅延の測定をすることができる。また、第2の端末でのプログラムの稼働時間(Uptime)及び空きディスク容量の情報も取得することができる。更に、第2の端末のみがEcho応答メッセージを送信するPingモードに加えて、Echo要求メッセージを中継した全ピアノードが、第1の端末に対してEcho応答メッセージを送信するTracerouteモードも規定されている。このモードを用いることによって、ネットワーク内のループの検出やボトルネック箇所を特定し、且つ、Malicious端末を検出することができる。
Ion Stoica, Robert Morris, David Karger, M.Frans Kaashoek, and Hari Balakrishnan、"Chord: A Scalable Peer-to-peer LookupService for Internet Applications"、Proc. ACM SIGCOMM'01、San Diego, Sept. 2001、[online]、[平成20年10月24日検索]、インターネット<URL:http://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf> IETF Internet Draft: "REsource LOcation AndDiscovery (RELOAD)"、draft-ietf-p2psip-reload-00.txt、[online]、[平成20年10月24日検索]、インターネット<URL:http://www.ietf.org/internet-drafts/draft-ietf-p2psip-reload-00.txt> IETF Internet Draft: "Diagnose P2PSIPOverlay Network Failures", draft-zheng-p2psip-diagnose-02、[online]、[平成20年10月24日検索]、インターネット<URL:http://tools.ietf.org/id/draft-zheng-p2psip-diagnose-02.txt>
しかしながら、オーバレイネットワークによれば、ピアノード数が膨大となった場合、宛先ピアノードまでの中継ピアノード数も膨大となる。特に、リアルタイム性を要するセッション制御については、セッション確立時間が増大するという問題があった。例えば、ピアノード数を1000万台とし、ピアノード間での遅延時間を50m秒と仮定した場合、セッション確立時間は最大4.6秒になると試算される。
非特許文献1及び2に記載された技術によれば、オーバレイネットワーク上での遅延時間を判定する技術については何ら開示していない。また、非特許文献3に記載された技術によれば、遅延時間の測定は、オーバレイネットワーク上にEchoメッセージを送信する必要があり、宛先IDが与えられた時点で、遅延時間を即時に判定することはできない。
また、前述した図1のシステムによれば、データ保存元となる第1の端末から送信されたデータを、オーバレイネットワークを介して複数のファイルサーバピアノードによって分散的且つ複製的に蓄積する。データ取得元となる第2の端末は、いずれか1つのファイルサーバサーバピアノードからデータを取得する。このとき、第2の端末と、データ取得の対象となるファイルサーバピアノードとの間の遅延時間までは、全く考慮されていない。
そこで、本発明は、オーバレイネットワークにおける宛先識別値に基づいて、そのピアノードに対する遅延時間を即時に推定することができる遅延時間推定方法、ピアノード及びプログラムを提供することを目的とする。
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおける遅延時間推定方法であって、
各ピアノードは、1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルを有し、
各ピアノードが、ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する第1のステップと、
各ピアノードが、複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する第2のステップと、
送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定する第3のステップと、
送信元ピアノードから宛先ピアノードへの遅延時間を、平均遅延時間と、ホップ数との乗算によって導出する第4のステップと
を有し、
第3のステップについて、
オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
kを所定最大ホップ乗数から1減分しつつ、距離値から2 が減算できるか否かを判定し、減算できる場合に距離値から2 を減算し、減算された距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
を減算することができた数に1を加えた値を、ホップ数として推定する
ことを特徴とする。
本発明の遅延時間推定方法における他の実施形態によれば、
平均遅延時間及び平均識別値空間を、ピアノード間で相互に交換し、
自ピアノードにおける平均遅延時間及び平均識別値空間と、他ピアノードにおける平均遅延時間及び平均識別値空間とを用いて、自ピアノードにおける平均遅延時間及び平均識別値空間を算出することも好ましい。
本発明の遅延時間推定方法における他の実施形態によれば、第1のステップについて、ルーティングテーブルに登録された次ピアノードへ、定期的にKeep-Aliveメッセージを送信することによってRTT(Round Trip Time)値を計測し、該RTT値から遅延時間を算出することも好ましい。
本発明の遅延時間推定方法における他の実施形態によれば、
ファイルサーバが接続された複数のファイルサーバピアノードが、オーバレイネットワークに接続されており、
第1の端末が接続された第1のピアノードが、複数のファイルサーバピアノードへ、データを保存するデータ保存ステップと、
第2の端末が接続された第2のピアノードが、複数のファイルサーバピアノードの中で、第1のステップから第4のステップによって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードからデータを取得するデータ取得ステップとを有することも好ましい。
本発明の遅延時間推定方法における他の実施形態によれば、
データ保存ステップについて、第1の端末は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出し、各ハッシュ値を識別値とするファイルサーバピアノードへデータを保存し、
データ取得ステップについて、第2の端末は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出し、各ハッシュ値を第2の識別値として遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードからデータを取得することも好ましい。
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるピアノードであって、
1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルと、
ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する遅延時間計測手段と、
複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する平均遅延時間算出手段と、
送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定するホップ数推定手段と、
送信元ピアノードから宛先ピアノードへの遅延時間を、平均遅延時間と、ホップ数との乗算によって導出する遅延時間導出手段と
を有し、
ホップ数推定手段は、
オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
kを所定最大ホップ乗数から1減分しつつ、距離値から2 が減算できるか否かを判定し、減算できる場合に距離値から2 を減算し、減算された距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
を減算することができた数に1を加えた値を、ホップ数として推定する
ことを特徴とする。
本発明のピアノードにおける他の実施形態によれば、
ファイルサーバが接続された複数のファイルサーバピアノードが、オーバレイネットワークに接続されており、
複数のファイルサーバピアノードへ、データを保存するデータ保存手段と、
複数のファイルサーバピアノードの中で、遅延時間導出手段によって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードからデータを取得するデータ取得手段と
を有することも好ましい。
本発明によれば、複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるピアノードに搭載されたコンピュータを機能させるプログラムであって、
1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルを有し、
ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する遅延時間計測手段と、
複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する平均遅延時間算出手段と、
送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定するホップ数推定手段と、
送信元ピアノードから宛先ピアノードへの遅延時間を、平均遅延時間と、ホップ数との乗算によって導出する遅延時間導出手段と
してコンピュータを機能させ、
ホップ数推定手段は、
オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
kを所定最大ホップ乗数から1減分しつつ、距離値から2 が減算できるか否かを判定し、減算できる場合に距離値から2 を減算し、減算された距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
を減算することができた数に1を加えた値を、ホップ数として推定する
ようにコンピュータを機能させることを特徴とする。
本発明のピアノード用のプログラムにおける他の実施形態によれば、
ファイルサーバが接続された複数のファイルサーバピアノードが、オーバレイネットワークに接続されており、
複数のファイルサーバピアノードへ、データを保存するデータ保存手段と、
複数のファイルサーバピアノードの中で、遅延時間導出手段によって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードからデータを取得するデータ取得手段と
してコンピュータを更に機能させることも好ましい。
本発明の遅延時間推定方法、ピアノード及びプログラムによれば、オーバレイネットワークにおける宛先識別値に基づいて、そのピアノードに対する遅延時間を即時に推定することができる。
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
図2は、本発明で用いる構造化オーバレイの説明図である。
分散ハッシュテーブル(DHT:Distributed Hash Table)を用いた代表的な構造化オーバレイの技術として、Chordがある。Chordは、時計回りに識別値が増加していく、リング状(環状)ハッシュ空間を考える。識別値は、SHA1ハッシュ関数の値である。各ピアノードは、例えばIPアドレス及びポート番号を連結した値を入力としてハッシュ関数から得られた値を、ノード識別値として決定する。分散ハッシュテーブルの特徴の1つに、拡張性(スケーラビティ)がある。データ検索時に中継するピアノード数は、ピアノード総数のログオーダに抑えられるため、ピアノード数が増加した場合であっても効率的な検索が可能となる。
図2によれば、オーバレイネットワークを構成するピアノードが、リング状ハッシュ空間に配置されている。端末は、いずれか1つのピアノードに接続される。また、例えばレプリカサーバのようなファイルサーバピアノードも、リング状ハッシュ空間に配置されている。図2によれば、データ取得元となる第2の端末は、ピアノードN8に接続しており、ファイルサーバピアノードは、N15、N39、N54及びN1である。
更に、第2の端末は、例えばファイル名及び複製番号を入力としてハッシュ関数から得られた値を、宛先識別値として決定する。このとき、図2によれば、宛先識別値は、例えばN54とする。
ここで、「サクセッサリスト」及び「フィンガーテーブル」が用いられる。「サクセッサリスト」とは、ハッシュ空間上で隣接する複数のピアノードの情報を保持する。従って、当該ピアノードの識別値kを与えたとき、時計回りに辿って、最初に存在するピアノードを得られる。
「フィンガーテーブル」には、ルーティングテーブルが保持される。フィンガーテーブルは、当該ピアノードの識別値(例えばN8)に、2のk乗(1,2,4,8,16・・・)を加算した数xと、その数xを入力としたサクセッサ(x)のピアノードの識別値とを記憶する。また、各ピアノードは、定期的にフィンガーテーブルに登録された他の複数のピアノードへ、Keep-Aliveメッセージを送信することによって、RTTを測定している。フィンガーテーブルは、複数のピアノードとの間の遅延時間の平均値を平均遅延時間として記憶する。
図2は、6ビットのハッシュ識別値空間の例であり、フィンガーテーブルの行数は6個となる(例えば、160ビットのハッシュ識別値空間の場合、フィンガーテーブルの行数は160個)。N54をルックアップする場合について説明する。
(ホップ1)N8は、N54をルックアップするに当たり、フィンガーテーブルを参照し、N54から反時計回りに最も近い、8+2(32)=40、即ち、ピアノードが存在するN42を検索する。そして、N8は、ルックアップメッセージをN42へ転送する。
(ホップ2)N42は、N54をルックアップするに当たり、フィンガーテーブルを参照して、N54から反時計回りに最も近い数、42+2(8)=50、即ち、ピアノードが存在するN51を検索する。そして、N42は、ルックアップメッセージをN51へ転送する。
(ホップ3)N51は、N54をルックアップするに当たり、フィンガーテーブルを参照し、N51から反時計回りに最も近い、51+2(2)=53、即ち、ピアノードが存在するN54を検索する。そして、N51は、ルックアップメッセージをN54へ転送する。これによって、N8に接続された第2の端末は、N54のファイルサーバピアノードのデータを取得することができる。
図3は、本発明におけるデータ保存ステップの説明図である。
第1の端末は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出する。図3によれば、例えば以下のようなハッシュ値が導出される。
h(FileName, Replica1)=N54
h(FileName, Replica2)=N14
h(FileName, Replica3)=N39
h(FileName, Replica4)=N1
ハッシュ関数hは、全てのピアノードで予め共有される。そして、第1の端末は、各ハッシュ値を識別値とするファイルサーバピアノードN54、N14、N39及びN1へデータを保存する。
図4は、本発明におけるデータ取得ステップの説明図である。
第2の端末も、ファイル名及び複製番号に基づいて複数のハッシュ値を導出する。第1の端末と同様に、以下のようなハッシュ値が導出される。
h(FileName, Replica1)=N54
h(FileName, Replica2)=N14
h(FileName, Replica3)=N39
h(FileName, Replica4)=N1
図4によれば、例えばN54をルックアップする場合におけるホップ数を推定する。
(ホップ1)N8のフィンガーテーブルによれば、N54から反時計回りに最も近い数は8+2(32)の40である。ここで、ピアノードN40が存在すると仮定する。
(ホップ2)N40のフィンガーテーブルによれば、N54から反時計回りに最も近い数は40+2(8)=48である。ここで、ピアノードN48が存在すると仮定する。
(ホップ3)N48のフィンガーテーブルによれば、N54から反時計回りに最も近い数は48+2(4)=52である。ここで、ピアノードN52が存在すると仮定する。例えば、1つのピアノードが管理する平均識別値空間が3であるとする。そうすると、ピアノードN52とピアノードN54との差は、2であるので、ホップ数の計数を終了する。従って、ホップ数4と推定される。尚、平均識別値空間とは、自ピアノードが管理する識別値空間、あるいはサクセッサリストに含まれるリング状ハッシュ空間を、サクセッサ数で除算した1ピアノードが管理する識別値空間を意味する。
平均遅延時間及び平均識別値空間を、ピアノード間で相互に交換されてもよい。これによって、自ピアノードにおける平均遅延時間及び平均識別値空間と、他ピアノードにおける平均遅延時間及び平均識別値空間とを、例えば平均することによって、自ピアノードにおける平均遅延時間及び平均識別値空間を算出することができる。単一のピアノードにおける平均遅延時間及び平均識別値空間では、オーバレイネットワーク全体から見て誤差を生じる場合があるからである。
図5は、ホップ数を推定するプログラムである。
Chordのオーバレイネットワークでは、送信元ピアノードのアドレスから導出される第1の識別値から、2(kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能である。
interval:サクセッサリストに含まれるリング状ハッシュ空間を、サクセッサ数で除算した平均識別値空間(1ピアノードが管理する識別値空間)
distance:送信元ピアノードのアドレスから導出される第1の識別値と、宛先ピアノードのアドレスから導出される第2の識別値との差である距離値
hop:推定されたホップ数(初期値1)
bit_num:最大ホップ乗数(リング状ハッシュ空間を表すビット数)
距離値distanceが平均識別値空間よりも大きい場合に、以下のステップが繰り返される。
(1)kを所定最大ホップ乗数から1減分する。
(2)距離値distanceから2が減算できるか否か、即ち、距離値distanceが2よりも大きいか否かを判定する。
減算できる場合に、ホップ数を増分する。
距離値から2を減算する。
(3)距離値distanceが平均識別値空間よりも小さくなった場合、処理を終了する。
次に、第2の端末は、全ての宛先識別値についてホップ数を推定した後、遅延時間を算出する。遅延時間は、RTT値に基づく平均遅延時間と、ホップ数との乗算によって導出する。例えば、平均遅延時間が100msで且つホップ数4である場合、遅延時間は、100ms×4=400msとなる。
最後に、第2の端末は、遅延時間が最も小さいファイルサーバピアノードを選択する。例えば、図4によれば、N54の遅延時間が最も小さいと推定されたとする。この場合、第2の端末は、ファイルサーバピアノードN54からデータを取得する。
図6は、図3に対応して、図5のプログラムの各ステップを説明したプログラムステップである。尚、各ステップは、前述した図3と同じである。
図7は、本発明におけるシーケンス図である。
図7のシーケンスは、データ保存ステップ(S701〜S703)と、隣接ピアノードに対する平均遅延時間算出ステップ(S711〜S712)と、データ取得ステップ(S721〜S727)とを有する。
[データ保存ステップ]
(S701)データ保存元となる第1の端末2が、ピアノードN58へデータ保存要求を送信する。
(S702)ピアノードN58は、ファイル名及び複製番号に基づいてハッシュ関数から複数のハッシュ値を導出する。図7によれば、例えばN54、N39、N14及びN1が導出されたとする。
(S703)ピアノードN58は、導出されたハッシュ値を宛先識別値として、保存すべきデータを含むデータ保存要求を送信する。図7によれば、データ保存要求は、ファイルサーバピアノードN54、N39、N14及びN1へ送信される。これによって、第1の端末2から送信された保存すべきデータは、ファイルサーバピアノードN54、N39、N14及びN1によって分散的且つ複製的に保存される。
[平均遅延時間算出ステップ]
(S711)各ピアノードが、ルーティングテーブル(フィンガーテーブル)に登録された複数の次ピアノードへ、Keep-Aliveメッセージを定期的に送信し、その応答メッセージを受信する。Chordによれば、フィンガーテーブルには、自ピアノードIDに2(m=159, 158, … 0)を加算した値を、次ピアノードとして登録している。これによって、各ピアノードは、次ピアノードとの間の遅延時間RTT(Round Trip Time)を計測する。遅延時間は、そのルーティングテーブルに記憶される。図7によれば、ピアノードN8は、フィンガーテーブルに登録されているN14、N21、N32及びN42各々へ、Keep-Aliveメッセージを送信し、それらの応答を受信する。
(S712)ピアノードN8は、ピアノードN14、N21、N32及びN42の遅延時間の総和を4で除算することによって、次ピアノードに対する平均遅延時間を算出する。
[データ取得ステップ]
(S721)データ取得元となる第2の端末が、ピアノードN8へ、データ取得要求を送信する。
(S722)ピアノードN8は、ファイル名及び複製番号に基づいてハッシュ関数から複数のハッシュ値を導出する。図7によれば、ピアノードN58におけるS702と同様に、例えばN54、N39、N14及びN1が導出される。
(S723)ピアノードN8は、導出されたハッシュ値を宛先識別値として、N54、N39、N14及びN1各々までのホップ数を推定する。ホップ数の推定については、図3〜図5で説明したとおりである。
(S724)ピアノードN8は、N54、N39、N14及びN1各々について、平均遅延時間とホップ数との乗算によって遅延時間を導出する。
(S725)遅延時間が最も小さいピアノードが選択される。図7によれば、例えばN54が選択されている。
(S726)ピアノードN8は、N42及びN51を介してファイルサーバピアノードN54へ、データ取得要求を送信する。
(S727)これに対し、ファイルサーバピアノードN54は、そのデータを、N42及びN51を介してピアノードN8へ送信する。ピアノードN8は、そのデータを、第2の端末へ送信する。これによって、第1の端末2から送信された保存すべきデータは、第2の端末3によって取得される。
図8は、本発明におけるピアノードの機能構成図である。
図8によれば、データ記憶部100を有するファイルサーバピアノード1は、ルーティングテーブル101と、遅延時間計測部102と、平均遅延時間算出部103と、ホップ数推定部104と、遅延時間導出部105と、データ保存部106と、データ取得部107とを有する。これら機能構成部は、ピアノードに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
ルーティングテーブル101は、1ホップで通信可能な識別値を有する次ピアノードを登録する。Chordの場合におけるフィンガーテーブルである。オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2(kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能である。
遅延時間計測部102は、ルーティングテーブル101に登録された次ピアノード毎に遅延時間を計測する。遅延時間計測部102は、ルーティングテーブル101に登録された次ピアノードへ、定期的にKeep-Aliveメッセージを送信することによってRTT値を計測し、該RTT値から遅延時間を算出する。
平均遅延時間算出部103は、複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する。尚、平均遅延時間及び平均識別値空間を、ピアノード間で相互に交換してもよい。自ピアノードにおける平均遅延時間及び平均識別値空間と、他ピアノードにおける平均遅延時間及び平均識別値空間とを、例えば平均することによって、自ピアノードにおける平均遅延時間及び平均識別値空間を算出する。
ホップ数推定部104は、送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定する。ホップ数推定部104は、送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出する。そして、kを所定最大ホップ乗数から1減分しつつ、距離値から2が減算できるか否かを判定し、減算できる場合に距離値から2を減算し、減算された距離値が1ピアノードの管理する平均識別値空間より小さくなるまで繰り返す。最終的に、2を減算することができた数に1を加えた値を、ホップ数として推定する。
遅延時間導出部105は、送信元ピアノードから宛先ピアノードへの遅延時間を、平均遅延時間と、ホップ数との乗算によって導出する。
データ保存部106は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出し、各ハッシュ値を宛先識別値とするファイルサーバピアノードへデータを保存する。
データ取得部107は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出し、各ハッシュ値を宛先識別値として遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードからデータを取得する。
以上、詳細に説明したように、本発明の遅延時間推定方法、ピアノード及びプログラムによれば、オーバレイネットワークにおける宛先識別値に基づいて、そのピアノードに対する遅延時間を即時に推定することができる。
遅延時間を即時に判定することによって、様々な用途に適用することができる。例えば、複数のレプリカサーバによってオーバレイネットワークが構成されている場合、互いに共有するハッシュ関数を用いて、保存すべきデータを、複数のファイルサーバピアノードに分散的且つ複製的に保存することができる。また、本発明を用いることによって、データ取得元のピアノードは、遅延時間が最も小さいと推定されたファイルサーバピアノードから、データを取得することができる。
また、例えば、事業者システムであるIMS(IP Multimedia Subsystem)/MMD(Multimedia Domain)と、ピアノードで構築したオーバレイネットワークとを連携されることによって、高品質なセッション制御を低コストで実現することができる。IMSシステム及びオーバレイネットワークの双方に接続したピアノードは、セッション確立時に、オーバレイネットワークを優先的に使用することによって、IMSシステムへの負荷を削減することができる。しかしながら、ピアノード数が膨大となる場合には、データ検索時の中継ピアノード数も無視できなくなる。特にリアルタイム性を求められるセッション制御では、セッション確立時間が増大するという問題があった。そのため、本発明によって、送信元ピアノードが、オーバレイネットワーク上でのセッション確立処理に要する遅延時間を推定する。その遅延時間が規定時間を超える場合に、IMSシステムを介したセッションを確立する。これによって、システムとしてのセッション確立時間を保証することが可能となる。
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
オーバレイネットワークのシステム構成図である。 Chordを用いた構造化オーバレイの説明図である。 本発明におけるデータ保存ステップの説明図である。 本発明におけるデータ取得ステップの説明図である。 ホップ数を推定するプログラムである。 図3に対応して、図5のプログラムの各ステップを説明したプログラムステップである。 本発明におけるシーケンス図である。 本発明におけるピアノードの機能構成図である。
符号の説明
1 ピアノード
101 ルーティングテーブル
102 遅延時間計測部
103 平均遅延時間算出部
104 ホップ数推定部
105 遅延時間導出部
106 データ保存部
107 データ取得部
2 第1の端末
3 第2の端末
4 物理ネットワーク
5 オーバレイネットワーク

Claims (9)

  1. 複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおける遅延時間推定方法であって、
    各ピアノードは、1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルを有し、
    各ピアノードが、前記ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する第1のステップと、
    各ピアノードが、複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する第2のステップと、
    送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定する第3のステップと、
    送信元ピアノードから宛先ピアノードへの遅延時間を、前記平均遅延時間と、前記ホップ数との乗算によって導出する第4のステップと
    を有し、
    第3のステップについて、
    前記オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
    送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
    kを所定最大ホップ乗数から1減分しつつ、前記距離値から2 が減算できるか否かを判定し、減算できる場合に前記距離値から2 を減算し、減算された前記距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
    を減算することができた数に1を加えた値を、前記ホップ数として推定する
    ことを特徴とする遅延時間推定方法。
  2. 前記平均遅延時間及び前記平均識別値空間を、ピアノード間で相互に交換し、
    自ピアノードにおける平均遅延時間及び平均識別値空間と、他ピアノードにおける平均遅延時間及び平均識別値空間とを用いて、自ピアノードにおける平均遅延時間及び平均識別値空間を算出することを特徴とする請求項に記載の遅延時間推定方法。
  3. 第1のステップについて、前記ルーティングテーブルに登録された次ピアノードへ、定期的にKeep-Aliveメッセージを送信することによってRTT(Round Trip
    Time)値を計測し、該RTT値から遅延時間を算出することを特徴とする請求項1又は2に記載の遅延時間推定方法。
  4. ファイルサーバが接続された複数のファイルサーバピアノードが、前記オーバレイネットワークに接続されており、
    第1の端末が接続された第1のピアノードが、複数のファイルサーバピアノードへ、データを保存するデータ保存ステップと、
    第2の端末が接続された第2のピアノードが、前記複数のファイルサーバピアノードの中で、第1のステップから第4のステップによって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードから前記データを取得するデータ取得ステップと
    を有することを特徴とする請求項1からのいずれか1項に記載の遅延時間推定方法。
  5. 前記データ保存ステップについて、第1の端末は、ファイル名及び複製番号に基づいて複数のハッシュ値を導出し、各ハッシュ値を識別値とする前記ファイルサーバピアノードへ前記データを保存し、
    前記データ取得ステップについて、第2の端末は、前記ファイル名及び複製番号に基づいて前記複数のハッシュ値を導出し、各ハッシュ値を第2の識別値として前記遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードから前記データを取得する
    ことを特徴とする請求項に記載の遅延時間推定方法。
  6. 複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるピアノードであって、
    1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルと、
    前記ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する遅延時間計測手段と、
    複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する平均遅延時間算出手段と、
    送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定するホップ数推定手段と、
    送信元ピアノードから宛先ピアノードへの遅延時間を、前記平均遅延時間と、前記ホップ数との乗算によって導出する遅延時間導出手段と
    を有し、
    前記ホップ数推定手段は、
    前記オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
    送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
    kを所定最大ホップ乗数から1減分しつつ、前記距離値から2 が減算できるか否かを判定し、減算できる場合に前記距離値から2 を減算し、減算された前記距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
    を減算することができた数に1を加えた値を、前記ホップ数として推定する
    ことを特徴とするピアノード。
  7. ファイルサーバが接続された複数のファイルサーバピアノードが、前記オーバレイネットワークに接続されており、
    複数のファイルサーバピアノードへ、データを保存するデータ保存手段と、
    前記複数のファイルサーバピアノードの中で、前記遅延時間導出手段によって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードから前記データを取得するデータ取得手段と
    を有することを特徴とする請求項のいずれか1項に記載のピアノード。
  8. 複数のピアノードによって接続された物理ネットワーク上に、仮想的に構成されたオーバレイネットワークにおけるピアノードに搭載されたコンピュータを機能させるプログラムであって、
    1ホップで通信可能な識別値を有する次ピアノードを登録したルーティングテーブルを有し、
    前記ルーティングテーブルに登録された次ピアノード毎に遅延時間を計測する遅延時間計測手段と、
    複数の次ピアノードとの間の複数の遅延時間の平均遅延時間を算出する平均遅延時間算出手段と、
    送信元ピアノードからオーバレイネットワークを介して宛先ピアノードまでのホップ数を推定するホップ数推定手段と、
    送信元ピアノードから宛先ピアノードへの遅延時間を、前記平均遅延時間と、前記ホップ数との乗算によって導出する遅延時間導出手段と
    してコンピュータを機能させ、
    前記ホップ数推定手段は、
    前記オーバレイネットワークでは、送信元ピアノードの第1の識別値から、2 (kは1以上の整数)毎の識別値を有するピアノードへ、1ホップで通信可能であって、
    送信元ピアノードの第1の識別値と、宛先ピアノードの第2の識別値との差である距離値を算出し、
    kを所定最大ホップ乗数から1減分しつつ、前記距離値から2 が減算できるか否かを判定し、減算できる場合に前記距離値から2 を減算し、減算された前記距離値が1ピアノードの管理する識別値空間である平均識別値空間より小さくなるまで繰り返し、
    を減算することができた数に1を加えた値を、前記ホップ数として推定する
    ようにコンピュータを機能させることを特徴とするピアノード用のプログラム。
  9. ファイルサーバが接続された複数のファイルサーバピアノードが、前記オーバレイネットワークに接続されており、
    複数のファイルサーバピアノードへ、データを保存するデータ保存手段と、
    前記複数のファイルサーバピアノードの中で、前記遅延時間導出手段によって導出された遅延時間が最も小さいファイルサーバピアノードを選択し、該ファイルサーバピアノードから前記データを取得するデータ取得手段と
    してコンピュータを更に機能させることを特徴とする請求項に記載のピアノード用のプログラム。
JP2008273745A 2008-10-24 2008-10-24 オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム Expired - Fee Related JP5084694B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008273745A JP5084694B2 (ja) 2008-10-24 2008-10-24 オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008273745A JP5084694B2 (ja) 2008-10-24 2008-10-24 オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム

Publications (2)

Publication Number Publication Date
JP2010103786A JP2010103786A (ja) 2010-05-06
JP5084694B2 true JP5084694B2 (ja) 2012-11-28

Family

ID=42294009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008273745A Expired - Fee Related JP5084694B2 (ja) 2008-10-24 2008-10-24 オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム

Country Status (1)

Country Link
JP (1) JP5084694B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101384645B (zh) * 2006-03-10 2013-06-05 三菱化学株式会社 树脂分散体、涂料、层积体及其制造方法
US9055082B2 (en) * 2010-08-25 2015-06-09 Alcatel Lucent Peer to peer localization for content in a distributed hash table
EP2951697A4 (en) 2013-01-31 2016-09-07 Hewlett Packard Entpr Dev Lp GENERATING A SOFTWARE TEST SCRIPT FROM A VIDEO

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4081113B2 (ja) * 2005-12-07 2008-04-23 株式会社東芝 経路選択方法、経路選択プログラムおよび経路選択装置

Also Published As

Publication number Publication date
JP2010103786A (ja) 2010-05-06

Similar Documents

Publication Publication Date Title
EP2308213B1 (en) Maintenance of overlay networks
Madhyastha et al. iPlane Nano: Path Prediction for Peer-to-Peer Applications.
EP1515520A2 (en) Measurement-based construction of locality-aware overlay networks
EP2289217B1 (en) Maintaining distributed hash tables in an overlay network
Li et al. An efficient clustered architecture for P2P networks
De la Rocha et al. Accelerating content routing with bitswap: A multi-path file transfer protocol in ipfs and filecoin
Shen et al. A proximity-aware interest-clustered P2P file sharing system
JP5084694B2 (ja) オーバレイネットワークにおける遅延時間推定方法、ピアノード及びプログラム
JP2013529013A (ja) ネットワーク内部のデータ通信を制御するための方法およびシステム
JP5062850B2 (ja) オーバレイネットワークにおける応答メッセージの経路制御方法、ピアノード及びプログラム
JP4947663B2 (ja) オーバレイネットワークにおける遅延時間判定方法、ピアノード及びプログラム
Janson et al. A self-stabilizing locality-aware peer-to-peer network combining random networks, search trees, and dhts
Poryev et al. CARMA based MST approximation for multicast provision in P2P networks
JP2007158907A (ja) 経路選択方法、経路選択プログラムおよび経路選択装置
JP2016046785A (ja) キャッシュサーバ選択装置、分散キャッシュシステム、及びキャッシュサーバ選択方法
Jung et al. Architecture and Server Selection for DHT-based Distributed CDN
Sacha et al. A service-oriented peer-to-peer architecture for a digital ecosystem
Kunzmann et al. Increasing the reliability of structured P2P networks
Warabino et al. Session control cooperating core and overlay networks for" minimum core" architecture
JP4586710B2 (ja) 計測端末及びネットワーク輻輳区間推定システム
Terauchi et al. ARTISTE: Agent organization management system for multi-agent systems
JP2011211292A (ja) オーバレイネットワークにおける遅延超過推定方法、ピアノード及びプログラム
JP2009218728A (ja) 情報転送装置、情報転送方法およびプログラム
Merz et al. A simulation framework for distributed super-peer topology construction using network coordinates
Jin et al. TCMM: hybrid overlay strategy for P2P live streaming services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

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: 20120831

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R150 Certificate of patent or registration of utility model

Ref document number: 5084694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees