Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020156110 - PROCÉDÉ DE CALCUL DE ROUTAGE ET DISPOSITIF ASSOCIÉ

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45  

附图

1   2   3   4   5   6   7   8   9   10   11  

说明书

发明名称 : 一种路由计算方法以及相关设备

[0001]
本申请要求于2019年01月31日提交中国专利局、申请号为201910100277.4、发明名称为“一种路由计算方法以及相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本申请涉及通信领域,尤其涉及一种路由计算方法以及相关设备。

背景技术

[0003]
目前互联网计算存在两个发展趋势,一种泛在计算能力。即在用户的不同距离里遍布不同规模算力的计算容器。这些计算容器可以是从百亿量级的智能终端,到全球10亿量级的家庭网关,再到每个城市中未来移动边缘计算(mobile edge computing,MEC)带来的数千个具备计算能力的基站,或者数百个网络功能虚拟化(network function virtualization,NFC)带来的云托管(Cloud CO)机房以及每个国家数十个大型的云数据中心。另一种是微服务化或者无服务器(Serverless)化的趋势。传统的用户-服务器(client-server)模式被解构,服务器(server)侧的应用解构成“功能组件”布放在云平台上,由应用程序编程接口网关(application programming interface gateway,API gateway)统一调度,可以做到事件触发函数组件“即需即用,用完即走”,即按需动态实例化。服务器中的业务逻辑转移到client侧,client只需要关心“计算功能”本身,而无需感知计算地点和server/虚拟机/容器等计算资源,从而仅需聚焦业务逻辑,实现功能即服务。
[0004]
当前的互联网架构和上述趋势之间存在差距,在空间维度上,当前互联网拓扑是“端到端模型”,即网络在中间、计算在外围。而边缘计算或者泛在计算的场景中,互联网拓扑变成了计算嵌在网络中间。目前的网络协议(Internet Protocol,IP)路由技术基于“端到端模型”只考虑IP的可达性,网络和计算是两个不相关的分离的世界,从而导致泛在的算力很难通过网络构成高效组织的分布式计算系统。
[0005]
发明内容
[0006]
本申请实施例提供了一种路由计算方法以及相关设备,用于将计算能力作为路由信息注入路由域,使得路由计算中添加计算能力,从而实现计算和网络资源利用率最优。
[0007]
第一方面,本申请实施例提供一种路由域,该路由域包括计算容器和网络路由器;所述网络路由器为支持路由计算的路由节点;所述计算容器与所述网络路由器由虚拟链路相连;所述计算容器,用于运行路由协议,所述路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;利用所述路由协议向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;所述网络路由器,用于获取所述计算能力,并获取所述路由域的网络能力;根据所述计算能力计算路由;或所述计算能力和所述网络能力计算路由。
[0008]
从本申请实施例提供的技术方案得知,该计算容器将自身的计算能力与业务或功能标识扩散到路由域中,以使得在计算路由时考虑到计算能力,从而实现计算和网络资源利用率最优。
[0009]
可选的,该网络路由器还可以根据该业务或功能标识和该路由生成路由表,并保存该路由表。
[0010]
可选的,所述计算容器向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算容器的计算能力和业务或功能标识。
[0011]
可选的,该路由域中,该计算容器也可以根据获取到的计算能力计算路由;或者,该-计算容器也可以获取该路由域的网络能力,从而根据该计算能力和该网络能力计算路由。
[0012]
本申请实施例中,该计算容器计算得路由是指由服务或功能消息者到该路由域中的各个计算容器的路由。而该计算容器可以是服务器、虚拟机或者容器,或者是更小的提供计算资源的单元,同时该计算容器中还可以包括应用软件或操作系统,而该应用软件或操作系统也可以作为特殊路由器计算路由。这样该计算容器计算确定服务或功能消费者到各个计算容器的路由,从而让用户可以选择更合适的计算容器去实施例相应的服务或功能。
[0013]
可选的,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[0014]
可选的,该网络路由器或计算容器根据该计算能力或根据计算能力和网络能力计算路由的具体过程如下:
[0015]
一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数得到计算度量值,然后根据计算度量值计算路由。
[0016]
另一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数得到计算度量值,并根据该网络参数得到该网络度量值;该网络路由器或计算容器再根据该计算度量值和该网络度量值计算路由。
[0017]
另一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数和该网络参数得到复合度量值;该网络路由器或计算容器再根据该复合度量值计算路由。
[0018]
本申请实施例中,该网络路由器计算的路由为该网络路由器到该路由域中各个路由节点的路由,而该计算容器或应用软件或操作系统计算的路由为该服务或功能消费者到各个计算容器的路由。同时,该网络路由器还可以还用于将所述计算能力或所述计算能力和业务或功能标识扩散到所述路由域中的各个网络路由器;和/或,所述网络路由器将所述计算能力或所述计算能力和业务或功能标识扩散到其他路由域。
[0019]
基于上述的路由计算方法,在利用计算度量值和网络度量值计算路由时,该网络路由器或计算容器可以根据具体的业务或功能来综合计算。比如对于需要计算能力的业务,各节点中运行的路由算法以计算度量值为主,网络度量值为辅来计算最佳的路由;对于传统传输类的业务,由于不需要边缘计算能力,各节点中运行的路由算法以网络度量值为主来计算最佳的路由。这样可以使得用户更有效的得到计算或网络资源利用率最优。
[0020]
可选的,该网络路由器或计算容器根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0021]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0022]
其中,该α 1和该γ 1为加权值。
[0023]
可选的,该网络路由器或计算容器根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0024]
该第二公式为:
[0025]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0026]
可选的,该网络路由器或计算容器根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;
[0027]
该第三公式为:
[0028]
[0029]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0030]
可以理解的是,以上第一公式、第二公式和第三公式中的各加权值可以根据业务特性进行合理的设置,比如对时延敏感的业务,可以适当增大时延相关的系数;对带宽要求高的业务,可以适当增大吞吐量或网络带宽相关的系数。
[0031]
第二方面,本申请实施例提供一种计算容器,具体包括:获取单元,用于获取计算能力或所述计算能力和业务或功能标识;运行单元,用于运行路由协议,该路由协议用于携带所述获取单元获取的所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;发送单元,用于利用所述运行单元运行的路由协议向网络路由器发送所述计算能力或所述计算能力和业务或功能标识。
[0032]
可选的,所述发送单元,具体用于向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算能力和业务或功能标识。
[0033]
可选的,所述计算容器还包括计算单元,用于根据所述计算能力计算路由,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项。
[0034]
可选的,所述获取单元,还用于获取所述计算容器所处路由域的网络能力,所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;
[0035]
所述计算单元,还用于根据所述计算能力和所述网络能力计算路由,其中,所述计算容器计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[0036]
可选的,所述计算单元,具体用于根据所述网络参数利用第一公式或非线性加权算法计算得到所述网络度量值;
[0037]
所述第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0038]
其中,所述α 1和所述γ 1为加权值。
[0039]
可选的,该计算单元,具体用于根据该计算能力参数利用第二公式或非线性加权算法 计算得到该计算度量值;
[0040]
该第二公式为:
[0041]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0042]
可选的,该计算单元,具体用于根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;根据该复合度量值计算路由生成该路由表;
[0043]
该第三公式为:
[0044]
[0045]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0046]
可选的,所述计算容器还包括应用软件或操作系统。
[0047]
可选的,所述应用软件或操作系统,用于根据所述计算能力计算路由;或,所述应用软件或操作系统,用于根据所述计算能力和网络能力计算路由,其中,所述应用软件或操作系统计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[0048]
可选的,所述计算容器还包括存储单元,用于存储所述计算能力或所述计算能力和业务或功能标识和所述网络能力。
[0049]
在一种可能的实现方式中,该计算容器包括:处理器和收发器,所述处理器被配置为支持计算容器执行上述第二方面提供的方法中相应的功能。收发器用于指示计算容器和网络路由器之间的通信,向网络路由器发送上述方法中所涉及的信息或指令。可选的,此装置还可以包括存储器,所述存储器用于与处理器耦合,其保存计算容器必要的程序指令和数据。
[0050]
其中,上述任一处提到的处理器,可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述各方面信道资源协调分配的方法的程序执行的集成电路。
[0051]
第三方面,本申请实施例提供一种网络路由器,包括:获取单元,用于获取计算容器的计算能力,并获取所处路由域的网络能力;计算单元,用于根据所述计算能力计算路由,或根据所述计算能力和所述网络能力计算路由。
[0052]
可选的,该获取单元,具体用于接收所述计算容器发送的虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算能力和业务或功能标识。
[0053]
可选的,所述网络路由器还包括发送单元,用于将所述计算能力或所述计算能力和业务或功能标识扩散到所述路由域中的各个网络路由器;和/或,用于将所述计算能力或所述计算能力和业务或功能标识扩散到其他路由域。
[0054]
可选的,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;
[0055]
所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中 的至少一项。
[0056]
可选的,所述计算单元,具体用于根据所述计算能力参数得到计算度量值;根据所述计算度量值计算路由。
[0057]
可选的,所述计算单元,具体用于根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[0058]
可选的,该计算单元,具体用于根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0059]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0060]
其中,该α 1和该γ 1为加权值。
[0061]
可选的,该计算单元,具体用于根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0062]
该第二公式为:
[0063]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0064]
可选的,该计算单元,具体用于根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;根据该复合度量值计算路由生成该路由表;
[0065]
该第三公式为:
[0066]
[0067]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0068]
可选的,该网络路由器还包括存储单元,该存储单元,用于存储该计算容器的计算能力或所述计算能力和业务或功能标识和该路由域的网络能力。
[0069]
在一种可能的实现方式中,该网络路由器包括:处理器和收发器,所述处理器被配置为支持网络路由器执行上述方法中相应的功能。收发器用于指示计算容器和网络路由器之间的通信,向计算容器发送上述方法中所涉及的信息或指令。可选的,此装置还可以包括存储器,所述存储器用于与处理器耦合,其保存网络路由器必要的程序指令和数据。
[0070]
其中,上述任一处提到的处理器,可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述各方面信道资源协调分配的方法的程序执行的集成电路。
[0071]
第四方面,本申请实施例提供一种路由计算方法,应用于包括上述第一方面至第三方面所述的计算容器和网络路由器的路由域,所述网络路由器为支持路由计算的路由器,具体实现方式为:所述计算容器运行路由协议,所述路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;利用所述路由协议向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;所述网络路由器获取所述计算能力,并获取所述路由域的网络能力;所述网络路由器根据所述计算能 力计算路由;或根据所述计算能力和所述网络能力计算路由。
[0072]
可选的,所述向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识包括:所述计算容器向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算容器的计算能力和业务或功能标识。
[0073]
可选的,该路由计算方法中,所述计算容器根据所述计算能力计算路由;或,所述计算容器获取所述网络能力;所述计算容器根据所述计算能力和所述网络能力计算路由,其中,所述计算容器计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[0074]
可选的,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[0075]
可选的,该网络路由器或计算容器根据该计算能力或根据计算能力和网络能力计算路由的具体过程如下:
[0076]
一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数得到计算度量值,然后根据计算度量值计算路由。
[0077]
另一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数得到计算度量值,并根据该网络参数得到该网络度量值;该网络路由器或计算容器再根据该计算度量值和该网络度量值计算路由。
[0078]
另一种可能实现方式中,该网络路由器或计算容器根据该计算能力参数和该网络参数得到复合度量值;该网络路由器或计算容器再根据该复合度量值计算路由。
[0079]
本申请实施例中,该网络路由器计算的路由为该网络路由器到该路由域中各个路由节点的路由,而该计算容器或应用软件或操作系统计算的路由为该业务或功能消费者到各个计算容器的路由。
[0080]
基于上述的路由计算方法,在利用计算度量值和网络度量值计算路由时,该网络路由器或计算容器可以根据具体的业务或功能来综合计算。比如对于需要计算能力的业务,各节点中运行的路由算法以计算度量值为主,网络度量值为辅来计算最佳的路由;对于传统传输类的业务,由于不需要边缘计算能力,各节点中运行的路由算法以网络度量值为主来计算最佳的路由。这样可以使得用户更有效的得到计算或网络资源利用率最优。
[0081]
可选的,该网络路由器或计算容器根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0082]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0083]
其中,该α 1和该γ 1为加权值。
[0084]
可选的,该网络路由器或计算容器根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0085]
该第二公式为:
[0086]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0087]
可选的,该网络路由器或计算容器根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;
[0088]
该第三公式为:
[0089]
[0090]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0091]
可以理解的是,以上第一公式、第二公式和第三公式中的各加权值可以根据业务特性进行合理的设置,比如对时延敏感的业务,可以适当增大时延相关的加权值;对带宽要求高的业务,可以适当增大吞吐量或网络带宽相关的加权值。
[0092]
从以上技术方案可以看出,本申请实施例具有以下优点:该计算容器将自身的计算能力与业务或功能标识扩散到路由域中,以使得在计算路由生成路由表时考虑到计算能力,从而实现计算和网络资源利用率最优。同时,该计算容器实现计算、存储和网络资源的自动分配,从而适应用户业务快速变化或业务移动。本申请实施例中,该网络路由器根据该计算容器的计算能力和网络能力进行路由计算,从而实现计算和网络资源利用率最优。
[0093]
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令用于执行上述第四方面中任意可能的实施方式所述的方法。
[0094]
第六方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面中第四方面所述的方法。

