生成聚合层网络图和聚合层开销图的方法及装置制造方法

文档序号:7980951阅读:134来源:国知局
生成聚合层网络图和聚合层开销图的方法及装置制造方法
【专利摘要】本发明实施例公开一种生成聚合层网络图和聚合层开销图的方法及装置,涉及网络传输领域,用以简化网络结构,节约网络资源;所述方法包括,Alto?server确定n个聚合PID的结构信息,其中,所述n个聚合PID由m个基础PID聚合而成,n小于m;所述Alto?server根据与所述m个基础PID对应的基础层networkmap和每个聚合PID的结构信息确定与所述n个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID;所述Alto?server根据与所述m个基础PID对应的基础层costmap和所述每个聚合PID的结构信息,确定与所述n个聚合PID对应的聚合层costmap。本发明实施例用于通信领域。
【专利说明】生成聚合层网络图和聚合层开销图的方法及装置
【技术领域】
[0001]本发明涉及网络传输领域,尤其涉及一种生成聚合层网络图和聚合层开销图的方法及装置。
【背景技术】
[0002]目前,应用层流量优化(英文缩写为ALT0,英文全称为ApplicationLayerTraffic Optimization)服务被广泛用于如点对点技术P2P (英文缩写为P2P,英文全称为Peer-to-Peer)应用程序、内容分发网络等需要选择节点资源的应用程序中。通过使用ALTO服务,网络应用程序可以通过ALTO协议从网络服务供应商(英文缩写为ISP,英文全称为Internet Service Provider)或内容提供商(英文缩写为CP,英文全称为ContentProvider)请求关于下层网络拓扑、网络流量等信息。应用层流量优化客户端(英文为Altoclient)和资源提供者根据这些信息可以合作进行非随机的节点资源选择,从而减小节点开销和不必要的跨域流量,在提高或保持应用程序的高性能的条件下更加有效和公平的利用网络资源。
[0003]在ALTO协议中,供应商定义的网络定位标识符PID (英文缩写为PID,英文全称为Provider-defined Network Location identifier)是由多个终端组成的集合,该集合可以是一个子网络、一组子网络、一个城市区域、一个网络服务提供点或局端POP(英文缩写为Ρ0Ρ,英文全称为Point of Presence)、一个自治域或者一组自治域。终端与PID的归属关系称为网络图(英文为networkmap),用于连接任意两个PID之间的节点开销称为开销(英文为cost)。应用层流量优化服务器(英文为Alto server)以PID之间的cost表示网络资源的优先权值。所有PID之间的cost的集合称为开销图(英文为costmap)。其中,PID对终端的聚合度,即将多大范围内的终端划分为一个PID,称为PID粒度。PID粒度越小,表明ALTO服务的导航精度越高。
[0004]现有技术中,ALTO服务对所有的用户提供相同PID粒度的导航服务,但ALTO服务器只能提供一种PID粒度,即仅提供一种networkmap和costmap。对于需要不同导航精度的用户需求(如,视频点播、文件下载、网页浏览等)而言,如果PID粒度小,可以满足导航精度要求高的用户需求,但对于导航精度要求低的用户却是一种网络资源的浪费;如果PID粒度大,可以满足导航精度要求低的用户需求,导航精度要求高的用户的服务质量必然会受到影响。

【发明内容】

