一种网格资源路由选择方法

文档序号:7646759阅读:276来源:国知局
专利名称:一种网格资源路由选择方法
技术领域
本发明属于一种计算机网络领域,具体地讲是一种网格资源路由选择方法。
背景技术
网格技术的起源可以追溯到20世纪90年代初。当时,欧洲的一批科学家将分布在法国和瑞士等国不同地理位置的计算资源,包括CPU、存储器、数据库等通过高速的因特网组成充分的资源集成,使其具有一种更高性能计算、管理及服务的资源能力,来解决高能物理研究中的计算难题。其结果是,位于瑞士的科技人员可以通过网格将巨大的计算任务提交到位于法国的高性能计算机集群上完成,这预示着世界上计算机不管是大型、小型,还是个人的,都可以连在一个共有的开放式的因特网上,将因特网上所有的计算机设备集成起来形成一个虚拟的超级计算机系统不再是一种梦想,这就是网格技术产生的背景。简单地讲,网格是把整个因特网整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。当然,网格并不一定非要这么大,我们也可以构造地区性的网格,如中关村科技园区网格、企事业内部网格、局域网网格、甚至家庭网格和个人网格。事实上,网格的根本特征是资源共享,而不是它的规模。由于网格是一种新技术,也就具有新技术的两个特征。第一,它还没有明确的定义,不同的群体用不词来称谓它;第二,网格的精确含义和内容还没有固定,而是在不断变化。

发明内容
本发明的目的是运用层次结构的思想提出了一种分层式的网格资源模型,以该模型为基础设计了一种基于离散动态规划原理的分层式网格资源路由选择方法。
为了实现上述目的,本发明所采用的方法是第一步骤建立分层式网格资源模型网格G的资源一般可按节点所分布的地理区域、连通性以及节点之间的相关性等因素进行分簇,从分层的观点来看,网格G中的每个节点可看成是第零层簇;由有关节点组成的簇被称作第一层簇;几个第一层簇的组合被称作第二层簇,类似地,可以定义第三层簇、第四层簇和第K层簇,每个第一层簇至少包括一个节点,且不与其他第一层簇相互覆盖,第二层簇只包含几个第一层簇,且不与其他第二层簇相互覆盖,所有在同一第一层簇内的接点相对于本层簇来说,被称为内部节点,一个具有连向其他簇节点链路的节点被称作桥节点(或边界路由器),局部节点可看成是第零层节点;连接两个第一层簇的节点可被称作第一层桥节点;连接两个第一层簇的节点被称作第一层桥节点;连接两个第二层簇的节点被称作第二层桥节点,在一给定的第二层簇内,由第一层桥节点形成的网络称作第一层桥网络。
第二步骤确定分层式网格资源定位路由(HGRLR)方法具体包括三个功能模块初始化模块,路由信息更新模块,路由决策模块,1)初始化模块主要完成公用常数、类型及全局变量的说明、各节点簇内链路延迟表和簇内链路延迟表的初始赋值等;2)路由信息更新新模块是实现动态适应式网格资源路由方法的关键环节之一,它应能及时地将G的当前网络状态通知给全网节点,以使各节点能根据最新的簇内链路延迟和簇间链路延迟信息适时地更新自己的路由数据库信息;3)路由决策模块是利用离散动态规划原理,通过求多段图的方法来获得最优路由决策。
在本发明中,计算网格的资源可按节点所分布的地理区域、连通性以及节点之间的相关性等因素进行分簇(cluster),各节点只需维护局部路由信息及网格资源簇结构的主要信息,它能实现网格资源请求的路由和转发,并将资源请求转发给满足此请求的计算资源,能适应计算网格资源结构的动态变化,可以有效地解决计算网格资源发现及定位问题。此外,给出了正确性和复杂性的证明。


