欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于动态且无缝的链路选择的方法和设备独创技术43978字

用于动态且无缝的链路选择的方法和设备

2021-03-15 17:58:47

用于动态且无缝的链路选择的方法和设备

  相关申请的交叉引用

  本申请要求于2018年8月31日提交的第16/120,088号美国申请的优先权,该美国申请又要求于2018年4月13日提交的第62/657,553号美国临时专利申请的权益,这些申请的内容通过引用全部被合并于此。

  技术领域

  本公开总地涉及计算机联网,更具体地涉及在云管理的无线局域网(LAN)中引导无线接入点和无线链路的选择。

  背景技术

  传统的无线局域网(WLAN)通常包含驻地(on-premise)控制器。控制器是一个中央实体,它从接入点收集必要的信息,并决定哪个接入点将提供连接客户端设备的无线信道。驻地控制器一般与接入点位于同一个有线LAN上,并接收客户端设备的探测请求和/或由接入点转发的关联请求。除了转发请求外,每个接入点还向相应的控制器报告与负载有关的统计信息。这些统计信息可以是当前关联的客户端设备的简单数目,也可以是指示接入点的繁忙程度或利用程度的复杂度量。

  与传统的WLAN不同,由于考虑延迟,云管理的WLAN架构通常不允许驻地控制器为接入点做关联决策。例如,当客户端设备发送关联请求时,将信息发送到互联网上的逻辑云控制器并等待其决策将导致关联响应时间的不可接受的延迟,从而恶化用户体验。但是,如果不考虑无线网络的总体负载,则为客户端选择的接入点可能不是最佳的。例如,在现有的云管理的WLAN架构中,无线链路经常会经历时间和空间变化,例如,客户端设备移动到不同的位置。为了适应这种变化,需要在接入点之间进行切换。因此,在现有的云管理的WLAN架构中,如果没有总体无线网络信息,则在切换期间选择的接入点可能无法提供最佳的客户体验。

  附图说明

  为了使本领域普通技术人员理解本公开,可以通过参考一些说明性实现方式的各方面来做出更详细的描述,其中,一些实现方式在附图中示出。然而,附图仅示出了本公开的一些示例特征,并且因此不应该被认为是限制性的,因为描述可能允许其他有效特征。

  图1是根据一些实现方式的网络环境的示意图。

  图2是根据一些实现方式的示例接入点选择过程的示意图。

  图3是根据一些实施方式的接入点交换控制消息的示意图。

  图4是根据一些实现方式的存储有候选和负载信息的接入点的示意图。

  图5A和5B是示出根据一些实现方式的粘性客户端管理的示意图。

  图6是根据一些实现方式的动态且无缝的链路选择方法的流程图。

  图7是根据一些实现方式的计算设备的框图。

  根据惯例,附图中所示的各种特征可能不是按比例绘制的。因此,为了清楚,各种特征的尺寸可能任意扩大或减小。另外,一些附图可能未描绘给定系统、方法、或设备的所有组件。最后,在整个说明书和附图中,可以使用相同的参考标记来表示相同的特征。

  具体实施方式

  描述了许多细节,以便提供对附图中示出的示例实现方式的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被认为是限制性的。本领域普通技术人员将理解的是,其他有效方面和/或变型并不包括本文所述的所有具体细节。此外,并未详尽地描述公知的系统、方法、组件、设备、和电路,以免模糊本文描述的示例实现方式的更多相关方面。

  概述

  云管理的WLAN在企业市场中已获得关注。至少由于上述原因,在没有驻地控制器协助决策的做出的情况下,客户端设备负载均衡在现有的云管理的WLAN中尤其具有挑战性。在先前存在的云管理的WLAN中,尽管客户端设备总是试图与最佳接入点(例如,提供最强和/或最可靠的信号)相关联,但这通常是不可能的。在初次关联时,无线客户端通常会基于预先配置的连接标准从(可能的)多个接入点中选择一个接入点。然而,无线链路经常随时间改变(例如,由于干扰、客户端漫游等),从而使得基于静态信息的早期决策变得过时。此外,客户端设备通常基于其自己的网络视角来关联接入点,该接入点对于客户端设备个体而言可能是(或可能不是)最佳的,但是对于网络整体而言不是最佳的(例如,考虑到连接到网络的其他客户端设备)。尽管客户端设备能够重新关联到其他接入点,但是由于客户端设备的自私动机及其有限的网络视角,这种行为不仅是不确定的(例如,取决于个体客户端实现方式),而且还可能会导致另一次佳决策。现有的云管理的WLAN中无法进行动态负载均衡,这阻碍了在企业无线部署中实现高性能(例如,吞吐量)的网络配置。

  因此,本文描述了以分布且及时的方式执行客户端设备负载均衡的方法和设备。本文描述的实施例适用于具有多个接入点和多个客户端设备的云管理的WLAN,并且多个客户端设备中的每一个客户端设备可以关联到用于无线连接的多个候选接入点。本文描述的实施例提出了动态且无缝的链路选择机制,其解决了现有的云管理的WLAN中的前述问题。根据一些实现方式,不同的接入点-客户端链接被探测,并在当前状况下的最佳链接被选择。在一些实现方式中,当前状况可能受到诸如,接入点负载、无线干扰、可达容量等因素的影响。在一些实现方式中,一旦接入点和相关联的接入点-客户端链接被探测到,接入点即交换它们的连接得分并明确地确定客户端设备可以与之关联的优选接入点(也称为获胜者接入点)。因此,在不依赖来自客户端设备的信息的情况下,相邻接入点可以在它们之间移动客户端设备,并且可以连续测量度量以便选择符合一个或多个客户端连接标准的最佳接入点。在一些实现方式中,前述过程周期性地发生以应对变化的无线状况。这可以确保每个客户端设备始终连接到各自的最佳接入点。

  在一些实现方式中,在包括处理器和非暂态存储器的接入点处执行动态且无缝的链路选择方法。该方法包括从客户端设备接收请求消息,其中,该请求消息包括对于从接入点为客户端设备分配无线信道的请求。该方法还包括与多个其他接入点交换候选和负载信息。该方法还包括基于与多个其他接入点交换的候选和负载信息,从该接入点和多个其他接入点中选择优选接入点。该方法还包括促进从优选接入点为客户端设备分配无线信道。

  在一些实现方式中,候选和负载信息通过有线连接在接入点和多个其他接入点之间交换。

  在一些实现方式中,与多个其他接入点交换候选和负载信息是响应于接收到请求消息执行的。

  在一些实现方式中,与多个其他接入点交换候选和负载信息是周期性地执行的。

  在一些实现方式中,该方法还包括基于从多个其他接入点接收的候选和负载信息,来更新存储在非暂态存储器中的本地候选表和本地负载表。在这样的实现方式中,本地候选表可以包括针对可连接到该接入点以及多个其他接入点的每个客户端设备的候选接入点。在这样的实现方式中,本地候选表的条目可以包括特定客户端设备的MAC地址、特定客户端设备的候选接入点的子表、特定客户端设备的当前优选接入点、以及该条目的最近更新的时间戳。在这样的实现方式中,本地负载表可以包括该接入点和多个其他接入点的负载。在这样的实现方式中,本地负载表的条目可以包括相应接入点的LAN IP地址、相应接入点的当前负载、以及该条目的最近更新的时间戳。

  在一些实现方式中,基于与多个其他接入点交换的候选和负载信息从该接入点和多个其他接入点中选择优选接入点包括:基于候选和负载信息选择候选接入点中具有最低负载的优选接入点。

  在一些实现方式中,请求是探测请求,该探测请求包括客户端设备的SSID和无线信道的RSSI。在这样的实现方式中,与多个其他接入点交换的候选和负载信息包括候选资格消息,该候选资格消息将其托管客户端设备的候选资格通知给多个其他接入点。

  在一些实现方式中,分配无线信道的请求包括来自客户端设备的建立无线信道的关联请求。在这样的实现方式中,与多个其他接入点交换的候选和负载信息包括负载消息,该负载消息用于将接入点的负载的增加更新到多个其他接入点。在这样的实现方式中,促进从优选接入点为客户端设备分配无线信道包括:响应于接收到关联请求,确定接入点是否是优选接入点;根据接入点是优选接入点的判定,将具有成功状态的关联响应发送给客户端设备;以及根据接入点不是优选接入点的判定,将具有拒绝状态的关联响应发送给客户端设备。

  在一些实现方式中,该方法还包括检测客户端设备与接入点的解除关联。在这样的实现方式中,与多个其他接入点交换的候选和负载信息包括负载消息,该负载消息用于将接入点的负载的减少更新给多个其他接入点。

  在这样的实现方式中,基于候选和负载信息从该接入点和多个其他接入点中选择优选接入点包括:周期性地检查无线信道的质量是否已经下降到预定阈值以下;以及根据无线信道的质量已经下降到预定阈值以下的判定,从多个其他接入点选择优选接入点;以及促进从优选接入点为客户端设备分配无线信道包括将客户端设备转向优选接入点。

  示例实施例

  图1是根据一些实现方式的网络环境100的示意图。尽管示出了某些具体特征,但是本领域普通技术人员将从本公开中认识到,为了简洁,未示出各种其他特征,以免混淆本文中公开的示例实现方式的更多相关方面。为此,网络环境100包括多个客户端设备140-1、140-2、140-3、140-4...140-x,以下统称为客户端设备140。客户端设备140无线连接到各种网络接入点,例如,接入点A 130A、接入点B 130B、接入点M 130M、接入点X 130X...接入点Z130Z等。在一些实现方式中,网络环境100还包括耦合到云120的云管理的WLAN控制器110。

  云120可以是例如,广域网(WAN)(例如,互联网)、蜂窝网络、和/或企业网络。诸如防火墙、病毒扫描程序、路由器、交换机、应用服务器、数据库、以及附加控制器、接入点、接入交换机、站点等的附加网络组件也可以是网络环境100的一部分。在一些实现方式中,网络环境100中的网络组件被实现为硬件、软件、或它们两者的组合。

  在一些实现方式中,云管理的WLAN控制器110提供对网络100中的网络服务的远程管理。在一些实现方式中,云管理的WLAN控制器110卸载对网络延迟敏感的至少一些实时决策。在一些实现方式中,卸载的任务分布在无线接入点130A、130B、130M、130X、和/或130Z等之间。在这样的实现方式中,管理决策是基于网络范围的考虑做出的,而不允许(一个或多个)独立的接入点仅基于(一个或多个)本地考虑来私自做出决策。

  在一些实现方式中,客户端设备140是例如,个人计算机、膝上型计算机、平板计算机、智能电话、移动计算设备、服务器、基于云的设备、虚拟设备、互联网装置、和/或类似设备。在一些实现方式中,客户端设备140通过无线信道耦合到接入点130。在一些实现方式中,客户端设备140使用符合IEEE 802.11x的网络软件和射频(RF)天线来接入作为云120的一部分的WLAN或网络(例如,包括如图1所示的交换机)。

  在一些实现方式中,为了向客户端设备140提供网络服务,接入点130遵循IEEE802.11x协议(由电气电子工程师协会公布)。这样,接入点通过无线通信信道向客户端设备140提供Wi-Fi服务。在IEEE 802.11下,具有一个或多个基本服务集标识符(BSSID)的信标被周期性地发送,以通告新连接的存在并维护当前连接。接入点130随后侦听寻址到关联BSSID的分组,并忽略寻址到未关联BSSID的分组。此外,接入点130转发寻址到关联站点的MAC(媒体访问控制)地址的分组。在一些实现方式中,每个接入点130连接到与云120连接的有线集线器、交换机、或路由器。在一些实现方式中,可以将接入点功能结合到交换机或路由器中。因此,根据本文描述的实现方式的执行动态且无缝的链路选择的接入点130减少了与云管理的WLAN控制器110的实时通信。结果,当客户端设备140漫游时,网络100提供更快的切换。

  图2是示出根据一些实现方式的响应于探测请求的接入点选择的示意图200。尽管示出了某些具体特征,但是本领域普通技术人员将从本公开中认识到的是,为了简洁未示出各种其他特征,以免混淆本文中公开的示例实现方式的更多相关方面。为此,在一些实现方式中,客户端设备220通过在多个无线信道上向一个或多个候选接入点210广播探测请求来扫描射频频谱。例如,客户端设备220向候选接入点1 210-1、接入点2 210-2、接入点3210-3...接入点N 210-N广播探测请求。接入点210-1、210-2、210-3...210-N是用于向客户端设备220提供无线服务的候选者。

  在一些实现方式中,每个接入点210接收到的探测请求包括服务集标识符(SSID)和接收信号强度指示(RSSI)。在一些实现方式中,如图2中的虚线所示,响应于接收到探测请求,接入点210生成封装候选和负载信息的控制消息并交换控制消息,以便从服务于客户端设备220的接入点210中选择优选接入点(也称作“获胜者接入点”)。下面将参考图4进一步详细描述优选接入点选择。

  在一些实现方式中,当相应接入点210接收到相应的探测请求时,其确定该相应请求中的SSID是否与相应接入点210支持的SSID之一匹配。在一些实现方式中,相应接入点210还检查来自客户端设备220的相应探测请求中的RSSI是否高于某个阈值,以确保无线连接质量。如下所述,在一些实现方式中,到其主机接入点的RSSI已下降到良好的无线连接质量的阈值以下的粘性客户端被转向能够提供更好的无线连接的另一候选接入点。

  在一些实现方式中,对于每个客户端设备220,存在可以托管它的多个候选接入点,其中的一些候选接入点具有比其他候选接入点更高的负载。例如,在候选接入点210-1、210-2、210-3...210-N中,候选接入点1 210-1可以在上午为比接入点2 210-2更多的客户端设备提供服务,并且在晚上为比接入点3 210-2更少的客户端设备提供服务。如以下将详细描述的,在一些实现方式中,选择具有最低负载的优选接入点来为客户端设备220提供无线服务。

  图3是根据一些实现方式的接入点交换控制消息的示意图300。尽管示出了某些具体特征,但是本领域普通技术人员将从本公开中认识到,为了简洁未示出各种其他特征,以免混淆本文中公开的示例实现的更多相关方面。为此,在一些实现方式中,接入点通过在有线LAN上广播控制消息来与同一子网内的其他接入点交换最新的候选资格(相对于客户端设备)和负载信息。具体地,a)在接收到来自客户端的探测请求时,接入点通过有线LAN广播候选资格消息,以将其托管此客户端的候选资格通知给其他接入点;b)在客户端加入或离开无线网络时,主机接入点通过有线LAN广播负载消息,以将其负载更新给其他接入点。

  例如,在图3中,客户端设备310可以无线连接至接入点A 320-A,如以上参考图2所述地向多个接入点320发出探测请求,请求建立与接入点A 320-A的无线连接或从接入点A320-A断开。响应于从客户端设备310接收到探测请求,接入点A 320-A广播候选资格消息,以向其他接入点(例如,接入点B 320-B和接入点M 320-M)通知其托管客户端设备310的候选资格。响应于关联请求,接入点A 320-A向其他接入点(例如,接入点B 320-B和接入点M320-M)广播指示其增大负载的负载消息。响应于检测到客户端设备310的解除关联,接入点A 320-A向其他接入点(例如,接入点B 320-B和接入点M 320-M)广播指示其减小负载的负载消息。

  在一些实现方式中,候选资格消息和负载消息通过有线LAN被广播到其他接入点。例如,在图3中,WLAN子网305包括多个节点,诸如,Nl 330-1、N2 330-2、N3 330-3、N4 330-4、N5 330-5、N6 330-6、N7 330-7等。这些节点330通过有线链路与作为边缘节点的多个节点连接。边缘节点(例如,N1 330-1、N2 330-2、和N5 330-5)通过有线链路连接到接入点320,例如,接入点A 320-A通过有线链路连接到边缘节点N1 330-1,接入点B 320-B连接到边缘节点N5 330-5,并且接入点M 320-M连接到边缘节点N2 330-2。此外,边缘节点N1 330-1通过有线链路连接到边缘节点N5 330-5和边缘节点N2 330-2。根据一些实现方式,通过有线链路,来自接入点320的控制消息(包括候选资格消息和负载消息)在WLAN子网305内交换。

  利用网络305中的接入点的最新候选资格和负载信息,每个接入点均具有按照网络305的最大利益决定其是否接受客户端设备关联请求的信息。例如,如果接入点A 320-A在客户端设备310的候选接入点320中具有最低负载,则接入点A 320-A可以通过向客户端设备310发送状态码为0(表示在某些IEEE 802.11标准中为成功)的关联响应来接受客户端设备310关联请求。另一方面,如果另一候选接入点具有更低负载,例如,接入点B 320-B,则接入点A 320可以拒绝关联请求,例如,通过向客户端设备310发送状态码为17(表示在某些IEEE 802.11标准中“由于接入点无法处理另外的关联站点而拒绝了关联”)的关联响应。

  图4是根据一些实现方式的具有候选资格和负载信息的接入点的示意图。尽管示出了某些具体特征,但是本领域普通技术人员将从本公开中认识到,为了简洁未示出各种其他特征,以免混淆本文中公开的示例实现方式的更多相关方面。

  为此,在一些实现方式中,每个接入点400维护每客户端候选表410,该表跟踪每个客户端设备420的候选接入点。在一些实现方式中,候选表410的每个条目记录相应客户端设备的MAC地址430(例如,作为用于查找的关键字)、客户端设备的候选接入点的子表432、客户端设备的当前优选(或最佳或获胜者)接入点434、最近更新的时间戳436等。例如,对于客户端设备A 420-A,候选表410包括客户端设备A 420-A的MAC地址430-A、客户端设备A420-A的候选接入点的子表432-A、客户端设备A 420-A的获胜者接入点434-A、以及候选表410中针对客户端A 420-A的条目的最近更新的时间戳436-A等。

  在一些实现方式中,子表432的每个条目记录相应候选接入点的LAN IP地址450、相应候选接入点的BSSID 452、从客户端设备到候选接入点的RSSI 454、以及最近更新的时间戳456。例如,如图4所示,多个候选接入点,例如,候选接入点1 440-1、候选接入点2 440-2...候选接入点N 440-N与客户端设备A 420-A相关联。对于候选接入点1 440-1,候选接入点子表432-A包括其LAN IP地址450-1、BSSID 452-1、从客户端设备420-A到候选接入点1440-1的RSSI 454-1、以及子表中针对候选接入点1440-1的条目的最近更新的时间戳456-1等。如对应于图2和图3所示,与候选接入点432相关联的信息是通过可连接到客户端设备420的接入点之间的候选资格和负载信息交换获得的,并且在获得交换信息之后,候选资格信息被存储在包括子表432的候选表410中。

  在一些实现方式中,每个接入点400还维护负载表460,其跟踪多个接入点(例如,同一WLAN子网305内的接入点,图3)的负载。负载表460的每个条目记录接入点的LAN IP地址、其当前负载、以及最近更新的时间戳。例如,如图4所示,负载表460包括接入点A 470-A、接入点B 470-B...接入点N 470-N的负载信息。对于接入点A,负载表460中的条目包括其LAN IP 472-A、当前负载474-A、和针对接入点A 470-A的条目的最近更新的时间戳476-A等。

  通过将候选表410和负载表460本地存储在每个接入点400上,这些表410和460中本地存储的信息可以用于以分布且及时的方式实现客户端设备负载均衡。例如,当接入点(A)从客户端设备(C)接收到探测请求时,A检查探测请求中的SSID。如果SSID不为空并且与A支持的任何SSID不匹配,则A不采取任何措施。否则,A查找其候选表410,更新一个或多个现有条目,或相应地插入针对C的新条目。如有必要,A还更新针对C的获胜者接入点,例如,如果A本身在候选接入点中具有最低负载,则更新相应的获胜者接入点434。此外,如果SSID与A支持的SSID之一匹配,则A构造候选资格消息并将该消息(例如,作为图3中的控制消息)通过有线LAN广播到其他接入点。在一些实现方式中,候选资格消息承载A的当前负载、C的MAC地址、从C到A的RSSI、以及当前时间戳。在接收到候选资格消息之后,其他接入点相应地更新其本地候选表410和负载表460,例如,更新负载表中的当前负载474、候选表410中的MAC地址430、候选表410中的时间戳436、和/或候选接入点子表432中的时间戳456。

  继续上面的示例,当另一接入点(B)从A接收到带有C的MAC地址的候选资格消息时,B查找其负载表460,更新现有条目或相应地插入针对A的新条目(该新条目中承载A的当前负载),并且更新其候选表410中针对客户端(A是这些客户端的候选接入点)的获胜者接入点。B还查找其候选表410,更新现有条目,或相应地插入针对C的新条目。如有必要,B更新候选表410中针对C的获胜者接入点434;例如,如果在C的候选接入点中B具有最低负载。

  在另一示例中,当A从C接收到关联请求时,A查找其本地候选表410。如果A本身是C的当前获胜者接入点,则A通过向C发送状态码为0的关联响应来接受请求。如果A不是C的当前获胜者接入点,则A通过向C发送状态码为17的关联响应来拒绝该请求。在第一个请求被拒绝之后,某些客户端设备可能不理解此示意并向同一接入点发送第二个关联请求。为了容纳这些客户端设备,在一些实现方式中,接入点跟踪这样的拒绝并配置在拒绝第一个请求之后接受第二个关联请求的策略。除了发送关联响应之外,根据一些实现方式,当C关联到A或从A解除关联时,A还在负载表460中更新其负载,构造负载消息(例如,控制消息,图3),并通过有线LAN将该消息广播到其他接入点。当接入点B从A接收到负载消息时,B查找其负载表460,更新现有条目,或使用该消息中承载的A的当前负载相应地插入针对A的新条目,并且在候选表410中为客户端(A是这些客户端的候选接入点)更新获胜者接入点432。

  根据本文所述实现方式的客户端均衡还适用于当前关联的客户端,因为接入点之间的负载分配随着时间的推移变得不均衡。在一些实现方式中,每个接入点周期性地广播负载消息(例如,作为控制消息的一部分,图3),以确保其他接入点具有最新的负载信息。因此,当决定客户端的获胜者接入点时,接入点考虑该接入点最近从其接收到负载消息的多个候选接入点。这在接入点发生故障而其他接入点尚未因此而接收到来自此接入点的任何消息时特别有用。在一些实现方式中,每个接入点还周期性地检查其候选表410,以确定该接入点是否不再是当前关联的客户端设备的获胜者接入点;例如,客户端设备的另一候选接入点具有更低负载。在接入点不再是获胜者接入点的情况下,在一些实现方式中,该接入点尝试离开(steer away)客户端设备。在一些实现方式中,如果客户端设备支持IEEE802.1lv,则接入点通过向客户端设备发送BSS转变管理请求帧来离开客户端设备。在一些实现方式中,如果客户端设备不支持IEEE 802.11v,则接入点向客户端设备发送解除关联帧。

  前述方法还适用于粘性客户端设备(也称为粘性客户端),粘性客户端设备相对于其主机接入点的相应RSSI已降到支持良好的无线连接质量的阈值以下,但尚未主动漫游至具有更好连接的接入点。在粘性客户端设备的情况下,定期广播负载并检查获胜者接入点有助于将粘性客户端设备动态且无缝转变到其他无线链路,以实现更好的连接。

  例如,在图5A和5B中,接入点A 510-A和接入点B 510-B均连接到WLAN子网501。如图5A所示,客户端设备505最初连接到接入点A 510-A。在一些实现方式中,不同的接入点-客户端链路被探测,并且当前状况下的最佳链路被选择。当前状况可能会受到诸如,接入点负载、无线干扰、可达容量等因素的影响。因为接入点如上参照图2-4所述地彼此通信,而不依赖于来自客户端设备的信息,所以相邻接入点可以在它们之间无缝地移动客户端设备并连续地测量确定具有最佳客户端连接条件的接入点的度量。一旦接入点被探测到,它们将交换其连接得分,并明确地确定客户端设备随后与之关联的获胜者接入点。如以上参考图4所描述的,在一些实现方式中,探测过程周期性地发生以应对动态无线状况。这样可以确保客户端连接到最佳接入点。在图5B中,由于基于对接入点A 510-A和客户端设备505之间的无线链路和/或无线子网501的当前状况的探测,接入点B 510-B被共同选择作为获胜者接入点,客户端设备505被无缝切换至接入点B 510-B。

  接入点-客户端链路选择对于良好的网络性能至关重要,并且是一个长期研究的问题,但是尚无明确的解决方案。现有的机制在很大程度上取决于客户端,让客户端根据其有限的网络视角选择最佳接入点。尽管诸如802.l1v的新标准允许接入点避开客户端,但此过程很大程度上取决于客户端的行为,因为客户端可能希望坚持使用当前接入点。此外,可能的中断(例如,由于与另一接入点的重新关联导致的中断)阻止客户端连续改变接入点。本文所述的实现方式使用探测驱动的方法以便为客户端选择最佳接入点。由于探测对客户端是透明的,因此,最佳接入点选择的有效性比常规系统和方法有所提高。根据本文描述的一些实现方式,客户端设备甚至可能不知道物理接入点的无缝切换。这样,流量照常流动,客户端设备在链路选择和建立过程中不会遭受服务中断,从而减少了关联开销并消除或减少了服务中断。

  图6是根据一些实现方式的动态且无缝的链路选择方法600的流程图。在一些实现方式中,如以下作为示例所详述的,方法600在诸如无线接入点130(图1)、210(图2)、320(图3)、400(图4)、或510(图5)的接入点处执行。在一些实现方式中,方法600由包括硬件、固件、软件、或它们的组合的处理逻辑来执行。在一些实现方式中,方法600由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器、控制器、和/或电路执行。简而言之,方法600包括:从客户端设备接收请求消息,其中,该请求消息包括对于从接入点为客户端设备分配无线信道的请求;与多个其他接入点交换候选和负载信息;基于与多个其他接入点交换的候选和负载信息,从该接入点和多个其他接入点中选择优选接入点;以及促进从优选接入点为客户端设备分配无线信道。

  为此,如框610所示,方法600包括从客户端设备接收请求消息。在一些实现方式中,请求消息包括对于从接入点为客户端设备分配无线信道的请求。例如,如图2和5A-5B所示,该请求消息可以是来自客户端设备220的探测请求消息。在另一示例中,如图3所示,该请求消息可以是探测请求消息、关联(或加入)请求消息。

  如框620所示,方法600继续进行,其中,接入点与多个其他接入点交换候选和负载信息。例如,如图3所示,候选和负载信息被封装在一个或多个控制消息中,并且接入点A320-A与接入点B 320-B和接入点M 320-M交换一个或多个控制消息。此外,如框622所示,在一些实现方式中,封装在一个或多个控制消息中的候选和负载信息是通过有线链路在该接入点与多个其他接入点之间交换的。在一些实现方式中,这些接入点位于同一子网、同一楼层、同一建筑物、或同一LAN网段中。例如,在图3中,接入点A 320-A、接入点B 320-B、和接入点M 320-M是同一WLAN子网305的部分。此外,如图3所示,在接入点A 320-A与其他接入点(例如,接入点B 320-B和接入点M 320-M)之间交换的控制消息是通过有线链路进行的。例如,在接入点A 320-A和接入点B 320-B之间交换的控制消息穿过连接节点N1 330-1和节点N5 330-5的有线链路。在另一示例中,在接入点A 320-A和接入点M 320-M之间交换的控制消息穿过连接节点N1 330-1、节点N5 330-5、节点N7 330-7、和节点N2 330-2的有线链路。

  在一些实现方式中,如框624所示,候选和负载信息是响应于接收到请求消息而交换的;例如,候选接入点210响应于从客户端220接收到探测请求而交换候选和负载信息,如图2中的虚线所示。在一些其他实现方式中,如框626所示,该接入点和多个其他接入点周期性地交换候选和负载信息。

  在一些实现方式中,如框628所示,方法600包括:基于从多个其他接入点接收的候选和负载信息,更新存储在该接入点的非暂态存储器中的本地候选表和本地负载表。例如,如图4所示,存储在接入点400上的本地候选表410包括对于每个客户端设备420的候选接入点432,并且存储在接入点400上的本地负载表460保持跟踪接入点470的负载。此外,如图4所示,在一些实现方式中,本地候选表的条目包括特定客户端设备420的MAC地址430(例如,作为用于查找或索引的关键字)、特定客户端设备的候选接入点的子表432、特定客户端420的当前优选接入点434、以及条目的最近更新的时间戳436。此外,如图4所示,在一些实现方式中,本地负载表的条目包括相应接入点470的LAN IP地址472、相应接入点470的当前负载474、以及该条目的最近更新的时间戳476。

  再次参考图6,如框630所示,方法600包括基于与多个其他接入点交换的候选和负载信息,从该接入点和多个其他接入点中选择优选接入点。在一些实现方式中,如框632所示,基于与多个其他接入点交换的候选和负载信息从该接入点和多个其他接入点中选择优选接入点包括:基于候选和负载信息,选择候选接入点中具有最低负载的优选接入点。换句话说,在客户端设备的候选接入点中,优选接入点具有最低负载。可以使用其他选择优选接入点的标准来代替最低负载标准,或与最低负载标准结合使用,例如等待时间、带宽、距离、用户配置的策略(例如,在拒绝来自同一客户端的第一个关联请求之后接受第二个关联请求)、安全性等。

  仍然参考图6,如框640所示,方法600包括促进从优选接入点为客户端设备分配无线信道。在一些实现方式中,请求可以是探测请求或关联请求。

  例如,如框642所示,请求可以是探测请求,包括客户端设备的SSID和无线信道的RSSI,如图2所示。在这样的实施例中,如框644所示,与多个其他接入点交换的候选和负载信息包括候选资格消息,该候选资格消息将其托管客户端设备的候选资格通知给多个其他接入点。例如,如图2所示,一旦从客户端设备接收到探测请求,接入点就会广播候选资格消息(例如,通过同一子网中的有线LAN),以将其托管客户端设备的候选资格告知其他接入点。因此,如以上参考图4所解释的,多个其他接入点更新各自的本地候选表410和/或本地负载表460。

  在另一示例中,如框646所示,对于分配无线信道的请求包括来自客户端设备的建立无线信道的关联请求。在这样的实施例中,如框648所示,与多个其他接入点交换的候选和负载信息包括负载消息,以便将该接入点的负载增大更新给多个其他接入点。在接收到负载消息时,多个其他接入点更新每个相应的本地负载表(例如,图4中的负载表460)中的负载信息。此外,在这样的实施例中,如框650所示,促进从优选接入点为客户端设备分配无线信道包括:响应于接收到关联请求,确定接入点是否是优选接入点。例如,在图4中,通过检查候选接入点子表432并交叉参考负载表460,可以确定客户端设备的候选接入点的当前负载。根据一些实现方式,具有最低负载的接入点将是优选接入点。在确定了优选接入点之后,如果该接入点是优选接入点,则该接入点向客户端设备发送具有成功状态(例如,IEEE802.11标准中的状态码0)的关联响应。替代地,根据关于接入点不是优选接入点的判定,该接入点向客户端设备发送具有拒绝状态(例如,IEEE 802.11标准中的状态码17)的关联响应。

  在一些实现方式中,如框652所示,方法600还包括检测客户端设备与接入点的解除关联。在这样的实现方式中,如框654所表示的,与多个其他接入点交换的候选和负载信息包括负载消息,以便将该接入点的负载减小更新给多个其他接入点。如上面参考图4所解释的,在接收到该负载消息时,多个其他接入点更新每个相应的本地负载表(例如,图4中的负载表460)中的负载信息。

  在一些实现方式中,如框656所示,方法600包括周期性地检查无线信道的质量,以使得在客户端设备是粘性客户端设备的情况下(如图5所示,这种客户端设备到接入点的RSSI已经下降到预定阈值以下),基于存储在该接入点上的候选和负载信息从多个其他接入点中选择优选接入点。在这样的实现方式中,促进从优选接入点为客户端设备分配无线信道包括:将客户端设备转向优选接入点,以获得更好的无线信道质量。

  图7是根据一些实现方式的计算设备700的框图。在一些实现方式中,计算设备700对应于接入点,诸如无线接入点130(图1)、210(图2)、320(图3)、400(图4)、或510(图5),并执行以上针对接入点描述的一项或多项功能。尽管示出了某些具体特征,但是本领域技术人员将从本公开中意识到,为了简洁没有示出各种其他特征,以免混淆本文所公开的实施例的更多相关方面。为此,作为非限制性示例,在一些实现方式中,计算设备700包括一个或多个处理单元(CPU)702(例如,处理器)、一个或多个网络接口707、存储器710、编程接口705、以及用于互连这些和各种其他组件的一个或多个通信总线704。在一些实现方式中,一个或多个网络接口707包括至少一个无线网络接口和至少一个有线网络接口。例如,通过至少一个无线网络接口,计算设备700(例如,接入点设备)与一个或多个客户端设备建立无线连接,如图1所示;计算设备700通过至少一个有线网络接口连接到WLAN子网,如图3所示。

  在一些实现方式中,通信总线704包括互连并控制系统组件之间的通信的电路。存储器710包括高速随机存取存储器,例如,DRAM、SRAM、DDR RAM、或其他随机存取固态存储器设备;并且在一些实现方式中,包括非易失性存储器,例如,一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。存储器710可选地包括一个或多个远离(一个或多个)CPU 702的存储设备。存储器710包括非暂态计算机可读存储介质。此外,在一些实现方式中,存储器710或存储器710的非暂态计算机可读存储介质存储以下程序、模块、和数据结构或其子集,包括可选操作系统720、候选表730(例如,图4中的候选表410)、负载表740(例如,图4中的负载表460)、请求接收器750、交换器760、选择器770、和促进器780。在一些实现方式中,一个或多个指令被包括在逻辑和非暂态存储器的组合中。操作系统720包括用于处理各种基本系统服务以及用于执行硬件相关任务的过程。

  在一些实现方式中,请求接收器750被配置为从客户端设备接收请求消息,该请求消息包括对于从接入点为客户端设备分配无线信道的请求。为此,请求接收器750包括一组指令752a以及试探法和数据752b。

  在一些实现方式中,交换器760被配置为与多个其他接入点交换候选和负载信息。为此,交换器760包括一组指令762a以及试探法和数据762b。

  在一些实现方式中,选择器770被配置为基于与多个其他接入点交换的候选和负载信息,从该接入点和多个其他接入点中选择优选接入点。为此,选择器770包括一组指令772a以及试探法和数据772b。

  在一些实现方式中,促进器780被配置为促进从优选接入点为客户端设备分配无线信道。为此,促进器780包括一组指令782a以及试探法和数据782b。

  尽管候选表730、负载表740、请求接收器750、交换器760、选择器770、和促进器780被示出为驻留在单个计算设备700上,但是应当理解的是,在其他实施例中,被示为驻留在单个计算设备700上的候选表730、负载表740、请求接收器750、交换器760、选择器770、和促进器780的任意组合在各种实现方式中可以驻留在不同的计算设备中。例如,在一些实现方式中,被示出为驻留在单个计算设备700上的候选表730、负载表740、请求接收器750、交换器760、选择器770、和促进器780中的每一个驻留在不同的计算设备上。

  此外,与本文描述的实施例的结构示意图相反,图7更多地用作在特定实现中存在的各种特征的功能描述。如本领域普通技术人员所认识的,分开显示的项目可以被组合在一起并且一些项目可以被分开。例如,在各个实施例中,图7中分开示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可以由一个或多个功能块实现。模块的实际数目以及特定功能的划分以及特征在模块之间的分配方式依据实施例而不同,并且可能部分地取决于为特定实施例所选择的硬件、软件、和/或固件的特定组合。

  尽管上面描述了所附权利要求书范围内的实现方式的各个方面,但是应当清楚的是,上述实现方式的各个特征可以具体化为多种形式,并且上述任何特定的结构和/或功能仅仅是说明性的。基于本公开,本领域技术人员应认识到,本文描述的一个方面可以独立于任何其他方面来实现,并且这些方面中的两个或更多个方面可以以各种方式组合。例如,可以使用本文阐述的任何数量的方面来实现一种装置和/或实践一种方法。另外,可以使用本文阐述的一个或多个方面之外的其他结构和/或功能或除了使用本文阐述的一个或多个方面还另外使用其他结构和/或功能来实现这种装置和/或实践这种方法。

  还应理解,尽管术语“第一”、“第二”等在本文中可用于描述各种元素,但是这些元素不应受到这些术语的限制。这些术语仅用于区分一个元素和另一个元素。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,这改变了描述的意思,只要“第一节点”的所有出现都被一致地重命名并且所有出现的“第二节点”都一致地被重命名。第一节点和第二节点都是节点,但是它们不是同一节点。

  本文所使用的术语仅出于描述特定实施例的目的,而无意于限制权利要求。如在实施例和所附权利要求的描述中所使用的,单数形式“一”、“一个”、和“该”也意图包括复数形式,除非上下文另外明确指出。还应理解,本文所用的术语“和/或”指代并涵盖一个或多个相关联的所列项目的任意和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”和/或“包含”时,其指定了所述特征、整数、步骤、操作、元素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、元素、组件、和/或其群组的存在或添加。

  如本文所用,术语“如果”可被解释为意指“当…时”或“一旦..”或“响应于确定”或“根据判定”或“响应于检测到”所陈述的先决条件为真,这取决于上下文。类似地,短语“如果确定[所陈述的先决条件为真]”或“如果[所陈述的先决条件为真]”或“当[所陈述的先决条件为真]”可被解释为“一旦确定…”或“响应于确定”或“根据判定”或“一旦检测到”或“响应于检测到”所陈述的先决条件为真,这取决于上下文。

《用于动态且无缝的链路选择的方法和设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)