无线软件定义网络转让专利

申请号 : CN201380081207.X

文献号 : CN105765553B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李正根穆斯塔法·阿卜杜拉·扎希德·乌丁简·图里尔黑斯S·森曼弗雷德·R·阿恩特

申请人 : 慧与发展有限责任合伙企业

摘要 :

本公开大体上涉及一种用于无线软件定义网络的方法。该方法包括建立网络的接入点与多个客户端设备之间的无线链路。该方法包括生成时间表。该时间表将时间窗分配给多个客户端设备中的每个。每个时间窗定义多个客户端设备何时被允许经由接入点在网络内进行通信。

权利要求 :

1.一种网络计算机系统,包括:

控制器,用于管理网络;

接入点,用于通信联接到所述控制器,所述接入点与多个客户端设备无线联接;

其中所述控制器基于通信流数据生成时间表,所述时间表将时间窗分配给所述多个客户端设备中的每个以减少所述多个客户端设备之间的网络干扰,每个时间窗定义多个客户端设备何时被允许经由所述接入点在所述网络中进行通信,其中所述控制器在所述时间窗之外阻止寻址到所述多个客户端设备中之一的数据包,并在所述时间窗期间转发寻址到所述多个客户端设备中之一的数据包,其中所述控制器将网络策略发送给所述多个客户端设备,所述网络策略是所述接入点和所述多个客户端设备所遵循的一组规则、设置或条件,并且其中所述通信流数据包括关于在所述多个客户端设备和所述接入点之间发送的突发传输的信息。

2.如权利要求1所述的网络计算机系统,其中所述时间表基于经由软件定义网络(SDN)应用编程接口(API)从所述多个客户端设备接收到的通信流数据来生成。

3.如权利要求2所述的网络计算机系统,所述控制器响应于从所述多个客户端设备接收到的通信流数据来修改所述时间表。

4.如权利要求1所述的网络计算机系统,所述控制器使用软件定义网络(SDN)应用编程接口(API)将所述网络策略无线发送给所述多个客户端设备。

5.如权利要求1所述的网络计算机系统,所述控制器使用软件定义网络(SDN)应用编程接口(API)将所述网络策略无线发送给所述多个客户端设备,并且发送网络分配矢量(NAV)机制以经由所述接入点控制非SDN功能的客户端设备与所述网络的无线传输。

6.如权利要求1所述的网络计算机系统,包括多个接入点,其中所述控制器将接入窗分配给所述多个接入点中的每个,每个接入窗定义相应的接入点何时被允许启用所述接入点与无线联接至所述接入点的所述客户端设备之间的无线通信。

7.一种无线联接到网络的客户端设备,包括:

本地控制器,用于经由接入点与所述网络通信,并经由软件定义网络(SDN)应用编程接口(API)从所述网络中的网络控制器接收时间窗和网络策略,其中所述网络策略是所述接入点和多个客户端设备所遵循的一组规则、设置或条件;和流量调度器,用于基于通信流数据调度所述网络中的无线通信以在所述时间窗期间出现以减少所述多个客户端设备之间的网络干扰、在所述时间窗之外阻止寻址到所述多个客户端设备中之一的数据包、以及在所述时间窗期间转发寻址到所述多个客户端设备中之一的数据包,其中所述通信流数据包括关于在所述多个客户端设备和所述接入点之间发送的突发传输的信息。

8.如权利要求7所述的客户端设备,包括用于执行从所述网络接收到的所述网络策略的流管理器。

9.如权利要求8所述的客户端设备,所述流管理器用于测量所述客户端设备中的通信流数据。

10.一种设置网络策略的方法,包括:

建立网络的接入点与多个客户端设备之间的无线链路;

从所述网络中的控制器接收网络策略,其中所述网络策略是所述接入点和所述多个客户端设备所遵循的一组规则、设置或条件;

基于通信流数据生成时间表,所述时间表用于将时间窗分配给所述多个客户端设备中的每个以减少所述多个客户端设备之间的网络干扰,每个时间窗定义多个客户端设备何时被允许经由所述接入点在所述网络内通信;

