用于控制软件定义网络的方法和控制器系统的制作方法

文档序号:7795727阅读:182来源:国知局
用于控制软件定义网络的方法和控制器系统的制作方法
【专利摘要】用于控制软件定义网络“SDN”的方法包括接收(301)在软件定义网络外部的一个或多个外部源所提供的信息;响应于所接收的信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况(302),基于所接收的信息来生成(303)用于改变软件定义网络的一个或多个网络元件的配置的配置数据;以及向网络元件发送(304)配置数据,以使软件定义网络适应一个或多个运行条件的改变。因此,软件定义联网所提供的配置能力用于关于不必由在软件定义网络内部所采集的信息而是由在软件定义网络外部的外部源提供的信息所指示的改变,动态地优化软件定义网络。
【专利说明】用于控制软件定义网络的方法和控制器系统
【技术领域】
[0001]本发明总体上涉及软件定义联网。更具体地,本发明涉及用于控制软件定义网络“SDN”的方法、控制器系统和计算机程序。
【背景技术】
[0002]软件定义网络是用于数据传输网络的新兴架构。在软件定义网络“SDN”中,控制面与数据面分离,使得控制面在能够与网络元件分离的一个或多个控制器中实现,并且数据面在网络元件中实现。网络元件可以是例如网际协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机。每一个网络元件可以由单个装置或多个装置的组合组成。典型地,软件定义网络允许交换和/或路由策略以及对以前封闭且私有的网络元件的内部的外部访问的快速试验和优化。
[0003]基于网际协议“IP”的网络最初基于自治系统“AS”的概念来构建。这个概念允许网络通过基于部分须知信息来将分组转发到合理的下一跳的连接结点来扩展和延伸。AS原理与传统邮局服务工作原理很相似,在传统邮局服务中,在给定城市的邮政工作者不需要知道在另一个城市的所有街道的所有租户,以便为在手边的信件选择合理的下一跳。这种联网的方法很简单,并且已证实是有弹性且可扩展的。然而,这种方法有几个缺点。就分组递送服务来说,其不允许指明的目的地或带有家用邮箱的租户在不改变其身份的情况下迁移。目的地的拓扑位置,其是它们被附着到的网络接口,指示它们的与分组递送服务有关的身份。另外,仅使用基本AS原理,很难指定其他质量,诸如逻辑分组、访问控制、服务质量、中间网络处理,或指定与形成流的分组序列有关的方面。
[0004]使用邮政服务类推,软件定义网络为任何给定街道位置工作,使来自所有租户的所有信件首先通过软件定义网络的边缘上的网络元件聚集。该网络元件被配置成使用全局查找机制为信件目的地中的每一个检查当前位置。基于该全局查找以及其他全局定义和全局测量的考虑,诸如访问控制或远程位置负载状况,所述网络元件将原始信件中的一个或多个放置在寄送到目的地当前所在的街道位置中的每一个的另外信封中。其然后使用与传统网际协议“IP”工作原理相似的普通邮政服务来让这些外部信封到达远程位置。这基于现有且可扩展的逐跳转发服务来完成。然后远程网络元件打开外部信件,并且原始信封被递送到目的地。应注意的是,上面提供的在软件定义网络和邮政服务之间的类推是很强简化并且其仅给出了关于软件定义网络所提供的各种可能性的有限观点。
[0005]然而,软件定义网络并没有摆脱掉挑战。部分挑战涉及控制软件定义网络使其不断地能够提供足够高质量的期望服务的需求。因此,仍然存在对用于配置软件定义网络的技术解决方案的需求。

【发明内容】

