T-DHT: Topology Based Distributed Hash-Tables

这篇文章主要提出了一种适用于传感器网络和ad-hoc网络中的结合网络底层拓扑结的DHT:T-DHT。采用T-DHT作为基础来实现以数据为核心的存储、信息处理以及ad-hoc和传感器网络中路由。T-DHT不依赖于位置信息,并且即使在规模非常小的网络也能很好的工作。根据底层网络的拓扑结构构件了一个分布式的DHT。T-DHT中邻近的两个节点在物理网络中通常会有一个直接的链接。相比较于最短路径路由,T-DHT在路由时发送的路由消息更少。
第一部分 介绍
文章主要讲述了如何基于底层网络物理拓扑构建DHT,以达到:哈希表中邻近的两个节点,在实际的物理网络中,通常有一个直接链接。
构建T-DHT包含两个步骤:(1)建立一个代表无力网络的虚拟坐标空间;(2)以虚拟坐标空间为基础,构建一个二维的哈希表,其中每个节点维护和其虚拟位置邻近的节点信息。
第二部分 轻量级的虚拟坐标空间
首先随机选择3个参照节点,其他的每个节点根据这3个参照节点计算出其自身的坐标位置。然后参照节点以两个节点之间的跳数为距离,洪泛整个网络,这样每个节点就能得到节点到参照节点的距离。根据节点自身到参照节点的距离,每个节点都能计算出其在虚拟坐标空间中的位置。
第三部分 面向拓扑的哈希表
坐标空间被所有参与节点分开,每个节点负责其邻近的一部分区域。同时每个节点维护一个路由表,该路由表包含其在虚拟坐标空间中的邻居节点信息,和每个邻居节点维护的区域信息。在二维哈希空间中的路由是很直观的,节点使用贪心算法向其路由表中的节点发送消息,直到返回结果。
加入T-DHT包含3个步骤:(1)想加入T-DHT的节点,首先必须找到一个已经存在于T-DHT中的节点。(2)通过T-DHT路由来找到当前正在维护它的位置区域的节点。然后将这个区域等分成两份。(3)新加入的节点通知邻居节点自身的存在。
为了自举,在最初的时候第一个参照节点维护整个哈希表。当有新的节点加入时,第一个参照节点通知新节点:“我是T-DHT的成员。”然后邻居节点之间相互通知成员关系和邻居关系的存在。
第4部分 评估
达到了设计目标,即:哈希表中邻近的两个节点在底层网络中也邻近。

 

下载:

© 2007, dolf. All rights reserved.

November 27th, 2007
Home > Algorithm, DHT Research, my work, p2p > T-DHT: Topology Based Distributed Hash-Tables

Related Posts

Comments ( 0 )
  1. No comments yet.
Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
本WordPress博客由爱写字提供技术支持