Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5915522B2 - 隣接ノード選択方法、ノード、及びプログラム - Google Patents
[go: Go Back, main page]

JP5915522B2 - 隣接ノード選択方法、ノード、及びプログラム - Google Patents

隣接ノード選択方法、ノード、及びプログラム Download PDF

Info

Publication number
JP5915522B2
JP5915522B2 JP2012504361A JP2012504361A JP5915522B2 JP 5915522 B2 JP5915522 B2 JP 5915522B2 JP 2012504361 A JP2012504361 A JP 2012504361A JP 2012504361 A JP2012504361 A JP 2012504361A JP 5915522 B2 JP5915522 B2 JP 5915522B2
Authority
JP
Japan
Prior art keywords
node
site
identifier
communication environment
delay time
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
JP2012504361A
Other languages
English (en)
Other versions
JPWO2011111449A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2011111449A1 publication Critical patent/JPWO2011111449A1/ja
Application granted granted Critical
Publication of JP5915522B2 publication Critical patent/JP5915522B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、分散ハッシュテーブルを構成する場合に用いられる隣接ノード選択方法、ノード、及びプログラムに関する。
ピアツーピア(Peer−to−Peer:P2P)ネットワークや分散データベースなどの分野において効率的なデータ検索を実現するために、分散ハッシュテーブル(Distributed Hash Table:DHT)が広く用いられている。
DHTを用いた検索では、データの検索対象キーワードからハッシュ関数を用いてハッシュ値を生成し、そのハッシュ値に対応するノードごとにデータを格納する。そして、データを検索する場合は、その検索対象キーワードからハッシュ関数を用いてハッシュ値を生成し、そのハッシュ値に対応するノード内のみを検索する。DHTプロトコルの例として、Chord、Pastry、Tapestry、CAN(Content Addressable Network)などが広く知られている。これらのDHTプロトコルにおいて、ノードは、予め定められた規則に従い、ノードID(ID:識別子)を基に隣接ノードを選択する。ここで、「隣接ノード」とは、自ノードと接続するノードのことである。
ここで、ノードIDはノード間の近接性(すなわち遅延の大小)とは全く関係なく割り当てられる。このため、必ずしも近接している(すなわち遅延の小さい)ノードが隣接ノードとして選択されるわけではない。したがって、データ検索時のエンド−エンドの遅延が大きくなる可能性があることが課題とされている。
このような課題に対して、特許文献1に開示されているように、ノードID自体をノードの近接性に基づいて割り当てて、エンド−エンドの検索時の遅延を小さくする方法も存在する。ただし、このような方法はCANのようなn次元直交座標空間にノードIDがマッピングされ、かつ、ショートカットリンクがないDHTプロトコルにおいて適用可能である。上記方法は、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルでは適用できない。
そこで、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルにおいて、検索時の遅延を短縮する技術として、非特許文献1などに開示されている、近接ベース隣接ノード選択法(PNS:Proximity Neighbor Selection)が提案されている。PNSは、複数の候補から隣接ノードが選択可能な場合に、最も遅延の短い候補ノードを隣接ノードとして選ぶ方法である。このようにして各ホップの遅延をできるだけ小さくすることで検索時のエンド−エンドの遅延を小さくする効果が得られる。
ChordにおいてPNSを実現する方法について図8Aおよび図8Bを参照しながら説明する。Chordでは、nというIDを持つノード(ノードn)は、式(1)に示す領域ごとに、当該領域の中から隣接ノード(Chordではfingerと呼ぶ)を選択する。
Figure 0005915522
但し、iは、IDの最大ビット長以下の自然数である。また、IDは、隣接ノードのIDを示す。
PNSを行わない通常のChordプロトコルでは、ノードnは、式(1)に示す領域において、IDがn+2i−1より大きいノードの中で最も小さいIDを持つノードを隣接ノードとして選択する。図8Aは、通常のChordプロトコルにおける隣接ノードの選択方法を示している。
一方、ChordでPNSを行う場合、ノードnは、式(1)に示す領域で自ノードから最も遅延の小さいノードを隣接ノードとして選択する。図8Bは、PNSを適用した場合のChordプロトコルにおける隣接ノードの選択方法を示している。
また、ピアツーピアの情報転送技術としては、特許文献2に、次のような技術が記載されている。特許文献2の情報転送装置は、メッセージを転送先のノードとの間で送受信する通信部と、宛先のノードについて、メッセージの属性に応じて変化しうる距離である論理的距離を測定する論理的距離測定部と、論理的距離測定部で計測した論理的距離を、メッセージの属性と宛先のノードの識別符号と転送先のノードのネットワークアドレスとに対応付けて格納する論理的距離格納部と、転送するメッセージの宛先のノードとそのメッセージの属性に従って、論理的距離を用いて、メッセージの転送先のノードを決定する転送先決定部とを備えている。こうした構成とすることで、メッセージの属性に応じて、メッセージ転送を効率化するようにしている。この特許文献2に記載されている技術では、各ノードが物理的距離を測定し、その各ノードがその物理的距離を格納部に出力する必要がある。
日本特開2008−299586号公報 日本特開2009−218728号公報
K.Gummadi、R.Gummadi、S.Gribble、S.Ratnasamy、S.Shenker、I.Stoica、「The Impact of DHT Routing Geometry on Resilience and Proximity」、Proceedings of the 2003 SIGCOMM、2003年8月
上述のように、ChordやTapestryのような、リング構造やPlaxton構造をとるDHTプロトコルにおいて、データ検索時のエンド−エンドの遅延を小さくするためには、PNSが有効な方法である。しかしながら、理想的なPNSを実現するためには、式(1)に示す領域に存在する全ノードを知ることが必要である。また、各ノードへの遅延計測を行う必要がある。このため、オーバーヘッドがかかる。したがって、理想的なPNSを実現することは困難とされている。
本発明は、上記の課題を解決することが可能な隣接ノード選択方法、ノード、及びプログラムを提供することを目的としている。
本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を受信ノードで記憶し、送信ノードに関する情報が含まれたメッセージを前記受信ノードで受信し、前記送信ノードに関する前記情報に基づいて、前記送信ノードと前記受信ノードとの間の第1の通信環境を前記受信ノードで導出し、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと前記受信ノードとの間の第2の通信環境を前記受信ノードで導出し、前記第1の通信環境と前記第2の通信環境とを前記受信ノードで比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接ノード選択方法であって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、前記各ノードには、前記各ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記受信ノードは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた前記受信ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記受信ノードは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記受信ノードは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える隣接ノード選択方法である。
また、本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶する記憶部と、送信ノードに関する情報が含まれたメッセージを受信するメッセージ受信部と、前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出する第1の通信環境導出部と、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出する第2の通信環境導出部と、前記第1の通信環境と前記第2の通信環境とを比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接ノード選択部とを備えるノードであって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記第1の通信環境導出部は、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記第2の通信環境導出部は、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記隣接ノード選択部は、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換えるノードである。
また、本発明は、分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶するステップと、送信ノードに関する情報が含まれたメッセージを受信するステップと、前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出するステップと、前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出するステップと、前記第1の通信環境と前記第2の通信環境とを比較するステップと、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換えるステップとをコンピュータに実行させるプログラムであって、前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、前記第1の通信環境を導出するステップでは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、前記第2の通信環境を導出するステップでは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、前記第1の通信環境と前記第2の通信環境とを比較するステップでは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記現隣接ノードを前記送信ノードで置き換えるステップでは、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換えるプログラムである。
本発明では、ノードは、他のノードからのメッセージを受信し、メッセージの送信元のノードと自ノードとの間の通信環境を導出する。そして、送信元のノードと自ノードとの間の通信環境が、現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の通信環境よりも良好であれば、現隣接ノードを送信ノードで置き換えている。このように、他のノードからメッセージを受信し、自ノードとの通信環境がより良いノードを隣接ノードとして更新するので、少ないオーバーヘッドで隣接ノードを選択することができ、理想的なPNSの状況に近づけることができる。
本発明の第1の実施形態に係るシステムの全体構成を示すブロック図である。 本発明の第1の実施形態における隣接ノード・座標テーブルの一例の説明図である。 本発明の第1の実施形態の説明に用いるフローチャートである。 本発明の第2の実施形態に係るシステムの全体構成を示すブロック図である。 本発明の第2の実施形態におけるサイト間遅延のテーブルの一例の説明図である。 本発明の第2の実施形態における隣接ノード・サイトIDテーブルの一例の説明図である。 本発明の第2の実施形態の説明に用いるフローチャートである。 通常のChordプロトコルにおける隣接ノードの選択方法を示す説明図である。 PNSを適用した場合のChordプロトコルにおける隣接ノードの選択方法を示す説明図である。
以下、本発明の実施形態について図面を参照しながら説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るシステムの全体構成を示すブロック図である。図1を参照すると、本発明の第1の実施形態に係るシステムは、ノードA1と、ノードA2と、ベースネットワークB1とを備えている。
ノードA1およびノードA2は、ベースネットワークB1に接続されている。なお、ノードA1とノードA2は同様に構成されている。以下、原則としてノードA1についてだけ説明する。また、実際にはノードA1およびノードA2の他に複数のノードが存在する構成が一般的である。しかし、ここでは簡単のためにノードA1の他のノードを代表してノードA2が存在するものとして説明する。なお、本実施形態では、ノードA1およびノードA2が用いるDHTプロトコルとしてChordを用いる場合を例として説明する。
ノードA1は、DHTプロトコル部11と、TCP/IP(Transmission Control Protocol/Internet Protocol)通信部12とを備える。なお、ノードA2は、同様に、DHTプロトコル部21とTCP/IP通信部22とを備える。DHTプロトコル部11は、座標計算部111と、メッセージ送信部112と、メッセージ受信部113と、DHTプロトコル処理部114と、距離計算部115と、隣接ノード選択部116と、隣接ノード・座標記憶部117とから構成される。
座標計算部111は、DHTプロトコルに参加するノード間の遅延に基づいて、ノードA1のネットワーク内の位置を、予め決められた座標空間内の座標にマッピングする。すなわち、座標計算部111は、ノード間遅延のマトリクスから、ノードA1のネットワーク内での近似された位置の座標を計算する。このように各ノードを近似された座標にマッピングすると、任意の2ノード間の遅延は、これらノードの座標間の距離を用いて推定することが可能となる。また、座標計算部111は、計算したノードA1の座標を保持し、適宜更新を行う。
このような近似された座標へのマッピング方法の一例として、下記の参考文献(Vivaldi)で開示されている座標計算を用いる方法が挙げられる。
[参考文献]
F.Dabek,R.Cox,F.Kaashoek,R.Morris,“Vivaldi:A Decentralized Network Coordinate System,”In Proceedings of the 2004 SIGCOMM,August 2004.
Vivaldiでは、ノードiおよびノードjの現座標をそれぞれpi(old)およびpj(old)とし、計測されたノードiおよびノードj間の遅延をrttとしたとき、ノードiの座標pi(new)を式(2)に従い更新する。
Figure 0005915522
ここで、δは定数であり、uは単位ベクトルである。すなわち、Vivaldiは、ノード間遅延と座標間距離との差が最小化されるように、各ノードが自律分散的に座標を更新していくアルゴリズムを採用している。また、Vivaldiでは、座標系としては、ユークリッド空間や球面座標などを用いることが想定されている。
メッセージ送信部112は、DHTプロトコルにおけるメッセージを送信する機能を備える。送信されるメッセージは、TCP/IP通信部12を介して他のノードへ転送される。メッセージの種類の例として、Chordの場合、あるハッシュ値を管理するノードを返すfind_successorメッセージや、検索要求(クエリ)メッセージが挙げられる。また、メッセージ送信部112は、メッセージの送信時に、座標計算部111が計算したノードA1の座標およびノードA1のノードIDを該メッセージ内に含める。ここで、該メッセージ内にノードA1の座標およびノードIDを含めるか否かはメッセージの種類に応じて変えてもよい。
メッセージ受信部113は、DHTプロトコルにおけるメッセージを受信する機能を備える。受信されるメッセージは、TCP/IP通信部12を介して受け渡される。メッセージ受信部113は、受信したメッセージ内に座標に関する情報(以下、「座標情報」という)が含まれる場合に、含まれる座標情報と該座標情報が示す座標に対応するノードの情報を受信したメッセージから抽出し、距離計算部115へ抽出した情報を渡す。また、メッセージ受信部113は、受信したメッセージにおける座標情報およびノードID以外の部分をDHTプロトコル処理部114へ渡す。
DHTプロトコル処理部114は、受信したDHTメッセージに対してメッセージの種類に従ったプロトコル処理を行う機能を備える。例えば、Chordプロトコルにおいて、find_successorメッセージ(キーとして含められるIDのsuccessorのノードのIDを見つけるメッセージ)を受信した場合、DHTプロトコル処理部114は、キーとして含められるIDに基づき、該メッセージを適切な隣接ノード(finger)に転送するか、replyメッセージを返す処理を行う。座標情報を含むメッセージを転送する際には、DHTプロトコル処理部114は、該座標情報も含めてそのままメッセージを転送する。また、Chordプロトコル以外のプロトコルが用いられる場合、DHTプロトコル処理部114は、用いられるプロトコルに応じた処理を行う。
距離計算部115は、メッセージ受信部113において抽出した座標情報に基づいて、自ノードとメッセージを最初に送信したノードとの間の距離を計算する。座標情報を含むメッセージをノードA2が送信したとすると、距離計算部115は、距離の計算においては、ノードA2の座標と、座標計算部111に保持されているノードA1の座標とから、これらノード間の距離を割り出す。座標系が2次元ユークリッド空間であり、ノードA1およびノードA2の座標がそれぞれ(xi,yi)および(xj,yj)であったとすると、距離dは、式(3)に従って求められる。
Figure 0005915522
距離計算部115は、計算した距離を、ノードA2のID(すなわち座標情報を含むメッセージを送信したノードのID)とともに、隣接ノード選択部116へ渡す。
隣接ノード選択部116は、距離計算部115から渡された、座標情報を含むメッセージを送信したノード(以下、「送信ノード」という)のIDと、該送信ノードと自ノードとの間の距離に基づいて、該送信ノードを隣接ノードとして選択するかを判断する。ここで、該送信ノードを隣接ノードとして選択するかどうかの判断は、例えば、以下のように行う。
まず、隣接ノード選択部116は、隣接ノード・座標記憶部117に保持されている現在の隣接ノードリストを参照して、該送信ノードのIDに対応する領域における現在の隣接ノードの情報を得る。そして、隣接ノード選択部116は、対応する領域における現在の隣接ノードと自ノードとの間の距離を計算し、この計算された距離と、該送信ノードと自ノードとの間の距離とを比較する。隣接ノード選択部116は、該送信ノードと自ノードとの距離の方が小さければ、該送信ノードを隣接ノードとして選択すると判断し、対応する領域における現在の隣接ノードを該送信ノードで置き換える。現在の隣接ノードを該送信ノードで置き換える場合、隣接ノード選択部116は、隣接ノード・座標記憶部117における隣接ノードの情報を該送信ノードの情報に書き換える。反対に、該送信ノードと自ノードとの距離の方が小さくない場合、隣接ノード選択部116は、該送信ノードを隣接ノードとして選択しないと判断し、隣接ノードは現在のままとする。
隣接ノード・座標記憶部117は、ノードA1における現在の隣接ノードをリスト形式で保持する。隣接ノード・座標記憶部117に保持された情報の例を図2に示す。
図2は、隣接ノード・座標記憶部117に保持される隣接ノード・座標テーブル101を示している。図2の隣接ノード・座標テーブル101を参照すると、Chordにおいて隣接ノードを選ぶ領域(図中の「ID領域」)ごとに、現在選ばれている隣接ノード(finger)の情報が示されている。隣接ノード・座標テーブル101の例では、座標系として2次元ユークリッド空間が用いられ、ノードA1のIDがnであるとしている。図2から、1番目の隣接ノードは、対応するID領域が式(4)に示すとおりであり、ID=n1であり、その座標は(x1,y1)であることがわかる。
Figure 0005915522
同様に2〜4番目の隣接ノード情報および対応する座標が示されている。隣接ノード・座標テーブル101のエントリは、IDの最大ビット長をmとするとm個作成される。
ここでは、DHTプロトコルとしてChordを例にしたため、隣接ノードは予め定められたID領域ごとに選ばれる。これに対して、TapestryやPastryなどのPlaxton構造をとるDHTプロトコルの場合は、IDのプレフィクス(又はサフィクス)が同一であるノードの中から隣接ノードが選ばれる。ここで、隣接ノードは同一のプレフィクス(又はサフィクス)の長さごとに選ばれる。したがって、Plaxton構造をとるDHTプロトコルの場合、ID領域は、同一のプレフィクス(又はサフィクス)を持つID群から構成される。
TCP/IP通信部12は、TCP/IPプロトコルを用いて他のノードとの通信を行う機能を備える。ノードA1のOS(Operating System)が備えるTCP/IPスタックがTCP/IP通信部12に相当する。
ベースネットワークB1は、ノードA1およびノードA2が接続されるネットワークであり、任意の2ノード間で通信を行うことを可能とする。
次に、図3を参照して、本発明の第1の実施形態においてノードA1が他のノードA2からメッセージを受信した際の動作について詳細に説明する。図3は、本発明の第1の実施形態においてノードA1が他のノードであるノードA2からメッセージを受信した際の動作を示すフローチャートである。この動作例では、各ノードが持つ座標の座標系として2次元ユークリッド空間が用いられるものとする。
まず、ノードA1のメッセージ受信部113がノードA2からメッセージを受信する(ステップS101)。次に、メッセージ受信部113は、ステップS101で受信したメッセージに座標情報が含まれているかどうかをチェックする(ステップS102)。
ステップS102において、座標情報がメッセージに含まれていると判断された場合(ステップS102:YES)、メッセージ受信部113は、含まれる座標情報と該座標に対応するノードの情報(すなわちノードA2のノードID)を受信したメッセージから抽出し、距離計算部115へ抽出した情報を渡す(ステップS103)。また、ステップS102において、座標情報がメッセージに含まれていないと判断された場合(ステップS102:NO)、ノードA1の処理は後述するステップS107へ移る。
ステップS103の後、距離計算部115は、ステップS103で抽出した座標情報に基づいて、式(3)に従って自ノードとノードA2との間の距離を計算し、計算した結果をノードA2のIDとともに隣接ノード選択部116へ渡す(ステップS104)。
次に、隣接ノード選択部116は、隣接ノード・座標記憶部117を参照し、ノードA2に対応するID領域において、現在隣接ノードとして選択しているノードと自ノードとの間の距離と、ステップS104で計算した自ノードとノードA2との間の距離とを比較する(ステップS105)。
ステップS105において、ステップS104で計算したノードA2と自ノードとの間の距離が現在の隣接ノードと自ノードとの間の距離より小さい場合(ステップS105:YES)、隣接ノード選択部116は、ノードA2に対応するID領域において現在選択している隣接ノードを、ノードA2に置き換える(ステップS106)。他方、ステップS105においてノードA2と自ノードとの間の距離が現在の隣接ノードと自ノードとの間の距離以上である場合、隣接ノード選択部116は、隣接ノードは現在のままとする。そして、ノードA1の処理はステップS107へ移る。
ステップS106の後、メッセージ受信部113は、受信したメッセージにおける座標情報およびノードID以外の部分をDHTプロトコル処理部114へ渡す。DHTプロトコル処理部114は、メッセージの種類に従ったプロトコル処理を行う(ステップS107)。
上述した例では、受信したメッセージに座標情報が含まれる場合、該座標に対応するノードは、該メッセージをノードA1へ送信したノードA2であった。
しかしながら、ノードA2以外のノードの座標情報がメッセージに含まれる場合もありうる。例えば、ノードA2以外のノード(以下、ノードXとする)がメッセージを最初に送信し、該メッセージをノードA2がノードA1に対して転送した場合、該メッセージ内には、ノードXの座標情報が含まれている。したがって、このような場合は、メッセージ受信部113は、座標情報に対応するノードのIDとして、ノードXのノードIDを抽出する。
次に本発明の第1の実施形態の効果について説明する。本発明の第1の実施形態では、各ノードがノード間の遅延に基づいて自ノードの座標を計算し、該座標および自ノードのノードIDをDHTプロトコルにおけるメッセージ内に含めて送信する。そして、送信ノードの座標が含まれたメッセージを受信したノードは、該送信ノードと自ノードとの間の距離をこれらノードの座標から計算し、計算した距離が、該送信ノードのIDに対応するID領域において現在隣接している隣接ノードと自ノードとの間の距離よりも小さければ、隣接ノードを該送信ノードに置き換える。
上述した処理の結果、他のノードからのメッセージ受信を、自ノードにより近いノードを隣接ノードとして更新する機会とすることができる。したがって、より多くのノードからメッセージを受信するほど理想的なPNSの状況に近づけることが期待できる。
<第2の実施形態>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。図4は、本発明の第2の実施形態に係るシステムの全体構成を示すブロック図である。本発明の第2の実施形態に係るシステムは、図1に示した本発明の第1の実施形態と同様に、ベースネットワークB1と、このベースネットワークB1に接続されたノードA3およびノードA4とを備えている。
なお、本実施形態においても、ノードA3およびノードA4の用いるDHTプロトコルがChordである場合を例として説明する。また、ノードA3およびノードA4は同じ構成を有する。以下、原則としてノードA3についてだけ説明する。
図4を参照すると、ノードA3は、DHTプロトコル部31と、TCP/IP通信部32とから構成される。なお、ノードA4は、同様に、DHTプロトコル部41とTCP/IP通信部42とから構成される。TCP/IP通信部32は、第1の実施形態で示したTCP/IP通信部12と同様の機能を備えており、TCP/IP通信部12と同様の動作を行うため、詳細な説明は省略する。
DHTプロトコル部31は、サイト間遅延記憶部311と、メッセージ送信部312と、メッセージ受信部313と、DHTプロトコル処理部314と、遅延計算部315と、隣接ノード選択部316と、隣接ノード・サイトID記憶部317とから構成される。
DHTプロトコル処理部314は、第1の実施形態で示したDHTプロトコル処理部114と同様の機能を備えており、DHTプロトコル処理部114と同様の動作を行うため、詳細な説明は省略する。
サイト間遅延記憶部311は、自ノードが属するサイトから他のサイトまでの遅延を記憶している。ここで、サイトとは、互いに近傍に存在するノード(例えば、同一管理ドメイン内に存在するノード)で構成されるグループである。具体的には、IPネットワークにおけるAS(Autonomous System)や、VPN(Virtual Private Network)における拠点などがサイトの単位として用いられ、各ノードは1つのサイトに属する。例えば、ASがサイトの単位として用いられる場合、同一AS内に属するノードは、同一サイトに属するものとして扱われる。また、各サイトにはユニークなID(サイトID)が割り当てられる。また、自ノードが属するサイトから他のサイトまでの遅延を知る方法として、事前又は定期的に自ノードの代表ノードから各サイト内の代表ノードまでの遅延を計測する方法などが挙げられる。
サイト間遅延記憶部311に記憶されるサイト間遅延テーブルの例を図5に示す。図5を参照すると、サイト間遅延テーブル102が示されており、自ノード(ノードA3)が属するサイトから、他のサイトへの遅延が示されている。例えば、ノードA3はサイト「3」に属し、サイト「1」に属するノードへは100msecの遅延があり、サイト「2」に属するノードへは20msecの遅延があり、自サイト(サイト「3」)に属するノードへは1msecの遅延があり、サイト「4」に属するノードへは50msecの遅延があることがわかる。
メッセージ送信部312は、第1の実施形態におけるメッセージ送信部112と同様、DHTプロトコルにおけるメッセージを送信する機能を備える。ただし、メッセージの送信時に該メッセージに座標およびノードIDを含めるのではなく、ノードA3が属するサイトのサイトIDおよびノードA3のノードIDを含める点が異なる。また、該メッセージ内にノードA3のサイトIDおよびノードIDを含めるか否かはメッセージの種類に応じて変えてもよい。
メッセージ受信部313は、第1の実施形態におけるメッセージ受信部113と同様、DHTプロトコルにおけるメッセージを受信する機能を備える。ただし、メッセージの受信時に受信したメッセージから座標情報を抽出するのではなく、受信したメッセージ内にサイトIDが含まれている場合に、含まれるサイトIDと該サイトIDに対応するノードの情報を受信したメッセージから抽出し、遅延計算部315へ抽出した情報を渡す点が異なる。
遅延計算部315は、メッセージ受信部313において抽出したサイトIDに基づいて、該サイトIDを含むメッセージを送信したノードと自ノードとの間の遅延を計算する。例えば、サイトIDを含むメッセージをノードA3がノードA4から受信し、該メッセージにノードA4の属するサイトのIDであるサイト「4」が含まれていたとする。ノードA3の遅延計算部315は、サイト間遅延記憶部311を参照し、サイトA4と自ノードA3が属するサイトとの間の遅延を調べる。サイト間遅延が、図5に示すサイト間遅延テーブル102の通りであったとすると、ノードA3とノードA4との間の遅延は、50msecであると求められる。遅延計算部315は、求めた遅延を、ノードA4のID(すなわちサイトIDを含むメッセージを送信したノードのID)とともに、隣接ノード選択部316へ渡す。
隣接ノード選択部316は、遅延計算部315から渡された、サイトIDを含むメッセージを送信したノード(以下、送信ノードという)のIDと、該送信ノードと自ノードとの間の遅延に基づいて、該送信ノードを隣接ノードとして選択するかを判断する。該送信ノードを隣接ノードとして選択するかどうかの判断において、隣接ノード選択部316は、まず、隣接ノード・サイトID記憶部317に保持されている現在の隣接ノードリストから、該送信ノードのIDに対応する領域における現在の隣接ノードの情報を参照する。そして、隣接ノード選択部316は、対応する領域における現在の隣接ノードと自ノードとの間の遅延と、該送信ノードと自ノードとの間の遅延とを比較する。該送信ノードと自ノードとの間の遅延の方が小さければ、隣接ノード選択部316は、対応する領域における現在の隣接ノードを該送信ノードで置き換える。現在の隣接ノードを該送信ノードで置き換える場合、隣接ノード選択部316は、隣接ノード・サイトID記憶部317における隣接ノードの情報を該送信ノードの情報に書き換える。反対に、該送信ノードと自ノードとの間の遅延の方が小さくない場合、隣接ノード選択部316は、隣接ノードを現在のままとする。
隣接ノード・サイトID記憶部317は、第1の実施形態における隣接ノード・座標記憶部117と同様、ノードA3における現在の隣接ノードをリスト形式で保持する。ただし、隣接ノード・サイトID記憶部317は、隣接ノードの座標の代わりに、隣接ノードの属するサイトIDを保持する点が、隣接ノード・座標記憶部117と異なる。隣接ノード・サイトID記憶部317に保持された情報の例を図6に示す。
図6の隣接ノード・サイトIDテーブル103を参照すると、1番目の隣接ノードは、対応するID領域が式(4)に示すとおりであり、ID=n5であり、該ノードが属するサイトIDはサイト「4」であることがわかる。同様に2〜4番目の隣接ノード情報および対応するサイトIDが示されている。
次に、図7を参照して、本発明の第2の形態においてノードA3が他のノードであるノードA4からメッセージを受信した際の動作について詳細に説明する。図7は、本発明の第2の形態においてノードA3が他のノードであるノードA4からメッセージを受信した際の処理を示すフローチャートである。
まず、ノードA3のメッセージ受信部313がノードA4からメッセージを受信する(ステップS201)。次に、メッセージ受信部313は、ステップS201で受信したメッセージにサイトIDが含まれているかどうかをチェックする(ステップS202)。
ステップS202において、サイトIDがメッセージに含まれていると判断された場合(ステップS202:YES)、メッセージ受信部313は、含まれるサイトIDと該サイトIDを含むメッセージを送信したノードの情報(すなわちノードA4のノードID)をメッセージから抽出し、遅延計算部315へ抽出した情報を渡す(ステップS203)。また、ステップS202において、サイトIDがメッセージに含まれていないと判断された場合(ステップS202:NO)、ノードA3の処理は後述するステップS207へ移る。
ステップS203の後、遅延計算部315は、ステップS203で抽出したサイトIDに基づいて自ノードとノードA4との間の遅延を計算し、計算した結果をノードA4のIDとともに隣接ノード選択部316へ渡す(ステップS204)。
次に、隣接ノード選択部316は、隣接ノード・サイトID記憶部317を参照し、ノードA4に対応するID領域において、現在隣接ノードとして選択しているノードと自ノードとの間の遅延と、ステップS204で計算した自ノードとノードA4との間の遅延とを比較する(ステップS205)。
ステップS205において、ステップS204で計算したノードA4と自ノードとの間の遅延が現在の隣接ノードと自ノードとの間の遅延より小さい場合(ステップS205:YES)、隣接ノード選択部316は、ノードA4に対応するID領域において現在選択している隣接ノードを、ノードA4に置き換える(ステップS206)。ステップS205において、ステップS204で計算したノードA4と自ノードとの間の遅延が現在の隣接ノードと自ノードとの間の遅延以上である場合(ステップS205:NO)、隣接ノード選択部316は、隣接ノードを現在のままとする。そして、ノードA3の処理はステップS207へ移る。
ステップS206の後、メッセージ受信部313は、メッセージにおけるサイトIDおよびノードID以外の部分をDHTプロトコル処理部314へ渡す。DHTプロトコル処理部314は、メッセージの種類に従ったプロトコル処理を行う(ステップS207)。
上述した例では、受信したメッセージにサイトIDが含まれる場合、該サイトIDに対応するノードは、該メッセージをノードA3へ送信したノードA4であった。
しかしながら、ノードA4以外のノードが属するサイトのサイトIDがメッセージに含まれる場合もありうる。例えば、ノードA4以外のノード(以下、ノードYとする)がメッセージを最初に送信し、該メッセージをノードA4がノードA3に対して転送した場合、該メッセージ内には、ノードYの属するサイトのサイトIDが含まれている。したがって、このような場合は、メッセージ受信部313は、メッセージに含まれるサイトIDに対応するノードのIDとして、ノードYのIDを抽出する必要がある。
次に本発明の第2の実施形態の効果について説明する。本発明の第2の実施形態では、互いに近傍に存在するノード同士が同一のサイトに属するようにし、各ノードは自ノードが属するサイトのサイトIDおよび自ノードのノードIDをDHTプロトコルにおけるメッセージ内に含めて送信する。そして、送信ノードが属するサイトのサイトIDが含まれたメッセージを受信したノードは、該送信ノードと自ノードとの間の遅延を、事前あるいは定期的に計測されたサイト間遅延に基づいて求め、求められた遅延が、該送信ノードのIDに対応するID領域において現在隣接している隣接ノードと自ノードとの間の遅延よりも小さければ、隣接ノードを該送信ノードに置き換える。
このようにすることで、他のノードからのメッセージ受信を、自ノードにより近いノードを隣接ノードとして更新する機会とすることができる。したがって、より多くのノードからメッセージを受信するほど理想的なPNSの状況に近づけることが期待できる。
以上、実施形態を参照して本発明を説明したが、本発明は、上述した実施形態に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更を加えることができる。
上述のノードは、内部にコンピュータシステムを有していても良い。この場合、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されている。そして、このプログラムをコンピュータが読み出し、読み出されたプログラムをコンピュータが実行して、上記処理が行われる。ここで、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disc)−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線経由でコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
この出願は、2010年3月10日に出願された日本出願特願2010−053653号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、例えば、分散ハッシュテーブルを備えたノードや、こうしたノードを有するシステムに利用することができる。本発明では、少ないオーバーヘッドで隣接ノードを選択できる。
11 DHTプロトコル部
12 TCP/IP通信部
21 DHTプロトコル部
22 TCP/IP通信部
31 DHTプロトコル部
32 TCP/IP通信部
41 DHTプロトコル部
42 TCP/IP通信部
101 隣接ノード・座標テーブル
102 サイト間遅延テーブル
103 隣接ノード・サイトIDテーブル
111 座標計算部
112 メッセージ送信部
113 メッセージ受信部
114 DHTプロトコル処理部
115 距離計算部(第1の通信環境導出部)
116 隣接ノード選択部(第2の通信環境導出部、隣接ノード選択部)
117 隣接ノード・座標記憶部(記憶部)
311 サイト間遅延記憶部
312 メッセージ送信部
313 メッセージ受信部
314 DHTプロトコル処理部
315 遅延計算部(第1の通信環境導出部)
316 隣接ノード選択部(第2の通信環境導出部、隣接ノード選択部)
317 隣接ノード・サイトID記憶部(記憶部)