[0006]下面给出了简化的
【发明内容】
,以提供对各种发明实施例的一些方面的基本了解。本
【发明内容】
不是本发明的详尽概述。其既不意在识别本发明的关键性或决定性要素,也不勾画本发明的范围。下面的
【发明内容】
仅以简化形式给出了本发明的一些概念,作为本发明的示例性实施例的更详细描述的前序。
[0007]根据本发明,提供了用于控制软件定义网络的新方法。根据本发明的方法包括:
[0008]-接收在软件定义网络外部的一个或多个外部源所提供的信息,
[0009]-响应于所接收的信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于所接收的信息来生成用于改变软件定义网络的一个或多个网络元件的配置的配置数据,以及
[0010]-向软件定义网络的一个或多个网络元件发送配置数据,以使软件定义网络适应软件定义网络的一个或多个运行条件的已发生或即将到来的改变。
[0011]在上述方法中,软件定义网络所提供的配置能力用于关于不必由在软件定义网络内部可采集的信息而是由在软件定义网络外部的外部源提供的信息所指示的改变,动态地优化软件定义网络。根据本发明的示例性且非限制性实施例的方法进一步包括接收在软件定义网络内部采集的信息,并且还关于由在软件定义网络内部采集的信息所指示的改变,动态地优化软件定义网络。
[0012]根据本发明,还提供了用于配置软件定义网络的新的控制器系统。该控制器系统可以是单个装置或能够相互通信的多个装置的组合。根据本发明的控制器系统包括处理系统和用于接收在软件定义网络外部的一个或多个外部源所提供的信息的数据传输接口,其中该处理系统适于:
[0013]-响应于所接收的信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于所接收的信息来生成用于改变软件定义网络的一个或多个网络元件的配置的配置数据,以及
[0014]-控制数据传输接口向软件定义网络的一个或多个网络元件发送配置数据,以使软件定义网络适应软件定义网络的一个或多个运行条件的已发生或即将到来的改变。
[0015]根据本发明,还提供了新的软件定义网络,其包括一个或多个网络元件和根据本发明的用于控制一个或多个网络元件的控制器系统。应注意的是,控制器系统或其一个或多个部分还可以充当为可以是例如网际协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机的一个或多个网络元件。
[0016]根据本发明,还提供了用于控制软件定义网络的新的计算机程序。根据本发明的计算机程序包括计算机可执行指令,所述计算机可执行指令用于控制可编程处理系统:
[0017]-响应于在软件定义网络外部的一个或多个外部源所提供的信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于所述信息来生成用于改变软件定义网络的一个或多个网络元件的配置的配置数据,以及
[0018]-控制数据传输接口向软件定义网络的一个或多个网络元件发送第一配置数据,以使软件定义网络适应软件定义网络的一个或多个运行条件的已发生或即将到来的改变。
[0019]根据本发明,还提供了新的计算机程序产品。该计算机程序产品包括编码有根据本发明的计算机程序的非易失性计算机可读介质,例如光盘“CD”。
[0020]在所附的从属权利要求中描述了本发明的多个示例性且非限制性实施例。
[0021]当结合附图阅读时,根据特定示例性实施例的下面描述,将最好地理解关于构建和操作方法的本发明的各种示例性且非限制性实施例,连同其另外目的和优点。[0022]动词“包括”和“包含”在本文档中被用作为既不排除也不需要同样未记载的特征的存在的开放式限制。除非另外明确说明,在从属权利要求中记载的特征可相互自由组合。
【专利附图】