[0005]本发明的实施例提供一种生成聚合层网络图和聚合层开销图的方法及装置。
[0006]为达到上述目的或其他的目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种生成聚合层网络图和聚合层开销图的方法,包括:
[0008]应用层流量优化服务器Alto server确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m ;[0009]所述Alto server根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID ;
[0010]所述Alto server根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0011]在根据第一方面的第一种可能的实现方式中,所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系;
[0012]所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系;
[0013]所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ;
[0014]所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0015]在根据第一方面的第一种可能的实现方式的第二种可能的实现方式中,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
[0016]在根据第一方面的的第一种可能的实现方式或第一方面的第二种可能的实现方式的第三种可能的实现方式中,所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cost和所述第二聚合PID到所述第一聚合PID的cost ;
[0017]确定所述第一聚合PID到所述第二聚合PID的cost方法包括:
[0018]确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost ;
[0019]按照所述确定所述第一聚合PID到所述第二聚合PID的cost方法,为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost。
[0020]在根据第一方面或第一方面的任一可能的实现方式的第四种可能的实现方式中,该方法还包括:
[0021]所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Altoclient发送所述聚合层networkmap和聚合层costmap ;
[0022]或者,
[0023]所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Altoclient发送所述基础层networkmap和基础层costmap ;
[0024]或者,
[0025]所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ;
[0026]或者,
[0027]所述Alto server在确定应用层流量优化客户端Alto client发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述Alto server 发送默认的 networkmap 和 costmap。
[0028]第二方面,提供一种服务器,包括,
[0029]第一确定模块,用于确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m ;
[0030]第二确定模块,用于根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID ;
[0031]第三确定模块,用于根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0032]在根据第二方面的第一种可能的实现方式中,所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系;
[0033]所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系;
[0034]所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ;
[0035]所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0036]在根据第二方面的第一种可能的实现方式的第二种可能的实现方式中,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
[0037]在根据第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式的第三种可能的实现方式中,所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cost和所述第二聚合PID到所述第一聚合PID的cost ;
[0038]所述第三确定模块,用于按照确定所述第一聚合PID到所述第二聚合PID的cost的方法为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost ;其中,确定所述第一聚合PID到所述第二聚合PID的cost的方法包括:确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost。
[0039]在根据第二方面或第二方面的任一种可能的实现方式的第四种可能的实现方式中,该服务器还包括:
[0040]发送模块,用于根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Alto client发送所述聚合层networkmap和聚合层costmap ;
[0041]或者,用于所述Alto server在根据应用层流量优化客户端Altoclient发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Alto client发送所述基础层networkmap和基础层costmap ;
[0042]或者,用于所述Alto server在根据应用层流量优化客户端Altoclient发送的请求消息,确定所述Alto client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ;
[0043]或者,用于所述Alto server在确定应用层流量优化客户端Altoclient发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述 Alto server 发送默认的 networkmap 和 costmap。
[0044]依照本发明实施例提供的的方法所生成的聚合层networkmap和聚合层costmap的PID粒度会大于基础层networkmap和基础层costmap的PID粒度,但数据总量会明显少于基础层networkmap和基础层costmap的数据总量。由于存在了不同PID粒度的networkmap和costmap,因此便可以根据客户端对PID粒度的要求,提供相应的networkmap和 costmap。
【专利附图】