Claims (3)

  1. 分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を受信ノードで記憶し、
    送信ノードに関する情報が含まれたメッセージを前記受信ノードで受信し、
    前記送信ノードに関する前記情報に基づいて、前記送信ノードと前記受信ノードとの間の第1の通信環境を前記受信ノードで導出し、
    前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと前記受信ノードとの間の第2の通信環境を前記受信ノードで導出し、
    前記第1の通信環境と前記第2の通信環境とを前記受信ノードで比較し、前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える
    隣接ノード選択方法であって、
    前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
    前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
    前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
    前記各ノードには、前記各ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
    前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
    前記受信ノードは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた前記受信ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
    前記受信ノードは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
    前記受信ノードは、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
    隣接ノード選択方法。
  2. 分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子
    領域毎に、隣接ノードに関する情報を記憶する記憶部と、
    送信ノードに関する情報が含まれたメッセージを受信するメッセージ受信部と、
    前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信
    ノードと自ノードとの間の第1の通信環境を導出する第1の通信環境導出部と、
    前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、
    前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣
    接ノードと自ノードとの間の第2の通信環境を導出する第2の通信環境導出部と、
    前記第1の通信環境と前記第2の通信環境とを比較し、前記第1の通信環境が前記第2
    の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現
    在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換える隣接
    ノード選択部と
    を備えるノードであって、
    前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
    前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
    前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
    自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
    前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
    前記第1の通信環境導出部は、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
    前記第2の通信環境導出部は、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
    前記隣接ノード選択部は、前記第1の遅延時間と前記第2の遅延時間とを比較し、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
    ノード。
  3. 分散ハッシュテーブルプロトコルに参加する各ノードを特定する識別子の所定の識別子領域毎に、隣接ノードに関する情報を記憶するステップと、
    送信ノードに関する情報が含まれたメッセージを受信するステップと、
    前記送信ノードに関する前記情報に基づいて、前記メッセージの送信元である前記送信ノードと自ノードとの間の第1の通信環境を導出するステップと、
    前記隣接ノードに関する前記情報および前記送信ノードに関する前記情報に基づいて、前記送信ノードに対応する識別子領域について現在隣接ノードとして選択されている現隣接ノードと自ノードとの間の第2の通信環境を導出するステップと、
    前記第1の通信環境と前記第2の通信環境とを比較するステップと、
    前記第1の通信環境が前記第2の通信環境より良好である場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして選択されている前記現隣接ノードを前記送信ノードで置き換えるステップと
    をコンピュータに実行させるプログラムであって、
    前記第1の通信環境および前記第2の通信環境は、ノード間の遅延時間であり、
    前記分散ハッシュテーブルプロトコルに参加する前記各ノードのうち、同一管理ドメイン内に存在するノードで構成されるグループであるサイトに対して、前記サイトを識別するためのサイト識別子が割り当てられ、
    前記隣接ノードに関する前記情報は、前記隣接ノードが属するサイトに割り当てられたサイト識別子と前記隣接ノードを特定する識別子を含み、
    自ノードには、自ノードが属するサイトから他の各サイトまでの遅延時間が保持され、
    前記メッセージは、前記送信ノードに関する前記情報として、前記送信ノードが属する第1のサイトに割り当てられた第1のサイト識別子と前記送信ノードを特定する第1の識別子を含み、
    前記第1の通信環境を導出するステップでは、前記メッセージから前記第1のサイト識別子および前記第1の識別子を抽出し、保持された前記遅延時間に基づいて、第2のサイト識別子が割り当てられた自ノードが属する第2のサイトと前記第1のサイトとの間の第1の遅延時間を求め、
    前記第2の通信環境を導出するステップでは、保持された前記遅延時間に基づいて、前記現隣接ノードが属する第3のサイトと前記第2のサイトとの間の第2の遅延時間を求め、
    前記第1の通信環境と前記第2の通信環境とを比較するステップでは、前記第1の遅延時間と前記第2の遅延時間とを比較し、
    前記現隣接ノードを前記送信ノードで置き換えるステップでは、前記第1の遅延時間が前記第2の遅延時間より小さい場合に、前記送信ノードに対応する前記識別子領域について現在隣接ノードとして記憶されている前記現隣接ノードの第2の識別子を前記第1の識別子で置き換える
    プログラム。
