CN101471815B - 一种服务承载网的配置方法和装置 - Google Patents
一种服务承载网的配置方法和装置 Download PDFInfo
- Publication number
- CN101471815B CN101471815B CN2008100816118A CN200810081611A CN101471815B CN 101471815 B CN101471815 B CN 101471815B CN 2008100816118 A CN2008100816118 A CN 2008100816118A CN 200810081611 A CN200810081611 A CN 200810081611A CN 101471815 B CN101471815 B CN 101471815B
- Authority
- CN
- China
- Prior art keywords
- node
- server
- router
- network
- data
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种服务承载网的配置方法,对于服务承载网中V个可配置服务器的路由器节点配置m个服务器,m<V,包括如下步骤:根据服务承载网中全拓扑的路由器节点信息,计算任意一个路由器节点放置服务器后引起的流量效应;比较各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器;对剩余的m-1个服务器以贪婪的增量方式进行配置。本发明还公开了用于实现上述方法的装置。本发明方案以最大化每个增量选择节点的流量效应的方式来设置服务器,可以提高网络整体传输性能。
Description
技术领域
本发明涉及服务承载网技术领域,特别涉及一种服务承载网的配置方法和装置。
背景技术
随着越来越多的复杂应用的不断出现,对互联网(Internet)的传输服务提出了越来越高的要求,对于以提供尽力发送(Best Effort)的单播传输服务为主的Internet来说,也越来越难以满足这些要求的需要。因此有人提出在Internet网络上构建一个位于应用层的,能提供更加灵活的传输服务的小规模覆盖网络(Overlay network),包括覆盖路由网络、内容传送网络、应用层组播等各种覆盖网络系统。随着各种覆盖网络系统的规模和数量的剧增,它们各自独立探测底层网络性能对网络资源的浪费,以及独自选路造成的路由抖动和不公平性等问题日渐受到人们的重视。
服务承载网(Underlay Network)就是为解决上述问题而提出的一种新的网络架构,它位于物理传输网络和覆盖网络之间,如图1所示。在网络中选择一定的路由器作为服务承载网节点,各节点通过运行服务承载网协议交互节点及链路信息,最终形成一个位于传输网络之上的覆盖网络。服务承载网可以提供不同应用的服务接入,服务承载和服务质量路由等功能,而且客户机通过距离自己最近的本地服务承载网节点接入服务承载网,访问服务承载网中的服务。服务承载网向下和底层的物理传输网络融合;向上可以为各种应用提供支持服务质量的路由,流量负载均衡等服务的接口。
在这样一个服务承载网中,服务器的放置策略直接影响了用户请求的响应速率和系统的负载均衡状况,因此需要合理设置服务器,尽可能地使网络 整体的开销最小。这个问题可以抽象地表述成p-中位问题或者设施选址问题。p-中位问题的形式化描述如下:
在给定的n个点中,选择少于k(包括k)个点作为中位点(即:服务器放置的位置),每个客户端选择距离自己最近的服务器,如果客户j选择服务器i,则引入一个开销djcij,其中dj表示客户j的需求流量,cij表示客户j到服务器i的路径开销。目标是使系统选择开销 最小化。
设施选址与p-中位问题类似,不同的是:没有服务器个数k的限制;此外设施选址问题不仅仅考虑客户到服务器的路径开销,也考虑在特定位置处选择一个服务器本身所带来的开销。
目前常常采用热点算法(Hot Spot)来设置服务器,将服务器选择在客户请求流量产生最集中的地方去。具体地说,对N个可能的选择位置一定范围内客户请求的流量进行计算,将服务器选择到前M个流量最集中的地方去。如图2所示的服务承载网架构,路由器b和路由器e周围的圆圈表示该节点网络传输量非常大;而路由器a与路由器b之间,路由器e与路由器g之间的粗线条表明该路段网络流量非常拥堵。
按照现有的服务器选择方式,服务器设置只考虑本节点情况,没有考虑整个网络构架的整体结构,按照流量大小决定服务器选择,即哪个网络节点服务流量变大,就在这个节点增加服务器来承担大的流量来保持整个网络架构的传输的性能,而此时的网络构架对于运营商来说是已知的。按照这种服务器选择方式,在网络繁忙节点,可以选择一个到多个服务器,取决于网络节点服务程度。如图2所示的网络结构,可以直接在路由器b和路由器e增加服务器,则为如图3所示的服务器选择后的网络结构。虽然对本地单个服务器负担减轻,但是因为没有改变服务器位置,使得原来流量很大的路径流量变得更大,表示为图3中路由器a和路由器b之间,以及路由器e和路由器g之间的线条更粗;而且由于增加了服务内容提供能力,使得其他的链路也会因为连接该节点变的繁忙起来,如图3中路由器b和路由器f之间的链 路;同时路由器交互数据量更加大,如图3所示路由器b和路由器e周围的圆圈面积变得更大。因此可以说,直接在流量大的节点进行服务器选择的方式,没有考虑网络的整体性能,主要指平均下来,其他节点的与新增服务器的距离所带来的整个网络路径的传输数量开销的增加和相应速度的影响。
因此,现有的服务器选择方式的缺点在于,没有考虑到服务器的能力约束,仅是以流量聚集度为指标,很可能造成网络整体通信开销比较大,而且并不能保证最大限度的满足用户的流量请求。
发明内容
有鉴于此,本发明实施例提出一种服务承载网的配置方法,
对于服务承载网中V个可配置服务器的路由器节点配置m个服务器,m<V,包括如下步骤:
根据服务承载网中全拓扑的路由器节点信息,计算任意一个路由器节点放置服务器后引起的流量效应;
比较各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器;
对剩余的m-1个服务器以贪婪的增量方式进行配置。
本发明还公开了一种路由器,包括:
选择服务器位置子系统,用于根据服务承载网的网络拓扑数据,计算任意一个路由器节点放置服务器后引起的流量效应,根据各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器,对剩余的m-1个服务器以贪婪的增量方式选择配置服务器的节点;
部署子系统,用于根据所述选择服务器位置系统选择的配置服务器的节点,对服务承载网中需要配置服务器的节点进行服务器配置。
本发明实施例还公开了一种服务承载网的服务器和通信设备。从以上技术方案可以看出,本发明方案以最大化每个增量选择节点的流量效应的方式来设置服务器,可以提高网络整体传输性能。
附图说明
图1为服务承载网的网络架构示意图;
图2为一种需要配置服务器的服务承载网络架构示意图;
图3为对图2所示的服务承载网络架构,按照现有技术配置服务器的效果图;
图4为本发明实施例服务承载网的路由器的结构框图;
图5为本发明实施例服务承载网的路由器进行被动服务器配置时的内部交互示意图;
图6为本发明实施例服务承载网的路由器进行被动服务器配置的处理流程图;
图7为本发明实施例服务承载网的路由器进行主动服务器配置时的内部交互示意图;
图8为本发明实施例服务承载网的路由器进行主动服务器配置的处理流程图;
图9为本发明实施例服务承载网的路由器进行主动服务器配置时部署子系统的通知模块的消息和命令发送示意图;
图10为本发明实施例服务承载网的路由器进行被动服务器配置时部署子系统的通知模块的消息和命令发送示意图;
图11为本发明实施例服务承载网的路由器的部署子系统的处理流程图;
图12为对图2所示的服务承载网络架构,按照本发明方案配置服务器的效果图;
图13为本发明实施例的一种实现服务器选择的处理流程图;
图14为本发明实施例另一种实现服务器选择的处理流程图;
图15为本发明最大流算法、现有技术的热点算法和随机选择进行仿真实验的平均响应时间与服务器数量的关系图;
图16为本发明最大流算法、现有技术的热点算法和随机选择进行仿真实验,得到的传输开销与服务器数量的关系图;
图17为本发明最大流算法与现有技术的热点算法在极端情况下,用户到最近服务器的响应时间与服务器数量的关系图;
图18为本发明最大流算法与现有技术的热点算法在极端情况下,传输开销与服务器数量的关系图;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
本发明实施例提出了一种服务承载网中的路由器,该路由器能够利用最大流服务器算法来智能选择服务器,提高网络整体传输性能,使服务器在尽可能少的情况下实现整体网络传输性能最大化。所述路由器可以集成在服务器或其它通信设备中。
该路由器可以和服务承载网中的任一节点相连,较佳地,可以设置为与服务承载网中的关键节点相连。关键节点定义为处于服务承载网络拓扑的中心的节点,该节点到达其他节点路径之和最短。关键节点在服务承载网中类似于普通网络中的骨干传输节点。当该路由器和关键节点相连情况下,由于所处的位置能够更多的连接其他的服务承载网节点,探测网络全拓扑所消耗的时间较少。
该路由器子系统如图4所示,包括如下部分:
邻居交互子系统410,用于向其它路由器发送消息和数据,以及接收来自其它路由器的消息和数据。其中,包括发送模块411和接收模块412分别处理发送和接收功能。发送模块411用于将选择服务器位置子系统420、部署子系统430或远程配置辅助子系统440发送过来的消息和网络拓扑数据打包后,寻找目的路由器进行转发。
发送模块411需要处理的消息格式包括:
探测消息:选择服务器位置子系统420中的信息收集模块421将该消息通过发送模块411发送到目的路由器,该消息用于对目的路由器的拓扑信息进行探测,可以包括探测标记、探测序号和探测时间区间。其中,探测标记表明需要目的路由器发送回复;探测序号表明探测包的序列;探测时间区间表明在某个时间段之间探测,过了响应时间就不用回复。
回复消息:信息收集模块421收到来自其它路由器的探测消息之后,要返回给该路由器的消息,该消息为对探测消息的响应,可以包括回复标记、探测序号、探测时间区间以及节点跳计数。其中,回复标记表明该消息为本路由器发送的回复;探测序号表明探测包的序列;探测时间区间表明这个包是在在某个时间段之间的探测包;节点跳计数表明该节点到发送节点间的跳数。根据探测消息以及相应的回复消息的探测时间区间,以及回复消息的节点跳计数,可以得到本路由器与目标路由器之间的访问速率和距离。
取数据消息包:远程配置辅助子系统440通过发送模块411发送给目的路由器的消息,表示要获取目的路由器的拓扑信息。取数据消息包可以包括取数据标记包,用于表示开始取网络拓扑数据。
发送数据消息包:当本路由器收到来自其它路由器的取数据消息包后,远程配置辅助子系统440将本路由器的拓扑数据携带在发送数据消息包中,通过发送模块411发送到所述其它路由器。发送数据消息包可以包括数据块和数据块序号。其中,数据块就是网络拓扑数据的分块;数据块序号表明数据块的序号,便于目的端将多个发送数据消息包中的数据块合成完整的网络拓扑数据。数据块中包含的拓扑数据至少包括:该路由器的本地服务器的配置情况,所述配置情况包括是否有服务器,以及服务器能够提供的服务情况;以及本路由器所能处理的带宽上限c(v)。
部署消息:部署子系统430通过发送模块411发送到目的路由器的消息,用于对目的路由器处的服务器进行部署。部署消息可以包括部署消息标记、部署数据序号和部署数据块。
其中,部署消息标记表明该消息的属性是部署消息;部署数据序号表明数据块的序号,便于目的端合成;部署数据块即部署数据的分块。
接收模块412用于接收来自外部路由器的数据包,并对所接收的数据包进行分析,将其中的探测消息或取数据包消息发送到远程配置辅助子系统440,将部署消息发送至部署子系统430,将回复消息或发送数据消息包发送到选择服务器位置子系统420。接收模块412处理的消息格式同样如表1至表5所示,故不在一一赘述。
选择服务器配置子系统420,用于收集整个网络的拓扑信息后,进行最大流配置,然后向全网发出配置消息。该子系统包括如下模块:
信息收集模块421,用于探测已知邻居网络路由器的拓扑信息,得到全网络的拓扑信息和服务器信息,将所得网络拓扑信息和服务器信息存储数据库450中,作为进行服务器选择运算的基础。所述拓扑信息包括但不限于:
任意两个路由器之间访问的速率;
任意两个路由器u、v之间的距离d(u,v);
对于每一个路由器所能处理的带宽上限c(v)。
所述服务器信息包括:
每个路由器本地服务器的配置情况,包括是否有服务器,以及服务器能够提供的服务情况。
具体地说,信息收集模块421按照如下流程运作:
步骤1:接收探测命令,通过发送模块411向相邻路由器发送探测消息;
步骤2:通过接收模块412接收来自相邻路由器的回复消息;如果是首次执行该步骤,还可以选择执行如下步骤:向数据库450发送初始化命令要求数据库450执行初始化;步骤3:通过发送模块411向相邻路由器发送取数据消息,等待接收数据;
步骤4:通过接收模块412接收来自相邻路由器的网络拓扑数据,同时向数据库450写入所接收的网络拓扑数据;
步骤5:若满足一定条件,例如执行上述步骤1至步骤4所占用的时间 达到预先设置的探测时间,或者步骤4的执行过程中在预先设置的一定时间内没有收到来自相邻路由器的网络拓扑数据,可认为已经探测了整个网络拓扑的信息,向智能选择模块422发送探测完毕的指示。
智能选择模块422在收到探测完毕的指示后,向数据库450获取网络拓扑数据,并根据所述网络拓扑数据,利用本发明提出的最大流算法进行运算,得到在哪些路由器配置服务器,并将配置的服务器位置信息发送至数据库450保存,并向部署子系统430发送部署服务器的命令。所述最大流算法的具体运算过程将在后面详述。
部署子系统430,用于接收来自智能选择模块422的部署服务器的命令,从数据库450获取网络拓扑数据,根据智能选择模块422所选的服务器位置,生成包含服务器位置信息的配置消息,发送到发送模块411,由发送模块411将所述配置消息发送至网络中的需要部署服务器的路由器。
部署子系统430,还进一步用于接收来自网络中其它路由器的配置信息,并将该配置信息发送至本地的服务器,表明需要在本路由器设置服务器。
所述的配置信息,可以来自本路由器的部署子系统430,也可以来自网络中其它路由器的部署子系统。
远程配置辅助子系统440,用于向网络中的其它路由器提供网络拓扑数据,也就是说,当服务承载网络中的其他路由器做服务器选择时,将本路由器的数据库450中的网络拓扑数据提供给该进行服务器选择的路由器。具体地说,远程配置辅助子系统440用于接收来自服务承载网络中其它路由器的探测消息或取数据消息,根据该探测消息获取数据库450中的网络拓扑数据,并将所获取的网络拓扑数据携带在响应消息中,通过发送模块411发送到所述路由器。
数据库450,用于保存络拓扑数据。
以下通过具体实施例对本发明方案进行详细说明。
实施例一:网络中其它路由器进行服务器配置时,本路由器的被动处理流程。
当一个路由器不作为配置节点时,即不主动进行服务器选择计算时,充当的是被动存储和服务器配置作用。在此间活动的子系统为辅助配置子系统,对应数据流顺序如图5所示,其中的数字代表数据或信令发送的先后顺序。对应的处理流程如图6所示,包括如下步骤:
步骤601至步骤602:接收模块等待接收来自其它节点的探测信息,若收到探测信息,则将该探测信息中包含的探测命令发送到远程配置辅助子系统,并转至步骤603;若没有收到探测信息,则仍然执行步骤601。所述步骤对应图5中的501和502。
步骤603至步骤604:远程配置辅助子系统对所收到的探测命令进行分析,判断是否允许向该节点提供辅助配置信息,若是,则转至步骤605,否则转至步骤601。
步骤605:远程配置辅助子系统向发送模块发送回复命令,发送模块将该回复命令转换为回复消息,并将该回复消息发送至步骤601中所述发送探测消息的网络节点。该步骤对应图5中的503至504。
步骤606:接收模块收到取数据消息,从该消息中提取出取数据命令,并发送至远程配置辅助子系统,远程配置辅助子系统从数据库中获取相应的服务器配置数据。该步骤对应图5中的505至508。
步骤607:远程配置辅助子系统将所获取的服务器配置数据通过发送模块发送至所述网络节点。该步骤对应图5中的509至510。
实施例二:路由器主动进行网络配置的处理流程。
当路由器主动进行网络配置时,需要进行主动的配置计算,指导其他网络上的节点进行服务器配置,其消息或数据流顺序如图7所示,相应的处理流程如图8所示,包括如下步骤:
步骤801:路由器向覆盖网络中的其它节点发送探测消息。具体过程如图7中的701至703所示:用户向路由器发出主动探测的命令,路由器的选择服务位置子系统的信息收集模块收到该命令后,向邻居交互子系统的发送模块发送探测命令;发送模块将该探测命令转换为探测消息,并发送至覆盖 网络中的其它节点。
步骤802至803:路由器接收到来自其它节点的回复消息进行分析,判断出需要向哪些节点发送获取服务器配置数据的请求,并向需要获取服务器配置数据的目标节点发送取数据消息。具体过程如图7中的704至707所示:邻居交互子系统的接收模块收到来自其它节点的回复消息,将回复消息发送到选择服务器位置子系统的信息收集模块,信息收集模块对回复消息进行分析,判断出需要向哪些节点获取服务器配置数据,然后向邻居交互子系统的发送模块发送向所述目标节点获取数据的命令,发送模块将所述命令转换为取数据信息,并发送至所述目的节点。
步骤804至步骤805:路由器接收来自其它节点的服务器配置数据,并存储到自身的数据库中。具体过程如图7中的708至710所示:邻居交互子系统的接收模块收到来自其它节点的服务器配置数据,将其发送到选择服务器位置子系统的信息收集模块,信息收集模块将所收到的服务器配置数据写入数据库。
步骤806:判断是否所有的目的节点均已返回服务器配置数据,或者达到预先设置的探测事件,若是,则执行步骤807,否则,转至步骤803。
步骤807:路由器根据已搜集到的服务器配置数据,采用最大流算法进行分析,得到将要采用的服务器配置。具体过程如图7中的711至713所示所示:信息收集模块向智能选择模块发送信息收集完毕的通知,智能选择模块收到所述通知后,向数据库获取服务器配置数据,并根据所获取的数据进行最大流算法运算,得到将要采用的服务器配置。
步骤808:路由器根据所得的服务器配置通过部署消息发送到相应的服务器以及相关节点。具体过程如图7中的714所示。
不管是实施例一中的被动模式还是实施例二中的主动模式,路由器的部署子系统中的通知模块都需要进行配置。在主动模式中,启动线程一来监听选择服务器位置子系统发送过来的消息和命令,如图9所示:通知模块收到来自选择服务器位置子系统的服务器部署消息,将部署消息通过邻居交互子 系统的发送模块发送到覆盖网络中的其它节点,并将服务器部署消息发送到数据库。在被动模式中,启动线程二来监听网络远方路由器发过来的部署消息,如图10所示:接收模块收到来自覆盖网络中其它节点的服务器部署消息,将该部署消息发送到通知模块,通知模块再将服务器配置消息发送到数据库中存储。在实际应用中,同一个路由器中可能同时进行主动模式和被动模式,无论是主动模式还是被动模式,部署子系统的处理流程如图11所示,包括如下步骤:
步骤1101:接收模块等待接收信息;
步骤1102:接收模块判断是否结束监听,若是,则结束本流程,否则执行步骤1103;
步骤1103:接收模块接收服务器配置信息;
步骤1104:接收模块判断所接收的配置信息是否为对本地服务器的配置操作,若是则执行步骤1105,否则执行步骤1106;
步骤1105:接收模块向本地服务器发送所述配置消息,并返回步骤1101。
步骤1106:接收模块向发送模块发送所述配置消息,并返回步骤1101。
下面对本发明实现中的最大流算法的原理进行阐述。采用该方法设置服务器,不仅考虑了网络单个节点的消耗,还考虑整个网络的总体性能,服务器选择可能在流量很大的节点上也可能不在流量很大的节点上。但是整个网络的性能却比单个考虑单个节点而选择给整个网路带来的性能有很大的提升(20%-40%)。仍然以图2所示的网络即架构为例,按照本发明方案选择服务器的情况如图12所示:首先设置第一个服务器,例如设置在路由器a处;因为选择第一个服务器过后,网络各节点数据发生了改变,此时路由器重新计算最大流节点,找到合适位置。原先的次大流节点并不是现在的次大流节点。我们找到当前最大流节点位置,选择第二个服务器,依次类推,选择放下最后一个服务器。
实现服务器选择的处理流程如图13所示,包括如下步骤:
步骤1301:网络架构初始化过程,具体包括:
向智能选择模块422输入以下参数:
a、网络拓扑图G(V,E);其中v∈V,表示服务承载网络的节点;(u,v)∈E表示服务承载网节点之间的边;
b、对于每一个v∈V,输入节点所能处理的带宽上限c(v);
c、对于每一条边(u,v)∈E,输入两个节点之间的距离d(u,v);
d、对于系统中的每个数据对象o∈O,输入数据对象的大小size(o);O为数据对象的集合;
e、每一个节点v∈V访问对象o∈O的速率rv,o;
f、要选择的服务器的数目m;
g、节点距离的阈值θ;
以上参数a至e为数据库450中的网络拓扑数据,要选择的服务器的数目m为已知量,节点距离的阈值θ为预先设置值,当节点间距离大于阈值,则认为将服务器设置在其中一个节点时,不会对另一个节点造成影响。令P表示当前已经放置了服务器的节点集合,并置为空集;
步骤1302:计算任意一个节点放置服务器后引起的流量效应,比较各个节点引起的流量效应的大小,根据比较结果配置第一个服务器。
首先必须明确用什么量来分别代表服务器的处理负载以及流量效应。本实施例中,定义节点v访问在u上的对象o时,在u处引起的处理负载
定义服务器放在节点u处引起的流量效应 其中γ∈[0,1]是节点间距离对通信开销的影响因子,在θ的阈值范围内,u,v间距离为d(u,v)所引起的影响因子为(1-d(u,v)/θ),对于u节点本地的服务请求, 影响因子γ为1,即对流量效应的影响最大;流量效应的计算是对所有v∈V,且按d(u,v)递增(即影响因子γuv递减)的次序累积计算上去的,直至d(u,v)>=θ或者距离在阈值的范围内,但服务器放在节点u处引起的总开销超出了节点u的带宽处理能力,即 时,得到最终的流量效应flowu。
上述定义仅为一个具体示例,并且上述定义可以预先设置。
步骤1302a:对V中的节点每个u按下述步骤进行操作:
在d(u,v)<θ的条件下计算各节点v∈V的γuv;
若γv∈[0,1],即v到u的距离在阈值θ内,按照γuv从大到小的顺序,依次累加Loadu,oj v×γuv,得到如下数据:服务器放在u处的当前累积处理负载Loadu;
判断是否满足如下任一条件:
节点v和节点u之间距离d(u,v)大于预先设置的阈值,即所有到节点u的距离小于阈值的节点都已累积了处理负载;
距离d(u,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u的带宽处理上限;
若是,则当前累积处理负载Loadu就是节点u的流量效应。
步骤1302b:选择步骤1303a的计算结果中flowu最大的节点u1选择一个服务器;并置P=P∪{u1},表示当前已经选择节点u1放置服务器;至此第一个服务器选择完毕。
步骤1303:剩余的m-1个服务器以贪婪的增量方式进行配置,步骤如下:
步骤1303a:判断是否|P|<m,若是,则执行步骤1304b,否则说明所有m个服务器都配置完毕,结束本流程。
步骤1303b:任取V-P中的一个节点u’,按照下述步骤进行操作:
在d(u’,v)<θ的条件下计算各节点v∈V的γu′v和γp,γp为节点v到P中所有节点的影响因子度量中的最小值;
若γu′v∈[0,1]且γu′v>γp,按照γu′v从大到小的顺序,依次累加服务器放在u’处的当前累积处理负载Loadu′;
其中,γu′v∈[0,1]的含义就是保证d(u’,v)<θ,如果γu′v<γp,那么就存在另外一个节点v,它的效果比u’好,那么就可以不用通过再计算流量可以直接判定该u’点不满足要求,而返回所述任取V-P中的一个节点u’的步骤。判断是否满足如下任一条件:
节点v和节点u’之间距离d(u’,v)大于预先设置的阈值,即所有到节点u的距离小于阈值的节点都已累积了处理负载;
距离d(u’,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u’的带宽处理上限c(u);
若是,则当前累积处理负载Loadu′就是节点u’的流量效应。
步骤1303c:选择计算结果中Loadu′最大的节点ui配置一个服务器,并设置P=P∪{ui},返回步骤1304a。
以上流程中基于增量式的选择,每次选择一个服务器都需要重新对所有待考察的节点点进行新一轮流量效应的计算,因为服务器选择本身是一种离线的计算,一次性选择完毕之后相对较稳定,因此按本发明的策略牺牲计算时间是值得的。当然还有一种牺牲效率的方案,就是对所有节点的流量效应进行一次计算,而完成所有服务器的配置。该方案的处理流程如图14所示,包括如下步骤:
步骤1401:网络架构初始化过程,具体包括:
输入以下参数:
h、网络拓扑图G(V,E);其中v∈V,表示服务承载网络的节点;(u,v)∈E表示服务承载网节点之间的边;
i、对于每一个v∈V,输入节点所能处理的带宽上限c(v);
j、对于每一条边(u,v)∈E,输入两个节点之间的距离d(u,v);
k、对于系统中的每个数据对象o∈O,输入数据对象的大小size(o);O为数据对象的集合;
l、每一个节点v∈V访问对象o∈O的速率rv,o;
m、要选择的服务器的数目m;
n、节点距离的阈值θ;
令P表示当前已经放置了服务器的节点集合,并置为空集。
步骤1402:定义设置服务器的处理负载以及流量效应。具体如下:定义节点v访问在u上的对象o时,在u处引起的处理负载
定义服务器放在节点u处引起的流量效应
步骤1403:任取V中的节点u,在d(u,v)<θ的条件下计算各节点v∈V的γuv;
步骤1404:若γv∈[0,1],即v到u的距离在阈值θ内,按照γv从大到小的顺序,依次累加服务器放在u处的当前累积处理负载Loadu;
步骤1405:判断是否满足如下任一条件:
节点v和节点u’之间距离d(u’,v)大于预先设置的阈值,即所有到节点u的距离小于阈值的节点都已累积了处理负载;
距离d(u’,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u’的带宽处理上限c(u);
若是,则当前累积处理负载Loadu′就是节点u’的流量效应;并执行步骤1406;否则,返回步骤1404。
步骤1406:判断是否得到所有节点的流量效应,若是,则执行步骤1407,否则,返回步骤1403。
步骤1407:选择流量效应最大的m个节点{u1,...,um},在所选择的节点分别设置服务器。
从以上流程可以看出,所述部署子系统中的智能选择模块包括:
流量效应计算子模块,用于计算在未配置服务器的任一路由器节点放置服务器后引起的流量效应;
比较子模块,用于比较所述流量效应计算子模块所得到的各个节点的流量效应,得到流量效应最大的节点,
选择子模块,用于选择所述比较子模块得到的流量效应最大的节点作为配置服务器的节点。
所述流量效应计算子模块包括:
处理负载计算单元,用于计算网络中任一节点v访问在节点u上的数据对象o时,在u处引起的处理负载Loadu,oj v,并将所述计算结果输入累加单元;
影响因子计算单元,用于计算所述节点v和节点u之间距离d(u,v)计算节点u、v之间距离对通信开销的影响因子γu,v,并将所述计算结果输入累加单元;
累加单元,用于按照所述影响因子γu,v递减的顺序,累加所述处理负载计算单元所计算的处理负载Loadu,oj v和所述影响因子计算单元计算的影响因子γu,v的乘积Loadu,oj v×γuv;
判断单元,用于判断是否满足如下任一条件:
即所有到节点u的距离小于距离阈值的节点都已累加了处理负载;
距离d(u,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u的带宽处理上限;
若是,则输出所述累加单元的累加结果作为节点u的流量效应。
考虑以前的网络构架,其实现是将服务器选择在流量需求比较集中的节 点上去,因为只考虑流量需求去选择,没有考虑节点距离的因素,会造成整个网络系统的传输开销比较大;此外,传统的网络构架中选择方法不考虑节点的处理能力,这也不符合网络的实际应用场景,使整个网络结构的总体的通信开销保持在一个较低的水平。本发明方案以最大化每个增量选择节点的流量效应的方式来设置服务器,可以提高网络整体传输性能。同时,引入了对距离的惩罚因子(即实施例中的节点距离影响因子γ),且在累计计算流量的过程中,以节点的处理能力为约束,以距离递增的方式计算,更加符合网络的实际应用场景。
在仿真实验过程中,将本发明的最大流服务器放置算法(MaxFlow)、现有技术的热点(HotSpot)算法以及随机(Radom)配置服务器的性能进行了比较。第一组实验考察所有用户请求的平均性能,通过增加选择服务器的个数,考察几种算法在用户平均响应时间和网络传输开销方面的性能。实验中假定在所有被选服务器中,用户的请求总是被距离其最近的服务器响应,而且一个用户只能从一个服务器得到服务,实验测量到的平均响应时间与服务器数量的关系如图15所示,传输开销与服务器数量的关系如图16所示。
第二组实验主要考察本发明的算法和热点算法在两种极端情形下的性能。最差情况下的性能,即所有用户请求中,最大响应时间和最大传输开销;最好情况下的性能,即不考虑用户选择本地服务器(最好情况下,本地服务器的响应时间和开销为0),95%百分位情况下,用户响应时间和传输开销的比较,结果如图17和图18所示。图中MaxRTT即表示上述最差情况,95%titile表示最好情况。
从以上图15至图18所示实验结果可以看出,本发明提出的最大流算法兼顾了网络延迟和传输开销,在各种情况下两种性能的对比中都较佳。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算 机可读取存储介质中,该程序在执行时,包括所述方法中的步骤,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种服务承载网的配置方法,其特征在于,对于服务承载网中V个可配置服务器的路由器节点配置m个服务器,m<V,包括如下步骤:
根据服务承载网中全拓扑的路由器节点信息,计算任意一个路由器节点放置服务器后引起的流量效应;
比较各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器;
对剩余的m-1个服务器以贪婪的增量方式进行配置。
2.根据权利要求1所述的方法,其特征在于,所述计算任意一个路由器节点放置服务器后引起的流量效应之前,进一步包括:
探测服务承载网中邻居路由器节点的网络拓扑数据,得到全拓扑的路由器节点信息。
3.根据权利要求2所述的方法,其特征在于,所述探测服务承载网中邻居路由器节点的网络拓扑数据包括:
向邻居路由器节点发送探测消息;
根据来自邻居路由器节点的回复消息进行分析,判断出需要获取网络拓扑数据的目标节点,并向所述目标节点发送取数据消息;
接收来自所述目标节点的网络拓扑数据。
4.根据权利要求2所述的配置方法,其特征在于,所述得到全拓扑的路由器节点信息包括:
初始化本地路由器节点的数据库;
向服务承载网中的邻居路由器节点发送取数据消息;
接收来自邻居路由器节点的网络拓扑数据,并将所接收的网络拓扑数据写入所述数据库;
判断是否达到预先设置的容许探测时间,若是,则所述数据库中的网络拓扑数据为全拓扑的路由器节点信息。
5.根据权利要求4所述的方法,其特征在于,所述网络拓扑数据包括:
每一个路由器节点访问某个对象的速率;
路由器节点u和路由器节点v之间的距离d(u,v);
节点距离的阈值;
每个节点本地是否有服务器,以及服务器能够提供的服务情况;
对于每一个输入节点所能处理的带宽上限c(v);
或以上信息的任意组合。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述计算任意一个路由器节点放置服务器后引起的流量效应包括:
对所有v∈V,根据节点v和节点u之间距离d(u,v)计算节点u、v之间距离对通信开销的影响因子γu,v=(1-d(u,v)/θ),其中,θ为预先设置的距离阈值;
判断是否满足如下任一条件:
即所有到节点u的距离小于阈值的节点都已累加了处理负载;
距离d(u,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u的带宽处理上限;
若是,则当前累积处理负载Loadu就是节点u的流量效应。
7.根据权利要求6所述的方法,其特征在于,所述对剩余的m-1个服务器以贪婪的增量方式进行配置包括:
任取未配置服务器的节点u’,在d(u’,v)<θ的条件下计算各节点v∈V与节点的u’的影响因子γu′v和节点v到已配置服务器的节点中的影响因子最小 值γp;
若γu′v∈[0,1]且γu′v>γp,按照γu′v从大到小的顺序,累加得到节点u’的流量效应,若γu′v<γp,则返回所述任取未配置服务器的节点u’的步骤;
选择流量效应最大的节点配置一个服务器;
判断已配置服务器的节点数是否为m,若是,则结束本流程,否则,返回所述任取未配置服务器的节点u’的步骤。
8.一种服务承载网的路由器,其特征在于,包括:
选择服务器位置子系统,用于根据服务承载网的网络拓扑数据,计算任意一个路由器节点放置服务器后引起的流量效应,根据各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器,对剩余的m-1个服务器以贪婪的增量方式选择配置服务器的节点;
部署子系统,用于根据所述选择服务器位置子系统选择的配置服务器的节点,对服务承载网中需要配置服务器的节点进行服务器配置。
9.根据权利要求8所述的路由器,其特征在于,该路由器进一步包括:
邻居交互子系统,用于从服务承载网中的邻居路由器节点获取网络拓扑数据;
数据库,用于存储所述邻居交互子系统所获取的网络拓扑数据,并向所述选择服务器位置子系统提供所存储的网络拓扑数据。
10.根据权利要求9所述的路由器,其特征在于,该路由器进一步包括:远程配置辅助子系统,用于接收来自其它节点的探测消息,获取数据库数据,并将所获取的数据库数据发送到外部节点。
11.根据权利要求10所述的路由器,其特征在于,所述邻居交互子系统包括:
发送模块,用于将选择服务器位置子系统、部署子系统或远程配置辅助子系统发送过来的消息打包后,寻找目的节点进行转发;
接收模块,用于接收来自外部节点的数据包,并对所接收的数据包进行 分析,将其中的探测消息或取数据包消息发送到所述远程配置辅助子系统,将部署消息发送至所述部署子系统,将回复消息或发送数据消息包发送到所述选择服务器位置子系统。
12.根据权利要求8所述的路由器,其特征在于,所述部署子系统用于接收部署子系统发送的配置结果,和/或来自网络中其它节点的配置结果,将对服务器的位置选取结果通知网络中相应的路由器,和/或向连接在本地的服务器发送配置消息。
13.根据权利要求8至12任一项所述的路由器,其特征在于,所述选择服务器位置子系统具体包括:
信息收集模块,用于探测已知邻居网络节点数据,得到各路由器节点数据,通过了解当前一段时间内网络各路由器的反馈,得到全拓扑的节点信息,将所得全拓扑节点信息发送至智能选择模块;
智能选择模块,用于根据所述信息收集模块得到的路由器节点数据,计算任意一个路由器节点放置服务器后引起的流量效应,根据各个路由器节点引起的流量效应的大小选择第一个配置服务器的节点,对剩余的m-1个服务器以贪婪的增量方式选择配置服务器的节点,得到服务器选取位置。
14.根据权利要求13所述的路由器,其特征在于,所述智能选择模块具体包括:
流量效应计算子模块,用于计算在未配置服务器的任一路由器节点放置服务器后引起的流量效应;
比较子模块,用于比较所述流量效应计算子模块所得到的各个节点的流量效应,得到流量效应最大的节点,
选择子模块,用于选择所述比较子模块得到的流量效应最大的节点作为配置服务器的节点。
15.根据权利要求14所述的路由器,其特征在于,所述流量效应计算子模块具体包括:
影响因子计算单元,用于计算所述节点v和节点u之间距离d(u,v)计算节点u、v之间距离对通信开销的影响因子γu,v,并将所述影响因子γu,v输入累加单元;
判断单元,用于判断是否满足如下任一条件:
即所有到节点u的距离小于距离阈值的节点都已累加了处理负载;
距离d(u,v)在阈值的范围内,但所述处理负载的累加之和大于等于预先设置的节点u的带宽处理上限;
若是,则输出所述累加单元的累加结果作为节点u的流量效应。
16.一种服务承载网的服务器,其特征在于,包括:选择服务器位置子系统,用于根据服务承载网的网络拓扑数据,计算任意一个路由器节点放置服务器后引起的流量效应,根据各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器,对剩余的m-1个服务器以贪婪的增量方式选择配置服务器的节点;
部署子系统,用于根据所述选择服务器位置子系统选择的配置服务器的节点,对服务承载网中需要配置服务器的节点进行服务器配置。
17.一种服务承载网的通信设备,其特征在于,包括:
选择服务器位置子系统,用于根据服务承载网的网络拓扑数据,计算任意一个路由器节点放置服务器后引起的流量效应,根据各个路由器节点引起的流量效应的大小,在流量效应最大的节点处,配置第一个服务器,对剩余的m-1个服务器以贪婪的增量方式选择配置服务器的节点;
部署子系统,用于根据所述选择服务器位置子系统选择的配置服务器的 节点,对服务承载网中需要配置服务器的节点进行服务器配置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100816118A CN101471815B (zh) | 2007-12-27 | 2008-02-25 | 一种服务承载网的配置方法和装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710306904.7 | 2007-12-27 | ||
CN200710306904 | 2007-12-27 | ||
CN2008100816118A CN101471815B (zh) | 2007-12-27 | 2008-02-25 | 一种服务承载网的配置方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101471815A CN101471815A (zh) | 2009-07-01 |
CN101471815B true CN101471815B (zh) | 2012-04-04 |
Family
ID=40828958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100816118A Active CN101471815B (zh) | 2007-12-27 | 2008-02-25 | 一种服务承载网的配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101471815B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075359B (zh) * | 2011-01-17 | 2016-06-08 | 北京瑞汛世纪科技有限公司 | 一种基于网络坐标的服务器部署方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649320A (zh) * | 2004-01-20 | 2005-08-03 | 华为技术有限公司 | 基于网络的虚拟专用网中保证服务质量的系统及其方法 |
CN101014046A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务定位和服务质量路由的集成方法 |
CN101014045A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务管理的分布式方法 |
-
2008
- 2008-02-25 CN CN2008100816118A patent/CN101471815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1649320A (zh) * | 2004-01-20 | 2005-08-03 | 华为技术有限公司 | 基于网络的虚拟专用网中保证服务质量的系统及其方法 |
CN101014046A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务定位和服务质量路由的集成方法 |
CN101014045A (zh) * | 2007-02-02 | 2007-08-08 | 清华大学 | 服务承载网中服务管理的分布式方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101471815A (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Din et al. | 5G-enabled Hierarchical architecture for software-defined intelligent transportation system | |
Geeta et al. | Fault tolerance in wireless sensor network using hand-off and dynamic power adjustment approach | |
CN101155134B (zh) | 路径计算及网络拓扑方法、构架和系统 | |
Farooq et al. | A survey of multicast routing protocols for vehicular ad hoc networks | |
CN103262481A (zh) | 有向无环图(dag)中的动态重路由调度 | |
Lee et al. | Modeling and optimization of energy efficient routing in wireless sensor networks | |
CN105491584B (zh) | 移动应用专用网络 | |
CN101895482A (zh) | 对点到点技术网络的逻辑拓扑信息进行抽象的方法和装置 | |
CN108696515A (zh) | 基于大数据的网络安全态势感知系统 | |
Hossain et al. | Multi-objective Harris hawks optimization algorithm based 2-Hop routing algorithm for CR-VANET | |
Kadadha et al. | A Stackelberg game for street-centric QoS-OLSR protocol in urban vehicular ad hoc networks | |
Kulkarni et al. | Q-MOHRA: QoS assured multi-objective hybrid routing algorithm for heterogeneous WSN | |
Sabbineni et al. | Datacollection in event-driven wireless sensor networks with mobile sinks | |
Amiri et al. | Retracted article: Improved AODV based on Topsis and fuzzy algorithms in vehicular ad-hoc networks | |
CN103024086A (zh) | 多接口终端的业务传输方法及装置 | |
Bakshi et al. | Energy-efficient cluster head selection algorithm for IoT using modified glow-worm swarm optimization | |
Singh et al. | Parallel opportunistic routing in IoT networks | |
CN104270312B (zh) | 支持流量优化和应用感知的中继路径分配系统及方法 | |
CN101860938B (zh) | 感知网络上下文信息实现自治路由控制的网络节点和方法 | |
Pannu et al. | Keeping data alive: Communication across vehicular micro clouds | |
Maratha et al. | A comprehensive and systematized review of energy-efficient routing protocols in wireless sensor networks | |
Jazaeri et al. | Toward caching techniques in edge computing over SDN-IoT architecture: A review of challenges, solutions, and open issues | |
CN101471815B (zh) | 一种服务承载网的配置方法和装置 | |
Srinidhi et al. | Hybrid energy efficient and QoS aware algorithm to prolong IoT network lifetime | |
AlSawafi et al. | Hybrid RPL-based sensing and routing protocol for smart city |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |