通信方法和通信设备与流程

文档序号:15819400发布日期:2018-11-02 22:57阅读:142来源:国知局
通信方法和通信设备与流程
本公开的实施例总体上涉及通信技术,更具体地,涉及在通信设备处实施的通信方法以及相应的通信设备。
背景技术
近年来,软件定义网络(sdn)由于其灵活易用等特点而得到越来越多地关注。在sdn中,执行重要的网络路由和切换功能的控制平面与数据转发平面是分离的。控制平面例如包括sdn控制器,该控制平面可以是逻辑集中的,且可以利用各种不同架构的硬件组件来实现。数据转发平面例如包括转发设备,其可采用廉价且简单的网络开关或路由器,该网络开关或路由器可由sdn控制器配置而得到。sdn控制器对接入sdn的转发设备的转发过程及转发规则等进行控制。由于在定制和优化特定用户需求的网络服务方面的可量测性、成本效益、可靠性和灵活性,因此sdn得到日益广泛地应用。在现有技术中,已经提出了在单个sdn控制器中使用较低成本的路由来为数据流服务的方案。然而,考虑到网络的复杂性和规模,在实际环境中,单个sdn控制器几乎不可能管理跨多个网络、多个供应商和多个技术网络域的所有连接服务。因此,目前技术方案在跨越多个不同sdn来为数据流提供服务时,由于缺乏能够实现各个sdn网络之间沟通协作的技术,当为数据流提供超过单个sdn网络的、具有全局端到端视野的优化服务时,会产生服务总成本高、服务质量不佳、服务效果不理想等问题,这些都是目前技术中亟待解决的问题。技术实现要素:总体上,本公开的实施例提出在通信设备处实施的通信方法以及相应的通信设备,用以解决跨sdn来为数据流提供服务中存在的上述问题。在第一方面,本公开的实施例提供一种在sdn控制器处实施的通信方法。该方法包括:向下游sdn控制器发送服务查询请求消息,服务查询请求消息指示与数据流需要的服务有关的信息;接收来自下游sdn控制器的服务查询应答消息,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力;以及基于服务查询应答消息,选择为数据流提供服务的sdn控制器。在此方面,本公开的实施例还提供一种sdn控制器,包括:收发器,被配置为:向下游sdn控制器发送服务查询请求消息,服务查询请求消息指示与数据流需要的服务有关的信息;以及接收来自下游sdn控制器的服务查询应答消息,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力;以及控制器,被配置为基于服务查询应答消息,选择为数据流提供服务的sdn控制器。本公开的实施例还包括一种sdn控制器,包括:处理器以及存储有指令的存储器,该指令在被处理器运行时使得该网络设备执行根据第一方面的方法。本公开的实施例还包括一种用于在sdn控制器处实现的设备。该设备包括:用于向下游sdn控制器发送服务查询请求消息的装置,服务查询请求消息指示与数据流需要的服务有关的信息;用于接收来自下游sdn控制器的服务查询应答消息的装置,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力;以及用于基于服务查询应答消息,选择为数据流提供服务的sdn控制器的装置。在第二方面,本公开的实施例提供一种在sdn控制器处实施的通信方法。该方法包括:接收来自上游sdn控制器的服务查询请求消息,服务查询请求消息指示与上游sdn控制器处的数据流需要的服务有关的信息;基于服务查询请求消息来生成服务查询应答消息,服务查询应答消息指示sdn控制器为数据流提供服务的能力;以及向上游sdn控制器发送服务查询应答消息,以便上游sdn控制器基于服务查询应答消息来选择为数据流提供服务的sdn控制器。在此方面,本公开的实施例还提供一种sdn控制器,包括:收发器,被配置为接收来自上游sdn控制器的服务查询请求消息,服务查询请求消息指示与上游sdn控制器处的数据流需要的服务有关的信息;以及控制器,被配置为基于服务查询请求消息来生成服务查询应答消息,服务查询应答消息指示sdn控制器为数据流提供服务的能力,其中收发器还被配置为向上游sdn控制器发送服务查询应答消息,以便上游sdn控制器基于服务查询应答消息来选择为数据流提供服务的sdn控制器。本公开的实施例还包括一种sdn控制器,包括:处理器以及存储有指令的存储器,该指令在被处理器运行时使得该网络设备执行根据第二方面的方法。本公开的实施例还包括一种用于在sdn控制器处实现的设备。该设备包括:用于接收来自上游sdn控制器的服务查询请求消息的装置,服务查询请求消息指示与上游sdn控制器处的数据流需要的服务有关的信息;用于基于服务查询请求消息来生成服务查询应答消息的装置,服务查询应答消息指示sdn控制器为数据流提供服务的能力;以及用于向上游sdn控制器发送服务查询应答消息,以便上游sdn控制器基于服务查询应答消息来选择为数据流提供服务的sdn控制器的装置。通过下文描述将会理解,根据本公开的实施例,在跨越多个不同sdn来为数据流提供服务时,可以从这些sdn中选择能够为数据流提供成本更低、服务质量更好的服务提供方。以此方式,可以充分利用多个网络资源来降低服务提供成本和提高服务提供效率。应当理解,
发明内容部分中所描述的内容并非旨在限定本公开实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本公开的实施例可以在其中实施的示例通信网络;图2示出了根据本公开的某些实施例的在sdn控制器侧实施的服务查询方法的流程图;图3示出了根据本公开的某些实施例的在sdn控制器侧实施的服务提供方法的流程图;图4示出了根据本公开的某些实施例的在sdn控制器侧实施的服务更新方法的流程图;图5示出了根据本公开的某些实施例的在sdn控制器侧实施的服务取消方法的流程图;图6示出了根据本公开的某些实施例的在sdn控制器侧实施的服务查询方法的流程图;图7示出了根据本公开的实施例的多个sdn控制器之间的通信过程的示意图;图8示出了根据本公开的某些实施例的一个sdn控制器处的装置的框图;图9示出了根据本公开的某些实施例的另一个sdn控制器处的装置的框图;以及图10示出了根据本公开的某些实施例的设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在此使用的术语“包括”或“包含”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。在此使用的术语“第一sdn控制器”表示两个相互通信的sdn控制器中的上游sdn控制器,“第二sdn控制器”表示两个相互通信的sdn控制器中的下游sdn控制器。当确定将由下游sdn控制器为上游服务器处的数据流提供服务时,上游服务器可以将数据流路由到下游服务器以使数据被服务。图1示出了本公开的实施例可以在其中实施的示例通信网络100。通信网络100包括:sdn网络130及其sdn控制器110、sdn网络140及其sdn控制器120,其中sdn控制器110与sdn控制器120在一个特定数据流的转发路径中。在该实施例中,假设该数据流目前处于sdn网络130中,并且需要服务1,而sdn网络130和sdn网络140均可以提供服务1。根据传统的方案,sdn控制器110确定应当由与自己对应(例如由该sdn控制器110管理)的sdn网络130为数据流提供服务1。在此情况下,即使sdn网络140可以利用更低的成本(比如更低资费、更少延迟等)为数据流提供服务1,也只能利用sdn网络130中的服务1为数据流提供服务。这样,可能会产生服务成本高、服务质量不佳、服务效果不理想等问题。为了解决这些以及其它潜在问题,本公开的实施例提供了一种在不同sdn网络(在本公开上下文中也简称为“sdn”)之间的路由控制方法。根据本公开的实施例,通过引入sdn控制器的水平(西/东)能力,例如成本(例如计费等)协商和监控功能,从而支持从成本和服务能力等多角度为要被服务的数据流选择最佳的服务提供方。这样,可以使得不同sdn之间的流量路由能够满足使用成本较低的路由的需求,更大限度地有效利用网络资源,为服务提供方提供动态的最优路由路径选择和基于网络条件变化的动态资费,从而实现更多的收入和更高的服务效率。应当理解,图1所示的sdn网络的数目、sdn控制器的数目以及各网络所提供的服务的数目仅仅是出于说明之目的而无意于限制。通信网络100可以包括任意适当类型和数目的sdn网络和sdn控制器,各个网络可以提供适当覆盖范围和适当服务数目。还应当理解,图1所示的sdn控制器110和120之间的通信仅仅是示例性的,而非限制性的。本领域技术人员完全可以理解,本公开的实施例不仅仅适用于sdn控制器110和120之间的通信,还可以适用于其他sdn控制器之间的通信。此外,应当理解,在本公开的实施例中,一个sdn网络与一个sdn控制器相对应,sdn控制器管理和协调与自己对应的sdn网络的服务提供能力。因此,在本公开的实施例中,有时也将sdn控制器称为服务的提供方。下面将结合图2至图10所示的实施例对本公开的原理和具体实施例进行详细说明。首先参考图2,其示出了根据本公开的某些实施例的在sdn控制器侧实施的服务查询方法200的流程图。可以理解,方法200可以例如在如图1所示的在sdn控制器110(也称为“上游sdn控制器”)处实施,其中下游sdn控制器例如可以实施为图1所示的sdn控制器120。方法200开始于210,其中sdn控制器110向下游sdn控制器120发送服务查询请求消息。根据本公开的实施例,服务查询请求消息指示与数据流需要的服务有关的信息。服务查询请求消息可以通过多种方式来生成。在一些实施例中,可以基于服务的标识符以及数据流的相关信息来生成服务查询请求消息。数据流的相关信息例如,但不限于,数据流的标识符、源地址、目的地地址、应用类型等。当接收到服务查询请求消息时,下游sdn控制器120可以基于该服务查询请求消息来生成服务查询应答消息,以指示sdn控制器120为数据流提供所需服务的能力。然后,下游sdn控制器120将服务查询应答消息发送给其上游sdn控制器110。在220,sdn控制器110接收来自下游sdn控制器120的服务查询应答消息,从而可以得知下游sdn控制器为数据流提供服务的能力。sdn控制器110可以从服务查询应答消息获取多种信息,例如下游sdn控制器120的标识符、指示下游sdn控制器120能否为数据流提供服务的能力指示符、提供该服务的成本、该成本是否是可变的、该成本的有效期、不同下游sdn控制器的服务提供优先级、提供服务的服务质量参数(例如带宽、延迟等)和/或其他适当信息。当同一个服务有多个潜在的提供方(例如下游sdn控制器120、该下游sdn控制器120的进一步的下游sdn控制器,等等)时,不同下游sdn控制器的服务提供优先级可以包括针对不同提供方的优先级建议标识,以供上游sdn控制器110在服务选择中参考。在本公开的实施例中,术语“成本”包括与为数据流提供相应服务相关联的资费、有效时段、时延、带宽、服务质量等衡量因素。举例而言,在某些实施例中,如果sdn控制器110为数据流提供服务1的资费是1美元/gb,而sdn控制器120为数据流提供该服务1的资费是1.5美元/gb,则可以认为sdn控制器110提供该服务的成本低于sdn控制器120。应当理解,上述例子仅仅是为了说明的目的,而非对本公开的范围进行任何限制。本领域技术人员完全可以理解,可以通过对上述多种衡量因素进行综合考虑(例如为不同的因素施加不同的权重)来确定为数据流提供相应服务的成本。在230,sdn控制器110基于服务查询应答消息,选择为数据流提供服务的sdn控制器。在一些实施例中,sdn控制器110可以基于服务查询应答消息,从sdn控制器110和能够提供该服务的一个或多个下游sdn控制器(例如sdn控制器120和/或其进一步的下游sdn控制器)中确定能够提供该服务的sdn控制器,作为候选sdn控制器。然后,sdn控制器110从这些候选sdn控制器中选择满足预定策略的sdn控制器,作为为数据流提供该服务的sdn控制器。在本公开的实施例中,预定策略可以是根据多种方式制定的。在一些实施例中,预定策略可以是与成本控制有关联的策略,例如成本最小化。在此情况下,在230,sdn控制器110可以确定出候选sdn控制器中为数据流提供服务的成本最低的sdn控制器,来作为服务提供方。根据本公开的进一步的实施例,可选地,sdn控制器110可以请求在230所选择的用于为数据流提供服务的sdn控制器进行该服务的提供。这将在以下结合图3所述的实施例进行详细描述。图3示出了根据本公开的某些实施例的在sdn控制器侧实施的服务提供方法300的流程图。应当理解,方法300是方法200的进一步实施例,其仅仅是示例性的,而非限制性的。假设在方法200中选择的为数据流提供服务的sdn控制器是图1所示的下游sdn控制器120,则在图3的实施例中上游sdn控制器110请求下游sdn控制器120提供该服务。方法300可以例如在如图1所示的在sdn控制器110处实施。方法300开始于310,其中sdn控制器110向下游sdn控制器120发送服务提供请求消息。服务提供请求消息指示sdn控制器110请求下游sdn控制器120为数据流提供服务。服务提供请求消息例如可以包括数据流标识、服务标识(例如指示数据流所需的服务是服务1、服务2还是其他服务)、所需服务的时间长度,等等。在一些实施例中,sdn控制器120接收到该服务提供请求消息后,可以立即为数据流提供相应服务,例如可以执行流表下载、更新和/或其他适当的操作。替代地或者附加地,在一些实施例中,sdn控制器120接收到该服务提供请求消息后,可以决定是否接受来自sdn控制器120的请求。举例而言,sdn控制器120可以根据sdn网络140的负载状况、拥塞程度、服务质量等来完成上述决定过程。然后,sdn控制器120可以生成指示sdn控制器120是否同意为数据流提供服务的服务提供应答消息,并将所生成的消息发送至sdn控制器110。sdn控制器110接收来自下游sdn控制器120的服务提供应答消息,从而可以得知下游sdn控制器120是否同意为数据流提供服务。在一些实施例中,如果下游sdn控制器120同意为数据流提供所需服务,则其可以例如可以执行流表下载、更新和/或其他适当的操作来进行服务的提供。另一方面,如果下游sdn控制器120不同意为数据流提供所需服务,则sdn控制器110可以将该下游sdn控制器120从候选sdn控制器中去除,从而更新候选sdn控制器。然后,sdn控制器110可以从更新后的候选sdn控制器重新选择一个服务提供方。这一重新选择过程可以类似于方框230实现的选择方式,在此不再赘述。根据本公开的进一步的实施例,可选地,sdn控制器110可以从服务提供方获取提供该服务所对应的成本,从而可以周期性或非周期性地更新该成本。这样,可以基于更新的成本来确定当前的服务提供方是否是适当的。这将在以下结合图4所述的实施例进行详细描述。图4示出了根据本公开的某些实施例的在sdn控制器侧实施的服务更新方法400的流程图。应当理解,方法400是方法200的进一步实施例,其仅仅是示例性的,而非限制性的。假设在方法200中选择的为数据流提供服务的sdn控制器是图1所示的下游sdn控制器120,则在图4的实施例中上游sdn控制器110请求下游sdn控制器120提供更新的成本。方法400可以例如在如图1所示的在sdn控制器110处实施。方法400开始于410,其中确定下游sdn控制器120为数据流提供服务的成本是否是可变的。在420,响应于确定成本是可变的,向下游sdn控制器120发送更新订阅请求消息,以请求下游sdn控制器120提供更新后的、为数据流提供服务的成本。下游sdn控制器120从sdn控制器110接收到更新订阅请求消息后,可以知道sdn控制器110希望了解更新的服务提供成本。因此,下游sdn控制器120确定更新后的成本,并向sdn控制器110发送有关该更新后的成本的信息。在一些实施例中,下游sdn控制器120可以生成一个更新订阅应答消息,其中该更新订阅应答消息包括更新的成本,然后将更新订阅应答消息发送给sdn控制器110。在430,sdn控制器110从下游sdn控制器120接收更新订阅应答消息,从而可以从该更新订阅应答消息中获取更新后的成本。基于更新后的成本,sdn控制器110可以确定当前的服务提供方是否是候选sdn控制器中最适合提供服务的。这一确定过程例如可以根据预定策略(例如诸如收费之类的成本最小化策略)来进行,也可以根据本公开范围内的其他实施例来进行。根据本公开的进一步的实施例,可选地,sdn控制器110可以使得服务提供方停止为数据流提供该服务。这将在以下结合图5所述的实施例进行详细描述。图5示出了根据本公开的某些实施例的在sdn控制器侧实施的服务取消方法500的流程图。应当理解,方法500是方法200的进一步实施例,其仅仅是示例性的,而非限制性的。假设在方法200中选择的为数据流提供服务的sdn控制器是图1所示的下游sdn控制器120,则在图5的实施例中上游sdn控制器110通知下游sdn控制器120停止为数据流提供所述服务。方法500可以例如在如图1所示的在sdn控制器110处实施。方法500开始于510,其中sdn控制器110确定是否继续由下游sdn控制器120为数据流提供服务。在一些实施例中,sdn控制器110可以基于接收自下游sdn控制器的更新订阅应答消息,确定更新后的、为数据流提供服务的成本是否满足预定策略。如果更新后的成本不满足预定策略,确定不再继续由下游sdn控制器为数据流提供服务。在一些替代性实施例中,如果sdn控制器110确定该数据流不再需要上述服务,则可以确定不再继续由下游sdn控制器为数据流提供服务。在520,响应于确定不再继续由下游sdn控制器120为数据流提供服务,sdn控制器110向下游sdn控制器120发送服务取消消息。响应于从上游sdn控制器110接收到服务取消消息,下游sdn控制器120停止为该数据流提供上述服务。以下结合上述方法通过具体示例来进一步描述本公开的实施例。假设图1的实施例中,服务1在不同的sdn中具有不同的成本,例如资费。表1和表2分别示出了sdn网络130和sdn网络140分别提供服务1的成本示例。表1网络条件费率默认1.25美元/gb表2网络条件费率拥塞级别11.50美元/gb拥塞级别23.00美元/gb无拥塞0.50美元/gb在该实施例中,假设sdn控制器110确定应为通过sdn网络130和sdn网络140的特定数据流提供服务1。通过sdn控制器110和sdn控制器120之间的服务查询请求消息/服务查询应答消息,sdn控制器110发现sdn网络140中的服务1的当前费率为每gb0.50美元,低于sdn网络130。因此,sdn控制器110为数据流选择sdn网络140中的服务1,并通过向sdn控制器120发送服务提供请求消息,来请求sdn网络140提供该服务。由于sdn网络140中的服务1的费率是上下文相关的,也即,成本是可变的。所以,sdn控制器120也可以订购sdn网络140中服务1的资费变化。然后,数据流将通过sdn网络140中的服务1进行路由。假设由于网络拥塞,sdn网络140中服务1的费率在一段时间后更改为每gb1.50美元。sdn控制器110在从sdn控制器120接收到费率变更时,可以重新选择合适的路由路径。在这种情况下,假设sdn网络140提供的资费高于sdn网络110,所以sdn控制器110可以选择sdn网络130中的服务1,同时取消sdn网络140中的服务1。然后,数据流将通过sdn网络110中的服务1而被路由,而不再通过sdn网络120中的服务1进行路由。图6示出了根据本公开的某些实施例的在sdn控制器侧实施的服务查询方法600的流程图。可以理解,方法600可以例如在如图1所示的在sdn控制器(也称为“下游sdn控制器”)120处实施,其中上游sdn控制器例如可以实施为图1所示的sdn控制器110。方法600开始于610,接收来自上游sdn控制器110的服务查询请求消息,服务查询请求消息指示与上游sdn控制器110处的数据流需要的服务有关的信息。服务查询请求消息例如可以包括:服务的标识符、数据流的标识符、数据流的源地址、数据流的目的地地址、应用类型等信息。本领域技术人员应当理解,服务查询请求消息还可以包括与数据流和/或服务有关的信息,上述示例仅仅是说明性的,而非限制性的。在620,基于服务查询请求消息来生成服务查询应答消息。在一些实施例中,响应于来自上游sdn控制器110的服务查询请求消息,sdn控制器120可以从服务查询请求消息中提取出数据流标识和该数据流所需的服务的标识,从而确定自己和/或自己下游的其他sdn控制器是否可以为该数据流提供所需服务。sdn控制器120可以生成能力指示符,用于指示sdn控制器120能否为该数据流提供该服务。在一些实施例中,当sdn控制器120能够提供该服务时,可以确定sdn控制器120提供服务的成本。成本例如可以包括与为数据流提供服务相关联的资费、有效时段、时延、带宽、服务质量,等等。在另一些实施例中,sdn控制器120可以进一步查询其下游sdn控制器(未示出)能否提供该服务。如果能,则可以进一步查询该下游sdn控制器提供该服务的成本。然后,sdn控制器120可以根据其一个或多个下游sdn控制器提供该服务的成本,来确定这些下游sdn控制器的服务提供优先级。例如,成本高的sdn控制器的优先级会比成本低的sdn控制器具有更低的优先级。然后,sdn控制器120可以根据所确定的成本来生成服务查询应答消息,以通知上游sdn控制器。服务查询应答消息指示sdn控制器为数据流提供服务的能力,例如可以包括:sdn控制器120的标识符、能力指示符、提供服务的成本、该成本是否是可变的、该成本的有效期、不同下游sdn控制器的服务提供优先级,等等。在630,sdn控制器120向上游sdn控制器110发送服务查询应答消息,以便上游sdn控制器110基于服务查询应答消息来选择为数据流提供服务的sdn控制器。根据本公开的实施例,可以根据多种实现方式来基于服务查询应答消息选择服务提供方。这已在图2至图5的实施例中进行了描述,在此不再赘述。在根据本公开的进一步的实施例中,sdn控制器120还可以从上游sdn控制器110接收服务提供请求消息,该服务提供请求消息指示上游sdn控制器110请求所述sdn控制器120为数据流提供服务。然后,sdn控制器120生成指示自己是否同意为数据流提供所述服务的服务提供应答消息。然后,sdn控制器120可以向上游sdn控制器110发送服务提供应答消息。在根据本公开的进一步的实施例中,sdn控制器120还可以从上游sdn控制器110接收更新订阅请求消息。该更新订阅请求消息请求sdn控制器120向上游sdn控制器110提供更新后的、为数据流提供所述服务的成本。然后,sdn控制器120确定更新后的成本,并可以生成包括该更新后的成本的更新订阅应答消息。接着,sdn控制器120可以向上游sdn控制器110发送该更新订阅应答消息。在根据本公开的进一步的实施例中,当从上游sdn控制器110接收到服务取消消息时,sdn控制器120还可以停止为数据流提供所述服务。图7示出了根据本公开的实施例的多个sdn控制器之间的通信过程700的示意图。具体而言,在图7所示的实施例中,示出了图1的sdn控制器110、sdn控制器120、sdn网络130和sdn网络140之间的交互过程。在该实施例中,sdn控制器110是上游sdn控制器,而sdn控制器120是下游sdn控制器。在过程700中,sdn控制器110向sdn控制器120发送711服务查询请求消息,以指示有数据流需要一个或多个服务。sdn控制器120基于接收到的服务查询请求消息来生成服务查询应答消息,该服务查询应答消息指示sdn控制器120为该数据流提供所需服务的能力。在该实施例中,假设sdn控制器120能够为该数据流提供该服务,则其向sdn控制器110发送712服务查询应答消息,以通知sdn控制器110自己能够提供相应服务。同时,sdn控制器120还可以确定自己提供该服务的成本,例如资费、有效时段、时延、带宽和服务质量等,以及确定该成本是否是可变的、该成本的有效期、不同下游sdn控制器的服务提供优先级,等等。sdn控制器120还可以将所确定的与成本有关的信息包含在上述服务查询应答消息中。在一些实施例中,服务查询应答消息可以包括如下信息元素(ie):每个候选服务提供方的资费。该信息元素可以包含相应的每个sdn提供该服务的当前资费以及此资费的有效时段。每个资费可以对应一个标识符,以表明哪个资费是上下文相关的。可选地,sdn控制器120还可以添加与所请求的服务有关的更多能力相关信息。例如,如果有多个sdn可以提供相同的网络功能(例如视频优化器),则可以为每个sdn设置优先级,以便后续考虑优先级来选择采用哪个sdn来为数据流提供服务。当sdn控制器110接收到该服务查询应答消息时,其可以基于服务查询应答消息,选择713为数据流提供服务的sdn控制器。在该实施例中,假设sdn控制器120提供该服务的成本为1美元/gb,而sdn控制器110提供该服务的成本为1.5美元/gb,则sdn控制器110和sdn控制器120均为候sdn选控制器。sdn控制器110可以选择成本较低的sdn控制器120作为服务提供方。然后,sdn控制器110可以向sdn控制器120发送服务提供请求消息,以请求下游sdn控制器120为数据流提供所述服务。sdn控制器120接收到该服务提供请求消息后,根据sdn网络140的当前的负载情况、服务质量条件等确定是否同意为该数据流提供服务。在该实施例中,假设sdn控制器120同意为数据流提供服务,则其通知716sdn网络140来服务该数据流,并执行流表下载、更新和/或其他适当的操作。此外,sdn控制器120还生成一个响应消息,即服务提供应答消息,并向sdn控制器110发送717该服务提供应答消息,用以指示sdn控制器120同意为数据流提供所述服务。sdn控制器110接收到该服务提供应答消息后,知道sdn控制器120已同意为数据流提供服务,继而通知718与自己对应的sdn网络130这一消息。以此方式,可以以更低的成本来为数据流提供相同的服务,有效降低了服务提供成本,并提高了服务提供效率。附加地或可选地,在进一步的实施例中,可以更新sdn控制器的成本。例如,在数据流被sdn控制器120服务期间,sdn控制器110可以根据接收的服务查询应答消息来确定下游sdn控制器120为数据流提供服务的成本是否是可变的。如果确定成本是可变的,sdn控制器110向下游sdn控制器120发送719更新订阅请求消息,以请求下游sdn控制器提供更新后的、为数据流提供服务的成本。然后sdn控制器120根据sdn网络140当前的服务资费、有效时段、时延、带宽和服务质量等来确定更新的成本,并向sdn控制器110发送720更新订阅应答消息,该更新订阅应答消息包括更新的成本。当接收到更新的成本后,sdn控制器110可以判断是否继续由sdn控制器120来为该数据流提供服务。例如,假设sdn控制器120的更新的成本为2美元/gb,其高于sdn控制器110提供该服务的成本(即1.5美元/gb),则可以选择721成本较低的sdn控制器110作为服务提供方。随后,sdn控制器110向sdn网络130发送722消息,以通知该sdn网络130为数据流提供该服务。此外,sdn控制110还向sdn控制器120发送723服务取消消息。sdn控制120响应于该服务取消消息,停止为数据流提供所述服务。图8示出了根据本公开的某些实施例的一个sdn控制器处的装置800的框图。可以理解,装置800可以实施在图1所示的sdn控制器110中。如图8所示,装置800包括:发送单元810、接收单元820和选择单元830。发送单元810被配置为:向下游sdn控制器发送服务查询请求消息,服务查询请求消息指示与数据流需要的服务有关的信息。接收单元820被配置为接收来自下游sdn控制器的服务查询应答消息,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力。选择单元830被配置为基于服务查询应答消息,选择为数据流提供服务的sdn控制器。在一些实施例中,发送单元810还可以被配置为基于以下生成服务查询请求消息:服务的标识符;以及数据流的以下至少一项:标识符、源地址、目的地地址和应用类型。在一些实施例中,接收单元820还可以被配置为从服务查询应答消息获取以下至少一项:下游sdn控制器的标识符、指示下游sdn控制器能否为数据流提供服务的能力指示符、提供服务的成本、成本是否是可变的、成本的有效期、以及不同下游sdn控制器的服务提供优先级,其中成本包括与为数据流提供服务相关联的以下至少一项:资费、有效时段、时延、带宽和服务质量。在一些实施例中,选择单元830还可以被配置为基于服务查询应答消息,从sdn控制器和下游sdn控制器中确定能够提供服务的sdn控制器,作为候选sdn控制器;以及从候选sdn控制器中选择满足预定策略的sdn控制器,作为为数据流提供服务的sdn控制器。在一些实施例中,选择单元830还可以被配置为确定候选sdn控制器中为数据流提供服务的成本最低的sdn控制器。在一些实施例中,发送单元810还可以被配置为向下游sdn控制器发送服务提供请求消息,服务提供请求消息指示请求下游sdn控制器为数据流提供服务。在一些实施例中,接收单元820还可以被配置为接收来自下游sdn控制器的服务提供应答消息,服务提供应答消息指示下游sdn控制器是否同意为数据流提供服务。在一些实施例中,装置800还可以包括确定单元,被配置为确定下游sdn控制器为数据流提供服务的成本是否是可变的。发送单元810还可以被配置为:响应于确定成本是可变的,向下游sdn控制器发送更新订阅请求消息,以请求下游sdn控制器提供更新后的、为数据流提供服务的成本。接收单元820还可以被配置为:从下游sdn控制器接收更新订阅应答消息,更新订阅应答消息包括更新后的成本。在一些实施例中,装置800还可以包括确定单元,被配置为确定是否继续由下游sdn控制器为数据流提供服务。发送单元810还可以被配置为:响应于确定不再继续由下游sdn控制器为数据流提供服务,向下游sdn控制器发送服务取消消息。在一些实施例中,该确定单元可以被进一步配置为:基于接收自下游sdn控制器的更新订阅应答消息,确定更新后的、为数据流提供服务的成本是否满足预定策略;以及如果更新后的成本不满足预定策略,确定不再继续由下游sdn控制器为数据流提供服务。图9示出了根据本公开的某些实施例的另一个sdn控制器处的装置900的框图。可以理解,装置900可以实施在图1所示的sdn控制器120中。如图9所示,装置900包括:接收单元910、生成单元920和发送单元930。接收单元910被配置为接收来自上游sdn控制器的服务查询请求消息,服务查询请求消息指示与上游sdn控制器处的数据流需要的服务有关的信息。生成单元920被配置为基于服务查询请求消息来生成服务查询应答消息,服务查询应答消息指示sdn控制器为数据流提供服务的能力。发送单元930被配置为向上游sdn控制器发送服务查询应答消息,以便上游sdn控制器基于服务查询应答消息来选择为数据流提供服务的sdn控制器。在一些实施例中,生成单元920还可被配置为:生成能力指示符,能力指示符指示sdn控制器能否为数据流提供服务;当sdn控制器能够提供服务时,确定sdn控制器提供服务的成本;以及基于能力指示符和成本生成服务查询应答消息,服务查询应答消息包括以下至少一项:sdn控制器的标识符、能力指示符、提供服务的成本、成本是否是可变的、成本的有效期、以及不同下游sdn控制器的服务提供优先级,其中成本包括与为数据流提供服务相关联的以下至少一项:资费、有效时段、时延、带宽和服务质量。在一些实施例中,接收单元910还可被配置为:从上游sdn控制器接收服务提供请求消息,服务提供请求消息指示上游sdn控制器请求sdn控制器为数据流提供服务。生成单元920还可被配置为:生成指示sdn控制器是否同意为数据流提供服务的服务提供应答消息。发送单元930还可被配置为:向上游sdn控制器发送服务提供应答消息。在一些实施例中,接收单元910还可被配置为:从上游sdn控制器接收更新订阅请求消息,更新订阅请求消息请求sdn控制器向上游sdn控制器提供更新后的、为数据流提供服务的成本。在该实施例中,装置900还可以包括确定单元,被配置为确定sdn控制器的更新后的成本。发送单元930还可被配置为:向上游sdn控制器发送更新订阅应答消息,更新订阅应答消息包括更新后的成本。在一些实施例中,装置900还可以包括取消单元,被配置为响应于从上游sdn控制器接收到服务取消消息,停止为数据流提供服务。应当理解,装置800和装置900中记载的每个单元分别与参考图2和图6描述的方法200和600中的各步骤相对应。因此,上文结合图2和图6描述的操作和特征同样适用于装置800和装置900及其中包含的单元,并且具有同样的效果,具体细节不再赘述。装置800和装置900中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一个实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,800和装置900的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld),等等。图8和图9中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由基站或者终端设备中的硬件来实现。例如,基站或者终端设备可以利用其发射器、接收器、收发器和/或处理器或控制器来实现方法200和600。图10示出了适合实现本公开的实施例的设备1000的方框图。设备1000可以用来实现sdn控制器,例如图1中所示的sdn控制器110和sdn控制器120。如图所示,设备1000包括控制器1010。控制器1010控制设备1000的操作和功能。例如,在某些实施例中,控制器1010可以借助于与其耦合的存储器1020中所存储的指令1030来执行各种操作。存储器1020可以是适用于本地技术环境的任何合适的类型,并且可以利用任何合适的数据存储技术来实现,包括但不限于基于半导体的存储器件、磁存储器件和系统、光存储器件和系统。尽管图10中仅仅示出了一个存储器单元,但是在设备1000中可以有多个物理不同的存储器单元。控制器1010可以是适用于本地技术环境的任何合适的类型,并且可以包括但不限于通用计算机、专用计算机、微控制器、数字信号控制器(dsp)以及基于控制器的多核控制器架构中的一个或多个多个。设备1000也可以包括多个控制器1010。控制器1010与收发器1040耦合,收发器1040可以借助于一个或多个天线1050和/或其他部件来实现信息的接收和发送。当设备1000充当sdn控制器110时,控制器1010和收发器1040可以配合操作,以实现上文参考图2描述的方法200。其中,收发器1040被配置用于向下游sdn控制器发送服务查询请求消息,服务查询请求消息指示与数据流需要的服务有关的信息;以及接收来自下游sdn控制器的服务查询应答消息,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力。控制器1010被配置用于基于服务查询应答消息,选择为数据流提供服务的sdn控制器。在一些实施例中,收发器1040可以被进一步被配置为:向下游sdn控制器发送服务查询请求消息,服务查询请求消息指示与数据流需要的服务有关的信息;以及接收来自下游sdn控制器的服务查询应答消息,服务查询应答消息指示下游sdn控制器为数据流提供服务的能力。控制器1010可以被进一步配置为基于服务查询应答消息,选择为数据流提供服务的sdn控制器。在一些实施例中,控制器1010还可被配置为:基于以下生成服务查询请求消息:服务的标识符;以及数据流的以下至少一项:标识符、源地址、目的地地址和应用类型。在一些实施例中,控制器1010还可被配置为:从服务查询应答消息获取以下至少一项:下游sdn控制器的标识符、指示下游sdn控制器能否为数据流提供服务的能力指示符、提供服务的成本、成本是否是可变的、成本的有效期、以及不同下游sdn控制器的服务提供优先级,其中成本包括与为数据流提供服务相关联的以下至少一项:资费、有效时段、时延、带宽和服务质量。在一些实施例中,控制器1010还可被配置为:基于服务查询应答消息,从sdn控制器和下游sdn控制器中确定能够提供服务的sdn控制器,作为候选sdn控制器;以及从候选sdn控制器中选择满足预定策略的sdn控制器,作为为数据流提供服务的sdn控制器。在一些实施例中,控制器1010还可被配置为:确定候选sdn控制器中为数据流提供服务的成本最低的sdn控制器。在一些实施例中,收发器1040还可被配置为:向下游sdn控制器发送服务提供请求消息,服务提供请求消息指示请求下游sdn控制器为数据流提供服务。在一些实施例中,收发器1040还可被配置为:接收来自下游sdn控制器的服务提供应答消息,服务提供应答消息指示下游sdn控制器是否同意为数据流提供服务。在一些实施例中,控制器1010还可被配置为:确定下游sdn控制器为数据流提供服务的成本是否是可变的。在一些实施例中,收发器1040还可被配置为:响应于确定成本是可变的,向下游sdn控制器发送更新订阅请求消息,以请求下游sdn控制器提供更新后的、为数据流提供服务的成本;以及从下游sdn控制器接收更新订阅应答消息,更新订阅应答消息包括更新后的成本。在一些实施例中,控制器1010还可被配置为:确定是否继续由下游sdn控制器为数据流提供服务。收发器1040还可被配置为:响应于确定不再继续由下游sdn控制器为数据流提供服务,向下游sdn控制器发送服务取消消息。在一些实施例中,控制器1010还可被配置为:基于接收自下游sdn控制器的更新订阅应答消息,确定更新后的、为数据流提供服务的成本是否满足预定策略;以及如果更新后的成本不满足预定策略,确定不再继续由下游sdn控制器为数据流提供服务。当设备1000充当sdn控制器120时,控制器1010和收发器1040可以配合操作,以实现上文参考图6描述的方法600。其中,收发器1040被配置用于接收来自上游sdn控制器的服务查询请求消息,服务查询请求消息指示与上游sdn控制器处的数据流需要的服务有关的信息。控制器1010被配置为基于服务查询请求消息来生成服务查询应答消息,服务查询应答消息指示sdn控制器为数据流提供服务的能力。收发器1040还被配置为向上游sdn控制器发送服务查询应答消息,以便上游sdn控制器基于服务查询应答消息来选择为数据流提供服务的sdn控制器。在一些实施例中,控制器1010还可被配置为:生成能力指示符,能力指示符指示sdn控制器能否为数据流提供服务;当sdn控制器能够提供服务时,确定sdn控制器提供服务的成本;以及基于能力指示符和成本生成服务查询应答消息,服务查询应答消息包括以下至少一项:sdn控制器的标识符、能力指示符、提供服务的成本、成本是否是可变的、成本的有效期、以及不同下游sdn控制器的服务提供优先级,其中成本包括与为数据流提供服务相关联的以下至少一项:资费、有效时段、时延、带宽和服务质量。在一些实施例中,收发器1040还可被配置为:从上游sdn控制器接收服务提供请求消息,其指示上游sdn控制器请求sdn控制器为数据流提供服务。控制器1010还可被配置为:生成指示sdn控制器是否同意为数据流提供服务的服务提供应答消息。收发器1040还可被配置为:向上游sdn控制器发送服务提供应答消息。在一些实施例中,收发器1040还可被配置为:从上游sdn控制器接收更新订阅请求消息,更新订阅请求消息请求sdn控制器向上游sdn控制器提供更新后的、为数据流提供服务的成本。控制器1010还可被配置为:确定sdn控制器的更新后的成本。收发器1040还可被配置为:向上游sdn控制器发送更新订阅应答消息,更新订阅应答消息包括更新后的成本。在一些实施例中,控制器1010还可被配置为:响应于从上游sdn控制器接收到服务取消消息,停止为数据流提供服务。上文参考图2和图6所描述的所有特征均适用于设备1000,在此不再赘述。一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。作为示例,本公开的实施例可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。用于实现本公开的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。在本公开的上下文中,机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光存储设备、磁存储设备,或其任意合适的组合。另外,尽管操作以特定顺序被描绘,但这并不应该理解为要求此类操作以示出的特定顺序或以相继顺序完成,或者执行所有图示的操作以获取期望结果。在某些情况下,多任务或并行处理会是有益的。同样地,尽管上述讨论包含了某些特定的实施细节,但这并不应解释为限制任何发明或权利要求的范围,而应解释为对可以针对特定发明的特定实施例的描述。本说明书中在分开的实施例的上下文中描述的某些特征也可以整合实施在单个实施例中。反之,在单个实施例的上下文中描述的各种特征也可以分离地在多个实施例或在任意合适的子组合中实施。尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题并不限于上文描述的特定特征或动作。相反,上文描述的特定特征和动作是作为实现权利要求的示例形式而被公开的。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1