JP2012504361A 2010-03-10 2011-02-04 隣接ノード選択方法、ノード、及びプログラム Expired - Fee Related JP5915522B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010053653 2010-03-10
JP2010053653 2010-03-10
PCT/JP2011/052352 WO2011111449A1 (ja) 2010-03-10 2011-02-04 隣接ノード選択方法、ノード、及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2011111449A1 JPWO2011111449A1 (ja) 2013-06-27
JP5915522B2 true JP5915522B2 (ja) 2016-05-11

Family

ID=44563275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012504361A Expired - Fee Related JP5915522B2 (ja) 2010-03-10 2011-02-04 隣接ノード選択方法、ノード、及びプログラム

Country Status (2)

Country Link
JP (1) JP5915522B2 (ja)
WO (1) WO2011111449A1 (ja)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN7015001568; Hancong DUAN, et al.: 'Proceedings of The Sixth IEEE International Conference on Computer and Information Technology (CIT 2' Proximity Neighbor Selection in Structured P2P Network , 200612, IEEE *
JPN7015001569; Frank DABEK, et al.: 'Proceedings of SIGCOMM 2004' Vivaldi: A Decentralized Network Coordinate System Volume 34, Issue 4, 200410, ACM *
JPN7015001570; Michael PARKER, et al.: 'Proceedings of GLOBECOM '05' Optimizing Neighbors by Objective Functions in Peer-to-Peer Networks Volume 6, 200601, p.990-995, IEEE *