【附图说明】
[0045]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]图1为本发明实施例提供的生成聚合层网络图和聚合层开销图的方法的流程图;
[0047]图2为本发明另一实施例提供的生成聚合层网络图和聚合层开销图的方法的流程图;
[0048]图3为本发明实施例提供的服务器的示意图;
[0049]图4为本发明实施例提供的服务器的示意图。
【具体实施方式】
[0050]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051]本发明实施例中所述的供应商定义的网络定位标识符(英文缩写为PID,英文全称为Provider-defined Network Location identifier)是包括多个网络设备的集合,该集合可以是一个子网络、一组子网络、一个城市区域、一个P0P(Point ofPresence,网络服务提供点或局端)、一个自治域或者一组自治域。其中,网络设备与PID的归属关系称为网络图(英文为networkmap)。多个或全部PID之间的开销(英文为cost)的集合称为开销图(英文为costmap)。其中,PID对终端的聚合度,即将多大范围内的网络设备划分为一个PID,称为PID粒度。PID粒度越小,表明应用层流量优化(英文缩写为ALT0,英文全称为Application Layer TrafficOptimization)服务的导航精度越高。PID 粒度越小,PID 中包括的网络设备的数量越少。
[0052]本发明实施例提供的生成聚合层网络图和聚合层开销图的方法,如图1所示,该方法包括以下内容。
[0053]101、Alto server确定η个聚合PID的结构信息。
[0054]其中,所述η个聚合PID由m个基础PID聚合而成,η小于m。每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID。
[0055]102、所述Alto server根据与所述m个基础PID对应的基础层networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap。
[0056]其中,所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系。所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系。
[0057]103、所述Alto server根据与所述m个基础PID对应的基础层costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0058]其中,所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost。所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0059]依照本发明实施例提供的的方法所生成的聚合层networkmap和聚合层costmap的PID粒度会大于基础层networkmap和基础层costmap的PID粒度,即粒度较粗,但数据总量会明显少于基础层networkmap和基础层costmap的数据总量。由于存在了不同PID粒度的networkmap和costmap,因此便可以根据客户端对PID粒度的要求,提供相应的networkmap 和 costmap。
[0060]本发明另一实施例提供的方法,如图2所示,该方法包括:
[0061]201> Alto server确定η个聚合PID的结构信息。
[0062]首先,应用层流量优化服务器Alto server根据网络信息建立最小PID粒度对应的m个基础PID以及由m个基础PID基础层networkmap和基础层costmap。
[0063]其中,基础层networkmap包括m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系,每个网络设备的IP地址对应唯一的基础PID。基础层costmap包括m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost。基础PID以及基础层networkmap和基础层costmap是根据如路由协议信息等网络信息确定的。
[0064]例如,通过路由协议建立PID1、PID2、PID3、PID4和PID5这5个基础PID,其中,PIDl包括IP地址为IPl和IP2的网络设备,PID2包括IP地址为IP3和IP4的网络设备,PID3包括IP地址为IP5和IP6的网络设备,PID4包括IP地址为IP7和IP8的网络设备,PID5包括IP地址为IP9和IPlO的网络设备;上述10个网络设备的IP地址都分别对应唯一的基础PID。包括这5个基础PID基础层networkmap可以表示为PID1={IP1,IP2}, PID2={IP3, IP4}, PID3={IP5, IP6}, PID4={IP7, IP8}, PID5={IP9, IP10}。其中P皿={IP1,IP2}表示IPl和PIDl对应,IP2和PIDl对应。进一步地,P皿={IP1,IP2}还可以表示出PIDl包括或覆盖IP地址为IPl的网络设备和IP地址为IP2的网络设备,但networkmap并不必须表示PID包括或覆盖的网络设备。基础层costmap包括PIDl分别到PID2?PID5 的 cost (记为 costl-2?costl-5) ;PID2 分别到 PIDl 以及 PID3?PID5 的 cost (记为cost2-l以及cost2-3?cost2-5) ;PID3分别到P皿?PID2以及PID4?PID5的cost (记为cost3-l, cost3-2, cost3-4 和 cost3_5) ;PID4 分别到 P皿?PID3 以及 PID5 的 cost (记为cost4_l?cost4_3 以及 cost4_5)。
[0065]进一步的,可以在基础层networkmap和基础层costmap中携带相同的粒度层指示信息,该粒度层指示信息用于指示networkmap和costmap所对应的PID粒度。示例性的,可以通过新增加一个字段,或者利用已有的字段在基础层networkmap和基础层costmap中携带粒度层指示信息。在基础层networkmap和/或基础层costmap中携带相同的粒度层指示信息用于表示所述基础层network map和/或基础层costmap对应的PID粒度是最基础的粒度,即精度最高的粒度,可以记为水平-O (英文为level-0)。
[0066]接下来,Alto server确定η个聚合PID的结构信息。
[0067]其中,所述η个聚合PID由m个基础PID聚合而成,η小于m。每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID。该结构信息可以是通过算法生成的算法规则,也可以是预先设定的算法规则,具体的结构信息由算法规则所确定。
[0068]示例性的,基础层中包括有PID1、PID2、PID3、PID4和PID5这5个基础PID。可以将PIDl和PID2划为聚合层的PID a,将PID3、PID4和PID5划为聚合层的PID b,即PIDa= {PID1,PID2},PIDb= {PID3,PID4,PID5}。或者,可以将 PIDl 和 PID2 划为聚合层的 PID a,将PID3和PID4划为聚合层的PID b,将PID5划为聚合层的PID C,即PID a={PIDl,PID2},PID b={PID3,PID4},PIDc={PID5}。
[0069]202、所述Alto server根据与所述m个基础PID对应的基础层networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap。
[0070]其中,所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系。
[0071]例如,若基础PIDf基础PID5按照聚合PID的结构信息得到聚合PID a={PIDl,PID2},聚合 PID b= {PID3,PID4,PID5}。由于 PIDa 包括 PIDl 和 PID2,并且 PIDl 包括 IP 地址为IPl的网络设备和IP地址为IP2的网络设备,PID2包括IP地址为IP3的网络设备和IP地址为IP4的网络设备,因此PIDa包括IP地址为IPl的网络设备、IP地址为IP2的网络设备、IP地址为IP3的网络设备和IP地址为IP4的网络设备。根据相同的原理可以确定PIDb包括的网络设备。综上,聚合PID a和聚合PID b对应聚合层networkmap可以表示为 PIDa={IPl, IP2, IP3, IP4},PIDb={IP5, IP6, IP7, IP8, IP9, IP10}。
[0072]若基础PIDl?基础PID5按照聚合PID的结构信息得到聚合PIDa= {PID1,PID2},聚合PID b={PID3,PID4},聚合PID c= {PID5},根据上一实例中的原理可以确定,聚合PID
a、聚合PID b和聚合PIDc对应聚合层networkmap可以表不为PIDa= {IP1, IP2, IP3, IP4},PIDb= {IP5,IP6, IP7, IP8},PIDc= {IP9,IP10}。其中,上述聚合层 networkmap 中的 5 个基础PID覆盖的10个网络设备的IP地址都分别对应唯一的聚合PID。
[0073]203、所述Alto server根据与所述m个基础PID对应的基础层costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0074]其中,所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0075]若基础PIDl?基础PID5按照聚合PID的结构信息得到聚合PIDa= {PID1,PID2},聚合PID b={PID3, PID4,PID5},即η等于2,则所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost包括:PIDa到PIDb的cost以及PIDb到PIDa 的 cost。
[0076]若基础PIDl?基础PID5按照聚合PID的结构信息得到聚合PIDa= {PID1,PID2},聚合PID b={PID3,PID4},聚合PID c= {PID5},即n=3,则所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost包括=PIDa到PIDb的cost,PIDa到PIDc 的 cost、PIDb 到 PIDa 的 cost、PIDb 到 PIDc 的 cost、PIDc 到 PIDa 的 cost 以及 PIDc到 PIDb 的 cost。
[0077]在本实施例中,确定所述η个聚合PID中的任意一个聚合PID到所述η个聚合PID中除所述任意一个聚合PID以外的任意一个聚合PID的cost的方法可以均相同。因此在示出确定所述η个聚合PID中的一个聚合PID到另一个聚合PID的cost的方法后,同时也确定出确定所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost的方法。
[0078]现举例说明确定所述η个聚合PID中的任意一个聚合PID到所述η个聚合PID中除所述任意一个聚合PID以外的任意一个聚合PID的cost的方法。
[0079]第一聚合PID是所述η个聚合PID中的任意一个PID,第二 PID与第一 PID不同,是所述η个聚合PID中除所述任意一个聚合PID以外的任意一个聚合PID,因此,第一聚合PID到第二聚合PID的cost就是所述η个聚合PID中的任意一个聚合PID到所述η个聚合PID中除所述任意一个聚合PID以外的任意一个聚合PID的cost。
[0080]确定所述第一聚合PID到所述第二聚合PID的cost方法包括:
[0081]确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID 的 cost ;
[0082]根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost。可选地,所述预设算法包括算术平均、加权平均、任意选取、部分算术平均或者部分加权平均,当然还可以包括其他可行的算法。
[0083]在本实施中,可以按照所述确定所述第一聚合PID到所述第二聚合PID的cost方法,为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID 的 cost。
[0084]以由基础PIDl?基础PID5按照聚合PID的结构信息得到聚合PID a={PIDl,PID2},聚合PID b={PID3,PID4}和聚合PID c={PID5}为例,第一聚合PID和第二聚合PID可以分别为 PID a 和 PID b,PIDa 和 PIDcjPIDb 和 PIDajPIDb 和 PIDcjPIDc 和 PIDa,或者,PIDc 和 PIDb0 聚合层 costmap 包括 PID a 到 PID b 的 cost、PID a 到 PID c 的 cost、PIDb 到 PID a 的 cost、PID b 到 PID c 的 cost、PIDc 到 PIDa 的 cost 和 PIDc 到 PIDa 的 cost。以上六个cost均是采用相同的方法确定的,因此只需要公开任意一个cost的确定方法即可。在本实施例中公开了确定PID a到PID b的cost的具体方法。
[0085]确定PIDa到PIDb的cost的方法包括以下内容。
[0086]分别确定PID a中的PIDl和PID2到PID b中的PID3和PID4的cost。示例性的,可以在基础层costmap中查询PIDl到PID3和PID4的开销costl-3和costl-4,查询PID2 到 PID3 和 PID4 的开销 cost2_3 和 cost2_4。
[0087]接着,根据如算术平均、加权平均、任意选取、部分算术平均或者部分加权平均等的预设算法对PID a中的PIDl,PID2分别到PIDb中的PID3和PID4的cost进行处理,得到 PID a 到 PID b 的 cost,表不为 cost(a_b)。
[0088]具体的,当预设cost聚合规则是算术平均时,PID a到PID b的cost(a_b)为上述所有开销的算术平均值,即 cost (a-b) = (costl-3+costl-4+cost2-3+cost2_4) /4。
[0089]当预设cost聚合规则是加权平均时,PID a到PID b的cost (a_b)为上述所有开销的加权平均值,即 cost (a-b) = ( η I cost 1-3+ η 2costl_4+ η 3cost2_3+ η 4cost2_4) /4 ;其中,Π 1?η4为加权因子,表示对应开销的权重。
[0090]当预设cost聚合规则是任意选取时,PID a到PID b的cost(a_b)为上述任一开销。如 cost (a-b) =cost2_3、或者 cost (a_b) =costl_4 等。
[0091]当预设cost聚合规则是部分算术平均时,PID a到PID b的cost(a_b)为上述部分开销的算术平均值。如 cost (a_b) = (costl-3+costl-4+cost2_4)/3。
[0092]当预设cost聚合规则是部分加权平均时,PID a到PID b的cost(a_b)为上述部分开销的加权平均值。如 cost (a-b) = ( n lcostl-3+ η 4cost2_4)/2,或者,cost (a_b) = ( η 2costl-4+n3cost2-3)/2等。其中,η f η4为加权因子,表示对应开销的权重。
[0093]至此,得到聚合层networkmap和costmap。进一步的,可以在聚合层networkmap和costmap中携带粒度层指示信息。示例性的,可以通过新增加一个字段,或者利用已有的字段在聚合层networkmap和costmap中携带粒度层指示信息。其中,聚合层的该指示字段可以记为level-1。
[0094]依照本发明实施例提供的的方法所生成的聚合层networkmap和聚合层costmap的PID粒度会大于基础层networkmap和基础层costmap的PID粒度,但数据总量会明显少于基础层networkmap和基础层costmap的数据总量。由于存在了不同PID粒度的networkmap和costmap,因此便可以根据客户端对PID粒度的要求,提供相应的networkmap和 costmap。
[0095]可选地,本实施例还可以包括以下内容。
[0096]204、Alto client向Alto server发送请求消息,以便于所述Alto server根据所述请求消息向Alto client发送对应的networkmap和costmap。
[0097]示例性的,Alto client请求消息可以通过携带指示PID粒度的一种或多种信息向Alto server请求所要获取的networkmap和costmap。所述指示PID粒度的信息可以是如视频点播、文件下载、网页浏览等客户请求的资源类型对应的应用类型信息,也可以是目标粒度层信息。其中,所述目标粒度层消息是Alto client根据所需的应用类型确定的粒度层指示信息。
[0098]205、Alto server在根据Alto client发送的请求消息,确定所述Alto client请求获取的networkmap和costmap后,向所述Alto client发送对应的networkmap和costmap。
[0099]可选的,当Alto server在根据Alto client发送的请求消息,确定Alto client请求获取聚合层networkmap和聚合层costmap后,向Altoclient发送聚合层networkmap和聚合层costmap。例如,Alto client发送用户视频点播请求的应用类型信息,Altoserver查询用户的视频点播请求对应的粒度层指示信息,例如对指示字段level_l,则Altoserver确定Alto client请求获取聚合层networkmap和聚合层costmap ;随后,向Alto client 发送包含指不字段 level-Ι 的 networkmap 和 costmap。
[0100]可选的,当Alto server在Alto client发送的请求消息,确定Altoclient请求获取基础层networkmap和基础层costmap后,向Alto client发送基础层networkmap和基础层costmap。例如,Alto client发送目标粒度层信息为指示字段level-Ο,则Alto server确定Alto client请求要获取基础层networkmap和基础层costmap ;随后,向Alto client发送包含指不字段level-Ο的networkmap和costmap。
[0101]可选的,当Alto server在根据Alto client发送的请求消息,确定Alto client请求获取基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向Alto client发送基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送基础层costmap和聚合层networkmap中优先级较高的costmap。例如Alto client请求中同时包括发送用户的视频点播请求的应用类型信息和指示字段为level-Ο的目标粒度层信息;其中,目标粒度层信息的优先级高于应用类型信息的优先级。Alto server查询用户的视频点播请求对应指示字段为level-Ι,而目标粒度层信息指示字段为level-0,则Alto sei'vei'将优先级较高的目标粒度层信息,即包含指示字段为level-Ο的基础层networkmap 和基础层 costmap 发送给 Alto client。
[0102]可选的,当Alto server在确定Alto client发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述Alto server发送默认的networkmap和costmap。例如Alto client请求消息中不包括指示PID粒度的任何一种消息。贝IlAlto server向Alto client发送默认的粒度层的network map和costmap。所述默认的粒度层可以是网络系统根据实际情况预设的基础层或者聚合层,也可以是基础层。
[0103]206、Alto client 根据 Alto server 发送的 networkmap 和 costmap 确定节点资源。
[0104]本实施例中,Alto server所生成的聚合`层networkmap和聚合层costmap的数据总量明显少于基础层networkmap和基础层costmap的数据总量。使得网络结构更简单。随后,Alto server根据PID粒度向Alto client发送聚合层networkmap和聚合层costmap,或者,发送基础层networkmap和基础层costmap,相比在任何情况下发送都基础层networkmap和基础层costmap会占用更少的带宽。节约网络资源。
[0105]需要说明的是,上述实施例中详细描述了形成聚合层networkmap以及聚合层costmap的过程,服务器还可以根据网络中的线路布局等实际情况预先确定生成聚合层的总层数M。按照步骤20 203的方式根据第N聚合层的PID的结构信息和第N-1聚合层的networkmap以及costmap形成第N聚合层的networkmap以及costmap。其中,N大于等于2小于等于预设的聚合层的总层数M。[0106]示例性的,将聚合层的总层数设置为2。则服务器根据基础PID和基础层的networkmap以及costmap建立第一聚合PID和第一聚合层的networkmap以及costmap ;并根据第一聚合PID和第一聚合层的networkmap以及costmap建立第二聚合PID和第二聚合层的networkmap以及costmap。具体的建立过程与上述第一聚合层的建立过程相同,不在赞述。
[0107]进一步的,得到第二聚合层的networkmap和costmap后,可以在第二聚合层的networkmap和costmap中携带粒度层指示信息。可以通过新增加一个字段,或者利用已有的字段在第二聚合层的networkmap和costmap中携带粒度层指示信息。其中,第二聚合层的该指示字段可以记为level-2。
[0108]可以理解的是,上述实施例中仅描述了一个Alto client与一个Alto server进行一次交互的情况。可以理解的是,当多个Alto client与一个Alto server进行交互,或者,一个Alto client与一个Alto server进行多次交互时,步骤201~203可以只进行一次,步骤204~206需要进行多次。
[0109]本发明还提供一种如图3所示的服务器3。所述服务器3用于执行与图1或图2对应的实施例中的方法。所述服务器为图1或图2对应的实施例中的Alto Server0该服务器3包括以下内容。
[0110]第一确定模块31,用于确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m。
[0111]第二确定模块32,用于根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID。
[0112]第三确定模块33,用于根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0113]所述如图3所示的服务器确定的聚合层networkmap和聚合层costmap的PID粒度会大于基础层networkmap和基础层costmap的PID粒度,但数据总量会明显少于基础层networkmap和基础层costmap的数据总量。由于存在了不同PID粒度的networkmap和costmap,因此便可以根据客户端对PID粒度的要求,提供相应的networkmap和costmap。
[0114]可选的,所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系;
[0115]所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系;
[0116]所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ;
[0117]所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0118]可选的,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
[0119]进一步的,所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cost和所述第二聚合PID到所述第一聚合PID的cost ;
[0120]第三确定模块33,具体用于按照确定所述第一聚合PID到所述第二聚合PID的cost的方法为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost ;其中,确定所述第一聚合PID到所述第二聚合PID的cost的方法包括:确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost。
[0121]进一步的,服务器3还包括:
[0122]发送模块34,用于根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Altoclient发送所述聚合层networkmap和聚合层costmap ;
[0123]或者,用于所述Alto server在根据应用层流量优化客户端Altoclient发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Alto client发送所述基础层networkmap和基础层costmap ;
[0124]或者,用于所述Alto server在根据应用层流量优化客户端Altoclient发送的请求消息,确定所述Alto client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ;
[0125]或者,用于所述Alto server在确定应用层流量优化客户端Altoclient发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述 Alto server 发送默认的 networkmap 和 costmap。
[0126]如图4所示,本发明实施例还提供一种服务器4,所述服务器4为图1或图2对应的实施例中的Alto server,包括:处理器41和存储器42。所述服务器4中的处理器41和存储器42相互配合,实现与图1或图2对应的实施例中的方法。
[0127]所述处理器41用于确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m ;根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID ;根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
[0128]所述服务器4所生成的聚合层networkmap和聚合层costmap的PID粒度会大于基础层networkmap和基础层costmap的PID粒度,但数据总量会明显少于基础层networkmap和基础层costmap的数据总量。由于存在了不同PID粒度的networkmap和costmap,因此便可以根据客户端对PID粒度的要求,提供相应的networkmap和costmap
[0129]可选的,所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系;所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系;所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ;所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
[0130]可选地,所述基础层networkmap、聚合层networkmap、基础层costmap和聚合层costmap保存在所述存储器42中。
[0131]可选的,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
[0132]进一步的,所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cost和所述第二聚合PID到所述第一聚合PID的cost ;
[0133]所述处理器41,用于按照确定所述第一聚合PID到所述第二聚合PID的cost的方法为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost ;其中,确定所述第一聚合PID到所述第二聚合PID的cost的方法包括:确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost。
[0134]进一步的,服务器4还包括:
[0135]发送器43,用于根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Altoclient发送所述聚合层networkmap和聚合层costmap ;或者,用于所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Alto client发送所述基础层networkmap和基础层costmap ;或者,用于所述Altoserver在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ;或者,用于所述Alto server在确定应用层流量优化客户端Alto client发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述Altoserver发送默认的networkmap和 costmap。
[0136]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0137]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0138]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【权利要求】
1.一种生成聚合层网络图和聚合层开销图的方法,其特征在于,包括: 应用层流量优化服务器AltO server确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m ; 所述Alto server根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID ; 所述Alto server根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
2.根据权利要求1所述的方法,其特征在于, 所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系; 所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系; 所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ; 所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
3.根据权利要求2所述的方法,其特征在于,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
4.根据权利要求2或3所述的方法,其特征在于,所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cOst和所述第二聚合PID到所述第一聚合PID的cost: 确定所述第一聚合PID到所述第二聚合PID的cost方法包括:确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost ;按照所述确定所述第一聚合PID到所述第二聚合PID的cost方法,为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost。
5.根据权利要求1-4任一所述的方法,其特征在于,还包括: 所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Altoclient发送所述聚合层networkmap和聚合层costmap ; 或者, 所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Altoclient发送所述基础层networkmap和基础层costmap ; 或者, 所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Al to client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ; 或者, 所述Alto server在确定应用层流量优化客户端Alto client发送的请求获取networkmap和costlmap的请求消息没有示出被请求的networkmap和costmap后,向所述Alto server 发送默认的 networkmap 和 costmap。
6.一种服务器,其特征在于,包括: 第一确定模块,用于确定η个聚合网络定位标识符PID的结构信息,其中,所述η个聚合PID由m个基础PID聚合而成,η小于m ; 第二确定模块,用于根据与所述m个基础PID对应的基础层网络图networkmap和每个聚合PID的结构信息确定与所述η个聚合PID对应的聚合层networkmap,其中所述每个聚合PID的结构信息表示所述每个聚合PID分别包括的基础PID ; 第三确定模块,用于根据与所述m个基础PID对应的基础层开销图costmap和所述每个聚合PID的结构信息,确定与所述η个聚合PID对应的聚合层costmap。
7.根据权利要求6所述的服务器,其特征在于: 所述基础层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述m个基础PID的对应关系;· 所述聚合层networkmap包括所述m个基础PID覆盖的网络设备的IP地址与所述η个聚合PID的对应关系; 所述基础层costmap包括所述m个基础PID中的每个基础PID到自身以外的其他基础PID中的每个基础PID的cost ; 所述聚合层costmap包括所述η个聚合PID中的每个聚合PID到自身以外的其他聚合PID中的每个聚合PID的cost。
8.根据权利要求7所述的服务器,其特征在于:所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的基础PID,所述m个基础PID覆盖的网络设备的IP地址中的每个IP地址对应唯一的聚合PID。
9.根据权利要求7或8所述的服务器,其特征在于:所述η个聚合PID包括第一聚合PID和第二聚合PID,所述聚合层costmap包括所述第一聚合PID到所述第二聚合PID的cost和所述第二聚合PID到所述第一聚合PID的cOst: 所述第三确定模块,用于按照确定所述第一聚合PID到所述第二聚合PID的cost的方法为所述η个聚合PID中的每个聚合PID确定到自身以外的其他聚合PID中的每个聚合PID的cost ;其中,确定所述第一聚合PID到所述第二聚合PID的cost的方法包括:确定所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost ;根据预设算法对所述第一聚合PID中的每个基础PID分别到所述第二聚合PID中的每个基础PID的cost进行处理,得到所述第一聚合PID到所述第二聚合PID的cost。
10.根据权利要求6—9任一所述的服务器,其特征在于,还包括: 发送模块,用于根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述聚合层networkmap和聚合层costmap后,向所述Alto client发送所述聚合层networkmap和聚合层costmap ; 或者,用于所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap和基础层costmap后,向所述Alto client发送所述基础层networkmap和基础层costmap ; 或者,用于所述Alto server在根据应用层流量优化客户端Alto client发送的请求消息,确定所述Alto client请求获取所述基础层networkmap、基础层costmap、聚合层networkmap和聚合层costmap后,向所述Alto client发送所述基础层networkmap和聚合层networkmap中优先级较高的networkmap,并且还发送所述基础层costmap和聚合层networkmap中优先级较高的costmap ; 或者,用于所述Alto server在确定应用层流量优化客户端Alto client发送的请求获取networkmap和costmap的请求消息没有示出被请求的networkmap和costmap后,向所述 Alto server 发送默认的` networkmap 和 costmap。
【文档编号】H04L29/08GK103546516SQ201210245654
【公开日】2014年1月29日 申请日期:2012年7月16日 优先权日:2012年7月16日
【发明者】蔡云飞, 吴杏芬, 汪洋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1