结构化P2P系统的拓扑匹配方法.pdf

上传人:大师****2 文档编号:683457 上传时间:2018-03-04 格式:PDF 页数:13 大小:586.96KB
返回 下载 相关 举报
摘要
申请专利号:

CN200510006268.7

申请日:

2005.01.27

公开号:

CN1645829A

公开日:

2005.07.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04L12/28

主分类号:

H04L12/28

申请人:

中国科学院计算技术研究所;

发明人:

李振宇; 谢高岗; 闵应骅; 李忠诚

地址:

100080北京市中关村科学院南路6号

优先权:

专利代理机构:

中科专利商标代理有限责任公司

代理人:

段成云

PDF下载: PDF下载
内容摘要

本发明涉及计算机网络技术领域,特别是一种结构化P2P系统的拓扑匹配方法。该方法由节点加入方法和事件驱动方法两部分组成,分别负责节点加入时和节点加入后系统的拓扑优化。在该方法中,节点加入系统时依据系统全局信息找到与该节点最近的节点作为邻居节点;当有节点离开或者加入系统从而导致系统覆盖网络拓扑结构发生变化时,只有受影响的节点做出适当的调整。该方法不是只利用系统全局信息或者只利用系统局部信息,而是二者的结合,从而在完成拓扑匹配的同时减少了方法带来的开销。

权利要求书

1: 结构化P2P拓扑匹配方法,其特征在于,结合当前存在的拓扑匹 配思想,以事件,节点的加入或离开,驱动匹配方法,从而在解决拓扑匹配 的同时减小方法带来的额外开销。
2: 根据权利要求1所述的结构化P2P拓扑匹配方法,其特征在于,在 节点加入时利用界标簇方法和RTT探测技术寻找距离最近的节点作为直 接邻居节点;而当有节点加入或离开系统时,该节点的所有TTL-1邻居 节点探测与它们落在同一个区间中的节点,从而找到系统拓扑改变后距 离自己最近的节点,加入系统中。
3: 根据权利要求3所述的结构化P2P拓扑匹配方法,其特征在于,拓 扑改变时,每个可能需要调整的节点探测的节点数p为 p = min ( n , C b x ) , n ≤ N ]]> 这里p表示节点X需要探测的节点个数,n表示CAN系统中节点个数, C bx 表示落入b X 的节点个数,N表示底层物理网络的节点个数。
4: 根据权利要求1所述的结构化P2P拓扑匹配方法,其特征在于, 该方法由节点加入方法和事件驱动方法两部分组成,分别负责节点加入 时和节点加入后系统的拓扑优化。
5: 根据权利要求1或5所述的结构化P2P拓扑匹配方法,其特征在 于,节点加入方法步骤如下: S3.1,节点A加入系统时,与m个界标节点进行RTT探测; S3.2,将所得探测结果按某种顺序进行排序,从而确定节点A所属的 标界区域,记为b A ; S3.3,节点A继续对所有属于b A 的节点进行RTT探测,将RTT最小 的节点记作B; S3.4,节点A从节点B所拥有的区域中随机的选择一个点P作为初始 加入点,P即为节点A在虚拟笛卡儿空间中的坐标,同时节点A把 该信息发给节点B; S3.5,B获得这个信息后,从Z B 中划出一部分区域Z A 给节点A,其中 点P在区域Z A 中; S3.6,节点A存储系统中与其相邻的节点的信息,这种信息称为路由 信息,主要包括节点的地址标识和节点所拥有区域的信息; S3.7,节点B以及节点A、B的所有邻居节点需要对保存的路由信息 做适当的更新,以保持和当前系统一致,这样节点A就加入了P2P 系统。
6: 根据权利要求1或5所述的结构化P2P拓扑匹配方法,其特征在 于,事件驱动方法步骤如下: S4.1,节点X对落入b X 的每一个节点进行RTT探测,将RTT最小的 节点记作节点Y,同时记此时节点X的TTL-1邻居节点组成的集合为S 1 ; S4.2,计算此时的L t avg (A∪B),记作L t0 avg (X∪Y); S4.3,节点X随机地在节点Y所拥有的区域Z Y 中选择一个点P,节点 Y把Z Y 等分为两块区域,点P所在的区域记作Z Y1 ,另一块区域为Z Y2 ; S4.4,假想节点X离开了原来的位置,并把点P作为初始加入点重新 加入了系统,计算此时的L t avg (A∪B),记作L t1 avg (X∪Y),需要说明的是, 这里只是假想X做了调整,而实际上X并未做任何的调整; S4.5,如果 L t 0 avg ( X ∪ Y ) > L t 1 avg ( X ∪ Y ) , ]]> 转到步骤S4.7); S4.6,如果点P在Z Y1 内,则在Z Y2 内随机选择一点作为P,跳转到步骤 S4.4),如果点P在Z Y2 内,则跳转到步骤S4.8); S4.7,节点X离开原来的区域,并且把点P作为加入点,重新加入CAN 系统,记此时节点X的直接相邻节点组成的集合为S 2 ,集合S 1 和S 2 内的 节点对保存的路由信息做适当的更新,以保持和当前系统一致,同时把 集合S 1 和S 2 中的元素加入到集合S中; S4.8,清空S 1 和S 2 ,从集合S中删除元素X,如果集合S为空,结束; 否则重复以上步骤。