Also Published As

Publication number Publication date
WO2011111449A1 (ja) 2011-09-15
JPWO2011111449A1 (ja) 2013-06-27

Similar Documents

Publication Publication Date Title
US7788400B2 (en) Utilizing proximity information in an overlay network
JP5745925B2 (ja) コンテンツ中心ネットワーク(ccn)における端末の通信方法とccnにおけるハブの通信方法、そのための記録媒体、及びccnのための端末
US7483391B2 (en) Providing a notification including location information for nodes in an overlay network
US7644167B2 (en) Identifying a service node in a network
US7827279B2 (en) Selecting nodes close to another node in a network using location information for the nodes
KR101607879B1 (ko) 콘텐트 네트워킹을 위한 적응적 다중-인터페이스 사용
US7289520B2 (en) Method, apparatus, and system for expressway routing among peers
US8190630B2 (en) Data search device, data search system, data search method and data search program
JP2006174417A (ja) リソース要求を対応するリソースに会合させる方法およびシステム
CN101626392B (zh) 数据存储、查找的方法及系统
JP7564362B2 (ja) 経路に従って宛先アドレスを変更するメッセージのルーティング及び転送方法
CN116521668A (zh) 用于数据存储的方法、设备和计算机程序产品
CN1934845B (zh) 使用至少一个局部界标节点来确定网络中节点的位置信息
JP5915522B2 (ja) 隣接ノード選択方法、ノード、及びプログラム
JP2014519294A (ja) 解決による経路指定
US20060209717A1 (en) Distributed storing of network position information for nodes
JP2015220699A (ja) キャッシュノードの探索方法
JP2009218728A (ja) 情報転送装置、情報転送方法およびプログラム
Thiruvenkatam et al. A novel replication protocol using scalable partition prediction and information estimation algorithm for improving DCN data availability
Chen et al. Cost‐Effective Location Management for Mobile Agents on the Internet
JP2006221457A (ja) Pure型P2P通信におけるレプリケーション制御を行うサーバントとそのレプリケーション制御方法およびプログラム
JP4624314B2 (ja) データ管理装置
WO2013027784A1 (ja) データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体
Chen et al. Searching nearest neighbor in overlay network
Saleem et al. Distributed service discovery architecture: A bottom-up approach with application oriented networking

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160321

R150 Certificate of patent or registration of utility model

Ref document number: 5915522

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees