一种基于位置融合的分布式协作网络坐标确定方法

文档序号:7645564阅读:156来源:国知局
专利名称:一种基于位置融合的分布式协作网络坐标确定方法
技术领域
本发明涉及广域网环境中的网络坐标确定方法,尤其是广域网环境中分布式网络坐标的确定方法。

背景技术
网络坐标确定是网络计算领域亟待解决的核心问题之一。基于网络坐标进行网络距离测量是目前广泛采用的网络距离测量方法之一,它通过在特定坐标空间给结点赋予一个坐标位置,利用结点间的坐标距离来近似网络延迟。网络应用系统的执行策略大多是以结点之间的网络距离为基础的,网络坐标确定的精度、稳定性和效率将直接影响到网络距离测量的效果,从而影响网络应用系统的运行效率。
现有的确定网络坐标的典型方法有1)GNP(Global Networking Positioning)方法,它利用一组地标结点作为静态的集中探测点,采用基于迭代的非线性方法集中计算结点的网络坐标,缺乏扩展性;没有考虑地标结点的部署问题,有限的地标结点很容易成为系统的性能瓶颈,从而直接影响网络坐标确定的效率;它的网络坐标不变特性难以根据网络状态的不断变化及时更新网络坐标,从而直接影响到网络坐标确定的精确程度。2)PIC(Practical Internet coordinates)方法,它采用混合式的地标选择方法,与GNP方法相比,其扩展性有所提高,但是它的收敛速度低,难以根据网络状态的不断变化及时更新网络坐标,从而直接影响到网络坐标确定的精确程度,网络距离较远的结点的网络坐标的偏差更大。3)Vivaldi方法,它利用结点之间的不断交互来及时更新网络坐标,它的扩展性较好;但它没有考虑网络中恶意结点提供的虚假坐标所引起的坐标计算的震荡问题,以及网络中存在的三角不等式违例所引起的坐标计算的差错问题,这些都会影响到网络坐标确定的稳定性。
总之,现有的网络坐标确定方法的主要不足之处在于1)地标瓶颈效应,静态网络坐标确定方法以集中式的地标结点为基础计算网络坐标,有限的地标结点很容易成为系统的性能瓶颈,从而直接影响网络坐标确定的效率;2)低精度,静态网络坐标确定方法的网络坐标不变特性和动态网络坐标确定方法的收敛速度低都将难以根据网络状态的不断变化及时更新网络坐标,从而直接影响到网络坐标确定的精确程度;3)稳定性差,网络中恶意结点提供的虚假坐标将引起坐标计算的震荡问题,网络中存在的三角不等式违例将引起坐标计算的差错问题,都会影响到网络坐标确定的稳定性。因此,如何提高网络坐标确定的精度、稳定性和效率已经成为网络计算领域的热点研究问题。