说明书


结构化P2P系统的拓扑匹配方法

    【技术领域】

    本发明涉及计算机网络技术领域,特别是一种结构化P2P系统的拓扑匹配方法。

    背景技术

    P2P(Peer-to-Peer,表示一种对等关系)系统改变了传统文件和服务共享的客户机/服务器模式。在P2P系统中,文件存储于各节点(这些节点在系统中的地位是对等的),文件直接在节点间进行传输,系统中的每一个节点既可以给其他节点提供服务,又可以接受其他节点提供的服务。在文件传输之前,需要对文件所处的位置进行定位,由于定位方法或定位思想的不同,P2P系统在实现的时候采用了不同的技术。

    P2P系统是建立在应用层上的一个覆盖网络,在建立覆盖网络时并没有考虑底层物理网络的拓扑结构。这就可能造成覆盖网络与物理网络的不匹配(Mismatch),从而对资源定位的响应时间造成不良影响,这里的响应时间定义为路由跳数和逻辑链路延迟的乘积。目前主要有两种方法来解决结构化P2P系统的拓扑不匹配。第一种方法的思路是尽可能多的收集系统地全局信息,然后根据这种全局信息来寻找最优路径。界标簇(landmark binning)方法是基于这种思路的一种方法。在界标簇方法中,每个节点和全局已知的几个界标节点(landmark node)进行延时测量,然后把延时按照某种顺序(升序或降序)进行排列,具有相同界标顺序的节点被认为在物理上是相邻的。这种方法的最大不足在于:界标是粗粒度的,对落入同一个区间的节点不能进一步的区分,在最坏情况下,系统中所有的节点可能落入同一个区间中,这时方法不能带来任何好处。该方法的另外一个问题是:所有的调整和优化都在节点加入(bootstrap)阶段进行,而此后不再进行拓扑优化,即它们不适合于动态度较高的P2P系统。另外一种解决方法是在系统的各个局部(比如节点)上进行优化,通过局部的优化来达到全局的优化。SAT-match(Self-Adaptive TopologyMatch)是基于这种思路的一种方法。在SAT-match中,系统中的每个节点每隔一段时间进行TTL-k(Time to live-k)探测,以此来发现一定范围内距离最近的节点。TTL-k探测有可能把局部最小认为是全局最小,这就使得该方法可能永远都找不到系统中距离该节点最近的节点。同时随着时间的增加,该方法带来的开销是不断增长的。尽管该方法试图动态调整探测间隔来减少无谓的探测,但这种间隔不能太大,否则不能及时发现系统的变化。

    【发明内容】

    为了解决覆盖网络和物理网络的拓扑不匹配问题,本发明提出了一种结构化P2P系统事件驱动拓扑匹配方法。结合当前存在的拓扑匹配思想,以事件,节点的加入或离开,驱动匹配方法,从而在解决拓扑匹配的同时减小方法带来的额外开销。

    该发明的基本思想是:在节点加入(bootstrap)时利用界标簇方法和RTT探测技术寻找距离最近(延时最小)的节点作为直接邻居节点;而当有节点加入或离开系统时,该节点的所有TTL-1邻居节点探测与它们落在同一个区间中的节点,从而找到系统拓扑改变后距离自己最近的节点。此时不可以简单的把找到的最近节点作为直接邻居节点,这是因为在结构化P2P系统中,节点连接到最近的节点的同时可能会连接到新的距离更远的节点。所以需要进行调整前的估算,只有满足条件时,才会把找到的最近节点作为直接邻居节点。

    本发明可以解决P2P系统覆盖网络和底层物理网络的拓扑不匹配问题,同时尽量减少拓扑匹配方法带来的额外开销。该方法由节点加入方法和事件驱动方法两部分组成,分别负责节点加入时和节点加入后系统的拓扑优化。具体内容叙述如下:

    1.节点加入方法

    假设系统中有m个已知界标节点,那么就有m!(m个延迟作全排列)个标界区域。在CAN中,每个标界区域对应虚拟笛卡儿空间的一个区域。节点加入方法步骤如下:

    S3.1,当节点A加入系统时,与m个界标节点进行RTT探测;

    S3.2,将所得探测结果按某种顺序(升序或降序)进行排序,从而确定节点A所属的标界区域,记为bA;

    S3.3,节点A继续对所有属于bA的节点进行RTT探测,将RTT最小的节点记作B;

    S3.4,节点A从节点B所拥有的区域(记作ZB)中随机的选择一个点P作为初始加入点,P即为节点A在虚拟笛卡儿空间中的坐标,同时节点A把该信息发给节点B;

    S3.5,B获得这个信息后,从ZB中划出一部分(通常是一半)区域ZA给节点A,其中点P在区域ZA中;

    S3.6,节点A存储系统中与其相邻的节点的信息,这种信息称为路由信息,主要包括节点的地址标识和节点所拥有区域的信息;

    S3.7,节点B以及节点A、B的所有邻居节点需要对保存的路由信息做适当的更新,以保持和当前系统一致,这样节点A就加入了P2P系统。

    2.事件驱动方法

    事件发生时,系统中的节点需要进行适当调整以适应系统的变化。下面以节点离开系统为例来说明事件驱动方法,节点加入系统与此过程相似。

    由于节点A离开只影响A节点TTL-1的邻居节点,因此调整局限在这些邻居节点组成的集合S内。集合S内的每一节点X都需要按下面的步骤做调整:

    事件驱动方法步骤如下:

    S4.1,节点X对落入bX(bX为节点X所属的标界区域)的每一个节点进行RTT探测,将RTT最小的节点记作节点Y,同时记此时节点X的TTL-1邻居节点组成的集合为S1;

    S4.2,计算此时的Ltavg(A∪B),记作Lt0avg(X∪Y);

    S4.3,节点X随机地在节点Y所拥有的区域ZY中选择一个点P,节点Y把ZY等分为两块区域,点P所在的区域记作ZY1,另一块区域为ZY2;

    S4.4,假想节点X离开了原来的位置,并把点P作为初始加入点重新加入了系统,计算此时的Ltavg(A∪B),记作Lt1avg(X∪Y),需要说明的是,这里只是假想X做了调整,而实际上X并未做任何的调整;

    S4.5,如果Lt0avg(X∪Y)>Lt1avg(X∪Y),]]>转到步骤S4.7);

    S4.6,如果点P在ZY1内,则在ZY2内随机选择一点作为P,跳转到步骤S4.4),如果点P在ZY2内,则跳转到步骤S4.8);

    S4.7,节点X离开原来的区域,并且把点P作为加入点,重新加入CAN系统,记此时节点X的直接相邻节点组成的集合为S2,集合S1和S2内的节点对保存的路由信息做适当的更新,以保持和当前系统一致,同时把集合S1和S2中的元素加入到集合S中;

    S4.8,清空S1和S2,从集合S中删除元素X,如果集合S为空,结束;否则重复以上步骤。

    节点每次加入和离开都需要重复上面的步骤。这里假设落入bX的节点的信息存储在某个已知节点上。

    3.方法优化

    1)界标簇方法在最坏情况下会使系统中所有的节点可能落入同一个标界区域中,此时方法不能带来任何的收益。而事件驱动方法中节点X需要对落入bX(bX为节点X所属的标界区域)的所有节点做RTT探测,所以在最坏情况下方法复杂度为O(n2),这给方法的扩展性带了很大的问题。为了解决这个问题,做了如下的改进:

    拓扑改变时,每个可能需要调整的节点探测的节点数p为

    p=min(n,Cbx),n≤N]]>

    这里p表示节点X需要探测的节点个数,n表示CAN系统中节点个数,Cbx表示落入bX(bX为节点X所属的标界区域)的节点个数,N表示底层物理网络的节点个数。

    2)节点加入系统后,已经处在一个比较理想的位置,所以如果在没有节点离开系统之前就做探测、调整,就显得没有必要了。这里规定:在系统初启到有节点离开系统这段时间间隔内,节点的加入不触发事件驱动方法。这里强调节点的离开是因为节点的离开会比较大的影响该节点的TTL-1邻居节点。

    3)当节点A加入或者离开系统时,它的所有TTL-1邻居节点都需要进行RTT探测。如果TTL-1邻居节点B满足条件,则B会跳到虚拟坐标中别的位置。此时节点B的所有TTL-1邻居节点也都需要进行RTT探测。如此一直重复下去。这就可能造成一个节点在刚刚进行过RTT探测后再次进行RTT探测,而第一次探测是没有作用的。为了解决这个问题,规定:一个节点在得知需要进行RTT探测后,不是立即去进行探测,而是等待一段时间T,如果在这段时间里需要进行多次探测,只做一次。

    该发明不是只利用P2P系统的全局信息或者只利用P2P系统的局部信息,而是二者的结合,从而在完成拓扑匹配的同时减少了方法带来的开销。

    【附图说明】

    图1是两种方法的stretch比较图。

    图2是两种方法的开销比较图。

    图3是本发明的结构化P2P系统的拓扑匹配方法节点加入P2P系统时的流程图。

    图4是本发明的结构化P2P系统的拓扑匹配方法事件驱动方法流程图。

    【具体实施方式】

    图1是两种方法的stretch比较,从图中可以看出,界标簇(landmarkbinning)方法和SAT-match方法的结合可以使系统stretch降低50%左右,而该发明提出的方法——事件驱动方法可以使系统的stretch降低65%左右,这里的stretch定义为平均逻辑链路延迟与平均物理链路延迟的比值。

    图2是两种方法的开销比较,从图中可以看出界标簇(landmarkbinning)方法和SAT-match方法的结合给系统带来的额外开销远远大于事件驱动方法。也就是说,事件驱动方法可以在开销很小的情况下获得较高的收益。

    图3是本发明方法中节点加入结构化P2P系统时的流程图。

    节点加入方法步骤如下:

    S3.1,节点A加入系统时,与m个界标节点进行RTT探测;

    S3.2,将所得探测结果按某种顺序进行排序,从而确定节点A所属的标界区域,记为bA;

    S3.3,节点A继续对所有属于bA的节点进行RTT探测,将RTT最小的节点记作B;

    S3.4,节点A从节点B所拥有的区域中随机的选择一个点P作为初始加入点,P即为节点A在虚拟笛卡儿空间中的坐标,同时节点A把该信息发给节点B;

    S3.5,B获得这个信息后,从ZB中划出一部分区域ZA给节点A,其中点P在区域ZA中;

    S3.6,节点A存储系统中与其相邻的节点的信息,这种信息称为路由信息,主要包括节点的地址标识和节点所拥有区域的信息;

    S3.7,节点B以及节点A、B的所有邻居节点需要对保存的路由信息做适当的更新,以保持和当前系统一致,这样节点A就加入了P2P系统。

    图4是本发明方法中事件驱动方法的流程图。

    事件驱动方法步骤如下:

    S4.1,节点X对落入bX(bX为节点X所属的标界区域)的每一个节点进行RTT探测,将RTT最小的节点记作节点Y,同时记此时节点X的TTL-1邻居节点组成的集合为s1;

    S4.2,计算此时的Ltavg(A∪B),记作Lt0avg(X∪Y);

    S4.3,节点X随机地在节点Y所拥有的区域ZY中选择一个点P,节点Y把ZY等分为两块区域,点P所在的区域记作ZY1,另一块区域为ZY2;

    S4.4,假想节点X离开了原来的位置,并把点P作为初始加入点重新加入了系统,计算此时的Ltavg(A∪B),记作Lt1avg(X∪Y),需要说明的是,这里只是假想X做了调整,而实际上X并未做任何的调整;

    S4.5,如果Lt0avg(X∪Y)>Lt1avg(X∪Y),]]>转到步骤S4.7);

    S4.6,如果点P在ZY1内,则在ZY2内随机选择一点作为P,跳转到步骤S4.4),如果点P在ZY2内,则跳转到步骤S4.8);

    S4.7,节点X离开原来的区域,并且把点P作为加入点,重新加入CAN系统,记此时节点X的直接相邻节点组成的集合为S2,集合S2和S2内的节点对保存的路由信息做适当的更新,以保持和当前系统一致,同时把集合S1和S2中的元素加入到集合S中;

    S4.8,清空S1和S2,从集合S中删除元素X,如果集合S为空,结束;否则重复以上步骤。

结构化P2P系统的拓扑匹配方法.pdf_第1页
第1页 / 共13页
结构化P2P系统的拓扑匹配方法.pdf_第2页
第2页 / 共13页
结构化P2P系统的拓扑匹配方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《结构化P2P系统的拓扑匹配方法.pdf》由会员分享,可在线阅读,更多相关《结构化P2P系统的拓扑匹配方法.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明涉及计算机网络技术领域,特别是一种结构化P2P系统的拓扑匹配方法。该方法由节点加入方法和事件驱动方法两部分组成,分别负责节点加入时和节点加入后系统的拓扑优化。在该方法中,节点加入系统时依据系统全局信息找到与该节点最近的节点作为邻居节点;当有节点离开或者加入系统从而导致系统覆盖网络拓扑结构发生变化时,只有受影响的节点做出适当的调整。该方法不是只利用系统全局信息或者只利用系统局部信息,而是二者的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1