WiFi (IEEE 802.11)是目前应用最广泛的无线局域网技术, 在家庭、公共场所、工厂环境等被普遍采用. 近些年各种各样的机器人被越来越多地应用到生产生活中, 如物流机器人、导购机器人、工业机器人等. 机器人在工作过程中需要不停地从控制器接收指令, 并收发大量的数据, WiFi也是其使用最多的网络通信手段[1]. 由于WiFi基站, 也称无线接入点(Access Point, AP), 通信距离很短, 在车间、商场这样的大空间中通常部署了很多AP, 对于需要随时随地通信的场合(如生产环境), 每个位置甚至会被多个AP所覆盖.当机器人在这样的环境中移动时, 常常需要在不同的AP之间切换, 即从一个AP的覆盖范围进入到另一个AP的覆盖范围.
根据WiFi的通信规范, 切换过程包括AP扫描、终端认证和AP重关联3个步骤[2]. 终端(如机器人)首先断开与当前AP的关联, 扫描周围可用的AP, 从中选择一个AP进行认证, 认证通过后与该AP进行关联, 这时终端接入新的AP. 由于切换过程中终端不与任何AP关联, 容易出现通信中断的情况, 在实际应用中通信中断的时间可能长达数秒, 这给需要不间断通信的机器人正常工作产生很大的影响.
有实验发现, AP扫描时间占整个切换时间的90%以上[3], 因此减少切换时间的关键是减少扫描时间. AP扫描包括信道扫描和AP选择两个部分. 每个AP在运行之前需要分配一个工作信道, 只有和AP同信道的终端才能使用AP转发数据. 为发现周围有哪些AP可用以及每个AP的工作信道, 传统的终端需要在每个可操作的信道上主动发送请求帧(主动扫描)或者等待AP定期发送的信标帧(被动扫描), 在每个信道上停留一段时间后进入下一个信道, 将所有信道扫描完成后得到一个候选的AP集合. 信道扫描时间大致等于信道停留时间乘以扫描信道的数量, 极端情况下这个时间可能达到几秒~十几秒之多.
针对WiFi快速切换的研究很早就开始了, 目前降低WiFi切换延时的方法主要有两类[4]. 一类是增加无线网卡数量[5-8], 比如, 使用一块网卡用于正常通信, 另一块网卡用于扫描信道. 另一类是设计优化的切换算法来减少扫描时间, 包括提前进行扫描[2]、减少信道停留时间[3,9]、减少扫描的信道数量[10-13]等. 文献[14]注意到机器人的工作环境相对固定、移动路径可提前规划等特点, 使用预先收集的无线地图(WiFi Map)和机器人规划路径提前计算好切换方案, 机器人判断自己到达某个切换地点附近后, 直接和指定的AP进行关联, 完全消除扫描过程.
从候选的AP集合中选择哪一个AP进行关联关系到切换质量[15]. 传统的AP选择算法以终端接收到的信号强度指示(RSSI)作为选择依据[16], 这种方法容易导致负载不均衡. AP选择问题在研究无线网络负载均衡时考虑较多, 比如, 文献[17]使用预期的信标帧到达时间与实际到达时间之差来反映AP负载. 文献[18]引入AP关联的移动终端个数来估计AP负载, 文献[19]令移动节点依次关联上每一个AP, 通过发送一组测试数据来测试每个AP的质量, 最终选择最佳的AP进行关联. 文献[20]使用信道利用率来衡量AP负载, 文献[21]使用终端到AP的信号往返时间来估计AP负载,等, 在这些方法中终端倾向于选择负载较轻的AP进行关联. 以上方法或者关注信号质量, 或者关注网络负载均衡, 均未考虑终端的通信带宽需求, 而带宽保证对于工业机器人来说至关重要.
本文针对工业机器人场景提出带宽保证的快速切换方法及实现框架, 并在NS3仿真平台上进行验证和性能评估. 本文的主要贡献如下: (1)提出了基于动态无线地图的带宽保证快速切换方法, 兼顾切换延时、通信带宽和信号质量3个方面的需求; (2)提出了实现该快速切换方法的技术框架, 包括无线地图的建立和维护, 对802.11MAC层协议及相关实现的扩展方法等; (3)在网络仿真平台NS3上实现了面向机器人场景的带宽保证快速切换框架. 仿真实验表明, 与802.11的切换方案及基于邻居图的选择性扫描方式相比, 本文方案可使平均切换延时分别降低90%和67%. 与802.11及已有的负载感知的AP选择方案相比, 本文方案可不同程度地提高机器人的平均通信带宽, 并且只要机器人附近存在带宽充足的可用AP, 总是可以保证机器人的带宽需求.
1 相关工作文献[3]是研究快速切换的经典文献之一, 它通过实验分析了IEEE 802.11的切换过程, 测得扫描时间占整个切换时间的90%以上, 并给出以下计算切换延时的公式:
$N*minChannelTime < = T < = N*maxChannelTime$ | (1) |
其中, minChannelTime和maxChannelTime分别为信道驻留时间的最小值和最大值, N为需要扫描的信道个数, 通过调整这两个参数可以减少扫描时延.
Park等人[11]提出了一种基于邻居图的快速切换方法. AP之间通过定期交换信息维护一个邻居图, 邻居图记录了每个邻居AP的工作信道, 移动终端使用当前AP的邻居图确定要扫描的信道. 该算法本质上通过减少需要扫描的信道数量N来减少扫描时间, 但是维护邻居图需要AP之间频繁通信.
Wang等学者[14]面向机器人场景提出了基于无线地图的切换算法, 依靠机器人的实时定位信息和提前计算好的<切换位置, AP>序列来决定切换的时机和关联的AP. 该算法对机器人的定位精度和定位频率要求较高, 实际上很难做到切换时机准确无误; 另外该算法在计算AP切换序列时未考虑AP的负载情况及机器人的带宽要求, 无法保证切换后的机器人通信带宽.
在AP选择方面, 文献[18]除考虑信号强度外, 还引入已经关联的移动终端个数来衡量AP的负载. 移动终端在每个信道上发送探测请求帧(主动扫描),每个APi统计当前已关联的移动终端个数Ni, 对从这些终端收到的探测请求帧的信号强度计算平均值Mi, 将Ni、Mi和本次探测请求帧的信号强度Si包含在探测响应帧中返回给终端. 终端收到探测响应帧后, 利用式(2)~式(5)计算每个APi的权值Wi, 最终选择权值最大的AP接入, 式(5)中的n为终端探测到的AP数量.
$Wi\; = \;Di\;\;*\;Pwi\;\;*\;Pi$ | (2) |
$Di = Mi - Si$ | (3) |
$Pwi\; = \left\{ \begin{array}{l} 1 + \dfrac{{Mi}}{{Si}}\quad {\rm {if}}\;Di\;{\rm{ > = }}\;0\\ 1 - \dfrac{{Mi}}{{Si}}\quad {\rm {if}}\;Di\; < = \;0 \end{array} \right.$ | (4) |
$Pi\; = \;\dfrac{{Ni}}{{\displaystyle\sum\limits_{j = 0}^n {Nj} }}$ | (5) |
该方法隐含地假设每个AP的带宽容量相同, 每个移动终端的通信流量也相同, 但事实并非如此.
文献[20]利用信道利用率来估计AP的负载. AP计算最近一段时间内信道忙的比例, 将信道利用率放入信标帧中广播, 终端通过被动扫描的方式从信标帧中获取AP的信道利用率信息, 选择信道利用率低的AP进行关联. 如果考虑到各个AP的带宽容量不尽相同, 信道利用率同样不能准确反映AP当前的剩余传输能力.
文献[21]使用终端到AP的往返延时来衡量AP的负载. 终端主动向AP发送探测帧, 测量帧的响应延迟, 并选择响应延迟最小的AP进行关联, 这种方式由于引入探测延迟而不能用于快速切换场景.
综上所述, 已有的WiFi切换算法都不能同时满足快速切换和带宽保证这两个实际需求.
2 带宽保证的快速切换框架设计工作过程中的机器人在切换时需要满足切换延时和通信带宽两个要求. 文献[14]利用事先得到的无线地图和机器人路径提前计算好切换的地点和AP, 机器人利用自己的位置就可以查询到需要关联的AP, 这种快速切换方法值得借鉴. 但是该工作没有考虑机器人的带宽需求以及各个AP的剩余带宽, 从而不能满足带宽保证这一要求.
AP的剩余带宽与AP的容量及当前负载有关. AP容量给出的是MAC层上的最大传输速率, 考虑到各层包头的开销及帧间距等因素, 应用层上可以使用的数据速率远低于MAC层上的最大传输速率. 两种速率之间的映射关系可以根据802.11的协议机制进行估算, 或者直接在特定环境下通过实验的方法测量得到. 此外, 802.11允许MAC层根据信道的噪声水平自动调整传输速率. 比如, 802.11b支持的最高速率是11 Mb/s[22], 当设备之间距离过长或干扰太大、信噪比低于某个门限时, 传输速率能够从11 Mb/s自动降到5.5 Mb/s, 甚至进一步降到2 Mb/s、1 Mb/s[23].
AP的负载是动态变化的, 如果机器人在需要切换的时候再去向相关的AP查询负载状态, 会极大地增加切换时延. 为此, 本文将AP的负载信息(即当前传输速率)添加到无线地图中并定期更新, 这样机器人只需查询一次无线地图即可得到所有AP的当前负载. 为了方便及时地收集AP的负载信息, 本文设置了一个专门的服务器, 各个AP定期将自己的负载信息推送给该服务器. 既然设置了这样一个服务器, 那么进一步地可以将AP选择任务也交给服务器完成. 机器人只需将自己的位置及带宽需求发送给服务器, 服务器根据设定的AP选择算法选择一个合适的AP, 直接将AP信息返回给机器人即可, 简化机器人侧的设计.
基于以上分析, 面向机器人场景的快速切换框架设计如下. 服务器与所有AP通过桥接的方式连接在一起. 机器人提前下载已经建立好的无线地图, 无线地图中包含所有AP的坐标、工作信道、信号范围等静态信息. 服务器中的无线地图包含AP的静态和动态信息, 服务器定期接收各个AP推送的负载信息并更新到无线地图中, 同时为机器人提供AP选择服务. 当机器人MAC层丢失一定数量的信标帧时触发切换过程, 整个切换流程如图1所示. 机器人利用当前位置查询无线地图, 得到附近可用的AP信息, 然后将当前位置和带宽需求封装到一个IEEE 802.11格式的查询帧中, 发送给其中一个AP. AP将查询帧转换为IEEE 802.3帧, 发送给服务器. 服务器利用机器人的位置和带宽需求查询无线地图, 选出一个最佳的AP, 将其封装到响应帧中返回. AP将响应帧转换格式后发送给机器人, 机器人获得需要关联的AP信息, 并进行重关联. 原802.11中的AP扫描过程被机器人与服务器之间的一次请求/响应过程所替代, 极大地缩短了扫描时间.
3 带宽保证的快速切换框架实现 3.1 建立和更新无线地图
静态无线地图必须在机器人正常工作前建立并下载到机器人中, 可以采用人工方式收集, 也可以让机器人沿着指定的路径进行收集. 将机器人工作环境建立在一个平面直角坐标系中, 探测每个AP的工作信道和信号覆盖范围, 得到整个场景的静态无线地图. 与图1场景对应的静态无线地图如表1所示.
AP工作时定期向服务器发送自己的当前传输速率, 服务器将其更新到动态无线地图中. 表2为与图1场景对应的动态无线地图示例.
4个AP的通信范围都是50 m, 并且MAC层容量都是一样的. 当应用层流量速率不相同时, MAC层对应的速率相应的差别, 因此, 可以根据MAC层速率推算出应用层的速率, 从而推算出应用层的剩余带宽.
3.2 选择AP
机器人最关心的两个通信指标为带宽和信号质量, AP选择算法优先考虑终端的带宽需求, 其次考虑信号质量. 信号质量可以用终端与AP之间的距离来衡量, 距离越近则信号质量越好. AP的应用层剩余带宽可以按照(MAC层当前速率/MAC层容量)*应用层容量进行估算.
为此, 服务器按照以下原则选择AP: (1)首先将无线信号不能到达(与机器人的距离大于通信范围)的AP去掉; (2)若有多个可达的AP均能满足终端的带宽需求(AP的应用层剩余带宽大于终端的带宽需求), 选择距离终端最近的AP; (3)若所有可达的AP都不能满足终端的带宽需求, 选择应用层剩余带宽最大的AP, 并给出告警指示.
3.3 扩展802.11协议及实现为实现基于动态无线地图的快速切换, 需要对IEEE 802.11协议及实现进行一些扩展. 根据802.11协议, 切换机制在MAC层实现. 当终端的MAC层连续丢失一定数量(通常为10个)的信标帧时, 终端认定自己已离开当前AP, 随即触发切换过程, 终端开始进行信道扫描. 基于无线地图的切换框架取消了信道扫描过程, 取而代之的是与服务器之间的交互过程. 为此, 需要修改终端MAC层的信道扫描部分, 增加终端、AP、服务器三者之间的交互, 并在AP与服务器上分别增加一些功能.
在终端的MAC层上, 使用以下过程替换信道扫描部分: 终端获取当前位置坐标, 查询无线地图得到附近可用的AP, 选择一个AP进行关联; 利用终端位置、带宽需求和服务器地址构造自定义的查询请求帧并发送; 在收到服务器返回的查询响应帧后, 提取其中的AP信息.
在AP端修改帧接收模块, 添加对查询请求帧和查询响应帧的处理. 在收到查询请求帧/查询响应帧时, AP首先转换帧格式, 然后转发给服务器/终端. 在AP端还增加一个信息推送的模块, AP周期性地(如每隔1 s)向服务器发送一个数据帧, 报告AP在最近一个周期内的MAC层平均传输速率.
在终端和服务器的MAC层分别增加一个访问无线地图的接口. 终端还提供一个配置接口, 用于设定服务器地址和传入无线地图.
理论上, 本文的切换机制综合考虑了机器人的带宽需求、AP的剩余带宽、机器人与AP的信号质量因素, 能够综合这3个因素选择最佳的AP进行切换. 相比于802.11, 本文算法的切换时延仅由有限的几次帧交互决定. 并且不随着网络规模的扩大而增加. 相比于选择性信道扫描算法, 本文的切换算法直接省去扫描时延. 相比于其他AP选择算法, 本文的AP选择机制能够准确估计出AP的剩余带宽, 并能满足机器人的带宽需求.
4 实验评估目前无线切换的研究工作大多基于仿真软件进行. NS3是先进的网络仿真平台, 本文在NS3中实现基于无线地图的快速切换框架, 并与相关工作进行比较.
4.1 修改NS3的WiFi模块NS3是一个离散事件驱动的高性能网络仿真软件,所有网络行为都被离散成一个个的事件, 只有当新事件到来时仿真才会继续进行. NS3将现实世界的计算机节点抽象成C++的Node类, 将网卡设备抽象成NetDevice类. Node类中只有聚合了网卡、信道、协议栈等对象时, 该节点才能在仿真中发生网络行为, 例如发送数据、接收数据等.
WiFi是NS3中的一个独立模块, 包含了若干个类对象, 其中扫描过程由类对象WiFiMAC实现. 使用NS3仿真无线网络时, 需要在仿真开始前指定移动节点(STA)的信道和AP的信道、STA和AP的SSID, NS3中的扫描过程仅是STA向设定的AP发送探测请求. 当实验场景中存在多个AP时, STA事实上无法扫描其它AP, 这与实际场景不同, 所以NS3目前不支持无线切换[24].
为支持无线切换, 我们修改了WiFiMAC模块. 在STA的WiFiMAC类中添加了以下成员变量: 操作信道列表, 最小信道驻留时间, 最大信道驻留时间. 当发生切换时, STA对操作信道列表中的信道逐一扫描. 对于每一个扫描的信道, 根据IEEE 802.11协议, 当在最小信道驻留时间内发现AP时, 表明当前信道中可能还有更多AP, STA继续在该信道扫描直到最大信道驻留时间; 而在当前信道没有发现AP时, 直接扫描下一个信道. 经过这样修改后, NS3就可以支持802.11的扫描过程了.
4.2 实验环境设置图2为实验所用的无线网络仿真环境, 共部署了4个AP (AP1~AP4)、10个静止的STA (编号1~10)、一台服务器和一个交换机, AP的静态配置参数如表3所示. 图2中以各个AP为中心的圆给出了对应AP的信号范围边界, STA与AP之间的虚线给出了STA与AP的关联关系, 服务器和4个AP通过交换机桥接在一起.
实验时机器人沿水平虚线按照固定速率v=2 m/s从左向右移动, 并且距离AP1和AP2更近一点. 在两个标记为“X”的地方发生切换. 本节设计两组实验, 第1组实验测试切换时延, 第2组实验测试机器人的通信速率.
4.3 切换延时本组实验测试3种切换算法产生的切换时延. 第1种是802.11采用的切换算法, 机器人需要在全部11个信道上进行扫描, 每个信道最小和最大驻留时间分别为20 ms和40 ms. 第2种是基于邻居图的切换算法, 机器人同当前AP通信获取需要扫描的信道, 切换时直接在指定的信道上执行扫描. 第3种是本文提出的基于无线地图的切换算法, 机器人向服务器查询需要关联的AP, 没有信道扫描过程. 本组实验不考虑通信带宽需求, 因而网络中不生成数据流量.
每一次实验, 记录机器人从起点到终点的移动过程中每次切换的开始时间与结束时间, 计算出切换延时, 取两次切换延时的平均值作为本次实验结果. 共做10次实验, 取10次实验结果的平均值. 3种切换算法的平均切换延时显示在图3中.
在不同的切换算法下, 机器人在两个标记为“X”的地方进行切换的开始时间与结束时间如表4.
从图3可以看到, 802.11的切换时延最高, 本文算法的切换时延最低, 切换时延基本上和扫描的信道数量正相关. 本文算法由于只涉及一次服务器查询, 完全消除了扫描过程, 切换时延是最低的.
4.4 机器人通信速率本组实验测试4种AP选择算法对机器人通信速率的影响. 第1种是802.11(本文使用802.11b)采用的基于信号强度的AP选择算法, 机器人选择信号最强(在本实验场景中即距离最近)的AP. 第2种是基于关联终端个数的AP选择算法, AP将STA个数包含在信标帧或探测请求响应帧中, 机器人选择当前关联了最少终端的AP. 第3种是基于信道利用率的AP选择算法, AP将自己统计的信道利用率(当前MAC层速率/AP容量)包含在信标帧或探测响应帧中, 机器人选择当前信道利用率最低的AP. 第4种是本文提出的AP选择算法, 在满足带宽需求时选择信号最强的AP, 在不能满足带宽需求时选择应用层剩余带宽最大的AP.
取决于信道条件, 802.11b的MAC层可支持1 Mb/s、2 Mb/s、5.5 Mb/s和11 Mb/s四种传输容量, 但应用层的数据速率达不到MAC层的传输容量. 实验前首先测量在不同的MAC层传输容量下, 应用层可以获得的最大数据速率. 令服务器向1号STA以不同的速率发送UDP数据, 每次持续20 s, 测量1号STA的接收速率. 逐步增大发送速率, 直至1号STA的接收速率不再增长, 此时1号STA的接收速率即为应用层最大数据速率, 测量结果如图4所示. 可见在本文实验环境下, 1 Mb/s、2 Mb/s、5.5 Mb/s和11 Mb/s四种速率标准对应的应用层最大数据速率分别为0.87 Mb/s、1.6 Mb/s、3.2 Mb/s和4.55 Mb/s.
为比较4种AP选择算法的表现, 服务器向选定的一些终端发送UDP流量, 以使不同的AP具有不同的负载水平. 由于已有的负载感知的AP选择算法均未考虑AP容量的不同, 为此以下实验分两种情况考虑, 第1种情况是所有AP的容量均相同, 第2种情况是AP的容量有所不同.
首先测试AP容量相同的情况. 将所有AP的容量设置为11 Mb/s, 服务器向4个STA发送数据, 4个STA及其关联的AP, 以及服务器向各个STA发送的速率如表5所示.
首先让机器人静止, 测量在此流量配置下各个AP的MAC层传输速率(稳定后测量), 并计算出各自的应用层剩余带宽, 如表6所示.
令机器人从起点向终点移动, 服务器分别按照1 Mb/s和500 Kb/s两种速率向机器人发送数据. 由表4可以发现, 机器人切换发生在第1 s前和第47 s后.为了测试切换对接受带宽的影响, 现在分别测量机器人在第1~40 s、第50~65 s两个时间段内的平均接收速率, 这两个区间没有产生切换. 以及整个第1~65 s内的平均接收速率(有切换产生的丢包). 每种发送速率做10次实验, 取10次实验的平均值,实验结果如图5和图6所示. 表7则是不同的AP选择算法得到的AP切换序列.
当服务器发送速率为500 Kb/s时, 本文算法选择了{AP1, AP2}. 因为第1次切换时, 机器人能够选择AP1和AP3, 此时两个AP的剩余带宽分别为500 Kb/s和1.5 Kb/s, 都能满足机器人500 Kb/s的带宽需求, 故机器人选择了距离更近的AP1. 第2次切换时, 能够选择AP2和AP4, 由于应用层剩余带宽都能满足要求, 同第1次一样, 机器人选择了距离更近的AP2. 尽管不同的AP选择算法选择的切换序列不尽相同, 但是由于此时每个AP都有足够的剩余带宽, 因此在[1, 40]和[50, 65]两个时间段内机器人的平均通信带宽基本都达到了500 Kb/s. 但在[1, 65]时间段内机器人的平均通信带宽都低于500 Kb/s, 这是因为在切换过程中发生了丢包. 注意到本文算法在[1, 65]时间段内机器人的平均通信带宽最高, 这是因为本文算法的切换延时最短, 从而因切换丢失的包最少.
当服务器发送速率为1 Mb/s时, 使用802.11的AP选择算法, 机器人在[1, 40]时间段内的平均通信带宽未达到需求的1 Mb/s, 因为机器人离候选AP1和AP2中的AP1更近, 而由表6知AP1剩余带宽不足1 Mb/s, 达不到机器人的带宽需求, 机器人强行关联AP1只会使AP1过载, 产生丢包. 在[50, 65]时间段内机器人接受带宽为1 Mb/s, 因为AP2剩余带宽为1.5 Mb/s, 能够满足机器人的带宽需求. 在[1, 65]全程时间段内, 机器人接受仅为430 Kb/s, 远小于1 Mb/s, 这是因为802.11的切换时延过高, 并且在[1, 40]时间段也没有满足机器人的通信带宽. 带宽使用基于STA个数的AP选择算法, 机器人在[1, 40]和[50, 65]时间段内的平均通信带宽均未达到1 Mb/s, 因为机器人只关心AP关联的STA个数, 但是没有考虑每个AP的当前实际负载. 由表6可知, AP1和AP4虽然关联的STA个数最少, 但是剩余带宽却是最低的, 都仅剩500 Kb/s, 无法满足机器人带宽需求, 这样的关联结果就是对应的AP产生丢包, 机器人无法获取1 Mb/s的带宽. 使用基于信道利用率的AP选择算法和本文算法, 机器人在[1, 40]和[50, 65]时间段内的平均通信带宽均达到了1 Mb/s, 这是因为AP3比AP1的信道利用率低, AP2比AP4信道利用率低, 且剩余带宽都为1.5 Mb/s, 机器人分别关联AP3和AP2, 带宽都能得到满足.这和本文的算法的关联结果是一样的. 在[1, 65]时间段内, 相比于基于信道利用率的AP选择算法, 本文算法使得机器人的平均通信带宽提高了24%, 这主要源自本文算法产生的切换时延较低. 其它两个算法的平均通信带宽较低, 与它们选择的AP和切换延时都有关系.
接下来, 测试AP容量不同的情况. 按照表8配置AP容量和网络中的数据流量, 令服务器向指定的4个STA发送UDP流量. 首先让机器人静止, 测量在此配置下各个AP的MAC层传输速率, 并计算出各自的应用层剩余带宽, 如表9所示.
令机器人从起点向终点移动, 服务器以500 Kb/s向机器人发送数据, 测试不同的AP选择算法下机器人的平均通信速率, 实验结果如图7所示, 表10为不同算法选择的AP切换序列.
使用802.11的AP选择算法, 机器人在[1, 40]时间段内的平均通信带宽仅为320 Kb/s, 根据表9, AP1剩余带宽为0.1 Mb/s, 达不到机器人的带宽需求, 从而机器人关联AP1后产生大量的丢包. 在[50, 65]时间段内机器人接受带宽为500 Kb/s, 因为AP2剩余带宽为1 Mb/s, 能够满足机器人的带宽需求. 使用基于STA个数的AP选择算法, 机器人在[1, 40]和[50, 65]时间段内的平均通信带宽均未达到500 Kb/s, 由表9可知, AP1和AP4虽然关联的STA个数最少, 但是剩余带宽却是最低的, 仅剩0.1 Kb/s和0.4 Kb/s, 无法满足机器人带宽需求. 使用基于信道利用率的AP选择算法和本文算法, 机器人在[1, 40]时间段内的平均通信带宽达到了需求的500 Kb/s, 此时两个算法都选择了AP3, 而AP3比AP1的信道利用率低, 剩余带宽为0.6 Mb/s, 满足机器人的需求带宽, 但是[50–65]时间段内, 基于信道利用率的算法选择了AP4, 机器人通信带宽仅为461 Kb/s, 低于500 Kb/s, 由表9发现AP4无法满足机器人带宽需求. 本文算法根据应用层剩余容量选择了AP2, 可以满足带宽需求. 在[1, 65]时间段内, 采用本文算法的机器人平均通信带宽最高, 这是因为其它算法或者无法全程满足机器人的带宽需求, 或者由于切换延时较高产生较多的丢包.
综合以上实验可以看到, 本文算法在切换延时和通信带宽保证方面均优于已有的AP切换算法.
5 总结本文面向工业机器人场景提出了一种基于动态无线地图的带宽保证快速切换技术框架,并在网络仿真平台NS3上进行了实现和评估. 与已有的AP切换算法相比,本文方法可以极大地减小机器人的切换延时,同时满足机器人的通信带宽需求.
[1] |
Balasubramanian A, Mahajan R, Venkataramani A, et al. Interactive WiFi connectivity for moving vehicles. Proceedings of ACM SIGCOMM 2008 Conference on Data Communication. Seattle, WA, USA. 2008. 427–438.
|
[2] |
Yoon M, Cho K, Li J, et al. AdaptiveScan: The fast layer-2 handoff for WLAN. Proceedings of the 2011 8th International Conference on Information Technology: New Generations. Las Vegas, NV, USA. 2011. 106–111.
|
[3] |
Mishra A, Shin M, Arbaugh W. An empirical analysis of the IEEE 802.11 MAC layer handoff process. ACM SIGCOMM Computer Communication Review, 2003, 33(2): 93-102. DOI:10.1145/956981.956990 |
[4] |
Majumder A, Nath S. Classification of seamless handoff process in wifi network based on radios. In: Smys S, Bestak R, Chen JIZ, et al., eds. International Conference on Computer Networks and Communication Technologies. Singapore. 2019. 1055–1065.
|
[5] |
Jiang HL, Leung VCM, Gao CH, et al. Mimo-assisted handoff scheme for communication-based train control systems. IEEE Transactions on Vehicular Technology, 2015, 64(4): 1578-1590. DOI:10.1109/TVT.2014.2332188 |
[6] |
Xue CJ, Li WZ, Yu LF, et al. SERO: A model-driven seamless roaming framework for wireless mesh network with multipath TCP. IEEE Transactions on Communications, 2019, 67(2): 1284-1296. DOI:10.1109/TCOMM.2018.2880785 |
[7] |
Jeong JP, Park YD, Suh YJ. An efficient channel scanning scheme with dual-interfaces for seamless handoff in IEEE 802.11 WLANs. IEEE Communications Letters, 2018, 22(1): 169-172. DOI:10.1109/LCOMM.2017.2763941 |
[8] |
Jin S, Choi S. A seamless handoff with multiple radios in IEEE 802.11 WLANs. IEEE Transactions on Vehicular Technology, 2014, 63(3): 1408-1418. DOI:10.1109/TVT.2013.2283914 |
[9] |
Lal Tetarwal M, Kuntal A, Karmakar P. A review on handoff latency reducing techniques in IEEE 802.11 WLAN. International Journal of Computer Applications. 2014, NWNC(2): 22–28.
|
[10] |
Das D. A fast handoff technique for wireless mobile networks. Proceedings of the 15th International Conference on Distributed Computing and Internet Technology. Bhubaneswar, India. 2019. 251–259.
|
[11] |
Park SH, Kim HS, Park CS, et al. Selective channel scanning for fast handoff in wireless LAN using neighbor graph. Proceedings of IFIP TC6 9th International Conference on Personal Wireless Communications. Delft, the Netherlands. 2004. 194–203.
|
[12] |
Ling TC, Lee JF, Hoh KP. Reducing handoff delay in WLAN using selective proactive context caching. Malaysian Journal of Computer Science, 2010, 23(1): 49-59. DOI:10.22452/mjcs.vol23no1.4 |
[13] |
Kim SR, Kim KJ, Baek JJ, et al. A WLAN handoff scheme based on selective channel scan using pre-collected AP information for VoIP application. Proceedings of 2009 International Conference on Innovations in Information Technology. Al Ain, Abu Dhabi. 2009. 70–74.
|
[14] |
Wang R, Mukerjee MK, Veloso M, et al. Wireless map-based handoffs for mobile robots. Proceedings of 2015 IEEE International Conference on Robotics and Automation (ICRA). Seattle, WA, USA. 2015. 5545–5550.
|
[15] |
Wen YF, Shen JC. Load-balancing metrics: Comparison for infrastructure-based wireless networks. Computers & Electrical Engineering, 2014, 40(2): 730-753. |
[16] |
Lu MM, Wu J. Localized access point selection in infrastructure wireless LAN. Proceedings of MILCOM 2007-IEEE Military Communications Conference. Orlando, FL, USA. 2007. 1–7.
|
[17] |
Vasudevan S, Papagiannaki K, Diot C, et al. Facilitating access point selection in IEEE 802.11 wireless networks. Proceedings of the 5th ACM SIGCOMM Conference on Internet Measurement. Berkeley, CA, USA. 2005. 26.
|
[18] |
Sheu ST, Wu CC. Dynamic Load Balance Algorithm (DLBA) for IEEE 802.11 WireLess LAN. Tamkang Journal of Science and Engineering, 1999, 2(1): 45-52. |
[19] |
Nicholson AJ, Chawathe Y, Chen MY, et al. Improved access point selection. Proceedings of the 4th International Conference on Mobile Systems, Applications and Services. Uppsala, Sweden. 2006. 233–245.
|
[20] |
Lee MT, Lai LT, Lai D. Enhanced algorithm for initial AP selection and roaming: US, 20040039817. (2004-02-26).
|
[21] |
Chen JC, Chen TC, Zhang T, et al. WLC19-4: Effective AP selection and load balancing in IEEE 802.11 wireless LANs. Proceedings of IEEE GLOBECOM 2006. San Francisco, CA, USA. 2006. 1–6.
|
[22] |
刘小花. IEEE 802.11b物理层帧结构的研究与性能分析. 数据通信, 2012(3): 38-40. DOI:10.3969/j.issn.1002-5057.2012.03.014 |
[23] |
Heusse M, Rousseau F, Berger-Sabbatel G, et al. Performance anomaly of 802.11b. Proceedings of the 22nd Annual Joint Conference of the IEEE Computer and Communications. San Francisco, CA, USA. 2003. 836–843.
|
[24] |
Ernst JB, Kremer SC, Rodrigues JJPC. A Wi-Fi simulation model which supports channel scanning across multiple non-overlapping channels in NS3. Proceedings of the 2014 IEEE 28th International Conference on Advanced Information Networking and Applications. Victoria, UK. 2014. 268–275.
|