信道选择方法及装置
技术领域
本发明涉及通信技术,尤其涉及一种信道选择方法及装置。
背景技术
在无线局域网(Wireless Local Area Networks,简称:WLAN)中,接入点(Access Point,简称:AP)和一个或多个连接到该接入点的站点STA通过无线信道来构造一个无线通信系统的无线链接。站点可以通过AP交换数据,在同一无线覆盖区域的站点和AP都称为基本业务集(BasicService Set,简称:BSS)。当两个相邻的基本业务组BSS彼此相邻且在同一信道工作时,这种重叠BSS之间可能的争用难以支持所需的业务服务质量(Quality of Service,简称:QoS)。同时特别在家庭/办公室环境中,未经许可的频谱和外部干扰源也给无线运行信道产生干扰影响。针对这些情况,接入点AP需要一种信道选择方案,才能为其基本业务集关联的所有站点选择最佳信道。
现有技术中,AP定期用短时间扫描复数信道当中每一信道,对这些信道进行测量。如果经判定该AP正在一低负载周期、亦即没有BSS通讯业务,和/或没有相关用户运作,AP则引发该信道最佳化过程,根据测量信道中的干扰、延迟、信号强度等信息为基础计算每一信道的预测信道负载的方式判断是否存在一个更合适的新信道以进行更新。
但是,现有技术中仅根据信道中的干扰、延迟、信号强度等信息来进行信道选择,并不能满足BSS传输的带宽需求,从而造成采用选择后的信道进行传输时通信质量降低。
发明内容
本发明提供一种信道选择方法及装置,用于从信道容量的角度选择信道,从而实现更好的通信效果。
本发明第一个方面提供一种信道选择方法,包括:
逐一获取每个信道的统计信息,每个所述信道的统计信息包括所述信道的信道负载、所述信道的空闲信道功率;
周期性获取当前基本业务集BSS的统计信息,所述当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟;
判断每个所述信道统计信息和/或所述当前BSS的统计信息是否满足触发条件;
若满足所述触发条件,则将每个所述信道的吞吐率之和作为每个所述信道的容量参数,并根据每个所述信道的容量参数由高到低为每个所述信道排序;
将所述当前BSS所在的信道切换为排序最高的信道。
结合本发明第一个方面,在第一种可能的实现方式中,所述逐一获取每个信道的统计信息,包括:
周期性对信道列表中每个信道进行扫描,获取每个所述信道的统计信息,所述信道列表包含下述任一或其组合的信道:带宽为20MHz对应的信道、带宽为40MHz对应的信道、带宽为80MHz对应的信道、带宽为160MHz对应的信道、带宽为80+80MHz对应的信道;
所述判断所述信道统计信息和/或所述当前BSS的统计信息是否满足触发条件,包括:
判断每个所述信道的信道负载是否大于第一阈值,若大于所述第一阈值,则满足触发条件;和/或,
判断每个所述信道的空闲信道功率是否大于第二阈值,若大于所述第二阈值,则满足触发条件;和/或,
判断所述节点最大发送延迟是否大于第三阈值,若大于所述第三阈值,则满足触发条件;和/或,
将所述节点最大发送队列长度除以发送缓冲池的容量值得到节点发送缓冲池空闲比例,判断所述节点发送缓冲池空闲比例是否小于第四阈值,若小于所述第四阈值,则满足触发条件。
结合本发明第一个方面或第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将每个所述信道的吞吐率之和作为每个所述信道的容量参数,包括:
获取吞吐率确定参数,所述吞吐率确定参数包括每个所述信道的BSS的链路质量、每个所述信道的BSS的协议效率、每个所述信道的BSS可用时间比例、每个所述信道的BSS的占用信道比例和每个所述信道的BSS的丢包率;
根据所述吞吐率确定参数获取每个所述信道的吞吐率之和,并将每个所述信道的吞吐率之和作为每个所述信道的容量参数。
本发明第二个方面提供一种信道选择装置,包括:
信道扫描模块,用于逐一获取每个信道的统计信息,每个所述信道的统计信息包括每个所述信道的信道负载、每个所述信道的空闲信道功率;
触发探测模块,用于周期性获取当前基本业务集BSS的统计信息,所述当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟;
所述触发探测模块,还用于判断每个所述信道统计信息和/或所述当前BSS的统计信息是否满足触发条件;
信道选择模块,用于若满足所述触发条件,则将每个所述信道的吞吐率之和作为每个所述信道的容量参数,并根据每个所述信道的容量参数由高到低为每个所述信道排序;
信道调整模块,用于将所述当前BSS所在的信道切换为排序最高的信道。
结合本发明第二个方面,在第一种可能的实现方式中,所述信道扫描模块,具体用于周期性对信道列表中每个信道进行扫描,获取每个所述信道的统计信息,所述信道列表包含下述任一或其组合的信道:带宽为20MHz对应的信道、带宽为40MHz对应的信道、带宽为80MHz对应的信道、带宽为160MHz对应的信道、带宽为80+80MHz对应的信道;
所述触发探测模块,具体用于将每个所述信道的信道负载与第一阈值进行比较,若所述当前信道负载大于所述第一阈值,则满足触发条件;和/或,
所述触发探测模块,具体还用于将每个所述信道的空闲信道功率与第二阈值进行比较,若所述空闲信道功率大于所述第二阈值,则满足触发条件;和/或,
所述触发探测模块,具体还用于将所述节点最大发送延迟与第三阈值进行比较,若所述节点最大发送延迟大于所述第三阈值,则满足触发条件;和/或,
所述触发探测模块,具体还用于将所述节点最大发送队列长度除以发送缓冲池的容量值得到节点发送缓冲池空闲比例,并将所述节点发送缓冲池空闲比例与第四阈值进行比较,若所述节点发送缓冲池空闲比例小于所述第四阈值,则满足触发条件。
结合本发明第二个方面或第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信道选择模块,具体用于获取吞吐率确定参数,所述吞吐率确定参数包括每个所述信道的BSS的链路质量、每个所述信道的BSS的协议效率、每个所述信道的BSS可用时间比例、每个所述信道的BSS的占用信道比例和每个所述信道的BSS的丢包率;
所述信道选择模块,还具体用于根据所述吞吐率确定参数获取每个所述信道的吞吐率之和,并将每个所述信道的吞吐率之和作为每个所述信道的容量参数。
本实施例提供的信道选择方法及装置,通过逐一获取每个信道的统计信息,每个信道的统计信息包括信道的信道负载、信道的空闲信道功率。周期性获取当前基本业务集BSS的统计信息,当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟。判断每个信道统计信息和/或当前BSS的统计信息是否满足触发条件。若满足触发条件,则将每个信道的吞吐率之和作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序。将当前BSS所在的信道切换为排序最高的信道。实现了一种基于信道容量来进行信道选择的方式,由于从信道容量的角度进行信道选择能够更好地满足信道中AP对于带宽的需求,从而实现更好的通信效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的信道选择方法流程示意图;
图2为本发明实施例提供的信道的容量参数获取方法流程图;
图3为本实施例提供的一种信道选择装置结构示意图;
图4为本发明实施例提供的信道选择装置信道选择示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在无线局域网(Wireless Local Area Network,简称:WLAN)中,接入点(Access Point,简称:AP)和一个或多个连接到该接入点的站点(Station,简称:STA)通过无线信道来构造一个无线通信系统的无线链接。STA可以通过AP交换数据,在同一无线覆盖区域的STA和AP都称为基本业务集(Basic Service Set,简称:BSS)。
当两个相邻的基本业务组BSS彼此相邻且在同一信道工作时,这种重叠BSS之间可能的争用难以支持所需的业务服务质量(Quality of Service,简称:QoS)。同时特别在家庭/办公室环境中,未经许可的频谱和外部干扰源也给无线运行信道产生干扰影响。针对这些情形,AP实现一种信道选择方案,才能为其基本业务集关联的所有站点选择最佳信道。
WLAN链路质量多变,在切换触发和信道选择时,传统算法仅仅根据干扰、延迟、信号强度等信息进行抉择,并不能反映BSS的容量需求,也无法明确切换后的容量增益。
因此,本发明下述各个实施例涉及一种信道选择方法及装置,通过反应BSS的容量需求,来对信道进行选择,下面通过具体实施例进行说明。
图1为本发明实施例提供的信道选择方法流程示意图,该信道选择方法的执行主体为接入点AP或者STA,参照图1,该方法包括如下步骤:
步骤100、逐一获取每个信道的统计信息,每个信道的统计信息包括信道的信道负载、信道的空闲信道功率。
步骤101、周期性获取当前基本业务集BSS的统计信息,当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟。
步骤102、判断每个信道统计信息和/或当前BSS的统计信息是否满足触发条件。
步骤103、若满足触发条件,则将每个信道的吞吐率之和作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序。
步骤104、将当前BSS所在的信道切换为排序最高的信道。
本实施例提供的信道选择方法,通过逐一获取每个信道的统计信息,每个信道的统计信息包括信道的信道负载、信道的空闲信道功率。周期性获取当前基本业务集BSS的统计信息,当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟。判断每个信道统计信息和/或当前BSS的统计信息是否满足触发条件。若满足触发条件,则将每个信道的吞吐率之和作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序。将当前BSS所在的信道切换为排序最高的信道。实现了一种基于信道容量来进行信道选择的方式,由于从信道容量的角度进行信道选择能够更好地满足信道中AP对于带宽的需求,从而实现更好的通信效果。
下面以AP为执行主体为例进行说明。
进一步的,在BSS运行时过程,节点需要定期对信道进行扫描,通过聆听信道以获得该信道的统计信息,亦可以考虑从其他AP的信标帧(beacon)中得到信道的信道负载。其中,包括如下几种可能的信道组合:20MHz/40MHz/80MHz/160MHz/(80+80MHz)带宽对应的信道,并且这些信道都需进行周期性扫描。当跳至下一信道扫描切换时,需要清空硬件队列,因此在切换之前需要通知上层调度,并且等待硬件队列为空,该过程连续贯彻于整个运行过程中。举例来说,可能每5s时间扫描一个信道,且驻留扫描时间为10ms,驻留时间长度也可通过多次测量求得平均值以准确测量信道统计信息。因此,图1中步骤100中逐一获取每个信道的统计信息的一种可行的实现方式为:
周期性对信道列表中每个信道进行扫描,获取每个所述信道的统计信息,所述信道列表包含下述任一的信道:带宽为20MHz对应的信道、带宽为40MHz对应的信道、带宽为80MHz对应的信道、带宽为160MHz对应的信道和/或带宽为80+80MHz对应的信道。
需要说明的是,在上述实施例周期且持续地对信道列表进行扫描并为信道的选择提供所需参数时。作为执行主体AP具有一系列扫描配置参数,例如,扫描周期、扫描时长、初始启动阶段信道停留最大时间、初始启动阶段信道停留最小时间等。分别用于初始时扫描和运行时扫描。信道列表表示对不同带宽在2.4G和5G频带上的信道组合列表。
进一步的,对于初始启动的场景,根据信道列表中信道的排列顺序或者随机扫描各组信道,包括主动扫描和被动扫描,前者是指节点发送探测请求帧(probe request)探测,后者指聆听Beacon帧。该过程只在节点启动时进行,扫描某个信道时,通过聆听信道以获得该信道的统计信息,即该信道的信道繁忙度及该信道的空闲信道功率。经过一个最小信道时间之后,如果没有聆听到任何Beacon帧,则认为此信道不存在已有的BSS,为该信道评分后,立即开始扫描下一个信道,否则,继续聆听,以确定扫描到所有工作在该信道上的BSS,直到等待时间达到一个最大信道时间后,节点才会扫描下一个信道。
优选的,图1中步骤102由AP的触发探测模块周期性运行,其目的在于检测由于性能不满足而需要调整信道的情况。通过利用信道扫描的统计结果以及当前BSS统计结果,判断是否需要触发信道选择。判断的依据包括当前信道负载、空闲信道功率、节点最大发送队列长度、节点最大发送延迟。触发探测模块探测所有可能通过信道选择获得增益的时机,允许有较大的虚检率。图1中步骤102的一种可行的实现方式为:
判断每个信道的信道负载是否大于第一阈值,若大于第一阈值,则满足触发条件。
例如,当前信道负载度超过THload时,则满足触发条件,该THload为第一阈值,并且该THload通过实测确定,本实施例不对其具体数值进行限定。
和/或,判断每个信道的空闲信道功率是否大于第二阈值,若大于第二阈值,则满足触发条件。
例如,当前信道的空闲信道功率超过THinterfere时,则满足触发条件,该THinterfere为第二阈值,并且该THinterfere通过实测确定,本实施例不对其具体数值进行限定。
和/或,判断节点最大发送延迟是否大于第三阈值,若大于第三阈值,则满足触发条件。
例如,节点最大发送延迟超过THqto时,则满足触发条件,该THqto为第三阈值,并且该THqto通过实测确定,本实施例不对其具体数值进行限定。
和/或,将节点最大发送队列长度除以发送缓冲池的容量值得到节点发送缓冲池空闲比例,判断节点发送缓冲池空闲比例是否小于第四阈值,若小于所述第四阈值,则满足触发条件。
例如,节点发送缓冲池空闲比例低于THbuffer_free时,则满足触发条件,该THbuffer_free通过实测确定,本实施例不对其具体数值进行限定。
进一步的,图1中步骤103中将每个信道中的BSS的吞吐率作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序,包括:
步骤103a、获取吞吐率确定参数。
具体的,吞吐率确定参数包括每个信道的BSS的链路质量、每个信道的BSS的协议效率、每个信道的BSS可用时间比例、每个信道的BSS的占用信道比例和每个信道的BSS的丢包率。
步骤103b、根据吞吐率确定参数获取每个信道的吞吐率之和,并将每个信道的吞吐率之和作为每个信道的容量参数。
优选的,图2为本发明实施例提供的信道的容量参数获取方法流程图,对于步骤103以及步骤103a中的每个信道的容量参数,通过如下方法获得,具体的该方法包括如下步骤:
步骤200、获取AP与各STA间的链路质量。
具体的,本实施例中,每个BSS中的AP与各STA间的链路质量可以通过链路速率表征其链接质量,并且通过每个BSS中的AP与各STA间的链路质量表征该BSS的链路质量。
步骤201、获取AP与各STA间的协议效率。
具体的,每个BSS的AP与各STA间的协议效率表征每个信道的BSS的协议效率,指针对不同协议下,每个STA MAC层有效速率与链路速率的比值。
步骤202、获取BSS可用时间比例。
具体的,BSS可用时间比例指整个BSS信道运行所占时间比例,可以通过统计结合信道繁忙度测量获得。
步骤203、获取各STA占用AP信道的比例。
具体的,每个BSS中的各STA占用AP信道的比例表征每个信道的BSS的占用信道比例,指针对多个关联的STA,某个STA抢占信道的时间比例。
步骤204、获取误包率(Packet Error Rate,简称:PER)。
误包率具体为每个信道的BSS的丢包率,例如AP侧的丢包率。丢包率表征数据包的成功发送,当信道竞争或干扰增强时,导致误包率增大。
进一步的,参照图2,在通过上述四个步骤获得吞吐率确定参数后,还包括如下步骤:
步骤205、将吞吐率确定参数作为输入,获取每个STA的吞吐量。
步骤206、将所有STA的吞吐量之和作为该信道容量。
具体的,在获取了该BSS的容量之后,该BSS的容量可以表征该BSS所在的信道的容量,因此,可以依据每个信道的BSS容量,对该信道进行评分。BSS容量越大,该信道评分越高。
进一步的,根据信道的统计信息估算某STA或AP在信道上的吞吐率,从而实现对信道容量估算。其中,评分越高表示AP或STA在此信道上可获得的吞吐率越大。
在获取到每个信道的评分之后,需要根据每个信道的评分对信道进行选择,对于信道的选择可以在BSS初始化和BSS运行时进行。具体的,该信道选择包括信道带宽选择和频点选择两方面内容。利用上述信道评分方式,通过一定的规则进行初始时的信道选择和运行时的信道选择。根据上述各个信道的评分结果,通过802.11协议规定的帧交互过程完成实际的信道调整,包括调整某STA与AP的通信带宽和切换整个BSS的信道。并且当整个BSS切换至另一新信道之前,AP及STA都需暂停发送数据,以等待硬件队列为空才可进行。本发明各个实施例中涉及的范例参数如下表1所示,这些参数和数值还可以使用其他值替代,本发明实施例不予限定。
表格1范例参数
初始信道选择时包括两种情形:
(1)BSS建立时为AP选择初始信道:若用户指定带宽(BW)未指定频带(FB),则BW为既定带宽,FB可根据BW进行设置,举例来说,当BW为80MHz,则FB=5G,否则FB为2.4G。若用户指定FB未指定BW,则FB为既定频带,BW可根据FB进行设置取可能最大的带宽,如2.4G上可取40MHz,5G上可取80MHz。若用户同时指定FB和BW,则可依照用户的设置处理。然后再通过上述实施例中提供的信道容量评估方法,对候选信道中的所有信道进行容量估计,根据估计值取评分最高者为AP的初始信道,同时可取相对空闲的20MHz作为主信道。
(2)STA关联时为其选择带宽:根据AP支持的带宽模式与STA支持的带宽模式,选择出STA可能的带宽。利用信道统计信息,对每一种可能的带宽对应的信道进行容量估算并评分,选出评分最高者作为STA初始时的信道带宽。若存在相同的几个最高评分,则选则带宽较小者作为STA的初始带宽。
运行时信道选择包括两种情形:
(1)动态调整STA的带宽:由于更改带宽所引发的消耗较小,因此优先调整STA带宽,并且只要进行了带宽调整,则当次调整过程中不会再对AP工作信道调整切换。对STAi当前可能的信道带宽模式,分别采用信道容量估算进行评分,并找出评分最大值。若最大值对当前信道评分的超额比例大于TH1且STA使用当前带宽的时长超过Tmin1,则通过上述实施例中提供的信道容量评估方法,对候选信道中的所有信道进行容量估计,根据估计值切换至评分最高的信道。
(2)动态调整AP的工作信道:若发现已进行过STA带宽调整,才会开始动态调整AP工作信道。即,对各种可能的候选信道组合进行信道容量估计,选出评分最高的信道CHtarget。若CHtarget的评分对当前信道评分的超额比例大于TH2,且AP使用当前信道的时长超过Tmin2,则将CHtarget作为目标信道。而后调用STA初始带宽选择过程,为每一个STA在CHtarget上再选择一个初始信道。
另外,在切换之前,根据图2对应实施例提供的信道容量评估方法,还可以对信道调整的收益进行评估,即确定好目标信道后与当前信道比较,只在收益足够大或者需要强制调整信道时才会对当前BSS所在的信道进行切换,并提供目标信道参数。
信道评分包括两个方面的内容:针对STA的信道评分和针对AP的信道评分,前者用于为STA选择初始带宽以及动态调整STA的带宽,后者用以AP选择初始信道以及动态调整AP的信道;可见,带宽的选择与调整针对STA,而信道的选择与调整针对AP(或者BSS),并且后者依赖前者。具体包括:
针对STA的信道评分:1)情形一,初始时针对STA的信道评分。2)情形二,运行时针对STA在当前信道的信道评分。3)情形三,运行时针对STA在目标信道的信道评分。
针对AP的信道评分:1)情形四,初始时针对AP的信道评分。2)情形五,运行时针对AP在当前信道的信道评分。3)情形六,运行时针对AP在目标信道的信道评分。
对于某关联STAk,使用下述统一公式估算其吞吐率:
Tk=rk上行×ηk上行×ρ×wk上行+rk下行×ηk下行×ρ×wk下行
对于整个BSS信道,使用下述统一公式估算其吞吐率:
下面以情形二为例,即在AP运行过程中,针对某关联STA在当前信道的信道吞吐率估算为例作详细说明。
(1)评估AP与STA间的链路质量
rk=TABLE(SNRk,PERk,BWk)表示AP与STAk间的链路速率,它根据SNR、PER和BW查表得来,且具有上下行链路之分。当然SNR亦可考虑SINR或其他方式替代。
a)对SNR,在当前信道中STAk的上下行SNR估算公式分别为:
SNRk上=(RSSIk上-Ik上)/Ik上
SNRk下=(RSSIk下-Ik下)/Ik下
其中,RSSIk上表示一段时间内,AP接收来自STAk的帧对应的RSSI算术均值;Ik上表示AP测得的与STAk通信的信道的空闲信道功率;RSSIk下表示一段时间内,STAk接收来自AP的帧对应的RSSI算术均值;Ik下表示STAk测得的与AP通信的信道的空闲信道功率。对于大于20MHz的信道,I为组成该信道的每个20MHz信道对应I值的线性和平均。
b)BWk即为AP与STAk通信的信道的带宽,上下行链路相等。
(2)评估AP与各STA间的协议效率
ηk表示STAk的协议效率,即该STA MAC层有效速率与链路速率之比。因上下行链路速率有异,故亦有上下行之分。STAk的协议效率计算公式为:
ηk=goodputk/rk
其中,goodputk=(payload/T0)×(1-PER)表示MAC层有效数据的等效速率,不同802.11协议、不同频带都对应不同的goodput值;To表示某协议下传输一个数据包所需要的整个过程时间;payload表示某个数据包负载。以802.11n中请求发送(Request to Send,简称:RTS)/允许发送(Clear to Send,简称:CTS)模式,帧聚合功能开启为例To的计算如下:
To=DIFS+RTS+SIFS+CTS+SIFS+Tdata+SIFS+ACK
其中,Tdata=L/RPHY+Preamble表示数据包的传输时间,L可表示典型数据包长,RPHY表示不同协议下的链路速率。
(3)评估BSS可用时间比例
ρ=1-load+loadAP表示AP(或BSS)在当前信道上的可用时间比例,可以通过统计结合信道繁忙度测量获得。其中load表示当前信道的繁忙度,loadAP=loadAP上+loadAP下表示AP占当前信道空口时间的比例,包括上行和下行(分别对应接收和发送)各占的时间比例。
(4)评估各STA占用信道的比例
wk表示STAk占当前AP所耗空口时间的比例,通过统计获得。上下行情况计算公式分别为
其中,nk上表示一定统计周期内STAk竞争到信道的次数;nk下表示一定统计周期内,AP为STAk发送数据的次数。Tk上为典型数据包长与上行链路速率的比值,Tk下为典型包长与下行链路速率的比值。
以上是只针对情形二所展开的介绍,对于其他情形下的容量估算,各参数可能有所不同。如情形一中RSSI可取关联请求帧对应的RSSI,wk可取其值为0.5;情形三中ρ值可为1-load,wk值则可假设nk不变下对应的值;情形四中RSSI可取其典型值,ηk可取最大协议效率值,ρ值可为1-load,wk可取其值为0.5;情形五则表示BSS信道,即,情形二的加权;情形六中的参数值与情形三为一致。其中,未提及的参数与情形二状况相同。
针对实施例一中提到的信道容量估算方法,该方法依赖于IEEE802.11k或者其他上报机制,并且每一个STA应具备与AP相同的测量功能。故亦可考虑采用简化方案进行容量估算,如认为上下行链路对称,则数据测量只在AP侧进行统计。根据实施例一某STAk的吞吐率计算简化如下:
Tk=rk上×ηk上×ρ×(wk上+wk下),即为:Tk=rk×ηk×ρ×(wk上+wk下)
实施例一中提及的最优信道容量估算方法所需的量包括链路速率r、协议效率η、BSS可用时间比例ρ及STA占AP信道时间的比例w。根据这一方法,可知,进行信道容量估算所需的必不可少的量和参数为:链路速率,SNR,BW及信道繁忙度。而对于其他量,在某些性能要求不高或非最优化容量估算处理中,可替代或不予以考虑。如,当工作环境在同一协议下,协议效率的计算可不用考虑;当假设各STA所抢占AP信道时间相同,w的值则可取默认值0.5代替。
进一步的,本发明上述实施例主要实现对WLAN无线链路的信道容量的估算,故这一估算方法除了用于信道选择外,还可应用于其他使用到无线信道容量的相关领域,如接入控制。接入控制(CAC:Connection/Call AdmissionControl)是负责对用户的接入请求进行准许判决,决定是否允许系统为用户提供相应请求服务的无线资源管理功能实体。可利用本方案方法计算系统的信道容量,当新链路请求接入时,通过判决新链路与当前链路的信道容量,决定是否准许接入,以确保较高的链路接入成功率、系统带宽利用率及系统效能等。
图3为本实施例提供的一种信道选择装置结构示意图,该信道选择装置可以设置在AP或者STA上,如图3所示,该信道选择装置包括:信道扫描模块10、触发探测模块11、信道选择模块12、信道调整模块13。
信道扫描模块10,用于逐一获取每个信道的统计信息,每个信道的统计信息包括每个信道的信道负载、每个信道的空闲信道功率。
触发探测模块11,用于周期性获取当前基本业务集BSS的统计信息,所述当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟。
触发探测模块11,还用于判断每个信道统计信息和/或当前BSS的统计信息是否满足触发条件。
信道选择模块12,用于若满足触发条件,则将每个信道的吞吐率之和作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序。
信道调整模块13,用于将当前BSS所在的信道切换为排序最高的信道。
本实施例提供的信道选择装置,通过信道扫描模块逐一获取每个信道的统计信息,每个信道的统计信息包括信道的信道负载、信道的空闲信道功率。触发探测模块周期性获取当前基本业务集BSS的统计信息,当前BSS的统计信息包括节点最大发送队列长度、节点最大发送延迟。触发探测模块判断每个信道统计信息和/或当前BSS的统计信息是否满足触发条件。若满足触发条件,则信道选择模块将每个信道的吞吐率之和作为每个信道的容量参数,并根据每个信道的容量参数由高到低为每个信道排序。信道调整模块将当前BSS所在的信道切换为排序最高的信道。实现了一种基于信道容量来进行信道选择的方式,由于从信道容量的角度进行信道选择能够更好地满足信道中AP对于带宽的需求,从而实现更好的通信效果。
进一步的,信道扫描模块10,具体用于周期性对信道列表中每个信道进行扫描,获取每个信道的统计信息,信道列表包含下述任一或其组合的信道:带宽为20MHz对应的信道、带宽为40MHz对应的信道、带宽为80MHz对应的信道、带宽为160MHz对应的信道、带宽为80+80MHz对应的信道。
触发探测模块11,具体用于将每个信道的信道负载与第一阈值进行比较,若当前信道负载大于第一阈值,则满足触发条件。
和/或,触发探测模块11,具体还用于将每个信道的空闲信道功率与第二阈值进行比较,若所述空闲信道功率大于第二阈值,则满足触发条件。
和/或,触发探测模块11,具体还用于将节点最大发送延迟与第三阈值进行比较,若所述节点最大发送延迟大于所述第三阈值,则满足触发条件。
和/或,触发探测模块11,具体还用于将节点最大发送队列长度除以发送缓冲池的容量值得到节点发送缓冲池空闲比例,并将所述节点发送缓冲池空闲比例与第四阈值进行比较,若所述节点发送缓冲池空闲比例小于所述第四阈值,则满足触发条件。
进一步的,信道选择模块12,具体用于获取吞吐率确定参数,吞吐率确定参数包括每个信道的BSS的链路质量、每个信道的BSS的协议效率、每个信道的BSS可用时间比例、每个信道的BSS的占用信道比例和每个信道的BSS的丢包率。
信道选择模块12,还具体用于根据吞吐率确定参数获取每个信道的吞吐率之和,并将每个信道的吞吐率之和作为每个信道的容量参数。
图4为本发明实施例提供的信道选择装置信道选择示意图,如图4所示,对上述实施例中的信道选择装置如何进行信道选择进行详细说明:
(1)信道扫描模块10:
信道扫描模块10是对信道列表进行扫描并为信道选择模块12提供所需参数。该模块周期且持续运行,具有一系列扫描配置参数,分别用于初始时扫描和运行时扫描。信道列表表示对不同带宽在2.4G和5G频带上的信道组合列表。
初始启动时,根据信道列表可顺序或者随机扫描各组信道,包括主动扫描和被动扫描,前者是指网元发送probe request帧探测,后者指聆听Beacon帧。该过程只在节点启动时进行,扫描某个信道时,通过聆听信道以获得该信道上的统计信息,即信道繁忙度及空闲信道功率。经过一个最小信道时间之后,如果没有聆听到任何Beacon帧,则认为此信道不存在已有的BSS,立即开始扫描下一个信道,否则,继续聆听,以确定扫描到所有工作在该信道上的BSS,直到等待时间达到一个最大信道时间后,节点才会扫描下一个信道。
在BSS运行时过程,节点需要定期对信道进行扫描,通过聆听信道以获得该信道的统计信息,亦可以考虑从其他AP的beacon中得到信道负载信息。同时,需要在此信道上进行重叠BSS扫描,以获得邻近BSS的信道信息。对于可能的信道组合,即
20MHz/40MHz/80MHz/160MHz/(80+80MHz)带宽对应的信道都需进行周期性扫描。当跳至下一信道扫描切换时,需要清空硬件队列,因此在切换之前需要通知上层调度,并且等待硬件队列为空。该过程连续贯彻于整个运行过程中,举例来说,可能每5s时间扫描一个信道,且驻留扫描时间为10ms,驻留时间长度也可通过多次测量求得平均值以准确测量信道统计信息。
总体来说,对于扫描每一信道,在该过程中作如下操作:1)在该信道上存在哪些其他BSS,并记录这些BSS信息。2)该信道上是否存在其他非802.11干扰源。3)测量并记录该信道的信号强度RSSI。4)测量并记录信道的信道繁忙度及其空闲信道功率。
2)触发探测模块11
触发探测模块11周期性运行,负责检测由于性能不满足而需要调整信道的情况。通过利用信道扫描的统计结果以及当前BSS统计结果,判断是否需要触发信道选择模块12。判断的依据包括当前信道负载、空闲信道功率、节点最大发送队列长度、节点最大发送延迟。
触发探测模块11探测所有可能通过信道选择获得增益的时机,允许有较大的虚检率。该模块只负责信道选择的触发,具体是否进行信道切换还需取在信道选择模块12中抉择。
在该模块中考虑五种性能不满足时以触发信道选择模块12:1)当前信道繁忙度超过THload。2)当前信道的空闲信道功率超过THinterfere。3)节点实时业务发送队列的最大延迟超过THqto。4)节点发送缓冲池空闲比例低于THbuffer_free。
3)信道选择模块12
信道选择模块12在BSS初始化和被触发探测模块11触发时运行,包括信道带宽选择和频点两方面内容。该模块的核心在于利用信道统计信息对某信道通过容量估计进行评分。通过一定的规则,该模块可以用于初始时的信道选择和运行时的信道选择。
其中,候选信道表示为已从信道列表中滤除的IEEE802.11各协议中所要求的不能使用的信道,如雷达信道、重叠BSS下共存条件不满足信道等。
初始信道选择时包括两种情形:
a、BSS建立时为AP选择初始信道:若用户指定带宽(BW)未指定频带(FB),则BW为既定带宽,FB可根据BW进行设置,举例来说,当BW为80MHz,则FB=5G,否则FB为2.4G。若用户指定FB未指定BW,则FB为既定频带,BW可根据FB进行设置取可能最大的带宽,如2.4G上可取40MHz,5G上可取80MHz。若用户同时指定FB和BW,则可依照用户的设置处理。然后再通过下面提到的信道容量估算方法,对候选信道中的所有信道进行容量估计,根据估计值取评分最高者为AP的初始信道,同时可取相对空闲的20MHz作为主信道。
b、也是以AP来进行操作,STA关联时为其选择带宽:根据AP支持的带宽模式与STA支持的带宽模式,选择出STA可能的带宽。利用信道统计信息,对每一种可能的带宽对应的信道进行容量估算并评分,选出评分最高者作为STA初始时的信道带宽。若存在相同的几个最高评分,则选则带宽较小者作为STA的初始带宽。
运行时信道选择包括两种情形:
c、动态调整STA的带宽:由于更改带宽所引发的消耗较小,因此优先调整STA带宽,并且只要进行了带宽调整,则当次调整过程中不会再对AP工作信道调整切换。对STAi当前可能的信道带宽模式,分别采用信道容量估算进行评分,并找出评分最大值。若最大值对当前信道评分的超额比例大于TH1且STA使用当前带宽的时长超过Tmin1,则进入信道调整模块13。
d、动态调整AP的工作信道:若发现已进行过STA带宽调整,才会开始动态调整AP工作信道。即,对各种可能的候选信道组合进行信道容量估计,选出评分最高的信道CHtarget。若CHtarget的评分对当前信道评分的超额比例大于TH2,且AP使用当前信道的时长超过Tmin2,则以CHtarget为目标信道进入信道调整模块13。而后调用STA初始带宽选择过程,为每一个STA在CHtarget上再选择一个初始信道。
另外,在切换之前,信道选择模块12还会对信道调整的收益进行评估,即确定好目标信道后与当前信道比较,只在收益足够大或者需要强制调整信道时才会调用下面的信道调整模块13,并提供目标信道参数。
4)信道调整模块13
信道调整模块13根据接收信道选择模块12的输出结果,通过802.11协议规定的帧交互过程完成实际的信道调整,包括调整某STA与AP的通信带宽和切换整个BSS的信道。并且当整个BSS切换至另一新信道之前,AP及STA都需暂停发送数据,以等待硬件队列为空才可进行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。