在所述时间窗之外阻止寻址到所述多个客户端设备中之一的数据包;以及在所述时间窗期间转发寻址到所述多个客户端设备中之一的数据包,其中所述通信流数据包括关于在所述多个客户端设备和所述接入点之间发送的突发传输的信息。

11.如权利要求10所述的方法,包括基于经由软件定义网络(SDN)应用编程接口(API)从所述多个客户端设备接收到的通信流数据来生成所述时间表。

12.如权利要求11所述的方法,包括响应于从所述多个客户端设备接收到的通信流数据来修改所述时间表。

13.如权利要求11所述的方法,包括使用软件定义网络(SDN)应用编程接口(API)将所述网络策略无线发送给所述多个客户端设备。

14.如权利要求11所述的方法,包括使用软件定义网络(SDN)应用编程接口(API)将所述网络策略无线发送给所述多个客户端设备,并且发送网络分配矢量(NAV)机制以经由所述接入点控制非SDN功能的客户端设备与所述网络的无线传输。

15.如权利要求11所述的方法,包括使用软件定义网络(SDN)应用编程接口(API)将接入窗分配给多个接入点中的每个,每个接入窗定义相应的接入点何时被允许启用所述接入点与所述接入点的客户端设备之间的无线通信。

说明书 :

无线软件定义网络

背景技术

[0001] 软件定义网络(SDN)是如下一种网络体系结构,在该网络体系结构中,网络控制平面和策略与网络基础结构和客户端设备分离,并被放置在逻辑集中式控制器中。 SDN允许管理员通过对低级功能的抽象来规划和自动化对诸如网络组件和应用的网络服务的控制。SDN网络中的SDN控制器通过指令SDN网络中的设备定义流经SDN 网络的数据包的转发动作以控制和协调诸如流量路径、服务质量(QoS)和安全性的功能,同时也根据由高层策略或业务逻辑设置的策略将网络策略延伸到客户端设备,来决定如何处理网络流量。SDN允许管理员对整个网络的直接控制,并快速和有效地作出改变。

附图说明

[0002] 在如下的详细描述中参考图描述某些示例性实施例,在图中:
[0003] 图1是根据本公开示例的包括无线的和有线的通信设备的网络的框图;
[0004] 图2是根据本公开示例的被配置用于无线网络的客户端设备的示意图;
[0005] 图3是根据本公开示例的图示一个接入点与多个客户端设备之间的无线通信的图;
[0006] 图4是用于在无线网络中设置网络策略的方法的过程流程图;以及[0007] 图5是包含用于在无线网络中设置网络策略的指令的有形的、非临时性计算机可读介质的框图。

具体实施方式