图1为本发明实施例的分层式网格资源模型图。
图2为图1的第一簇的簇内资源路由图。
图3为多段图。
图4为本发明路由信息更新模块的流程图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的详细描述。
本发明实施例是一个具有68个节点的网格G的资源分布模型(图1),它分成两层6簇(第一层簇)。
分层式网格资源定位路由(HGRLR)方法中网格G的每个节点都要保存和维护4种路由数据库信息1)簇内链路延迟表 以图1所示的网格G为例,其第一簇(C1)包含12个局部节点,因而其簇内链路延迟表的第一行和第一列均应为节点号C1.1,C1.2,C1.3,C1.4,…C1.12。表中其余各数据项(i,j)表示局部节点i到局部节点j的链路延迟,它将是一个g阶矩阵(g等于本簇内局部节点数目)。对于本例而言,它应是一个12阶(12×12)延迟矩阵。
2)簇间链路延迟表 该表将保存和维护各桥节点之间的链路延迟。表的第一行和第一列均应为G的全部桥节点,表中其余每个数据项(i,j)表示桥节点i到桥节点j的链路延迟,它应是一个h阶延迟矩阵(h等于全网桥节点数目)。
3)簇内节点路由表 该表将保存和维护某局部节点到本簇内全部节点的最优链路延迟估计值及路由选择信息。
4)簇间路由表 该表将保存和维护本簇各桥点到全网所有桥节点的最优链路延迟估计值及路由信息。
在簇内资源路由中,对于节点υi(Gi,j),均有υi∈Vi,簇内各节点保存着本簇内局部路由信息。某节点不需存储整个G的全局路由信息。在簇内网格资源路由中,从某资源请求节点Vi出发搜索其资源r时,选择与Vi相连接的信息节点Vp,根据簇内节点路由表及其路由算法,将资源请求报文信息传送给下一个合适的节点Vg,若Vg(包括Vp)是资源所在节点,即Φ(υg,r)=1,υg∈Vr,则搜索结束;否则根据簇内路由算法,将资源请求报文继续传送给下一个合适的后续节点,直到搜索到所要求的资源为止。其路由为P=υ1e1υ2e2,…,υi-1ei-1υi。经下面以图1中第一簇为例讨论簇内资源路由问题(图2)。在图2中,假设V1(C1.1),V2(C1.2),V3(C1.3),V9(C1.9),V7(C1.7)存储的资源及地址信息分别如下V1r1r2r3r4r5r6r7r8r9r10r11r12A1A2A2A2A2A2A2A2A2A2A2A2V2r1r2r3r4r5r6r7r8r9r10r11r12A1A2A3A3A3A3A3A3A3A10A10A10V3r1r2r3r4r5r6r7r8r9r10r11r12A2A2A3A4A4A9A9A9A9A2A2A2V9r1r2r3r4r5r6r7r8r9r10r11r12A3A3A3A3A3A6A7A8A9A10A10A10V7r1r2r3r4r5r6r7r8r9r10r11r12A9A9A9A9A9A9A9A9A9A9A9A9图2中,链路旁边的数字表示资源请求报文经由该条链路的延迟,假设图2中各节点的报文延迟均相同,根据路由算法容易求得以上资源请求报文的最优路由为V1→V2→V3→V9→V7,即在V7搜索到r7,且Φ(V7,r7)=1。
本发明的网格资源分布模型可表示成一个加权图G=(V,E),其中V表示节点集,E表示连接节点的通信链路集。V和E分别表示该网格中的节点数和链路数。为不失一般性,只考虑这样的一类图,即在该类网格中一对节点之间最多只有一条链路,链路旁的参数可用于描述该链路当前的状态,其链路代价函数主要有资源请求报文延迟来确定。
网格G中的节点分为两类,即资源节点和信息节点,分别表示为Vr,Vi,资源节点是指资源所在的节点,信息节点用于存储资源和资源节点的对应关系。在访问这两种节点时,都需要查找资源的地址信息。
网格的资源集合表示为R,资源的个数表示为|R|。假设|R|≥|V|,且图中每个节点都是资源节点,即任意节点υi都是υi∈Vr,对于每个资源r,资源与资源节点的关系表示为Φ(υi,r),υi∈Vr.如果Φ(υi,r)=1.则表示资源r在资源节点υi上,如果Φ(υi,r)=0,则表示资源r不在资源节点υi上。资源节点υi的地址表示为Ai。
查找资源r的过程可以看成是在G中资源请求从起点u1到达资源所在节点υi所经过的路由的搜索过程,即P=υ1e1υ2e2,…,υi-1ei-1υi,1≤i≤|V|,υi∈Vr,且Φ(υi,r)=1,此路由的权值表示为Wp。
分层式网格资源定位路由(HGRLR)方法包括三个功能模块初始化模块,路由信息更新模块,路由决策模块。
1)初始化模块主要完成公用常数、类型及全局变量的说明、各节点簇内链路延迟表和簇内链路延迟表的初始赋值等。在初始化过程中,每个节点应知道有关簇的结构,其节点标识符和是否桥节点等信息。
2)路由信息更新新模块是实现动态适应式网格资源路由方法的关键环节之一,它应能及时地将G的当前网络状态通知给全网节点,以使各节点能根据最新的簇内链路延迟和簇间链路延迟信息适时地更新自己的路由数据库信息。其中各局部节点将周期性地测量其输出链路延迟,并用更新报文的形式将这类信息以最高优先权迅速地传送给本簇基它所有节点。其它节点收到更新报文后,将计算出自己的簇内路由表。类似地,各桥节点也周期性地校验其输出链路的平均延迟,并将这类信息以最高优先权迅速地传送给第一层桥网络的其它桥节点。当收到这种簇间更新报文后,各桥节点将计算出自己的簇间路由表。
3)路由决策模块是本方法的另一关键环节,它主要利用离散动态规划原理,通过求多段图(如图3所示)的方法来获得最优路由决策。图3中V0和Vt分别为源节点和目的节点;V1表示源节点所在簇的各桥节点;Vt-1表示目的节点所在簇的各桥节点;其余节点为途径节点。
下面给出基于离散动态规划原理的多级路由决策过程的数学描述。可以定义如下链路延迟代价函数DN=Σi=0N-1F[x(i),u(i)],i=0,1,2,···,N-1---(1)]]>式中x(i)表示路由决策所处的状态,即可看成是图2中各节点(V)的位置;u(i)为择优过程中作出的路由决策;F[x(i),u(i)]即为各段路由的代价(延迟)。
x(0)=x0(2)路由的选择过程的动态方程为x(i+1)=g[x(i),u(i)](3)若将经最优路由决策后的最小代价记作D*N,最优路由决策记作u*,那么求最佳路由选择的问题实际上是要求出u*(0),u*(1),u*(2),…,u*(N-1),使V0到Vt(图3)所花费的代价DN最小。
由式(1),并逐次使用式(2)和式(3)可得DN=F[x(0),u(0)]+F[x(1),u(1)]+…+F[x(N-1),u(N-1)]=F[x(0),u(0)]+F{g[x(0),u(0)],u(1)}+…上式还可记为DN=[x(0),u(0),u(1),…,u(N-1)](4)若最优路由序列u*(1),u*(2),u*(3),…,u*(N-1),已选出,那么DN的最小值只依赖于初始状态,并可将它记作D*[x(0)]。一般而言,可用D*N[X]表示初始状态为x经由N步时的代价DN的最小值,于是有
DN*[x(0)]=minu(0),u(1),···,u(N-1){DN[x(0),u(0),u(1),···,u(N-1)]}=minu(0){D[x(0),u(0)]+DN*[x(1)]}]]>式中x(1)=g[x(0),u(0)]。
本发明正确性证明的关键在于上述路由信息更新模块和路由决策模块的正确性。下面,先证明路由信息更新模块的正确性,然后再证明路由决策模块的正确性。
定理1如果在时间τ0到τ1之间,网格G的链路延迟/拓扑发生变化,而当时间τ1之后无变化,则在有限的时间之后,各节点存储的路由表(簇内路由表和/或簇间路由表)将是正确和一致的。
证明先考虑簇内路由表更新的场合。在时间τ0到τ1之间,由于G的网络状态有变化,更新报文的广播速度以及局部节点路由表计算和修改速度的影响,因而是动态和不稳定的;但在时间τ1之后,G的网络状态无变化,此后所发送的每份更新报文将到达本簇每个可达的局部节点。因此,在τ1的某个有限的时间之后(假设该时间为τ1,τ2>τ1),各局部节点所保存的路由表将反映出最新的网络状态信息,即该簇内路由表是正确的;同时,各局部节点的路由表对于同一网络状态(如某段链路延迟估计),将反映出相同的路由信息,即簇内路由表是一致的。现在再考虑簇间路由表更新的场合。簇间路由表应反映G内各第一层簇桥节点之间的最小延迟的路由,它是由簇间路由信息更新过程来完成的。要保证簇间路由表的正确性和一致性,首先要确保簇同路由表是一致和正确的。簇间路由信息更新可把簇内的变化情况通过桥节点广播给其它族。因此,在τ2的某个有限的时间之后(假设该时间为τ3,τ3>τ2),各桥节点所保存的路由表将反映出最新和簇间网络状态信息,即该簇间路由表是正确的;同时,各桥节点的路由表对于同一网络状态,将反映出相同的路由信息,即簇间路由表是一致的。
下面证明路由决策模块的正确性。在本发明的路由决策过程中,利用了下述定理(定理2)的有关原理。因此,要证明路由决策过程的正确性关键在于证明下述定理的正确性。
定理2若在一初态为x(0)的N级路由决策过程中,其最优路由序列为u*(0),u*(1),u*(2),…,u*(N-1),则对于以x(1)为初态的N-1级路由决策过程而言,u*(1),u*(2),u*(3),…,u*(N-1)也是一个最优路由序列。
证明设υ*(1),υ*(2),υ*(3),…,υ*(N-1)是最优路由序列;u*(2),u*(3),…,u*(N-1)不是最优路由序列,则有D[x(1),υ*(1),…,υ*N-1)<DN-1[x(1),u*(1),…,u*(N-1)] (6)在路由选择区间使用路由序列u*(0),υ*(1),…,υ*(N-1),得到DN[x(0),u*(0),…υ*(1),…,υ*(N-1),]=D[x(0),u(0)]+D[x(1),υ*(1)+…+D[x(N-1)]υ*(N-1)]由式(6)有DN[x(0),u*(0),υ*(1),…,υ*(N-1)]=D[x(0),u(0)]+{D[x(1),υ(1)]+…+D[x(N-1),υ(N-1)]}=D[x(0),u(0)]+DN-1[x(1),υ*(1)],…,υ*(N-1)<D[x(0),u(0)]+DN-1[x(1),u*(0),u*(1),…,u*(N-1)]=DN[x(0),u*(0),u*(1),…,u*(N-1)]此结果与u*(0),u*(1),…,u*(N-1)是最优路由序列的假设相矛盾。因此u*(1),u*(2),u*(3),…,u*(N-1)一定也是一个最优路由序列。
关于HGRLR的时间复杂性,由于其主要的资源搜索操作是在G的族内进行的,因此若将G分成K簇,设节点的平均报文处理延迟和链路的平均报文传输延迟均为d,则其时间复杂度为 对于传统的平面扩散式路由算法而言,其时间复杂性为0(2|V|d)。
权利要求
1.一种网格资源路由选择方法,所采用的方法是第一步骤建立分层式网格资源模型网格G的资源一般可按节点所分布的地理区域、连通性以及节点之间的相关性等因素进行分簇,从分层的观点来看,网格G中的每个节点可看成是第零层簇;由有关节点组成的簇被称作第一层簇;几个第一层簇的组合被称作第二层簇,类似地,可以定义第三层簇、第四层簇和第K层簇,每个第一层簇至少包括一个节点,且不与其他第一层簇相互覆盖,第二层簇只包含几个第一层簇,且不与其他第二层簇相互覆盖,所有在同一第一层簇内的接点相对于本层簇来说,被称为内部节点,一个具有连向其他簇节点链路的节点被称作桥节点(或边界路由器),局部节点可看成是第零层节点;连接两个第一层簇的节点可被称作第一层桥节点;连接两个第一层簇的节点被称作第一层桥节点;连接两个第二层簇的节点被称作第二层桥节点,在一给定的第二层簇内,由第一层桥节点形成的网络称作第一层桥网络。第二步骤确定分层式网格资源定位路由(HGRLR)方法具体包括三个功能模块初始化模块,路由信息更新模块,路由决策模块,1)初始化模块主要完成公用常数、类型及全局变量的说明、各节点簇内链路延迟表和簇内链路延迟表的初始赋值等;2)路由信息更新新模块是实现动态适应式网格资源路由方法的关键环节之一,它应能及时地将G的当前网络状态通知给全网节点,以使各节点能根据最新的簇内链路延迟和簇间链路延迟信息适时地更新自己的路由数据库信息;3)路由决策模块是利用离散动态规划原理,通过求多段图的方法来获得最优路由决策。
2.如权利要求1所述的网格资源路由选择方法,其特征在于网格G的每个节点都要保存和维护4种路由数据库信息1)簇内链路延迟表;2)簇间链路延迟表该表将保存和维护各桥节点之间的链路延迟;3)簇内节点路由表该表将保存和维护某局部节点到本簇内全部节点的最优链路延迟估计值及路由选择信息;4)簇间路由表该表将保存和维护本簇各桥点到全网所有桥节点的最优链路延迟估计值及路由信息。
全文摘要
本发明涉及一种网格资源路由选择方法,所采用的方法是第一步骤建立分层式网格资源模型网格G的资源一般可按节点所分布的地理区域、连通性以及节点之间的相关性等因素进行分簇;第二步骤确定分层式网格资源定位路由(HGRLR)方法具体包括三个功能模块初始化模块,路由信息更新模块,路由决策模块。在本发明中,各节点只需维护局部路由信息及网格资源簇结构的主要信息,它能实现网格资源请求的路由和转发,并将资源请求转发给满足此请求的计算资源,能适应计算网格资源结构的动态变化,可以有效地解决计算网格资源发现及定位问题。此外,给出了正确性和复杂性的证明。
文档编号H04L12/24GK101051972SQ20071005223
公开日2007年10月10日 申请日期2007年5月24日 优先权日2007年5月24日
发明者李春林, 朱艳永, 蒋晓艳 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1