【附图说明】
[0023]在下面参考附图更详细地说明了本发明的示例性且非限制性实施例及其优点,在附图中:
[0024]图1示出根据本发明的示例性实施例的软件定义网络的示意图,
[0025]图2示出根据本发明的示例性实施例的用于控制软件定义网络的控制器系统的示意图,以及
[0026]图3示出根据本发明的示例性实施例的用于配置软件定义网络的网络元件的方法的流程图。
【具体实施方式】
[0027]图1示出根据本发明的示例性实施例的软件定义网络“SDN” 100的示意图。软件定义网络包括网络元件101、102、103和104以及控制器系统105。该示例性软件定义网络的网络元件101-104通过数据传输链路相互连接,如图1中所图示。此外,示例性软件定义网络“SDN” 100可以包括在图1中未示出的其他网络元件。网络元件可以是例如网际协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机。每一个网络元件可以由单个装置或多个装置的组合组成。同样,控制器系统105可以由单个装置或多个装置的组合组成。在图1中所图示的示例性情况下,控制器系统105包括两个互连的装置。终端设备107连接到控制器系统105,以及网络元件102充当为到可以是例如全球因特网的外部网络106的网关。控制器系统105包括数据传输接口,其用于从终端设备107和/或从凭借数据传输链路连接到控制器系统的数据传输接口的一个或多个其他设备接收数据。应注意的是,控制器系统105或其一个或多个部分还可以充当为可以是例如网际协议“IP”路由器、多协议标签交换“MPLS”节点、分组光交换机和/或以太网交换机的一个或多个网络元件。
[0028]网络元件101-104中的每一个包括控制处理器部分,其用于维护包括定义待与管理数据帧协同执行的动作的至少一个查找表的查找系统;以及数据转发部分,其用于根据查找系统管理数据帧。查找系统的至少一个查找表可以包括例如但不一定根据OpenFlow规范的一个或多个连续流表和组表。OpenFlow由开放网络基金会“0NF”管理。在使用OpenFlow的示例性情况下,网络元件中的每一个流表包含流条目集。每一个流条目可以由匹配字段、计数器以及待应用到匹配的数据帧的动作集组成。匹配典型地在第一流表开始并且可以继续到另外的流表。可以按照优先顺序安排流条目,并且在每一个表中的第一匹配条目是正被使用的一个。如果找到匹配的流条目,则执行与该特定流条目相关联的一个或多个动作。如果在流表中没有找到匹配,则可以通过在考虑中的网络元件和控制器系统105之间的OpenFlow信道将数据帧转发给控制器系统105,可以丢弃数据帧或数据帧可以继续到下一流表或组表。与每一个流条目相关联的动作可以包括例如数据帧转发、数据帧修改、组表处理以及管线处理。管线处理动作允许数据帧被发送给随后流表以供进一步处理,并且允许信息以元数据形式在流表之间通信。当与匹配的流条目相关联的一个或多个动作没有指定下一表时,表管线处理停止。此时,通常对考虑中的数据帧进行修改并转发。组表处理动作允许数据帧被发送给组表以供进一步处理,并且允许信息以元数据形式被通信到组表。组表包含组条目,其中每一个组条目可以包含针对定义成属于特定组的数据帧的动作列表。
[0029]控制器系统105适于向网络元件101-104中的每一个发送包括数据项的配置数据,所述数据项用于根据例如例如OpenFlow的协议所定义的、用于配置网络元件的预先确定的动作集合,将网络元件配置成维护查找系统。此外,配置数据可以包括一个或多个配置程序,其每一个包括定义待在考虑中的网络元件中与管理数据帧协同执行的动作或动作链的一个或多个计算机可执行指令。网络元件101-104中的每一个的控制处理器部分可以适于将每一个配置程序与查找系统的一个或多个查找表相关联,以使配置程序可调用来借助于一个或多个查找表与管理数据帧协同执行。网络元件101-104中的每一个的数据转发部分可以适于响应于管理特定数据帧包括执行配置程序的命令的情况,执行配置程序所定义的动作或动作链。配置程序所定义的动作或动作链可以包括例如:从数据帧读取数据、修改数据帧、选择网络元件的出站端口中的一个或多个并且将数据帧及其可能副本转发到所选择的一个或多个出站端口、选择网络元件所维护的查找表中的一个并且从所选择的查找表执行查找、执行算术运算、分支操作、执行逻辑运算、读与数据帧相关联的元数据、写与数据帧相关联的元数据、修改与数据帧相关联的元数据、丢弃数据帧和/或复制数据帧。
[0030]控制器系统105适于接收在软件定义网络100外部的一个或多个外部源所提供的第一信息。第一信息可以例如从或通过外部网络106或从终端设备107接收。控制器系统105适于响应于第一信息指示软件定义网络100的一个或多个运行条件的已发生或即将到来的改变的情况,基于第一信息来生成用于改变网络元件101-104中的一个或多个的配置的第一配置数据。用于生成第一配置数据的算法可以是例如基于经验的启发性算法,并且其可以借助于适于不同的运行条件的预先存储的配置数据元素集合来实现。还可能的是,可以将诸如例如神经网络和/或模糊逻辑的技术用作为用于生成第一配置数据的算法的基础。控制器系统105进一步适于向网络元件101-105中的一个或多个发送第一配置数据,以使软件定义网络100适应一个或多个运行条件的已发生或即将到来的改变。上述第一信息可以指示例如软件定义网络100的用户人口的地理分布。在这种情况下,控制器系统105有利地适于基于用户人口的地理分布的改变来生成用于重新配置软件定义网络100的至少部分的路由拓扑和/或网络元件101-104中的一个或多个的数据管理策略的第一配置数据。在上述示例性情况下,用户人口的地理分布的改变表示软件定义网络100的一个或多个运行条件的已发生或即将到来的改变。
[0031]在软件定义网络100的地理服务区,可能存在例如可以将用户人口集中在某些地理区域的音乐会、节日或其他事件、或交通拥塞,并且这可以增加为这些地理区域服务的那些网络元件的当前和/或可预见负载和/或连接到这些网络元件的数据传输链路的当前和/或可预见负载。在示例性情况下,用户人口可以被集中,使得增加了例如网络元件101的当前和/或可预见负载。在该示例性情况下,可以有利地改变软件定义网络100的路由拓扑,以使例如在网络元件102和104之间的数据业务的更大相对部分通过网络元件103被路由,并且相应地,该数据业务的更小相对部分通过网络元件101被路由,以减少网络元件101的负载。此外,可以改变网络元件102-104中的一个或多个的数据管理策略,以使不再通过网络元件101转发较低服务级别数据业务或较低服务级别数据业务在其指向网络元件101之前被更严厉地限制。
[0032]对于另一个示例,一个或多个外部源所提供的上述第一信息可以指示软件定义网络100的一个或多个数据传输链路的物理运行条件。在这种情况下,控制器系统105有利地适于基于物理运行条件的改变来生成用于重新配置软件定义网络100的至少部分的路由拓扑和/或网络元件101-104中的一个或多个的数据管理策略的第一配置数据。在该示例性情况下,数据传输链路的物理运行条件的改变表示软件定义网络100的一个或多个运行条件的已发生或即将到来的改变。物理运行条件可以涉及例如预报或当前天气或人所造成的环境,例如在软件定义网络100外部的设备所发出的外部无线电信号。在示例性情况下,在网络元件101和104之间的直接数据传输链路131可以是其吞吐量取决于天气以使吞吐量在下雨时比在干燥天气时小的无线电链路。此外,吞吐量可以取决于在数据传输链路131的频带上的外部无线电信号。在该示例性情况下,当例如下雨或预报有雨时,可以有利地改变软件定义网络100的路由拓扑,以使在网络元件101和104之间的数据业务的更小相对部分通过直接数据传输链路131被路由,并且相应地,该数据业务的更大相对部分通过网络元件103被路由,以减轻雨对服务质量的负面影响。
[0033]此外,一个或多个外部源所提供的上述第一信息可以指示操作者的即将到来的维护和/或管理动作、和/或用户的当前和/或预测活动。在这种情况下,控制器系统105有利地适于基于操作者的即将到来的维护和管理动作、和/或用户的当前和/或预测活动,来生成用于重新配置软件定义网络100的至少部分的路由拓扑和/或网络元件101-104中的一个或多个的数据管理策略的第一配置数据。
[0034]在根据本发明的示例性实施例的软件定义网络中,控制器系统105进一步适于接收从软件定义网络101采集的第二信息。网络元件101-104中的一个或多个可以适于使用例如但不必是深度分组检测“DPI ”和业务计数器来分析数据业务,并且将所检测到的信息发送给控制器系统105或能够与控制器系统105对接的某一其他数据收集实体。网络元件101-104中的一个或多个也可以发送其他数据,包括例如时间、例如以匿名聚合形式的用户数据、关于数据传输链路的延迟和丢失测量、上层度量(例如与在无线电网络控制器“RNC”和节点B之间的连通性有关的度量)、路由和发信号协议事件和/或操作者的动作。在一些情况下,上层度量可以由在软件定义网络100外部的一个或多个外部源和/或由在软件定义网络100内不受控制器系统105控制的这样的设备提供。
[0035]控制器系统105可以适于响应于从软件定义网络采集的第二信息指示软件定义网络中的已发生或即将到来的改变的情况,基于该第二信息来生成用于改变软件定义网络100的网络元件101-104中的一个或多个的配置的第二配置数据。此外,控制器系统105适于向网络元件101-104中的一个或多个发送第二配置数据,以使软件定义网络适应第二信息所指示的已发生或即将到来的改变。对于进一步示例,从软件定义网络101采集的第二信息可以与故障排除有关。基于所采集的数据,控制器系统105可以就在预报崩溃或由于预测失败的服务降级之前,强制从一个网络元件或数据传输链路到另一个网络元件或数据传输链路的移交。
[0036]图2示出了根据本发明的示例性实施例的用于控制软件定义网络“SDN”的控制器系统205的示意图。在该示例性情况下,控制器系统是单个装置,但是如在本文档中早前所述,控制器系统也可以是多个装置的组合。控制器系统包括用于接收数据和用于传送数据的数据传输接口 211。数据传输接口 211包括用于通过数据传输链路连接到数据传输网络220的入站端口 214和215以及出站端口 216和217。数据传输接口 211适于接收在软件定义网络外部的一个或多个外部源所提供的第一信息。控制器系统205包括用于响应于第一信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于第一信息来生成用于改变软件定义网络的一个或多个网络元件的配置的第一配置数据的装置。控制器系统205包括用于控制数据传输接口 211向软件定义网络的一个或多个网络元件发送第一配置数据,以使软件定义网络适应一个或多个运行条件的已发生或即将到来的改变的装置。在图2中所图示的示例性情况下,上述装置利用处理系统210来实现。
[0037]在根据本发明的示例性实施例的控制器系统中,第一信息指示软件定义网络的用户人口的地理分布,并且处理系统210适于生成用于使软件定义网络适应软件定义网络的用户人口的地理分布的改变的第一配置数据。
[0038]在根据本发明的示例性实施例的控制器系统中,处理系统210适于基于用户人口的地理分布的改变来生成用于重新配置下述各项的至少一个的第一配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0039]在根据本发明的示例性实施例的控制器系统中,第一信息指示一个或多个数据传输链路的物理运行条件,并且处理系统210适于生成用于使软件定义网络适应一个或多个数据传输链路的物理运行条件的改变的第一配置数据。
[0040]在根据本发明的不例性实施例的控制器系统中,处理系统210适于基于一个或多个数据传输链路的物理运行条件的改变来生成用于重新配置下述各项的至少一个的第一配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0041]在根据本发明的示例性实施例的控制器系统中,处理系统210进一步适于:
[0042]-接收从软件定义网络采集的第二信息,
[0043]-响应于第二信息指示软件定义网络中的已发生或即将到来的改变的情况,基于第二信息来生成用于改变软件定义网络的一个或多个网络元件的配置的第二配置数据,以及
[0044]-向软件定义网络的一个或多个网络元件发送第二配置数据,以使软件定义网络适应第二信息所指示的已发生或即将到来的改变。
[0045]在根据本发明的示例性实施例的控制器系统中,第二信息指示软件定义网络的负载,并且处理系统210适于生成用于使软件定义网络适应软件定义网络的负载的改变的第
二配置数据。
[0046]在根据本发明的示例性实施例的控制器系统中,处理系统210适于基于软件定义网络的负载的改变来生成用于重新配置下述各项的至少一个的第二配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0047]在根据本发明的示例性实施例的控制器系统中,第二信息指示软件定义网络所提供的测量的服务质量,并且处理系统210适于生成用于使软件定义网络适应测量的服务质量的改变的第二配置数据。服务质量可以借助于例如数据传输延迟、数据丢失率和/或数据传输延迟的抖动和/或漂移来表示。[0048]在根据本发明的示例性实施例的控制器系统中,处理系统210适于基于测量的服务质量的改变来生成用于重新配置下述各项的至少一个的第二配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0049]图2中所示的控制器系统的处理系统210可以利用一个或多个处理器电路来实现,其每一个可以是提供有适当软件的可编程处理器电路、诸如专用集成电路“ASIC”的专用硬件处理器、或诸如现场可编程门阵列“FPGA”的可配置的硬件处理器。
[0050]图3示出了根据本发明的示例性实施例的用于控制软件定义网络的方法的流程图。该方法包括下述动作:
[0051]-动作301:接收在软件定义网络外部的一个或多个外部源所提供的第一信息,
[0052]-动作303,响应于第一信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况302,基于第一信息来生成用于改变软件定义网络的一个或多个网络元件的配置的第一配置数据,以及
[0053]-动作304:向软件定义网络的一个或多个网络元件发送第一配置数据,以使软件定义网络适应软件定义网络的一个或多个运行条件的已发生或即将到来的改变。
[0054]在根据本发明的示例性实施例的方法中,第一信息指示软件定义网络的用户人口的地理分布,并且生成用于使软件定义网络适应软件定义网络的用户人口的地理分布的改
变的第一配置数据。
[0055]在根据本发明的示例性实施例的方法中,基于用户人口的地理分布的改变来生成用于重新配置下述各项的至少一个的第一配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0056]在根据本发明的示例性实施例的方法中,第一信息指示一个或多个数据传输链路的物理运行条件,并且生成用于使软件定义网络适应一个或多个数据传输链路的物理运行条件的改变的第一配置数据。
[0057]在根据本发明的示例性实施例的方法中,基于一个或多个数据传输链路的物理运行条件的改变来生成用于重新配置下述各项的至少一个的第一配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0058]根据本发明的示例性实施例的方法进一步包括:
[0059]-接收从软件定义网络所采集的第二信息,
[0060]-响应于第二信息指示软件定义网络中的已发生或即将到来的改变的情况,基于第二信息来生成用于改变软件定义网络的一个或多个网络元件的配置的第二配置数据,以及
[0061]-向软件定义网络的一个或多个网络元件发送第二配置数据,以使软件定义网络适应第二信息所指示的已发生或即将到来的改变。
[0062]在根据本发明的示例性实施例的方法中,第二信息指示软件定义网络的负载,并且生成用于使软件定义网络适应软件定义网络的负载的改变的第二配置数据。
[0063]在根据本发明的示例性实施例的方法中,基于软件定义网络的负载的改变来生成用于重新配置下述各项的至少一个的第二配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0064]在根据本发明的示例性实施例的方法中,第二信息指示软件定义网络所提供的测量的服务质量,并且生成用于使软件定义网络适应测量的服务质量的改变的第二配置数据。
[0065]在根据本发明的示例性实施例的方法中,基于测量的服务质量的改变来生成用于重新配置下述各项的至少一个的第二配置数据:软件定义网络的至少部分的路由拓扑、软件定义网络的网络元件中的一个或多个的数据管理策略。
[0066]根据本发明的示例性实施例的用于控制软件定义网络的计算机程序包括计算机可执行指令,其用于控制可编程处理系统执行根据本发明的上述示例性实施例中的任何一个的方法。
[0067]根据本发明的示例性实施例的计算机程序包括用于控制软件定义网络的软件模块。所述软件模块包括计算机可执行指令,其用于控制可编程处理系统:
[0068]-响应于在软件定义网络外部的一个或多个外部源所提供的信息指示软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于该信息来生成用于改变软件定义网络的一个或多个网络元件的配置的第一配置数据,以及
[0069]-控制数据传输接口向软件定义网络的一个或多个网络元件发送第一配置数据,以使软件定义网络适应软件定义网络的一个或多个运行条件的已发生或即将到来的改变。
[0070]软件模块可以是例如用适当编程语言和用适于编程语言和可编程处理系统的编译器实现的子程序或函数。
[0071]根据本发明的示例性实施例的计算机程序产品包括编码有根据本发明的示例性实施例的计算机程序的计算机可读介质,例如光盘(“CD”)。
[0072]根据本发明的示例性实施例的信号被编码为承载定义根据本发明的示例性实施例的计算机程序的信息。
[0073]在上面给出的描述中所提供的特定示例不应当被解释为限制所附权利要求的范围和/或实用性。
【权利要求】
1.一种用于控制软件定义网络的控制器系统(105,205),所述控制器系统包括用于接收在所述软件定义网络外部的一个或多个外部源所提供的第一信息的数据传输接口(211),其特征在于,所述控制器系统包括: -用于响应于所述第一信息指示所述软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况,基于所述第一信息来生成用于改变所述软件定义网络的一个或多个网络元件的配置的第一配置数据的装置,以及 -用于控制所述 数据传输接口向所述软件定义网络的所述一个或多个网络元件发送所述第一配置数据,以使所述软件定义网络适应所述软件定义网络的所述一个或多个运行条件的所述已发生或即将到来的改变的装置。
2.根据权利要求1所述的控制器系统,其中所述控制器系统包括: -用于接收从所述软件定义网络采集的第二信息的装置, -用于响应于所述第二信息指示所述软件定义网络中的已发生或即将到来的改变的情况,基于所述第二信息来生成用于改变所述软件定义网络的所述一个或多个网络元件的配置的第二配置数据的装置,以及 -用于向所述软件定义网络的所述一个或多个网络元件发送所述第二配置数据,以使所述软件定义网络适应所述第二信息所指示的所述已发生或即将到来的改变的装置。
3.根据权利要求1或2所述的控制器系统,其中所述第一信息指示所述软件定义网络的用户人口的地理分布,并且所述控制器系统包括用于生成用于使所述软件定义网络适应所述软件定义网络的所述用户人口的所述地理分布的改变的所述第一配置数据的装置。
4.根据权利要求3所述的控制器系统,其中所述控制器系统包括用于基于所述用户人口的所述地理分布的所述改变来生成用于重新配置下述各项的至少一个的所述第一配置数据的装置:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
5.根据权利要求1所述的控制器系统,其中所述第一信息指示一个或多个数据传输链路的物理运行条件,并且所述控制器系统包括用于生成用于使所述软件定义网络适应所述一个或多个数据传输链路的所述物理运行条件的改变的所述第一配置数据的装置。
6.根据权利要求5所述的控制器系统,其中所述控制器系统包括用于基于所述一个或多个数据传输链路的所述物理运行条件的所述改变来生成用于重新配置下述各项的至少一个的所述第一配置数据的装置:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
7.根据权利要求2所述的控制器系统,其中所述第二信息指示所述软件定义网络的负载,并且所述控制器系统包括用于生成用于使所述软件定义网络适应所述软件定义网络的所述负载的改变的所述第二配置数据的装置。
8.根据权利要求7所述的控制器系统,其中所述控制器系统包括用于基于所述软件定义网络的所述负载的所述改变来生成用于重新配置下述各项的至少一个的所述第二配置数据的装置:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
9.根据权利要求2或8所述的控制器系统,其中所述第二信息指示所述软件定义网络所提供的测量的服务质量,并且所述控制器系统包括用于生成用于使所述软件定义网络适应所述测量的服务质量的改变的所述第二配置数据的装置。
10.根据权利要求9所述的控制器系统,其中所述控制器系统包括用于基于所述测量的服务质量的所述改变来生成用于重新配置下述各项的至少一个的所述第二配置数据的装置:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
11.一种用于控制软件定义网络的方法,其特征在于,所述方法包括: -接收(301)在所述软件定义网络外部的一个或多个外部源所提供的第一信息, -响应于所述第一信息指示所述软件定义网络的一个或多个运行条件的已发生或即将到来的改变的情况(302),基于所述第一信息来生成(303)用于改变所述软件定义网络的一个或多个网络元件的配置的第一配置数据,以及 -向所述软件定义网络的所述一个或多个网络元件发送(304)所述第一配置数据,以使所述软件定义网络适应所述软件定义网络的所述一个或多个运行条件的所述已发生或即将到来的改变。
12.根据权利要求11所述的方法,其中所述方法进一步包括: -接收从所述软件定 义网络采集的第二信息, -响应于所述第二信息指示所述软件定义网络中的已发生或即将到来的改变的情况,基于所述第二信息来生成用于改变所述软件定义网络的所述一个或多个网络元件的配置的第二配置数据,以及 -向所述软件定义网络的所述一个或多个网络元件发送所述第二配置数据,以使所述软件定义网络适应所述第二信息所指示的所述已发生或即将到来的改变。
13.根据权利要求11或12所述的方法,其中所述第一信息指示所述软件定义网络的用户人口的地理分布,并且生成用于使所述软件定义网络适应所述软件定义网络的所述用户人口的所述地理分布的改变的所述第一配置数据。
14.根据权利要求13所述的方法,其中基于所述用户人口的所述地理分布的所述改变来生成用于重新配置下述各项的至少一个的所述第一配置数据:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
15.根据权利要求11所述的方法,其中所述第一信息指示一个或多个数据传输链路的物理运行条件,并且生成用于使所述软件定义网络适应所述一个或多个数据传输链路的所述物理运行条件的改变的所述第一配置数据。
16.根据权利要求15所述的方法,其中基于所述一个或多个数据传输链路的所述物理运行条件的所述改变来生成用于重新配置下述各项的至少一个的所述第一配置数据:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
17.根据权利要求12所述的方法,其中所述第二信息指示所述软件定义网络的负载,并且生成用于使所述软件定义网络适应所述软件定义网络的所述负载的改变的所述第二配置数据。
18.根据权利要求17所述的方法,其中基于所述软件定义网络的所述负载的所述改变来生成用于重新配置下述各项的至少一个的所述第二配置数据:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
19.根据权利要求12或18所述的方法,其中所述第二信息指示所述软件定义网络所提供的测量的服务质量,并且生成用于使所述软件定义网络适应所述测量的服务质量的改变的所述第二配置数据。
20.根据权利要求19所述的方法,其中基于所述测量的服务质量的所述改变来生成用于重新配置下述各项的至少一个的所述第二配置数据:所述软件定义网络的至少部分的路由拓扑、所述软件定义网络的所述网络元件中的一个或多个的数据管理策略。
21.一种软件定义网络,包括: -一个或多个网络元件(101-104),以及 -根据权利要求1-10中的任何一个所述的用于控制所述一个或多个网络元件的控制器系统(105)。
22.根据权利要求21所述的软件定义网络,其中所述控制器系统被配置成将OpenFlow用作为通信方法以供所述软件定义网络的控制面与所述软件定义网络的数据面通信。
【文档编号】H04L12/70GK103944871SQ201410027335
【公开日】2014年7月23日 申请日期:2014年1月21日 优先权日:2013年1月21日
【发明者】汉努·约基宁, 维莱·哈利沃里, 尤哈-彼得里·涅米宁 申请人:特拉博斯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1