发明内容
本发明要解决的技术问题是针对现有的网络坐标确定方法存在的地标瓶颈效应、低精度和稳定性差等不足而提出的基于位置融合的分布式协作网络坐标确定方法。
解决本发明技术问题所采用的技术方案是动态选择已有结点用于确定新结点的坐标,从而有效避免地标瓶颈效应的产生;利用多种坐标确定方法确定新结点坐标,提高坐标确定的收敛速度,及时适应网络状态的不断变化,有效保证坐标确定的精度;利用位置融合来减弱恶意结点提供的虚假坐标带来的位置震荡影响,利用任意播选择距离较远的结点进行坐标确定来减弱选择距离较近结点引起的三角不等性违例影响,有效提高坐标确定的稳定性和容错性。
具体的技术方案是 第一步,系统初始化。
1.依据结点功能将结点分为服务结点和用户结点。用户结点仅能够查询自己的坐标;服务结点除具有用户结点的功能外,还负责响应其它结点的坐标确定请求。
2.利用分布式哈希表DHT(Distributed Hash Table)组织服务结点和用户结点。每个结点具有一个唯一标识符ID,结点ID是一个m(m=160)位的二进制串(即ID是0到2m之间的整数),它根据结点的IP地址通过哈希函数(SHA-1算法)获得。
3.设定网络坐标的维数D,结点网络坐标的维数D越多,网络坐标的精度越高,坐标确定的复杂度越高,通常,网络坐标的维数D定为7。
4.在系统初始状态,所有结点都设置为服务结点,任意选择一个服务结点作为根结点,根结点利用多点坐标确定方法Coordinate_M设置所有服务结点的初始网络坐标。
多点坐标确定方法Coordinate_M的具体流程是 1)假设初始状态系统中共有N个服务结点,N为正整数; 2)利用网络探测方法,获取N个服务结点之间的实际网络延迟,并构成网络延迟矩阵M, li,j表示服务结点i和j之间的实际网络延迟,i=1,2,......,N,j=1,2,......,N。
3)为N个服务结点随机设置W组网络坐标(N<W<2N),基于每一组网络坐标计算目标函数F的值,选择使目标函数F达到最小的那组网络坐标作为N个服务结点的初始网络坐标 si表示服务结点i的坐标,sj表示服务结点j的坐标,sik表示服务结点i的第k维坐标,sjk表示服务结点j的第k维坐标。li,j表示服务结点i和j之间的实际网络延迟,di,j为服务结点i和j之间的坐标距离。
4)利用网络探测方法获取服务结点i和任意服务结点j(j≠i)之间的实际网络延迟latency。根据服务结点i和服务结点j之间的坐标距离di,j和实际网络延迟latency设置服务结点i的坐标差错diffi,坐标差错指结点网络坐标与结点实际物理位置之间的偏差, 5)由根结点向N个服务结点发送确定后的初始网络坐标和坐标差错。
第二步,确定新加入结点的初始网络坐标。
1.新结点在加入时成为服务结点的概率为P,P是系统参数,P越大,系统的扩展性越高,系统维护开销越大。通常,P的取值为50%,P应根据系统的扩展性和维护开销进行动态调整。
2.确定新加入的用户结点的初始网络坐标。
1)假设A是新加入的用户结点,结点A采用任意播的方式发送网络坐标确定请求。
2)转发路径中的每个结点都对结点A发出的网络坐标确定请求进行如下处理 a)每个结点都保存一个服务结点集合,用于记录相关服务结点的联系信息(包括结点IP、结点ID和结点坐标),其中,距离本结点较远的服务结点称为远程服务结点。
b)每个结点从其缓存的服务结点集合中随机选择比例为Q(Q通常取50%)的远程服务结点。
c)如果选择的服务结点数目少于坐标确定需要的服务结点数目K(K取值为结点网络坐标的维数D),则继续转发该网络坐标确定请求。
d)如果选择的服务结点数目大于等于坐标确定需要的服务结点数目K,则将选择的服务结点的联系信息发给提交请求的结点A,并通知这些服务结点确定请求结点A的网络坐标。
3)接到通知的服务结点(设为S)利用两点坐标确定方法Coordinate_T确定请求结点A的网络坐标,并将得到的网络坐标返回请求结点A。
两点坐标确定方法Coordinate_T的具体流程如下 a)获取请求结点A的当前坐标和当前坐标差错,如果没有,则为请求结点A随机设置当前坐标(a1,a2,......,aD),设置当前坐标差错diffA=1。
b)设接到通知的服务结点S的坐标为(s1,s2,......,sD),获取该结点S与请求结点A的坐标距离CoordinateDis, c)在各维上,获取请求结点A相对于S的相对移动距离xi(i=1,2,......,D) xi=si-ai,i=1,2,......,D。
d)利用网络探测方法获取S与请求结点A之间的实际网络延迟latency。
e)确定请求结点A的新坐标(n1,n2,......,nD) ni=ai+δ×xi×(CoordinateDis-latency),i=1,2,......,D 其中,diffA表示请求结点的当前坐标差错,diffS表示S的当前坐标差错。
f)根据请求结点A和S之间的新的坐标距离NewCoordinateDis和实际网络延迟latency调整请求结点A的坐标差错diffA, 4)请求结点A在接收到所有远程服务结点确定的网络坐标后,利用位置融合方法Coordinate_Fuse确定最终的网络坐标。
位置融合方法Coordinate_Fuse有三种,可任意选择一种进行最终网络坐标的确定 a)最小偏差度位置融合方法每个服务结点不仅返回请求结点A的网络坐标,而且返回与网络坐标对应的坐标差错,选取所有网络坐标中坐标差错最小的网络坐标作为最终选取的网络坐标,即, diffi=min(diff1,diff2,......,diffSNum) FCoord表示最终选取的网络坐标。
假设共接收到SNum个服务结点返回网络坐标, Coordi和diffi表示第i个服务结点返回的网络坐标及其对应的坐标差错,i=1,2,......,SNum。
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
b)中值位置融合方法在每一维上,选取所有返回的网络坐标中对应维的中间值作为最终选取的网络坐标,即, FCoordj表示最终选取的网络坐标的第j维,j=1,2,......,D。
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
c)算术平均位置融合方法在每一维上,选取所有返回的网络坐标中对应维的算术平均值作为最终选取的网络坐标,即, FCoordj表示最终选取的网络坐标的第j维,j=1,2,......,D。
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
3.新加入的服务结点B利用最小化差错坐标确定方法Coordinate_D设置初始网络坐标。
最小化差错坐标确定方法Coordinate_D的具体流程是 1)新加入的服务结点B向根结点发送网络坐标确定请求。
2)根结点从已有网络坐标的服务结点中任意选择D个服务结点(D为网络坐标的维数)形成集合L,并将集合L发送给服务结点B。
3)利用网络探测方法获取服务结点B和集合L中各服务结点之间的实际网络延迟。
4)为服务结点B随机设置D个网络坐标(D为坐标的维数),基于每一个网络坐标计算目标函数F的值,选择使目标函数F达到最小的网络坐标作为服务结点B的初始网络坐标 si表示集合L中第i个服务结点的坐标,sik表示集合L中第i个服务结点的第k维坐标,bk表示服务结点B的第k维坐标。li为服务结点B和集合L中第i个服务结点之间的实际网络延迟(i=1,2,......,D),di为服务结点B和集合L中第i个服务结点之间的坐标距离(i=1,2,......,D)。
5)利用网络探测方法获取服务结点B和集合L中任意服务结点i之间的实际网络延迟latency。根据服务结点B和服务结点i之间的坐标距离di和实际网络延迟latency设置服务结点B的坐标差错diffB, 6)服务结点B向根结点发送确定后的初始网络坐标。
第三步,更新结点坐标。
结点之间进行信息交互时,获得对方的当前网络坐标,并进一步得到结点之间的当前网络坐标距离;利用网络探测方法获取结点之间的实际网络延迟;通过判断当前网络坐标距离d与实际网络延迟l之间的偏差程度,确定是否进行网络坐标更新,即,如果满足以下条件,则进行网络坐标更新 通常,β取为0.2。
用户结点和服务结点的网络坐标更新的流程相同,与新加入用户结点的初始网络坐标确定的流程(即第二步中的第2点)相同。
采用本发明可以达到以下的技术效果 与现有的网络坐标确定方法相比,本发明以分布式的服务结点为基础,动态选择服务结点来确定新结点的网络坐标,能够有效避免地标瓶颈效应的产生;本发明适应网络状态的变化,依据结点之间实际网络延迟和当前网络坐标距离之间的偏差程度,利用两点坐标确定方法、多点坐标确定方法和最小化差错坐标确定方法等多种方法动态更新结点的网络坐标,能够有效保证坐标确定的精度;本发明利用位置融合来减弱恶意结点提供的虚假坐标带来的位置震荡影响,选择远程服务结点进行坐标确定来减弱选择距离较近结点引起的三角不等性违例影响,能够有效提高坐标确定的稳定性和容错性。