[0008] 本公开大体上涉及无线网络中的软件定义网络(SDN)。在交换式有线以太局域网(LAN)中,网络边缘与客户端设备之间的连接是具有全双工能力(例如,支持同时传输和接收)的隔离式点到点链路,并且来自其它设备的不受控制的传输不影响客户端设备与网络边缘之间的传输性能。如本文所讨论的,客户端设备是指通信联接到网络的电子设备,如计算机、笔记本电脑、平板电脑、智能手机或移动电话。然而,在无线局域网(WLAN)中,接入点与客户端设备之间的传输是不易管理的,因为来自其他无线设备的流量可能会导致竞争和干扰。因此,可能很难为客户端设备推送网络策略或为客户端设备的用户提供可接受的体验质量(QoE)。本公开的示例提供了一种在无线网络中设置网络策略的方法和系统。
[0009] 在无线网络中,多个客户端设备可以通过一条无线链路通信联接到一个接入点。无线接入点的通话时间可被分割为多个时间窗,并在多个客户端设备之间分配,这样每个客户端设备能够与接入点通信,而具有来自其他设备的减少的竞争或干扰。该方法允许无线网络的控制层以集中的方式对所有相关的客户端设备管理和设置策略,使得每个客户端设备在其通话时间窗期间的性能符合网络策略。换句话说,客户端设备被给予其自己的时间窗或由若干个客户端设备共享的时间窗,使得他们能够在网络中进行无线通信,而具有来自其他设备的减少的竞争或干扰,同时还节约电力。根据集中式网络策略和每个客户端设备的网络活动,该方法可以被扩展。
[0010] 网络边缘可以是硬件和软件的组合,该组合包括若干个无线接入点、无线路由器、交换机、网关、和被处理成定义数据包的转发动作并将网络策略延伸到客户端设备的指令。此外,如本说明书和所附权利要求书中所使用的,“接入点”一词意味着要被广泛理解为网络中的任何无线网络边缘点,并且可以同样适用于无线接入点、无线路由器、交换机、网关或任何其他无线网络设备。
[0011] 在下面的描述中,为了解释的目的,阐述了许多具体的细节以便对本系统和方法提供深入的了解。然而,本领域的技术人员应当清楚的是,没有这些具体细节也可实现本装置、系统和方法。说明书中对“一个示例”的引用或类似的用语表明了结合该示例描述的特定特征、结构或特性如所述地被包括,但可能不包括在其他示例中。另外,如在本说明书和所附权利要求书中所使用的,“若干个”或类似的用语意味着要被广泛理解为包含1到无穷大的任何正整数。
[0012] 图1是根据本公开示例的包括无线的和有线的通信设备的网络的框图。网络 100可以包括利用软件定义网络(SDN)基础结构的网络计算系统。例如,网络 100可以是无线局域网(WLAN)、广域网(WAN)、企业专用网络或虚拟专用网络(VPN)、或它们的组合。网络100可以包括被配置为支持多个网络应用104 的网络控制器102。网络控制器102可以是计算机、服务器、或者任何一种能够允许管理员控制和管理网络100中的来自集中位置的若干个接入点和客户端设备的硬件或软件设备。网络控制器102所支持的网络应用104可以包括数据包的转发、网络策略的建立和时间表的创建。网络控制器102可以通信联接到交换机103,交换机103指引流量往来于充当网络边缘的一个或多个接入点106。网络边缘是用作客户端设备到网络100的入口点的电子设备,例如计算机、笔记本电脑、平板电脑、智能手机或移动电话。接入点106是提供到网络100的无线接入的网络边缘。例如,接入点106可以是无线路由器或网关。每个接入点106可以无线联接到多个客户端设备108。每个接入点106可以是能够广播无线信号以被客户端设备108 访问的无线路由器或任何其他设备。接入点106可以按照IEEE 802.11无线规范来实现。在一些示例中,网络100也可以包括通过路由器112通信联接到网络控制器102的一个或多个有线设备110,路由器112充当网络边缘。有线设备110也可被配置用于软件定义网络。
[0013] 网络控制器102可以通过接入点106控制和管理客户端设备108。例如,网络控制器102可以控制往来于客户端设备108的数据包的传输和接收。网络控制器 102还可以为客户端设备108建立若干个网络策略。网络策略是网络100中的节点和客户端设备所遵循的一组规则、设置或条件。在一些示例中,网络策略可能要求每个客户端设备108在通过接入点106与网络100进行无线通信时保持一定的服务质量(QoS)规范。
[0014] 为了确保每个客户端设备108能够在网络中通信而只有少量的或没有来自其它客户端设备的竞争或干扰,网络控制器102可以生成将可用的通话时间划分成若干个时间窗以在多个客户端设备108中分配的时间表。因此,每个客户端设备或若干个客户端设备108只能在其所指派的时间窗的持续时间内向网络无线传输数据包并可能仅从网络接收数据包。一个或多个客户端设备108的时间窗可以足够大,以便允许往来于一个或多个客户端设备108的若干个连续数据包的突发传输。在一些示例中,时间窗的长度范围可以是从10到100毫秒。在一些示例中,时间表的实现可以由接入点106本身来执行。
[0015] 在一些示例中,网络100可以包含多个接入点106,每个接入点106无线链接到多个客户设备108。通过彼此无线相邻的多个接入点106与网络100通信的多个客户端设备108可能是无线资源的负担,原因在于无线链接到不同接入点的客户端设备之间的竞争或干扰。为了减少竞争或干扰,网络控制器102可以将可用的通话时间划分为若干个接入窗以在多个接入点106中分配。因此,在一个示例中,每个接入点106可能只能够在其所指派的访问窗期间与其无线链接的客户端设备 108进行无线通信。
[0016] 图2是根据本公开示例的被配置用于无线网络的客户端设备的示意图。客户端设备108可以包括被配置为在网络100中以无线方式进行交互的本地控制器 202。例如,本地控制器202可以经由接入点106在网络100中与网络控制器102 进行无线通信。本地控制器202可以联接到客户端设备108中的流量调度器206 和流管理器208。流管理器208可以能够访问客户端设备的应用服务210。客户端设备108可能是台式电脑、笔记本电脑、平板电脑、智能手机、或任何其他被配置用于无线网络的计算设备。
[0017] 在一些示例中,网络控制器102还可以将SDN应用编程接口(API)扩展到联接到网络100的一个或多个客户端设备108上的本地控制器202。该SDN API 可以允许网络控制器102发送包含用于控制客户端设备108的网络活动、QoS和安全性的网络策略的信息。网络策略的示例可以包括:控制网络活动、QoS、速率限制、防火墙规则或在无线数据传输过程中应用的其它安全性策略。
[0018] 本地控制器202可以经由通过无线收发器204进行通信的SDN API从网络控制器102接收时间表。该时间表可以包括一个或多个时间窗,时间窗用于确定客户端设备108何时被授权经由接入点106与网络100无线交换数据包。流量调度器206可以实施该时间表,使得客户端设备108在时间窗开始时排队将数据包传输到接入点106。
[0019] 流量调度器206可以配置客户端设备108,使得客户端设备108的无线传输功能在时间窗之外是非活动的。在一些示例中,流量调度器206可以充当应用服务 210和无线收发器204之间的缓存器。当客户端设备的时间窗是非活动时,流量调度器206可以阻止从应用服务210发送到无线收发器204的数据包。当客户端设备的时间窗是活动时,流量调度器206可以将所缓存的数据包刷新到无线收发器 204。
[0020] 在一些示例中,客户端设备108可能进入“休眠”状态,或无线收发器204 可以在时间窗之外被去激活。如果一段时间内没有外发的数据包被传输,则客户设备108可以被配置为自动休眠。在时间窗之外去激活客户端设备108的无线传输和接收功能可以节约电力,从而也延长电池寿命。流量调度器206可以将客户端设备108配置为在时间窗开始时重新激活无线传输。客户端装置108可以将包或包含唤醒信号的SDN API消息传输到接入点106,以通知网络100客户设备108 准备好传输或接收数据包。
[0021] 流管理器208可以测量通信流数据,并将该数据报告给本地控制器202。通信流数据可以包括关于在客户端设备108和接入点106之间发送的突发传输的信息。例如,流管理器208可以测量突发传输中数据包的数量和数据包的大小、数据包的QoS优先级、突发传输的时间长度、突发传输的频率、每个突发传输之间的时间、检测到的射频(RF)干扰的量、无线链路的质量、或它们在无线通信期间的任意组合。在一些示例中,通信流数据或通信流数据的概要表示可以经由SDN API 被发送到网络控制器102,以用作在确定客户端设备的时间窗表的时间、长度和频率时的因素。流管理器208也可以执行经由SDN API从网络控制器102接收到的网络策略。网络策略的示例可以包括QoS、速率限制、呼叫接纳控制(CAC)、网络接入控制(NAC)、防火墙规则、或其它在无线数据传输期间应用的安全策略。
[0022] 呼叫接纳控制(CAC)是一种调节或限制新应用会话以保护网络免受过多的流量并且保证一定的延迟或带宽敏感性的应用(如使用互联网协议语音(VoIP) 的交互式语音通信)为用户提供可接受的体验质量(QoE)的方法。例如,接入点106可以具有15个并发的VoIP呼叫的CAC限制,使得当15个主动呼叫被建立并被接纳到接入点106上时,接入点106上的附加呼叫尝试将被拒绝或被指派为比之前接纳的呼叫较低的QoS优先级。此外,任何在接入点106上的附加呼叫尝试将被拒绝或被指派为较低的QoS优先级,直到接入点106上的主动呼叫的数目低于CAC限制15。
[0023] 网络接入控制(NAC)是如下一种解决方案,该解决方案使用一套协议来定义用户或设备的认证以及网络安全策略,该策略执行客户端设备被允许在网络100 上访问什么网络资源。例如,网络100可以具有由管理员配置的NAC策略,该策略允许员工的客户端设备通过接入点106与网络100进行无线通信,以访问公司拥有的所有服务器和资源,同时将通过接入点106访问网络100的客人用户的客户端设备限制为仅限于互联网接入。
[0024] 经由SDN API从网络控制器102发送的网络策略还可以包括在无线数据传输期间应用的服务质量(QoS)规范。QoS规范的示例可以包括层3差分服务代码点 (DSCP)值、比特率、延迟、抖动、丢包概率、和被指派给若干个指定应用(如交互式语音或视频会议)的误码率。仅仅通过在所指派的时间窗期间并且以所指派的QoS规范与网络100进行无线传输,客户端设备108能够更好地维持可接受的QoE。
[0025] 为了允许网络控制器102控制并管理包括非SDN功能的客户端设备108(例如,没有SDN API或本地控制器框架的客户端设备)的混合SDN网络,网络控制器102可以指令接入点106使用SDN功能的客户端设备108的时间表与虚拟载波侦听机制的组合,像网络分配矢量(NAV)机制一样来控制非SDN功能的客户端设备108的无线传输。NAV是一种与诸如IEEE 
802.11的无线协议一起使用的预约机制,接入点106 可以使用该机制来指令客户端设备可以接入无线介质多长时间,同时限制其他客户端设备接入无线介质。使用NAV机制来控制非SDN功能的客户端设备的无线接入的示例是使接入点106 发送未经请求的CTS,该CTS包含NAV持续时间和允许客户端设备108进行传输的媒体访问控制地址(MAC地址)。NAV持续时间指令所指定的客户端设备被授权与接入点进行无线通信多长时间和其他客户端设备必须推迟无线接入多长时间。
[0026] 图3是根据本公开示例的图示一个接入点和多个客户端设备之间的无线通信的图。接入点106可以无线链接到三个客户端设备108。三个客户端设备108中的每一个都经由SDN API被给予时间表302,时间表302列出客户端设备108如何被允许与接入点106进行无线通信。时间表302可在一段时间(或周期)内向若干个客户端设备108分派一个或多个时间窗。
[0027] 在图3所示的一个示例中,智能手机108a可以在该智能手机的时间表302a 中的时间窗d1、d2和d3期间,与接入点106进行无线通信。在图3所示的另一个示例中,移动电话108b可以在该移动电话的时间表302b中的时间窗d4期间,与接入点106进行无线通信。在图
3所示的另一个示例中,平板电脑108c可以在该平板电脑的时间表302c中的时间窗d5和d6期间,与接入点106进行无线通信。
[0028] 该时间表可以使用包括由客户端设备108记录的通信流数据的若干个输入来确定。输入的示例包括客户端设备优先级、在客户端设备上运行的应用的QoS优先级、客户端设备流量模式、在以前的周期中每个客户端设备的通话时间使用情况、无线链路的质量、以及客户端设备108之间的任何识别的干扰关系。输入可以是由网络控制器102用来确定如何分配通话时间和网络策略的因素。在一些示例中,具有较高优先级的客户端设备108可以接收较大的时间窗、更频繁的时间窗或独享的通话时间,而具有较低优先级的客户端设备108可以接收较小的时间窗、较不频繁的时间窗、或与若干个其他的客户端设备108共享的通话时间。在一些示例中,在前一个周期中没有完全用完被分派的通话时间的客户端设备108 可以使它们的时间窗被减小。在一些示例中,彼此具有所识别的干扰关系的客户端设备108可以被调度,使得它们各自的时间窗不重叠。在一些示例中,时间表 302被设置为使得每个客户端设备108都能维持由网络控制器102指定的服务质量水平。由此产生的输出可以是具有被指派的时间窗以优化指定客户端设备的体验或者优化网络100的总效率或性能的时间表302。
[0029] 图4是用于在无线网络中设置网络策略的方法的过程流程图。方法400可以通过使用软件定义网络的无线网络的网络控制器来执行,如图1所示。
[0030] 在框402处,在网络中建立接入点与客户端设备之间的无线链路。该网络可以利用软件定义网络(SDN)基础结构。多个其他的客户端设备也可经由接入点被链接到网络。
[0031] 在框404处,生成时间表以将时间窗分配给一个或多个客户端设备。该时间窗确定客户端设备何时被授权经由接入点与网络进行无线通信以及被授权经由接入点与网络进行无线通信多长时间。在该时间窗期间,客户端设备能够在很少或没有来自其他设备的竞争或干扰的情况下,传输往来于接入点的数据包。
[0032] 在框406处,在时间窗期间从客户端设备接收包或包含唤醒信号的SDN API 消息。该唤醒信号可以用作客户端设备准备好传输或接收数据的指示器。
[0033] 在框408处,在接入点与一个或多个客户端设备之间启用无线通信。在时间窗的持续时间中,客户端设备能够在很少或没有来自其他设备的竞争或干扰的情况下与接入点进行无线通信。因此,客户端设备可以能够维持较高水平的QoE。网络可以经由SDN API从客户端设备接收通信流数据。通信流数据可以用作生成未来时间表的因素。
[0034] 在框410处,经由SDN API将网络策略发送到客户端设备。在一些示例中,网络策略可以与呼叫接纳控制(CAC)或网络接入控制(NAC)相关。网络策略可以包括用于接入点与客户端设备之间的无线通信的QoS规范。在一些示例中,如果客户端设备在无线传输期间正经受来自其他设备的无线竞争或干扰,则该QoS 规范可能无法实现。
[0035] 图5是包含用于在无线网络中设置网络策略的指令的有形的、非临时性计算机可读介质的框图。非临时性计算机可读介质500可以包括RAM、硬盘驱动器、硬盘驱动器阵列、光驱、光驱阵列、非易失性存储器、通用串行总线(USB)驱动、数字多功能盘(DVD)或光盘(CD)等。有形的、非临时性计算机可读介质500 可由处理器502通过计算机总线504访问。此外,有形的、非临时性计算机可读介质500可以包括被配置为指引处理器502执行本文所描述的技术的指令。
[0036] 如图5所示,本文所讨论的各个组件可以被存储在非临时性计算机可读介质 500上。无线连接模块506可以被配置为建立接入点与客户端设备之间的无线连接。时间表生成模块508可以被配置为生成能够将时间窗分配给客户端设备的时间表。设备唤醒检测模块510可以被配置为在时间窗期间从客户端设备接收唤醒信号。无线通信模块512可以被配置为启用接入点与客户端设备之间的无线通信。网络策略模块514可以被配置为经由SDN API将网络策略发送给客户端设备。
[0037] 图5的框图并不旨在指示有形的、非临时性计算机可读介质500包括图5所示的所有组件。进一步,取决于具体实施方式的细节,有形的、非临时性计算机可读介质500可以包括图5中未示出的任意数量的附加组件。
[0038] 虽然目前的技术可能易受各种修改和替代形式的影响,但上面所讨论的示例性实施例仅通过示例的方式被示出。应该理解,本技术并不旨在局限于本文所公开的具体示例。事实上,本技术包括落入所附权利要求书的真实精神和范围内的所有替代方式、修改和等同方案。