附图说明

[0095]
图1为当前网络结构示意图;
[0096]
图2为本申请实施例中路由域的结构示意图;
[0097]
图3为本申请实施例中路由域的一个实施例示意图;
[0098]
图4为本申请实施例中路由域运行路由协议进行路由计算的原理示意图;
[0099]
图5为本申请实施例中计算容器的一个实施例示意图;
[0100]
图6为本申请实施例中计算容器的一个功能框图示意图;
[0101]
图7为本申请实施例中计算容器内应用软件或操作系统的一个功能框图示意图;
[0102]
图8为本申请实施例中计算容器的另一个实施例示意图;
[0103]
图9为本申请实施例中网络路由器的一个实施例示意图;
[0104]
图10为本申请实施例中网络路由器的一个功能框图示意图;
[0105]
图11为本申请实施例中网络路由器的另一个实施例示意图。

具体实施方式

[0106]
本申请实施例提供了一种路由计算方法以及相关设备,用于将计算能力作为路由信息注入路由域,使得路由计算中添加计算能力,从而实现计算和网络资源利用率最优。
[0107]
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、 “第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0108]
目前互联网计算存在两个发展趋势,一种泛在计算能力。即在用户的不同距离里遍布不同规模算力的计算容器。这些计算容器可以是从百亿量级的智能终端,到全球10亿量级的家庭网关,再到每个城市中MEC带来的数千个具备计算能力的基站,或者数百个NFC带来的Cloud CO机房以及每个国家数十个大型的云数据中心。而当前的互联网架构和上述趋势之间存在差距,在空间维度上,当前互联网拓扑是“端到端模型”(即网络在中间、计算在外围)。如图1所示当前的网络路由域,其包含的节点(Node)或顶点(Vertical)的集合为(u,v,w);连接相邻节点的边(Edge)的集合为{(u,v)c1,(v,w)c2,(w,u)c3};其中c1,c2,c3为边的加权值。在图1所示的网络路由域里,这里的节点为路由器或网络路由节点,这里的边为相邻节点间的链路(Link),这里的加权值又可以称为链路状态(Link state),相邻节点间的链路可以是直连的物理链路,也可以是经过一个网络可达的逻辑链路。图1中,X和Y分别为功能x和功能y所在的计算容器,位于路由域之外。因此目前的IP路由技术基于“端到端模型”只考虑IP的可达性,网络和计算是两个不相关的分离的世界,从而导致泛在的算力很难通过网络构成高效组织的分布式计算系统。
[0109]
为了解决这一问题,本申请实施例提供一种路由域,该路由域包括计算容器和网络路由器;所述网络路由器为支持路由计算的路由节点;所述计算容器与所述网络路由器由虚拟链路相连;所述计算容器,用于运行路由协议,该路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;利用所述路由协议向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;所述网络路由器,用于获取所述路由域的网络能力;根据所述计算能力计算路由;或根据所述计算能力和所述网络能力计算路由。
[0110]
具体来说,该路由域的架构可以如图2所示,该网络路由域包括计算容器201和网络路由器202,其中,该计算容器201与该网络路由器202的数目此处不做限定。该计算容器201与该网络路由器202通过虚拟链路相连,该虚拟链路可以是直连的物理链路,也可以是经过一个网络可达的逻辑链路。可以理解的是,本申请实施例中的计算容器201可以是服务器、虚拟机或者容器,或者是更小的提供计算资源的单元,该网络路由器202可以是路由器。
[0111]
基于上述图2所示的路由域,对该路由域中的路由计算过程进行说明:
[0112]
计算容器201运行一个路由守护进程,作为路由的发起者;然后,该路由守护进程将该计算容器201对应的业务或者功能标识以及该计算容器201的计算能力参数作为虚拟链路状态,通过路由协议(该路由协议包括内部网关协议(interior gateway protocol,IGP) 或者边界网关协议(border gateway protocol,BGP))发送给相邻的网络路由器202,其中,该,所述路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;然后该网络路由器202获取该路由域的网络能力;最后该网络路由器202根据该网络能力和该计算容器201的计算能力或者该网络路由器202根据该计算容器的计算能力计算路由。
[0113]
可选的,该计算容器也可以以虚拟链路状态的形式将该计算能力或所述计算容器的计算能力和业务或功能标识注入到该路由域中,然后该网络路由器在接收到该虚拟链路状态之后,将该虚拟链路状态扩散到该路由域中的其他各个网络路由器,甚至扩散到相邻的其他路由域中。
[0114]
可选的,该网络路由器在计算路由之后,还可以根据该业务或功能标识和该路由生成路由表。
[0115]
可以理解的是,该计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[0116]
一种示例中,该路由域的架构可以如图3所示,该网络路由域包含了节点或顶点的集合为{u,v,w,X,Y}以及连接相邻节点的边(Edge)的集合为{(u,v)c1,(v,w)c2,(w,u)c3,(X,u)c4,(Y,v)c5}。在网络路由域内,把计算容器(如功能x所在的计算容器X和功能y所在的计算容器Y)也作为路由节点加入到路由节点的集合中。本申请文件中,这种特殊的路由器可称为计算容器201,用于与传统的网络路由器202进行区分。图3中,节点u,v和w为该网络路由器202。同时该网络路由域中新增了一种特殊的边作为计算容器201与相邻的网络路由器202间的虚拟链路;其中,c4,c5为这种特殊边的加权值,也可以称为虚拟链路状态,该虚拟链路状态可以包含“功能或服务ID”和相应所在计算容器的“吞吐量(Throughput)、计算时延(Compute Delay)、和/或服务器负载(Server Load)”,甚至还可以包含“中央处理器(central processing unit,CPU)的利用率、或存储利用率”等相关的计算能力参数。而图3中所示的路由域中,路由计算原理可以如图4所示,其中以计算容器X为例,该计算容器X运行路由协议,发起路由;从而该计算容器X将自身的计算能力通过路由协议发送给该网络路由器u;该网络路由器u将计算容器X的计算能力通过路由协议发送给该路由域中的其他网络路由器或者计算容器;然后各个网络路由器或计算容器分别计算路由。比如该网络路由器u将该计算容器X的计算能力通过路由协议发送给网络路由器v和网络路由器w;而该网路路由器v将该计算容器X的计算能力通过路由协议发送给网络路由器w和计算容器Y;而该网络路由器w也可以将该计算能力X的计算能力通过路由协议发送给该网络路由器u和该网络路由器v。同理,该计算容器Y的计算能力也可以通过路由协议扩散至该路由域中的各个网络路由器和计算容器。然后该网络路由器u可以根据该计算容器X的计算能力和/或该路由域的网络能力计算该网络路由器u到该计算容器X的路由;该网络路由器u可以利用该计算容器Y的计算能力和/或该路由域的网络能力云计算该网络路由器u到该计算容器Y的路由;该网络路由器u可以根据网络路由器v链路状态信息和该路由域的网络能力计算到该网络路由 器v的路由等等。
[0117]
具体来说,该网络路由器202或计算容器201根据该计算能力和网络能力计算路由的具体过程如下:
[0118]
一种可能实现方式中,该网络路由器202或计算容器201根据该计算能力参数得到计算度量值,并根据该网络参数得到该网络度量值;该网络路由器202或该计算容器201再根据该计算度量值和该网络度量值计算路由。而在利用计算度量值和网络度量值计算路由时,可以根据具体的业务或功能来综合计算。比如对于需要计算能力的业务,各节点中运行的路由算法以计算度量值为主,网络度量值为辅来计算最佳的路由;对于传统传输类的业务,由于不需要边缘计算能力,各节点中运行的路由算法以网络度量值为主来计算最佳的路由。
[0119]
另一种可能实现方式中,该网络路由器202或该计算容器201根据该计算能力参数和该网络参数计算得到复合度量值;该网络路由器202和该计算容器201再根据该复合度量值计算路由。
[0120]
另一种可能实现方式中,该网络路由器202或该计算容器201根据该计算能力参数计算得到计算度量值;然后该网络路由器202或该计算容器201根据该计算度量值计算路由。
[0121]
可选的,该网络路由器202或该计算容器201根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0122]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0123]
其中,该α 1和该γ 1为加权值。
[0124]
可选的,该网络路由器202或该计算容器201根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0125]
该第二公式为:
[0126]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0127]
可选的,该网络路由器202或该计算容器201根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;
[0128]
该第三公式为:
[0129]
[0130]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0131]
可以理解的是,以上第一公式、第二公式和第三公式中的各加权值可以根据业务特性进行合理的设置,比如对时延敏感的业务,可以适当增大时延相关的系数;对带宽要求高的业务,可以适当增大吞吐量或网络带宽相关的系数。
[0132]
该计算容器201的计算能力与业务或功能标识一一对应,而在该业务或功能在该计算容器中尚未实例化时,该计算容器201的计算能力与基准业务或功能标识一一对应。即该 计算容器201可以将自身的计算能力与基准业务或功能标识作为虚拟链路状态在该路由域中扩散,以使得路由域中的各网络路由器202或计算容器201可以计算确定合适该服务或功能的计算资源或存储资源。而当该路由域在确定该业务或功能实例化之后,用该服务或功能标识替换该基准业务或功能标识,并将该业务或功能标识与实例化所在计算容器的计算能力参数扩散至该路由域中。可以理解的是,该业务或功能标识可以是一个与位置无关的名称或标识;或者该业务或功能标识为信息对象的映射;或该业务或功能标识为处理信息对象的功能;或该业务或功能标识为特定服务;或者该业务或功能标识为网络地址,具体情况此处不做限定。
[0133]
本申请实施例中,该网络路由器计算的路由为该网络路由器到该路由域中各个路由节点的路由,而该计算容器或应用软件或操作系统计算的路由为该服务或功能消费者到各个计算容器的路由。
[0134]
本申请实施例中,该计算容器201将自身的计算能力与业务或功能标识扩散到路由域中,以使得在计算路由生成路由表时考虑到计算能力,从而实现计算和网络资源利用率最优。同时,该计算容器实现计算、存储和网络资源的自动分配,从而适应用户业务快速变化或业务移动。本申请实施例中,该网络路由器根据该计算容器的计算能力和网络参数进行路由计算,从而实现计算和网络资源利用率最优。
[0135]
具体请参阅图5所示,本申请实施例提供一种计算容器201,包括:获取单元2011,用于获取计算能力或计算能力和业务或功能标识;运行单元2012,用于运行路由协议,所述路由协议用于携带所述获取单元2011获取到的所述计算能力或所述计算能力和业务或功能标识;发送单元2013,用于利用所述运行单元2012运行的路由协议向该网络路由器发送该计算能力或所述计算能力和业务或功能标识。可以理解的是,该计算能力包括计算度量值或该计算能力参数,其中,该计算能力参数包括吞吐量、计算时延和服务器负载中的至少一项。
[0136]
可选的,该计算容器201将计算能力或计算能力和业务或功能标识以虚拟链路状态发送给网络路由器202。
[0137]
可选的,所述计算容器201还包括计算单元2014,用于根据所述计算能力计算路由,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项。
[0138]
可选的,该计算容器201的获取单元2011,还用于获取所述计算容器201所处路由域的网络能力,所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;
[0139]
所述计算单元2014,还用于根据所述计算能力和所述网络能力计算路由。
[0140]
可选的,该计算单元2014,具体用于根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0141]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0142]
其中,该α 1和该γ 1为加权值。
[0143]
可选的,该计算单元2014,具体用于根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0144]
该第二公式为:
[0145]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0146]
可选的,该计算单元2014,具体用于根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;根据该复合度量值计算路由生成该路由表;
[0147]
该第三公式为:
[0148]
[0149]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0150]
该计算容器201还包括存储单元2015,该存储单元2015,用于存储计算能力或计算能力和运行在该计算容器201的业务或功能标识和网路能力。
[0151]
可选的,该计算容器201还包括应用软件或操作系统,其中,该应用软件或操作系统可以用于根据所述计算能力计算路由;或,根据所述计算能力和网络能力计算路由。
[0152]
下面以一个具体功能框图对该计算容器201进行说明,具体请参阅图6所示,该计算容器201获取自身的链路状态信息,其中,该链路状态信息用于指示该计算容器201的计算能力,其中,该计算能力可以为计算度量值或计算能力参数,而该计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项信息。在该计算能力为计算能力参数时,该计算容器201还可以根据计算能力参数利用第二公式计算得到计算度量值并保存到该计算容器201的存储单元(也可以称为链路状态数据库)。可以理解的是,该计算容器201在该计算度量值或者该计算能力参数有实质性改变时触发链路状态更新,从而更新该链路状态数据库。比如,在该计算度量值低于第一阈值或该计算度量值高于第二阈值或者该计算能力参数中某一参数高于或低于预设阈值时,更新该计算容器201的链路状态数据库或者将该计算能力参数或计算度量值重新发送给相邻网络路由器202。同时,该计算容器201还可以接收该相邻网络路由器202发送的链路状态请求(link state request,LSR)或链路状态更新(link state update,LSU)报文,其中,该链路状态请求中也可以携带该网路路由器的链路状态通告或者该路由域的网络参数,而该LSU报文中携带了该相邻网络路由器待更新的直连接口状态;然后该计算容器201保存该网络路由器的链路状态通告和该路由域的网络参数。可以理解的是,该计算容器201与该网络路由器202之间首先会建立一个协议的邻居关系;然后该计算容器201与该网络路由器202彼此之间开始交互链路状态通告(link state advertisement,LSA),其中该链路状态通告可以理解为每个路由节点都产生一个描述自身直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告;对于本申请实施例中的计算容器而言,产生的一个描述自己的计算能力状态(包括服务或功能标识、该计算容器的计算能力,还可以包括与邻居网络路由器之间的关系等)的通告。然后该计算容器201将会维护自身的链路状态数据库,即该计算容器201接收至链 路状态通告之后,更新链路状态数据库中相应的链路状态通告条目。简而言之,该计算容器201将搜集到的路由域中的链路状态通告放入自身的链路状态数据库,其目的是通过拥有链路状态数据库,计算容器201也就清楚明了全路由域的计算或存储资源的拓扑。该计算容器201还可以在触发了链路状态更新之后,生成相应的链路状态通告,并将该链路状态通告以链路状态更新报文发送给相邻的网络路由器。该计算容器201还可以根据链路状态数据库中的链路状态通告中的计算能力计算路由。如链路状态通告中已存在计算度量值和/或网络度量值,则直接根据计算度量值和网络能力进行路由计算,得到业务/功能消费者到各个计算容器的路由;如该链路状态通告中携带的是计算能力参数和/或网络参数,则该计算容器201先根据该计算能力参数得到计算度量值,根据该网络参数得到网络度量值;再根据该计算度量值和网络度量值计算路由。本申请实施例中,路由计算算法可以是最短路径优先(shortest path first,SPF)算法或其它算法,具体此处不做限定。其中,SPF是IGP类型路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策;经过SPF算法的计算后,每个计算容器都将计算出一棵以某个业务/功能消费者为根的、覆盖全网、拥有最短路径的一棵无环的“树”。有了这棵“树”,事实上计算容器就已经知道了某个业务/功能消费者到达各个计算容器的最优路径。然后计算容器根据路由确定特定计算容器。若该计算容器在特定计算容器非自身时,则该计算容器生成业务或功能重新实例化的位置,并输出;该位置可以是该特定计算容器的标识或网络地址等。可以理解的是,该计算容器输出该位置信息时,该接收方可以是应用层软件或操作系统,从而实现业务或功能的实例化或迁移。
[0153]
本实施例中,该计算容器201中的应用层软件或操作系统可以当做是一种特殊的路由器,其功能框图可以如图7所示,该应用软件或操作系统接收相邻网络路由器或者计算容器的链路状态请求(link state request,LSR)或链路状态更新(link state update,LSU)报文。其中,该链路状态请求中也可以携带该网路路由器的链路状态通告或者该路由域的网络参数,而该LSU报文中携带了该相邻网络路由器待更新的直连接口状态;然后该应用软件或操作系统保存该网络路由器的链路状态通告和该路由域的网络参数。该计算能力可以为计算度量值或计算能力参数,而该计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项信息;该网络能力可以为网络度量值或网络参数,该网络参数包括网络带宽和网络时延中的至少一项信息。在该计算能力为计算能力参数时,该应用软件或操作系统还可以根据计算能力参数利用第二公式计算得到计算度量值并保存到该应用软件或操作系统的存储单元(也可以称为链路状态数据库);在该网络能力为网络参数时,该应用软件或操作系统还可以根据网络参数利用第二公式计算得到网络度量值并保存到该应用软件或操作系统的存储单元(也可以称为链路状态数据库)。可以理解的是,该应用软件或操作系统在该计算度量值或者该计算能力参数、网络度量值或网络参数有实质性改变时触发链路状态更新,从而更新该链路状态数据库。比如,在该计算度量值低于第一阈值或该计算度量值高于第二阈值或者该计算能力参数中某一参数高于或低于预设阈值时,更新该应用软件或操作系统的链路状态数据库或者将该计算能力参数或计算度量值重新发送给相邻网络路由器或计算容器。可以理解的是,该应用软件或操作系统与该网络路由器202之 间首先会建立一个协议的邻居关系;然后该应用软件或操作系统与该网络路由器202彼此之间开始交互链路状态通告(link state advertisement,LSA),其中该链路状态通告可以理解为每个路由节点都产生一个描述自身直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告;对于本申请实施例中的计算容器而言,产生的一个描述自己的计算能力状态(包括服务或功能标识、该计算容器的计算能力,还可以包括与邻居网络路由器之间的关系等)的通告。该应用软件或操作系统将会维护自身的链路状态数据库,即该应用软件或操作系统接收至链路状态通告之后,更新链路状态数据库中相应的链路状态通告条目。简而言之,该应用软件或操作系统将搜集到的路由域中的链路状态通告放入自身的链路状态数据库,其目的是通过拥有链路状态数据库,应用软件或操作系统也就清楚明了全路由域的计算或存储资源的拓扑。该应用软件或操作系统还可以在触发了链路状态更新之后,生成相应的链路状态通告,并将该链路状态通告以链路状态更新报文发送给相邻的网络路由器。该应用软件或操作系统还可以根据链路状态数据库中的链路状态通告中的计算能力计算路由。如链路状态通告中已存在计算度量值和/或网络度量值,则直接根据计算度量值和网络能力进行路由计算,得到业务/功能消费者到各个计算容器的路由;如该链路状态通告中携带的是计算能力参数和/或网络参数,则该应用软件或操作系统先根据该计算能力参数得到计算度量值,根据该网络参数得到网络度量值;再根据该计算度量值和网络度量值计算路由。本申请实施例中,路由计算算法可以是最短路径优先(shortest path first,SPF)算法或其它算法,具体此处不做限定。其中,SPF是IGP类型路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策;经过SPF算法的计算后,每个计算容器都将计算出一棵以某个业务/功能消费者为根的、覆盖全网、拥有最短路径的一棵无环的“树”。有了这棵“树”,事实上计算容器就已经知道了某个业务/功能消费者到达各个计算容器的最优路径。然后计算容器根据路由确定特定计算容器。若该计算容器在特定计算容器非自身时,则该计算容器生成业务或功能重新实例化的位置,并输出;该位置可以是该特定计算容器的标识或网络地址等。可以理解的是,该计算容器输出该位置信息时,该接收方可以是应用层软件或操作系统,从而实现业务或功能的实例化或迁移。
[0154]
图8示出了上述实施例中一种计算容器201可能的结构示意图,该计算容器201可以包括:处理器802、计算机可读存储介质/存储器803、收发器804、输入设备805和输出设备806,以及总线801。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具体连接介质。
[0155]
该收发器804向网络路由器202发送计算能力。
[0156]
一个示例中,处理器802可以包括基带电路,例如,可以计算路由生成路由表。收发器804可以包括射频电路,以对计算能力生成的链路状态信息进行调制放大等处理后发送给网络路由器。
[0157]
又一个示例中,处理器802可以运行操作系统,控制各个设备和器件之间的功能。收发器804可以包括基带电路和射频电路。
[0158]
可以理解的是,图8仅仅示出了计算容器的简化设计,在实际应用中,计算容器可以 包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的计算容器都在本申请的保护范围之内。
[0159]
上述计算容器201中涉及的处理器802可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(network processor,NP)、微处理器等,也可以是特定应用集成电路(application-specific integrated circBIt,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
[0160]
上述涉及的总线801可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0161]
上述涉及的计算机可读存储介质/存储器803还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器803可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
[0162]
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行计算容器在路由计算方法中的部分或全部步骤。
[0163]
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
[0164]
可以理解的是,该计算容器可以在生成了路由表之后,并不需要维护路由表,也不做路由转发。
[0165]
本申请实施例中,该计算容器将自身的计算能力与服务或功能标识扩散到路由域中, 以使得在计算路由生成路由表时考虑到计算能力,从而实现计算和网络资源利用率最优。同时,该计算容器实现计算、存储和网络资源的自动分配,从而适应用户业务快速变化或业务移动。
[0166]
具体请参阅图9所示,本申请实施例提供一种网路路由器202,包括:获取单元2021,用于获取计算容器的计算能力,并获取所处路由域的网络能力;
[0167]
计算单元2022,用于根据所述计算能力计算路由,或根据所述计算能力和所述网络能力计算路由。
[0168]
可选的,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项;
[0169]
所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[0170]
可选的,该计算单元2022,具体用于根据所述计算能力参数得到计算度量值;根据所述计算度量值计算路由。
[0171]
可选的,该计算单元2022,具体用于根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[0172]
可选的,该计算单元2022,具体用于根据该网络参数利用第一公式或非线性加权算法计算得到该网络度量值;
[0173]
该第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延;
[0174]
其中,该α 1和该γ 1为加权值。
[0175]
可选的,该计算单元2022,具体用于根据该计算能力参数利用第二公式或非线性加权算法计算得到该计算度量值;
[0176]
该第二公式为:
[0177]
其中,该α 2、该β 1、该β 2和该γ 2为加权值。
[0178]
可选的,该计算单元2022,具体用于根据该计算能力参数和该网络参数利用第三公式计算得到复合度量值;根据该复合度量值计算路由生成该路由表;
[0179]
该第三公式为:
[0180]
[0181]
其中,该α 1、该γ 1、该α 2、该β 1、该β 2和该γ 2为加权值。
[0182]
可选的,该网络路由器202还包括存储单元,用于存储该计算容器201的计算能力或该计算容器201的计算能力和运行在该计算容器201的业务或功能标识和该路由域的网络能力。
[0183]
可选的,该网络路由器202还包括生成单元2023,该生成单元2023,用于根据该业务或功能标识和该路由生成路由表,并保存在该存储单元中。
[0184]
下面以一个具体功能框图对该网络路由器202进行说明,具体请参阅图10所示,该网 络路由器202获取自身的各个接口的链路状态,其中,该链路状态信息用于指示该路由域的网络能力,其中,该网络能力包括网络度量值或网络参数;该网络参数包括网络带宽和网络时延中的至少一项信息。在该网络能力为网络参数时,该网络路由器202还可以根据网络参数利用第一公式计算得到网络度量值并保存到该网络路由器202的存储单元(也可以称为链路状态数据库)。可以理解的是,该网络路由器202在该网络度量值或者该网络参数有实质性改变时触发链路状态更新,从而更新该链路状态数据库。比如,在该网络度量值低于第一预设阈值或该网络度量值高于第二预设阈值或者该网络参数中某一参数高于第三预设阈值或低于第四预设阈值时,更新该网络路由器202的链路状态数据库或者将该网络度量值或者该网络参数重新发送给相邻网络路由器202或计算容器201。同时,该网络路由器202还可以接收该相邻网络路由器202或计算容器201发送的链路状态请求(link state request,LSR)或链路状态更新(link state update,LSU)报文,其中,该链路状态请求中也可以携带相邻网路路由器的链路状态通告或者该路由域的网络参数或计算容器201的链路状态通告,而该LSU报文中携带了该相邻网络路由器待更新的直连接口状态;然后该网络路由器202保存该计算容器201或相邻网络路由器的链路状态通告和该路由域的网络参数。可以理解的是,该计算容器201与该网络路由器202之间首先会建立一个协议的邻居关系;然后该计算容器201与该网络路由器202彼此之间开始交互链路状态通告(link state advertisement,LSA),其中该链路状态通告可以理解为每个路由节点都产生一个描述自身直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告;对于本申请实施例中的计算容器而言,产生的一个描述自己的计算能力状态(包括服务或功能标识、该计算容器的计算能力,还可以包括与邻居网络路由器之间的关系等)的通告。然后该网络路由器202将会维护自身的链路状态数据库,即该网络路由器202接收到链路状态通告之后,更新链路状态数据库中相应的链路状态通告条目。简而言之,该网络路由器202将搜集到的路由域中的链路状态通告放入自身的链路状态数据库,其目的是通过拥有链路状态数据库,网络路由器202也就清楚明了全路由域的计算或存储资源的拓扑。该网络路由器202还可以在触发了链路状态更新之后,生成相应的链路状态通告,并将该链路状态通告以链路状态更新报文发送给相邻的网络路由器或计算容器。该网络路由器202根据链路状态数据库中的链路状态通告中的计算能力计算路由。如链路状态通告中已存在计算度量值和/或网络度量值,则直接根据计算度量值和网络能力进行路由计算,得到业务/功能消费者到各个计算容器的路由;如该链路状态通告中携带的是计算能力参数和/或网络参数,则该网络路由器202先根据该计算能力参数得到计算度量值,根据该网络参数得到网络度量值;再根据该计算度量值和网络度量值计算路由。本申请实施例中,路由计算算法可以是最短路径优先(shortest path first,SPF)算法或其它算法,具体此处不做限定。其中,SPF是IGP类型路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策;经过SPF算法的计算后,每个计算容器都将计算出一棵以某个业务/功能消费者为根的、覆盖全网、拥有最短路径的一棵无环的“树”。
[0185]
图11示出了上述实施例中一种网络路由器202可能的结构示意图,该网络路由器202可以包括:处理器1102、计算机可读存储介质/存储器1103、收发器1104、输入设备 11011和输出设备1106,以及总线1101。其中,处理器,收发器,计算机可读存储介质等通过总线连接。本申请实施例不限定上述部件之间的具体连接介质。
[0186]
该收发器1104向计算容器201发送链路状态请求。
[0187]
一个示例中,处理器1102可以包括基带电路,例如,可以计算路由生成路由表。收发器1104可以包括射频电路,以对链路状态请求进行调制放大等处理后发送给计算容器。
[0188]
又一个示例中,处理器1102可以运行操作系统,控制各个设备和器件之间的功能。收发器1104可以包括基带电路和射频电路。
[0189]
可以理解的是,图11仅仅示出了网络路由器的简化设计,在实际应用中,网络路由器可以包含任意数量的收发器,处理器,存储器等,而所有的可以实现本申请的网络路由器都在本申请的保护范围之内。
[0190]
上述网络路由器202中涉及的处理器1102可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(network processor,NP)、微处理器等,也可以是特定应用集成电路(application-specific integrated circBIt,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
[0191]
上述涉及的总线1101可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0192]
上述涉及的计算机可读存储介质/存储器1103还可以保存有操作系统和其他应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器等等。存储器1103可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
[0193]
可以替换的,本申请实施例还提供一种通用处理系统,例如通称为芯片,该通用处理系统包括:提供处理器功能的一个或多个微处理器;以及提供存储介质的至少一部分的外部存储器,所有这些都通过外部总线体系结构与其它支持电路连接在一起。当存储器存储的指令被处理器执行时,使得处理器执行网络路由器在路由计算方法中的部分或全部步骤。
[0194]
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是 由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于用户设备中。
[0195]
本申请实施例中,该网络路由器根据该计算容器的计算能力和网络参数进行路由计算,从而实现计算和网络资源利用率最优。
[0196]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0197]
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0198]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0199]
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0200]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0201]
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