图1是采用本发明进行结点网络坐标确定的总流程图; 图2是采用本发明确定用户结点初始网络坐标和对结点网络坐标进行更新的流程图。

具体实施例方式 图1是采用本发明进行结点网络坐标确定的总流程图。具体流程如下 第一步,系统初始化。
1.依据结点功能将结点分为服务结点和用户结点。
2.利用分布式哈希表组织服务结点和用户结点。
3.设定网络坐标的维数D为7。
4.在系统初始状态,所有结点都是服务结点,任意选择一个服务结点作为根结点,根结点利用多点坐标确定方法Coordinate_M设置所有服务结点的初始网络坐标。
第二步,确定新加入结点的初始网络坐标。
1.新结点在加入时成为服务结点的概率为P,通常,P的取值为50%,P应根据系统的扩展性和维护开销进行动态调整。
2.确定新加入的用户结点的进行初始网络坐标。
3.新加入的服务结点利用最小化差错坐标确定方法Coordinate D设置初始网络坐标。第三步,更新结点坐标。
1.结点之间进行信息交互时,获得对方的当前网络坐标,并进一步得到结点之间的当前网络坐标距离。
2.利用网络探测方法获取结点之间的实际网络延迟。
3.如果当前网络坐标距离d与实际网络延迟l之间的偏差程度满足β取为0.2,则进行网络坐标更新。
图2是采用本发明确定用户结点初始网络坐标和对结点网络坐标进行更新的流程图。具体流程如下 1)请求结点采用任意播的方式发送网络坐标确定请求。
2)转发路径中的每个结点都对请求结点发出的网络坐标确定请求进行如下处理 2a)每个请求处理结点从其维护的服务结点集合中随机选择比例为Q(通常,Q取50%)的远程服务结点。
2b)如果选择的服务结点数目少于坐标确定需要的服务结点数目K(通常,K取值为结点网络坐标的维数D),则继续转发该网络坐标确定请求。
2c)如果选择的服务结点数目大于等于坐标确定需要的服务结点数目K,则将选择的服务结点的联系信息发给提交请求的结点,并通知这些服务结点确定请求结点的网络坐标。
3)接到通知的服务结点利用两点坐标确定方法Coordinate_T确定请求结点的网络坐标,并将得到的网络坐标返回请求结点。
4)请求结点在接收到所有远程服务结点确定的网络坐标后,利用位置融合方法Coordinate_Fuse进一步确定最终的网络坐标。
权利要求
1.一种基于位置融合的分布式协作网络坐标确定方法,其特征在于它包括以下步骤
第一步,系统初始化,方法是
1)依据结点功能将结点分为服务结点和用户结点,用户结点仅能够查询自己的坐标,服务结点除具有用户结点的功能外,还响应其它结点的坐标确定请求;
2)利用分布式哈希表DHT组织服务结点和用户结点,每个结点具有一个唯一标识符ID,结点ID是一个m位的二进制串,它根据结点的IP地址通过哈希函数获得,其中m=160;
3)设定网络坐标的维数D为7;
4)在系统初始状态,所有结点都设置为服务结点,任意选择一个服务结点作为根结点,根结点利用多点坐标确定方法Coordinate_M设置所有服务结点的初始网络坐标;
第二步,确定新加入结点的初始网络坐标,方法是
1)新结点在加入时成为服务结点的概率为P,P通常取值为50%,且P应根据系统的扩展性和维护开销进行动态调整;
2)确定新加入的用户结点的初始网络坐标
I)假设A是新加入的用户结点,结点A采用任意播的方式发送网络坐标确定请求;
II)转发路径中的每个结点都对结点A发出的网络坐标确定请求进行如下处理
a)每个结点都保存一个服务结点集合,用于记录相关服务结点的联系信息即结点IP、结点ID和结点坐标,其中,距离本结点较远的服务结点称为远程服务结点;
b)每个结点从其缓存的服务结点集合中随机选择比例为Q的远程服务结点,Q通常取50%;
c)如果选择的服务结点数目少于坐标确定需要的服务结点数目K,则继续转发该网络坐标确定请求,K取值为结点网络坐标的维数D;
d)如果选择的服务结点数目大于等于坐标确定需要的服务结点数目K,则将选择的服务结点的联系信息发给提交请求的结点A,并通知这些服务结点确定请求结点A的网络坐标;
III)接到通知的服务结点S利用两点坐标确定方法Coordinate_T确定请求结点A的网络坐标,并将得到的网络坐标返回请求结点A;
IV)请求结点A在接收到所有远程服务结点确定的网络坐标后,利用位置融合方法Coordinate_Fuse确定最终的网络坐标;
3)新加入的服务结点B利用最小化差错坐标确定方法Coordinate_D设置初始网络坐标;
第三步,更新结点坐标,方法是结点之间进行信息交互时,获得对方的当前网络坐标,并进一步得到结点之间的当前网络坐标距离;利用网络探测方法获取结点之间的实际网络延迟;判断当前网络坐标距离d与实际网络延迟l之间的偏差程度,如果满足β取为0.2,则进行网络坐标更新;用户结点和服务结点的网络坐标更新的流程相同,与新加入用户结点的初始网络坐标确定的流程即第二步中的2)相同。
2.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述多点坐标确定方法Coordinate_M的具体流程是
1)假设初始状态系统中共有N个服务结点,N为正整数;
2)利用网络探测方法,获取N个服务结点之间的实际网络延迟,并构成网络延迟矩阵M,
lij表示服务结点i和j之间的实际网络延迟,i=1,2,......,N,j=1,2,......,N;
3)为N个服务结点随机设置W组网络坐标(N<W<2N),基于每一组网络坐标计算目标函数F的值,选择使目标函数F达到最小的那组网络坐标作为N个服务结点的初始网络坐标
si表示服务结点i的坐标,sj表示服务结点j的坐标,sik表示服务结点i的第k维坐标,sjk表示服务结点j的第k维坐标。li,j表示服务结点i和j之间的实际网络延迟,di,j为服务结点i和j之间的坐标距离;
4)利用网络探测方法获取服务结点i和任意服务结点j(j≠i)之间的实际网络延迟latency,根据服务结点i和服务结点j之间的坐标距离di,j和实际网络延迟laency设置服务结点i的坐标差错diffi,坐标差错指结点网络坐标与结点实际物理位置之间的偏差,
5)由根结点向N个服务结点发送确定后的初始网络坐标和坐标差错。
3.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述两点坐标确定方法Coordinate_T的具体流程如下
1)获取请求结点A的当前坐标和当前坐标差错,如果没有,则为请求结点A随机设置当前坐标(a1,a2,......,aD),设置当前坐标差错diffA=1;
2)设接到通知的服务结点S的坐标为(s1,s2,......,sD),获取S与请求结点A的坐标距离CoordinateDis,
3)在各维上,获取请求结点A相对于S的相对移动距离xi(i=1,2,......,D)xi=si-ai,i=1,2,......,D;
4)利用网络探测方法获取S与请求结点A之间的实际网络延迟laency;
5)确定请求结点A的新坐标(n1,n2,......,nD)
ni=ai+δ×xi×(CoordinateDis-latency),i=1,2,......,D
其中,diffA表示请求结点的当前坐标差错,diffS表示S的当前坐标差错;
6)根据请求结点A和S之间的新的坐标距离NewCoordinateDis和实际网络延迟latency调整请求结点A的坐标差错diffA,
4.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述位置融合方法Coordinate_Fuse是指最小偏差度位置融合方法每个服务结点不仅返回请求结点A的网络坐标,而且返回与网络坐标对应的坐标差错,选取所有网络坐标中坐标差错最小的网络坐标作为最终选取的网络坐标,即,
diffi=min(diff1,diff2,......,diffSNum)
FCoord表示最终选取的网络坐标;
假设共接收到SNum个服务结点返回网络坐标,
Coordi和diffi表示第i个服务结点返回的网络坐标及其对应的坐标差错,i=1,2,......,Snum;
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
5.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述位置融合方法Coordinate_Fuse是指中值位置融合方法在每一维上,选取所有返回的网络坐标中对应维的中间值作为最终选取的网络坐标,即,
j=1,2,......,D;
FCoordj表示最终选取的网络坐标的第j维,j=1,2,......,D;
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
6.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述位置融合方法Coordinate_Fuse是指算术平均位置融合方法在每一维上,选取所有返回的网络坐标中对应维的算术平均值作为最终选取的网络坐标,即,
j=1,2,......,D;
FCoordj表示最终选取的网络坐标的第j维,j=1,2,......,D;
Coordij表示第i个服务结点返回的网络坐标的第j维,j=1,2,......,D。
7.如权利要求1所述的一种基于位置融合的分布式协作网络坐标确定方法,其特征在于所述最小化差错坐标确定方法Coordinate_D的具体流程是
1)新加入的服务结点B向根结点发送网络坐标确定请求;
2)根结点从已有网络坐标的服务结点中任意选择D个服务结点形成集合L,并将集合L发送给服务结点B;
3)利用网络探测方法获取服务结点B和集合L中各服务结点之间的实际网络延迟;
4)为服务结点B随机设置D个网络坐标,基于每一个网络坐标计算目标函数F的值,选择使目标函数F达到最小的网络坐标作为服务结点B的初始网络坐标
si表示集合L中第i个服务结点的坐标,sik表示集合L中第i个服务结点的第k维坐标,bk表示服务结点B的第k维坐标;li为服务结点B和集合L中第i个服务结点之间的实际网络延迟(i=1,2,......,D),di为服务结点B和集合L中第i个服务结点之间的坐标距离(i=1,2,......,D);
5)利用网络探测方法获取服务结点B和集合L中任意服务结点i之间的实际网络延迟latency,根据服务结点B和服务结点i之间的坐标距离di和实际网络延迟latency设置服务结点B的坐标差错diffB,
6)服务结点B向根结点发送确定后的初始网络坐标。
全文摘要
本发明公开了一种基于位置融合的分布式协作网络坐标确定方法,目的是解决现有网络坐标确定方法地标瓶颈效应、低精度和稳定性差等不足。技术方案是先系统初始化,利用多点坐标确定方法Coordinate_M设置所有服务结点的初始网络坐标;接着确定新加入的用户结点和服务结点的初始网络坐标;当当前网络坐标距离d与实际网络延迟l之间的偏差程度满足|(l-d)/l|≥β,β取为0.2时,进行网络坐标更新。采用本发明能够有效避免地标瓶颈效应的产生,能够有效保证坐标确定的精度,能够有效提高坐标确定的稳定性和容错性。
文档编号H04L12/28GK101106484SQ20071003556
公开日2008年1月16日 申请日期2007年8月16日 优先权日2007年8月16日
发明者王意洁, 符永铨, 重 郑, 杨永滔, 孙伟东, 李小勇 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1