权利要求书

[权利要求 1]
一种路由域,其特征在于,包括: 计算容器和网络路由器; 所述网络路由器为支持路由计算的路由节点; 所述计算容器与所述网络路由器由虚拟链路相连; 所述计算容器,用于运行路由协议,所述路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;利用所述路由协议向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识; 所述网络路由器,用于获取所述计算能力,并获取所述路由域的网络能力;根据所述计算能力计算路由;或根据所述计算能力和所述网络能力计算路由。
[权利要求 2]
根据权利要求1所述的路由域,其特征在于,所述计算容器向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识包括: 所述计算容器向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算能力和业务或功能标识。
[权利要求 3]
根据权利要求1所述的路由域,其特征在于,所述计算容器,还用于根据所述计算能力计算路由; 或, 所述计算容器,还用于获取所述网络能力;根据所述计算能力和所述网络能力计算路由, 其中,所述计算容器计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[权利要求 4]
根据权利要求1至3中任一项所述的路由域,其特征在于,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项; 所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[权利要求 5]
根据权利要求4所述的路由域,其特征在于,所述根据所述计算能力计算路由包括:根据所述计算能力参数得到计算度量值;根据所述计算度量值计算路由。
[权利要求 6]
根据权利要求4所述的路由域,其特征在于,所述根据所述计算能力和所述网络能力计算路由包括: 根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[权利要求 7]
根据权利要求6所述的路由域,其特征在于,所述根据所述网络参数得到网络度量值包括:根据所述网络参数利用第一公式或非线性加权算法计算得到所述网络度量值; 所述第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延; 其中,所述α 1和所述γ 1为加权值。
[权利要求 8]
根据权利要求5或6所述的路由域,其特征在于,所述根据所述计算能力参数得到计算度量值包括:根据所述计算能力参数利用第二公式或非线性加权算法计算得到所述计 算度量值; 所述第二公式为: 其中,所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 9]
根据权利要求4所述的路由域,其特征在于,所述根据所述计算能力和所述网络能力计算路由包括:根据所述计算能力参数和所述网络参数利用第三公式计算得到复合度量值; 根据所述复合度量值计算路由生成所述路由表; 所述第三公式为: 其中,所述α 1、所述γ 1、所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 10]
根据权利要求1至9中任一项所述的路由域,其特征在于,所述网络路由器,还用于将所述计算能力或所述计算能力和业务或功能标识扩散到所述路由域中的各个网络路由器; 和/或, 所述网络路由器将所述计算能力或所述计算能力和业务或功能标识扩散到其他路由域。
[权利要求 11]
根据权利要求1至10中任一项所述的路由域,其特征在于,所述网络路由器,根据所述业务或功能标识和所述路由,生成路由表。
[权利要求 12]
一种计算容器,其特征在于,包括: 获取单元,用于获取计算能力或所述计算能力和业务或功能标识; 运行单元,用于运行路由协议,所述路由协议用于携带所述获取单元获取的所述计算能力或所述计算能力和业务或功能标识; 发送单元,用于利用所述运行单元运行的所述路由协议向网络路由器发送所述计算能力或所述计算能力和服务或功能标识。
[权利要求 13]
根据权利要求12所述的计算容器,其特征在于,所述发送单元,具体用于向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算容器的计算能力或所述计算能力和业务或功能标识。
[权利要求 14]
根据权利要求12或13所述的计算容器,其特征在于,所述计算容器还包括计算单元,用于根据所述计算能力计算路由,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项,其中,所述计算容器计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[权利要求 15]
根据权利要求12或13所述的计算容器,其特征在于,所述获取单元,还用于获取所述计算容器所处路由域的网络能力,所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项; 所述计算单元,还用于根据所述计算能力和所述网络能力计算路由。
[权利要求 16]
根据权利要求15所述的计算容器,其特征在于,所述计算单元,具体用于根据所 述网络参数利用第一公式或非线性加权算法计算得到所述网络度量值; 所述第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延; 其中,所述α 1和所述γ 1为加权值。
[权利要求 17]
根据权利要求14或15所述的计算容器,其特征在于,所述计算单元,具体用于根据所述计算能力参数利用第二公式或非线性加权算法计算得到所述计算度量值; 所述第二公式为: 其中,所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 18]
根据权利要求15所述的计算容器,其特征在于,所述计算容器,具体用于根据所述计算能力参数和所述网络参数利用第三公式计算得到复合度量值; 根据所述复合度量值计算路由; 所述第三公式为: 其中,所述α 1、所述γ 1、所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 19]
根据权利要求12至18中任一项所述的计算容器,其特征在于,所述计算容器还包括应用软件或操作系统。
[权利要求 20]
根据权利要求19所述的计算容器,其特征在于,所述应用软件或操作系统,用于根据所述计算能力计算路由; 或, 所述应用软件或操作系统,用于根据所述计算能力和网络能力计算路由,其中,所述应用软件或操作系统计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[权利要求 21]
根据权利要求12至18中任一项所述的计算容器,其特征在于,所述计算容器还包括存储单元,用于存储所述计算能力或所述计算能力和业务或功能标识和所述网络能力。
[权利要求 22]
一种网络路由器,其特征在于,包括: 获取单元,用于获取计算容器的计算能力或所述计算能力和业务或功能标识,并获取所处路由域的网络能力; 计算单元,用于根据所述获取单元获取的所述计算能力计算路由,或根据所述获取单元获取的所述计算能力和所述网络能力计算路由。
[权利要求 23]
根据权利要求22所述的网络路由器,其特征在于,所述获取单元,具体用于接收所述计算容器发送的虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算能力和业务或功能标识。
[权利要求 24]
根据权利要求22或23所述的网络路由器,其特征在于,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项; 所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[权利要求 25]
根据权利要求24所述的网络路由器,其特征在于,所述计算单元,具体用于根据 所述计算能力参数得到计算度量值;根据所述计算度量值计算路由。
[权利要求 26]
根据权利要求24所述的网络路由器,其特征在于,所述计算单元,具体用于根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[权利要求 27]
根据权利要求26所述的网络路由器,其特征在于,所述计算单元,具体用于根据所述网络参数利用第一公式或非线性加权算法计算得到所述网络度量值; 所述第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延; 其中,所述α 1和所述γ 1为加权值。
[权利要求 28]
根据权利要求25或26所述的网络路由器,其特征在于,所述计算单元,具体用于根据所述计算能力参数利用第二公式或非线性加权算法计算得到所述计算度量值; 所述第二公式为: 其中,所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 29]
根据权利要求24所述的网络路由器,其特征在于,所述计算单元,具体用于根据所述计算能力参数和所述网络参数利用第三公式计算得到复合度量值; 根据所述复合度量值计算路由生成所述路由表; 所述第三公式为: 其中,所述α 1、所述γ 1、所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 30]
根据权利要求22至29中任一项所述的网络路由器,其特征在于,所述网络路由器还包括发送单元,用于将所述计算能力或所述计算能力和业务或功能标识扩散到所述路由域中的各个网络路由器;和/或, 用于将所述计算能力或所述计算能力和业务或功能标识扩散到其他路由域。
[权利要求 31]
根据权利要求22至30中任一项所述的网络路由器,其特征在于,所述网络路由器还包括生成单元,用于根据所述业务或功能标识和所述路由,生成路由表。
[权利要求 32]
一种路由计算方法,应用于包括计算容器和网络路由器的路由域,所述网络路由器为支持路由计算的路由节点,其特征在于,包括: 所述计算容器运行路由协议,所述路由协议用于携带所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识;利用所述路由协议向所述网络路由器发送所述计算容器的计算能力或所述计算容器的计算能力和业务或功能标识; 所述网络路由器获取所述计算能力,并获取所述路由域的网络能力; 所述网络路由器根据所述计算能力计算路由;或根据所述计算能力和所述网络能力计算路由。
[权利要求 33]
根据权利要求32所述的方法,其特征在于,所述向所述网络路由器发送所述计算容器的计算能力或所述计算能力和业务或功能标识包括: 所述计算容器向所述网络路由器发送虚拟链路状态,所述虚拟链路状态用于指示所述计算能力或所述计算能力和业务或功能标识。
[权利要求 34]
根据权利要求32所述的方法,其特征在于,所述方法还包括: 所述计算容器根据所述计算能力计算路由; 或, 所述计算容器获取所述网络能力;所述计算容器根据所述计算能力和所述网络能力计算路由, 其中,所述计算容器计算的路由为业务或功能用户到所述路由域中各计算容器的路由。
[权利要求 35]
根据权利要求32至34中任一项所述的方法,其特征在于,所述计算能力包括计算能力参数或计算度量值,所述计算能力参数包括吞吐量、服务器负载和计算时延中的至少一项; 所述网络能力包括网络度量值或网络参数,所述网络参数包括网络带宽和网络时延中的至少一项。
[权利要求 36]
根据权利要求35所述的方法,其特征在于,所述根据所述计算能力和所述网络能力计算路由包括: 根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[权利要求 37]
根据权利要求35所述的方法,其特征在于,所述根据所述计算能力和所述网络能力计算路由包括: 根据所述计算能力参数得到计算度量值,并根据所述网络参数得到网络度量值;根据所述计算度量值和所述网络度量值计算路由。
[权利要求 38]
根据权利要求37所述的方法,其特征在于,所述根据所述网络参数得到网络度量值包括: 根据所述网络参数利用第一公式或非线性加权算法计算得到所述网络度量值; 所述第一公式为:网络度量值=α 1×网络带宽+γ 1∑网络时延; 其中,所述α 1和所述γ 1为加权值。
[权利要求 39]
根据权利要求36或37所述的方法,其特征在于,所述根据所述计算能力参数得到计算度量值包括: 根据所述计算能力参数利用第二公式或非线性加权算法计算得到所述计算度量值; 所述第二公式为: 其中,所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 40]
根据权利要求35所述的方法,其特征在于,所述根据所述计算能力和所述网络能力计算路由包括: 根据所述计算能力参数和所述网络参数利用第三公式计算得到复合度量值; 根据所述复合度量值计算路由生成所述路由表; 所述第三公式为: 其中,所述α 1、所述γ 1、所述α 2、所述β 1、所述β 2和所述γ 2为加权值。
[权利要求 41]
根据权利要求32至40中任一项所述的方法,其特征在于,所述网络路由器,还用于根据所述业务或功能标识和所述路由,生成路由表。
[权利要求 42]
一种计算机可读存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令用于执行上述权利要求32至权利要求41所述的方法。
[权利要求 43]
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述权利要求32至权利要求41所述的方法。
[权利要求 44]
一种计算容器,其特征在于,包括:处理器和存储器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,以用于完成权利要求32至41任一项所述的方法。
[权利要求 45]
一种网络路由器,其特征在于,包括:处理器和存储器,其中,所述存储器中存有计算机可读程序,所述处理器通过运行所述存储器中的程序,以用于完成权利要求32至41任一项所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10]  
[ 图 11]