CN109314653B - 用于分析与耦合到wlan的无线电相关联的预定参数集的客户端设备和方法 - Google Patents
用于分析与耦合到wlan的无线电相关联的预定参数集的客户端设备和方法 Download PDFInfo
- Publication number
- CN109314653B CN109314653B CN201780034911.8A CN201780034911A CN109314653B CN 109314653 B CN109314653 B CN 109314653B CN 201780034911 A CN201780034911 A CN 201780034911A CN 109314653 B CN109314653 B CN 109314653B
- Authority
- CN
- China
- Prior art keywords
- wlan
- client
- stack
- radio
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/06—Testing, supervising or monitoring using simulated traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
提供了一种用于分析与耦合到WLAN的无线电相关联的预定的参数集的客户端设备和方法。客户端设备包括存储器和耦合到至少一个处理器的无线电。该至少一个处理器在该存储器中执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电耦合到WLAN的多个层。该至少一个处理器还在存储器中执行模拟第一客户端WLAN堆栈的该多个层的第二客户端WLAN堆栈。该至少一个处理器被配置为在第二客户端WLAN堆栈处从第一客户端WLAN堆栈的该多个层接收数据,并基于从第一客户端WLAN堆栈的该多个层接收到的数据来分析客户端设备的预定的WLAN参数集。
Description
相关申请的交叉引用
本申请要求2016年6月6日提交的美国临时专利申请第62/346,016号和 2017年5月12日提交的美国申请第15/593,558号的优先权,这两个申请均通过引用整体并入本文。
背景
确定客户端设备(诸如移动设备)的WLAN连接性和可达性的现有技术可大致分为四类。
第一类是通过服务网络实体对客户端设备进行通用连接性分析。这种服务网络实体可以包括本地基础设施设备(诸如服务接入点(AP)/交换机/路由器等)和/或IP(网际协议)网络设备(包括本地或远程网络设备,诸如DHCP (动态主机协议)服务器、应用服务器等)。在这种分析中,服务网络实体关注设备连接的通用状态及其可达性。如果有关客户端设备的AP的WLAN信息是可用的,则它还将引入连接的WLAN和射频(RF)的特性。然而,这些方法不能“看到”客户端设备的内部状态和/或数据,并因此这些方法也不考虑客户端设备如何促进它们的连接性协议侧。
第二类是非服务网络实体的特定WLAN连接性分析。这种非服务网络实体包括不同类型的WLAN嗅探器模块(诸如附接到膝上型计算机的单独嗅探适配器(例如,wildpackets、wireshark等))、混杂地嗅探空气的客户端设备和/ 或安装的AP的非服务无线电设备/传感器。然而,这些方法可以提供关于客户端设备促进WLAN协议的仅部分推理。另外,在在WLAN连接上对上层联网层(例如,因特网协议、应用)进行分组分析的大多数情况下,分析受到限制,因为上层协议/信令流量被端到端地保护/加密。
第三类是基于客户端设备的操作***“事件”(和/或使用它们的应用)的连接性分析。在这样的分析中,可用于从联网协议的较低层分析的数据非常有限,因为它不能被定制为执行该分析的硬件平台的特定数据。因此,被分析的数据将是协议的后结果和/或后转换,并且排除了反映关于如何促进它们的决定的数据以及用于与AP进行分组交换的所选择的子元素的原因。
第四类是调试软件,由于安全原因它通常无法进行产品化。可以使用来自客户端设备的内部低层的正在进行的“原始”调试数据来执行使用这种软件的 WLAN连接性的分析。除了在最终产品中调试代码的安全性问题之外,这种调试软件产生大量数据,这需要大量处理时间和/或特殊专业知识来解码它。
附图说明
附图(其中类同的附图标记在全部单独的视图中表示相同的或功能类似的要素)连同下面的详细描述被纳入于此并形成说明书的一部分,并用来进一步阐述包括所要求保护的发明的构思的实施例,以及解释那些实施例的各种原理和优势。
图1是根据一些实施例的包括客户端设备的***的示意图。
图2是图1的客户端设备的某些内部硬件组件的示意性框图。
图3是根据一些实施例的用于分析与耦合到WLAN的无线电相关联的预定参数集的方法的流程图。
图4是图1的客户端设备的某些内部组件的框图。
图5是根据一些实施例的用于分析与耦合到WLAN的无线电相关联的预定参数集的方法的流程图。
本领域技术人员将理解附图中的要素出于简化和清楚而示出,并且不一定按比例绘制。例如,附图中的要素中的一些要素的尺寸可相对于其他要素被放大以帮助改善对本发明实施例的理解。
已在附图中通过常规符号在适当位置对装置和方法构成进行了表示,所述表示仅示出与理解本发明的实施例有关的那些特定细节以免因得益于本文的描述对本领域技术人员显而易见的细节而混淆本公开。
具体实施方式
本说明书提供了一种客户端设备和方法,用于分析与耦合到WLAN的无线电相关联的预定的参数集,该参数集包括但不限于在WLAN上的客户端设备的无线电的连接性、链路质量和网络可达性。本文描述的客户端设备和方法使用模拟器来分析这种耦合,该模拟器执行客户端连接性堆栈(例如,内部联网层),该客户端连接性堆栈模拟正在执行无线电到WLAN的实时耦合的客户端连接性堆栈的多个层。模拟器可以位于正在耦合到WLAN的同一客户端设备上。因此,由模拟器接收和使用来自内部联网层的个体子层的数据,以提供允许分析器提供耦合的实时分析的输出。
本说明书的方面提供一种客户端设备,包括:存储器;无线电,所述无线电耦合到至少一个处理器,所述至少一个处理器在存储器中执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电耦合到WLAN的多个层;以及第二客户端WLAN堆栈,所述第二客户端WLAN堆栈由所述至少一个处理器在所述存储器中执行,并模拟所述第一客户端WLAN堆栈的该多个层,其中,所述至少一个处理器被配置为在所述第二客户端WLAN堆栈处从所述第一客户端WLAN堆栈的该多个层接收数据,并且基于从所述第一客户端WLAN堆栈的该多个层接收到的数据来分析所述客户端设备的预定的WLAN参数集。
在一些实施例中,所述处理器还被配置为向外部设备报告所述预定的 WLAN参数集的输出。
在一些实施例中,所述预定的WLAN参数集包括以下中的一个或多个:在所述WLAN上的所述无线电的连接性、链路质量和网络可达性。
在一些实施例中,从所述第一客户端WLAN堆栈接收到的数据包括以下中的一个或多个:向所述WLAN传输以及从所述WLAN接收的未加密的分组;与所述多个层中的一个或多个相关联的事件数据;配置数据;和网络扫描数据。
在一些实施例中,所述至少一个处理器还被配置为:基于所述第二客户端WLAN堆栈的执行,确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止;改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止,并且重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
在一些实施例中,所述至少一个处理器还被配置为:通过以下步骤基于模拟所述第一客户端WLAN堆栈的该多个层的所述第二客户端WLAN堆栈的执行来分析与耦合到所述WLAN的所述无线电相关联的所述预定的WLAN参数集:首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电到所述WLAN的连接正在发生;当所述无线电到所述WLAN的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电的连接性状态;以及当所述无线电到所述WLAN的连接没有正在发生时:停止分析所述预定的 WLAN参数集。
在一些实施例中,所述至少一个处理器还被配置为:通过以下步骤基于模拟所述第一客户端WLAN堆栈的该多个层的所述第二客户端WLAN堆栈的执行来分析与耦合到所述WLAN的所述无线电相关联的所述预定的WLAN参数集:确定所述无线电和所述WLAN之间的连接已完成;并且之后,确定链路质量和网络可达性中的一个或多个。
在一些实施例中,所述预定的WLAN参数集包括链路质量和网络可达性中的一个或多个,并且所述至少一个处理器还被配置为通过以下步骤分析所述链路质量和所述网络可达性中的一个或多个:控制所述无线电以传输一个或多个分组以确定所述链路质量和所述网络可达性中的一个或多个。
本说明书的进一步的方面提供一种方法,包括:在客户端设备处,包括:存储器和耦合到至少一个处理器的无线电,执行第一客户端无线局域网(WLAN) 堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电耦合到WLAN的多个层;执行模拟所述第一客户端WLAN堆栈的该多个层的第二客户端WLAN堆栈;在所述第二客户端WLAN堆栈处从所述第一客户端 WLAN堆栈的该多个层接收数据;以及基于从所述第一客户端WLAN堆栈的该多个层接收到的所述数据来分析所述客户端设备的预定的WLAN参数集。
在一些实施例中,所述方法还包括向所述外部设备报告所述预定的 WLAN参数集的输出。
在一些实施例中,所述预定的WLAN参数集包括以下中的一个或多个:在所述WLAN上的所述无线电的连接性、链路质量和网络可达性。
在一些实施例中,从所述第一客户端WLAN堆栈接收到的数据包括以下中的一个或多个:向所述WLAN传输以及从所述WLAN接收的未加密的分组;与所述多个层中的一个或多个相关联的事件数据;配置数据;和网络扫描数据。
在一些实施例中,所述方法进一步包括:基于所述第二客户端WLAN 堆栈的执行,确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止;改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止;以及重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
在一些实施例中,所述方法进一步包括通过以下步骤基于从所述第一客户端WLAN堆栈的该多个层接收到的数据,分析所述客户端设备的该预定的 WLAN参数集:首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电到所述WLAN的连接正在发生;当所述无线电到所述WLAN 的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电的连接性状态;以及当所述无线电到所述WLAN的连接没有正在发生时:停止分析所述预定的WLAN参数集。
在一些实施例中,所述方法进一步包括通过以下步骤基于从所述第一客户端WLAN堆栈的该多个层接收到的数据,分析所述客户端设备的该预定的 WLAN参数集:确定所述无线电和所述WLAN之间的连接已完成;并且之后,确定链路质量和网络可达性中的一个或多个。
在一些实施例中,所述预定的WLAN参数集包括链路质量和网络可达性中的一个或多个,并且所述方法还包括通过以下步骤分析所述链路质量和所述网络可达性中的一个或多个:控制所述无线电以传输一个或多个分组以确定所述链路质量和所述网络可达性中的一个或多个。
本说明书的又进一步的方面提供了一种存储计算机程序的非瞬态计算机可读介质,其中该计算机程序的执行用于:在客户端设备处,包括:存储器和耦合到至少一个处理器的无线电,执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电耦合到WLAN的多个层;执行模拟所述第一客户端WLAN堆栈的该多个层的第二客户端WLAN堆栈;在所述第二客户端WLAN堆栈处从所述第一客户端WLAN堆栈的该多个层接收数据;以及基于从所述第一客户端WLAN堆栈的该多个层接收到的所述数据来分析所述客户端设备的预定的WLAN参数集。
在一些实施例中,该计算机程序的执行进一步用于:向外部设备报告所述预定的WLAN参数集的输出。
在一些实施例中,该计算机程序的执行进一步用于:基于所述第二客户端WLAN堆栈的执行,确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止;改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止;以及重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
在一些实施例中,所述计算机程序的执行进一步用于通过以下步骤基于从所述第一客户端WLAN堆栈的该多个层接收到的数据,分析所述客户端设备的该预定的WLAN参数集:首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电到所述WLAN的连接正在发生;当所述无线电到所述WLAN的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电的连接性状态;以及当所述无线电到所述WLAN的连接没有正在发生时:停止分析所述预定的WLAN参数集。
将注意转向图1,其描绘了包括与无线局域网(WLAN)102通信的客户端设备101的***100,如所描绘的,无线局域网102包括接入点103。如所描绘的,***100还包括外部设备105,其例如管理和/或配置WLAN 102的组件,该组件包括但不限于接入点(AP)103。客户端设备101在下文中可互换地称为设备101,并且外部设备105在下文中可互换地称为设备105。当设备101(下文中可互换地称为设备101)与WLAN 102通信时,在设备101和 WLAN 102之间建立无线通信链路107。类似地,设备105经由链路109(根据需要是无线和/或有线的)与WLAN 102的组件通信,该组件包括但不限于接入点103。设备105被称为外部设备,指示设备105在设备101外部。设备101、 105被配置为使用链路107、109通信。
设备105被称为“外部”设备,指示设备105在设备101外部。设备105 通常包括具有用于显示和分析的相应插件(未描绘)的外部服务器和/或PC(个人计算机),该分析包括但不限于用于分析来自设备101的输出以便更好地管理和/或控制WLAN 102的分析。因此,设备105包括但不限于网络分析计算设备,其与客户IT实体、支持实体、现场工程师、第三方部署、专业服务实体、现场和/或场外调试环境、客户实验室、生产环境中的准备测试、监测/调试环境等中的一个或多个相关联。
如下面将描述的,设备101包括具体配置设备101用于分析与耦合到 WLAN(包括但不限于WLAN 102)的无线电相关联的预定参数集的组件。在一些实施例中,来自这种分析的输出被提供给设备105,用于管理和/或控制 WLAN 102和设备101。
接下来将注意转向图2,图2描绘了设备101的示意图。具体地,设备 101包括:存储器116;无线电118,耦合到至少一个处理器120,所述至少一个处理器120在存储器116中执行具有多个层(下面描述)的第一客户端无线局域网(WLAN)堆栈131,所述多个层被配置为将无线电118耦合到WLAN (例如WLAN 102);以及第二客户端WLAN堆栈132,由该至少一个处理器 120在存储器116中执行,模拟第一客户端WLAN堆栈131的该多个层,其中该至少一个处理器120被配置为在第二客户端WLAN堆栈132处从第一客户端 WLAN堆栈131的该多个层接收数据,并基于从第一客户端WLAN堆栈131 的该多个层接收到的数据分析客户端设备101的预定的WLAN参数集。下面进一步详细描述预定的WLAN参数集。
如所描绘,设备101还包括存储在存储器116中的配置数据133,并且第一客户端WLAN堆栈131的一些进程通常根据配置数据133来操作。
如所描绘,设备101还包括输入设备134、显示设备136、扬声器142 和麦克风144。
如进一步所描绘,设备101特别地配置为包括WLAN计算机框架221,其至少包括第一客户端WLAN堆栈131,该框架221由该至少一个处理器120 在存储器116中执行;以及WLAN计算机框架222,其至少包括第二客户端 WLAN堆栈132,框架222也由该至少一个处理器120在存储器116中执行。通常,框架221包括使用无线电118管理与WLAN102的通信的设备101的组件和/或功能;例如,框架221包括但不限于第一客户端WLAN堆栈131,以及用于管理配置数据133、使用无线电118管理和/或监测分组传输和接收、执行网络扫描等的组件和/或功能。这样的组件可以包括但不限于DHCP(动态主机配置协议)、ARP(地址解析协议)客户端等。
框架222包括设备101的用于基于从第一客户端WLAN堆栈131的该多个层接收到的数据来分析客户端设备的预定的WLAN参数集的组件和/或功能。
如所描绘,设备101是具有电话功能的移动设备。然而,设备101不需要包括移动通信设备,而是在其他实施例中,包括进一步特别适用于专用功能的计算设备。例如,在一些实施例中,设备101是与WLAN102通信的自助服务终端(kiosk)的组件。
在一些实施例中,设备101特别适用于使用数据捕获组件等的仓库库存跟踪和/或其他数据获取功能;在这些实施例中的一些实施例中,设备101还包括用于仓库库存跟踪和/或其他数据获取功能的其他类型的硬件,包括但不限于射频识别(RFID)读取器、近场通信(NFC)读取器和/或其他类型的数据获取组件中的一个或多个。在又进一步的实施例中,设备101可安装在车辆中。
使用无线电与WLAN通信的其他计算设备是在本说明书的范围内,包括但不限于打印机、联网设备、配置有物联网协议的装置,可在WLAN中寻址和/或被分配网络地址和/或由WLAN的组件服务的设备。
图2的示例的至少一个处理器120包括一个或多个逻辑电路,其具体配置为例如实现设备101的网络管理功能。示例逻辑电路包括一个或多个处理器,一个或多个微处理器,一个或多个ASIC(专用集成电路)和一个或多个FPGA (现场可编程门阵列)。在一些示例中,设备101具体配置为实现特定的WLAN 通信分析功能。例如,在一些实施例中,设备101和/或该至少一个处理器120 具体包括计算机可执行引擎,其被配置为实现本文描述的WLAN通信分析。
此外,虽然描绘了仅一个处理器120,但是在其他实施例中,设备101 包括多个处理器120,例如,执行框架221的第一处理器和执行框架222的第二处理器。
图2的存储器116是存储用于实现一个或多个程序或应用的机器可读指令的机器可读介质。示例的机器可读介质包括非易失性存储单元(例如,可擦除电子可编程只读存储器(“EEPROM”)、闪存)和/或易失性存储单元(例如,随机存取存储器(“RAM”))。在图2的示例中,实现如本文所述的设备101的功能教导的编程指令(例如,机器可读指令)被持久地保持在存储器 116并由该至少一个处理器120使用,该至少一个处理器120在执行这样的编程指令期间适当地利用易失性存储。
图2的示例存储器116存储框架221和框架222,框架221包括第一客户端WLAN堆栈131,框架222包括第二客户端WLAN堆栈132,当由该至少一个处理器120执行时,第二客户端WLAN堆栈132使得该至少一个处理器 120能够实现WLAN分析功能。在所图示的示例中,当该至少一个处理器120 在存储器116中执行框架221、222时,该至少一个处理器120被配置为:执行具有被配置为将无线电耦合到WLAN的多个层的第一客户端WLAN堆栈 131;执行第二客户端WLAN堆栈132,模拟第一客户端WLAN堆栈131的该多个层;在第二客户端WLAN堆栈132处从第一客户端WLAN堆栈131的该多个层接收数据;以及基于从第一客户端WLAN堆栈131的该多个层接收到的数据,分析客户端设备101的预定的WLAN参数集。
图2的示例的无线 电118通常包括被配置用于根据例如一个或多个 802.11 WLAN协议(包括但不限于WiFi协议等)与WLAN 102通信的一个或多个无线电电路组件,该WLAN102包括但不限于接入点103。因此,链路107 包括WLAN链路(包括但不限于WiFi链路等)。
虽然未描绘,但是在一些实施例中,设备101还包括一个或多个另外的无线电和/或连接器和/或网络适配器,被配置为与用于实现在其他设备和/或其他网络之间的一个或多个通信链路的网络架构有线和/或无线通信。示例的通信链路包括以下中的一个或多个:USB(通用串行总线)线缆、串行线缆、无线链路、蜂窝电话链路、蜂窝网络链路(包括但不限于诸如UMTS(通用移动电信***)、GSM(全球移动通信***)、CDMA(码分多址)、FDD(频分双工)、LTE(长期演进)、TDD(时分双工)、TDD-LTE(TDD-长期演进)、 TD-SCDMA(时分同步码分多址)等的2G、2.5G、3G、4G+)、无线数据、基于分组的链路、WiMax链路、因特网、模拟网络、PSTN(公共交换电话网络)、接入点等和/或组合。
图2的示例的输入设备134包括但不限于键盘、显示设备136的触摸屏、触摸板、一个或多个按钮、一个或多个致动器等。图2的示例的显示设备136 包括平板显示器(例如LCD(液晶显示器)、等离子显示器、OLED(有机发光二极管)显示器)等,以及一个或多个可选的触摸屏(包括电容式触摸屏和 /或电阻式触摸屏)中的任何合适的一个或组合。图2的示例的扬声器142和麦克风144包括使用例如无线电118和WLAN 102来实现设备101的电话通信等的扬声器和麦克风的任何组合。在其他实施例中,设备101包括用于设备101 的专门操作的任何其他硬件和/或组件。例如,当设备101是自助服务终端或车辆的组件时,设备101包括与自助服务终端或车辆相关联的专用组件。
设备101的各种硬件组件例如经由一个或多个通信总线互连。设备101 还包括用于给上述组件供应电功率的电源(未示出)。在本示例中,电源包括电池;在其他示例中,除了电池之外或代替电池,电源包括到壁式插座或其他外部电源的有线连接。
现在将注意转向图3,图3描绘了表示用于示例设备101的WLAN分析功能的示例方法300的流程图。图3的方法300的示例操作对应于由例如图2 的设备101并且具体地由执行框架221、222的该至少一个处理器120执行的机器可读指令。实际上,图3的示例方法300是配置设备101的一种方式。然而,对图3的示例方法300的以下讨论将导致对设备101及其各种组件的进一步理解。然而,应该理解,在其他实施例中,设备101和/或方法300可变化,并且因此不需要完全如本文所讨论的彼此结合地工作,并且这种变化是在本实施例的范围内。
此外,图3的示例方法300不需要以所示的确切顺序来执行,并且同样地,在其他实施例中,各种框可以并行而不是顺序地被执行。因此,方法300 的元素在本文中称为“框”而不是“步骤”。图3的示例方法300也可以在示例设备101的变体上来实施。
在框301处,该至少一个处理器120正在执行第一客户端WLAN堆栈 131,其具有被配置为将无线电118耦合到WLAN(例如,WLAN 102)的多个层。
在框303处,该至少一个处理器120正在执行第二客户端WLAN堆栈 132,模拟第一客户端WLAN堆栈131的该多个层;
在框305处,该至少一个处理器120正在第二客户端WLAN堆栈132 处从第一客户端WLAN堆栈131的该多个层接收数据。
在框307处,该至少一个处理器120正基于从第一客户端WLAN堆栈 131的该多个层接收到的数据分析客户端设备101的预定的WLAN参数集。
在本文描述的实施例中,框303、303、305、307通常彼此并行地操作,使得当该至少一个处理器120正在执行第一客户端WLAN堆栈131时,该至少一个处理器120还例如基于从第一客户端WLAN堆栈131的该多个层接收到的数据正在执行第二客户端WLAN堆栈132,并分析预定的WLAN参数集。
在框309处,该至少一个处理器120例如基于框307的分析正在向外部设备105报告预定的WLAN参数集的输出。然而,在一些实施例中,框309 是可选的。替代地,和/或除了框309之外,该至少一个处理器120在存储器 116中记录输出。此外,在一些实施例中,框309至少与框307并行地执行,使得当生成输出时,例如当执行在第二客户端WLAN堆栈132中的每个层时,向外部设备105报告该输出。
在框311处,该至少一个处理器120基于第二客户端WLAN堆栈132 的执行来确定第一客户端WLAN堆栈131的一个或多个进程的执行被阻止。在框313处,该至少一个处理器120正在改变与第一客户端WLAN堆栈131相关联的配置数据133以对该一个或多个进程的执行解除阻止。在框315处,该至少一个处理器120正在重新执行第一客户端WLAN堆栈131以基于改变的配置数据执行该一个或多个进程。框311、313和315通常与方法300的剩余框301、303、305、307、309中的每一个并行地操作,并且因此当方法300由于阻止第一客户端WLAN堆栈131的一个或多个进程而被中断和/或停止时,框311、 313、315的执行被用于对第一客户端WLAN堆栈131的该一个或多个进程解除阻止。
框311、313、315在其他实施例中是可选的。
以下参考图4和图5描述方法300。图4描绘了当该至少一个处理器120 正在实施方法300,当设备101使用无线电118与WLAN102通信时框架221、 222的细节和操作。图5描绘了方法500,其描绘了具体地通过执行框架222 的该至少一个处理器120的方法300的方面的特定实施例。实际上,以下对图4和图5的讨论将导致对方法300的进一步理解。
参考图4,框架221包括第一客户端WLAN堆栈131和可选的WLAN 驱动接口400。WLAN驱动接口400监测无线电118与框架221的组件之间的交互。实际上,在一些实施例中,使用WLAN驱动接口400在无线电118与框架221的组件之间传送数据。此外,WLAN驱动接口400监测框架221和框架 222之间的交互。实际上,在一些实施例中,在框架221和框架222之间传送数据。然而,在一些实施例中,WLAN驱动接口400的功能是至少框架221(以及可选地框架222)的组件,并且WLAN驱动接口400不是不同的组件。无论哪种方式,设备101被配置为监测无线电118与框架221的组件之间的交互,并且还被配置为监测框架221与框架222之间的交互。
第一客户端WLAN堆栈131包括多个层,在所描绘的示例实施例中,所述多个层包括:认证层401,关联层402,WLAN-安全层403,DHCP(动态主机配置协议)层404(其可以是DHCP客户端的一部分)和ARP(地址解析协议)层405(其可以是ARP客户端的一部分)。层401-层405至少包括网络堆栈和/或网络层的子集(例如,包括但不限于开放***互连(OSI)模型的层等,和/或任何其他合适的联网模型和/或联网堆栈的层)。例如,当无线电118 正在与WLAN 102建立通信时,执行每个层401-层405(例如,在方法300的框301中),并且在执行层401-层405中的每一个期间,使用无线电118用 WLAN 102传输和/或接收的分组439的每个报头(header)包括对应层401- 层405的标识符。当呈现WLAN驱动接口400时,监测分组439。
虽然仅描绘了五个层,但在其他实施例中,第一客户端WLAN堆栈131 包括多于五个层。在又其他实施例中,第一客户端WLAN堆栈131包括少于五个层。
实际上,第一客户端WLAN堆栈131的执行通常取决于用于与WLAN 102通信的硬件和/或组件和/或WLAN 102的硬件和/或组件。例如,无线电118 和/或WLAN102被配置为根据取决于无线电118和/或AP103的数据速率、帧速率等进行通信,并且相应地配置第一客户端WLAN堆栈131的执行。
框架221还包括配置数据133,该配置数据可以包括在执行第一客户端 WLAN堆栈131期间用于与WLAN 102通信的数据,包括但不限于一个或多个密码(例如,用于AP 103的密码)、通信数据速率(例如,与AP 103一起使用)、通信帧速率(例如,与AP 103一起使用)等。
框架222包括第二客户端WLAN堆栈132,其包括多个层,在所描绘的示例实施例中,所述多个层包括:认证层411,关联层412,WLAN-安全层 413,DHCP层414和ARP415。因此,层411-层415中的每一个对应于第一客户端WLAN堆栈131的类似层。实际上,层411-层415中的每一层通常与对应的层401-层405相同,使得第二客户端WLAN堆栈132模拟第一客户端WLAN堆栈131。具体地,第二客户端WLAN堆栈132中的多个层与第一客户端WLAN堆栈131中的多个层相同。
如所描绘,框架222还包括:链路质量组件417,网络可达性组件419,分析器420和数据记录器426。
此外,虽然链路质量组件417,网络可达性组件419,分析器420和数据记录器426被描绘为框架222的单独组件,但在其他实施例中,链路质量组件417,网络可达性组件419,分析器420和数据记录器426中的一个或多个被组合成单个组件;例如,数据记录器426可以合并到分析器420中。
为了模拟第一客户端WLAN堆栈131,第二客户端WLAN堆栈132从框架221接收配置数据133,以及从第一客户端WLAN堆栈131的多个层 401-405接收事件数据440。当存在时,事件数据440通过WLAN驱动接口400 来监测。例如,当该至少一个处理器120正在执行第一客户端WLAN堆栈131 的每个层401-405时,在第二客户端WLAN堆栈132处接收指示在每个层401-405处发生的事件的事件数据440,并且第二客户端WLAN堆栈132对应地模拟第一客户端WLAN堆栈131。具体地,该多个层401-405中的每一个按顺序执行,并且因此事件数据440也按顺序接收。换句话说,虽然事件数据440 在图4中被描绘为单个箭头,但是事件数据440包括当对应的层401-层405中的每个被执行时,在第二客户端WLAN堆栈132处接收到的多个数据集(例如针对层401-层405中的每一个的集)。
此外,当框架221与WLAN 102交换分组439时,在框架222处接收分组441的副本,例如在例如使用框架222的嗅探器模块442实施的分组监测进程中。嗅探器模块442被配置为保持和/或高速缓存分组441的副本,这可以避免发生在框架221处的分组存储,从而减少存储器使用和框架221的定时资源的使用。因此,嗅探器模块442可以为第二客户端WLAN堆栈132的组件(以及链路质量组件417和网络可达性组件419)提供针对在框架221和WLAN 102之间已经被交换的内容的资源和/或单个资源。因此,嗅探器模块442可以包括存储分组441的未加密副本的高速缓存,其可以被框架222的其他组件访问。使用嗅探器模块442的这样的分组监测进程因此类似于在设备101外部发生的分组嗅探等;然而,与分组嗅探相反,分组441的副本未被加密和/或在加密(如果有)之前使用嗅探器模块442提供给框架222。如所描绘,分组441的示例副本因此包括开放(例如,未加密)的分组,包括但不限于向WLAN 102传输和从WLAN 102接收的未加密的分组。未加密的分组可以包括来自第一客户端 WLAN堆栈131的原始分组,特别是来自第一客户端WLAN堆栈131中的层的原始分组,其中联网流量处于其IEEE 802.11分组格式。
这样,第二客户端WLAN堆栈132与第一客户端WLAN堆栈131呈镜像和/或模拟第一客户端WLAN堆栈131。例如,第二客户端WLAN堆栈132 的执行不会导致分组的传输或接收,由第一客户端WLAN堆栈131使用和/或接收和/或传输的相同和/或类似的数据的接收(例如,由嗅探器模块442高速缓存的分组441的副本,第二客户端WLAN堆栈132,以及配置数据133和事件数据440)使得第二客户端WLAN堆栈132能够与第一客户端WLAN堆栈 131呈镜像和/或模拟第一客户端WLAN堆栈131。
与第一客户端WLAN堆栈131相反,第二客户端WLAN堆栈132不是依赖硬件的,因为第二客户端WLAN堆栈132基于所接收到的数据来执行。这样,在一些实施例中,第二客户端WLAN堆栈132被实现为在设备101处的状态机,该状态机与第一客户端WLAN堆栈131的连接性等呈镜像和/或模拟第一客户端WLAN堆栈131的连接性等。
分析器420通常与第二客户端WLAN堆栈132交换数据443(例如,请求数据并接收数据)以确定第二客户端WLAN堆栈132的每个层411-415是否存在问题和/或争议;此外,当第二客户端WLAN堆栈132正在模拟第一客户端WLAN堆栈131时,当分析器在第二客户端WLAN堆栈132处发现问题和/ 或争论时,假设在第一客户端WLAN堆栈131处已经发生了相同的问题和/或争议,如下面关于图5所描述的。
如所描绘,分析器420还从框架221接收指示网络扫描和/或网络调查的网络扫描数据445,例如以便例如使用配置数据133来确定网络连接性的配置和/或无线电118是否匹配预期的连接性。这种网络扫描可以在第一客户端 WLAN堆栈131用于与WLAN102通信之前,自动地和/或在分析器420请求时发生。实际上,在一些实施例中,网络扫描由框架221启动,例如在第一客户端WLAN堆栈131被执行之前,网络扫描数据445被获取并提供给框架222,而不由框架222启动和/或作为框架221的网络连接性进程的一部分。例如,在连接到诸如WLAN102之类的网络之前,客户端设备101执行网络扫描以找到要与之连接的网络。
如所描绘,分析器420还与链路质量组件417交换数据447,例如以在建立时(例如,通过执行第一客户端WLAN堆栈131)分析链路107的质量。链路质量组件417通常通过与框架221交换数据448(如由WLAN驱动接口400 监测,当存在时)使得链路质量被分析,这进而使用无线电118使得分组被传输以测试链路107的质量,例如通过使用链路107将分组注入到无线电118的传输中并测量响应(如果有)。由嗅探器模块442高速缓存的由这种传输产生的分组441的副本的分组监测由分析器420使用以确定链路质量。
类似地,分析器420还与网络可达性组件419交换数据449,例如以分析WLAN102的可达性(例如,在AP103之外的WLAN102中的WLAN组件的可达性)。网络可达性组件419通常通过与框架221交换数据450(如由WLAN 驱动接口400监测,当存在时)使得网络可达性被分析,这进而使用无线电118 使得分组被传输以测试WLAN 102的可达性,例如通过使用链路107将分组注入到传输中并测量来自WLAN 102的响应(如果有)。由嗅探器模块442高速缓存的由这种传输产生的分组441的副本的分组监测由分析器420使用以确定 WLAN 102的可达性。
分析器420还被配置为向外部设备105报告输出452和/或向数据记录器 426提供输出454,数据记录器426将输出454存储到存储器116以供稍后检索和分析。虽然输出452被描绘为在不使用无线电118和WLAN 102的情况下被提供给外部设备105,但是在一些实施例中,使用无线电118向外部设备105 提供输出452;然而,在其他实施例中,使用设备101的另一个无线电(例如,蜂窝无线电)、另一个无线链路(例如,不是蜂窝链路)、另一个网络(例如,蜂窝网络)和/或有线连接(例如,到因特网的有线连接)中的一个或多个,将输出452提供给外部设备105。
实际上,假设外部设备105已向设备101注册以接收输出452,并且外部设备105的任何数据记录和/或分析与分析器420的应用编程接口(API)兼容。
当不可以将输出452提供给外部设备105时,例如当设备101不能与外部设备105通信时,以及当输出454被存储在存储器116中时,当设备101稍后与外部设备105通信时,输出454稍后被传输到外部设备105作为输出452。换句话说,输出452、454彼此类似。
通常,分析器420作为框架222的一部分由该至少一个处理器120来执行,以分析预定的WLAN参数集,其包括但不限于或者以下中的更多:在WLAN 102上的无线电的连接性、链路质量、网络可达性,认证参数,关联参数,WLAN 安全参数,DHCP参数和ARP参数。以下提供这种参数的示例:
与认证层401、411相关联的认证参数包括但不限于:认证超时、解除认证分组等。
与关联层402、412相关联的关联参数包括但不限于:关联超时、解除关联分组(和/或解除认证分组)等。
与WLAN安全层403、413相关联的WLAN安全参数包括但不限于:指示是否已经使用给定和/或预期的认证方法和/或协议(诸如WPA2(Wi-Fi保护访问2)、WPA(Wi-Fi保护访问)和WEP(有线等效保密))的参数;指示设备是否已应用给定和/或预期的加密方法和/或协议(诸如CCMP(计数器模式密码块链接消息认证码协议)、TKIP(临时密钥完整性协议))的参数;和其他与WLAN安全相关的参数。
与DHCP层404、414相关联的DHCP参数包括但不限于:DHCP超时、 DHCP NACK分组等。
与ARP层405、415相关联的ARP参数包括但不限于:ARP超时、ARP 响应等。
与链路质量组件417相关联的链路质量参数包括但不限于:确定每个给定时间段的一个或多个质量因子(包括其组合),以及指示这种质量因子的趋势(rends)的数据。这种质量因子包括但不限于:RSSI(接收信号强度指示符)、SNR(信噪比)、数据速率、传输和接收的第2层分组的数量等。
与网络可达性组件419相关联的网络可达性参数包括但不限于:ICMP (因特网控制消息协议)分组和/或回音检查(ping)分组、指示评估可配置的远程目的地的可达性的数据,以及指示可配置的远程目的地的可达性的统计测量的数据等。
在分析预定的WLAN参数集时,结合框架222发生的进程通常验证框架221的操作。此外,当面临问题和/或争议时,设备101在某些配置中主动地修复和/或修理问题和/或争议,例如通过改变配置数据133并重新执行第一客户端WLAN堆栈131。
实际上,如本文所描述,框架222具有若干能力,如下文所概述。
能力-A:客户端堆栈模拟
框架222的第二客户端WLAN堆栈132通常在客户端设备101处与现有的第一客户端WLAN堆栈131呈镜像/模拟现有的第一客户端WLAN堆栈 131,该第一客户端WLAN堆栈131包括与IP/DHCP-客户端(例如,DHCP层 404)和ARP-客户端功能性(例如ARP层405)相关的层。实际上,第一客户端WLAN堆栈131通常尝试(例如,经由AP 103)提供与WLAN 102的稳定的连接性和可达性,该WLAN 102可以包括进一步分布式***网络组件。
当第二客户端WLAN堆栈132位于设备101处时,第一客户端WLAN 堆栈131的镜像/模拟通常实时地和/或接近实时地发生。这样,在第二客户端 WLAN堆栈132处执行的镜像/仿真通常实时地和/或接近实时地捕获发生在框架221处(包括在第一客户端WLAN堆栈131处)的“主观的”数据/状态/操作等。这里使用的术语“主观的”是指第一客户端WLAN堆栈131的层401- 层405的内部数据/状态/操作等。
此外,由于如由嗅探器模块442高速缓存的分组441的副本在分组监测中的框架222处被接收作为原始分组和/或未加密的分组,所以框架222通常还捕获发生在框架221处的“客观的”数据/状态/操作/等。本文使用的术语“客观的”是指响应于第一客户端WLAN堆栈131的内部操作和/或作为第一客户端WLAN堆栈131的内部操作的结果和/或相对于AP103的操作而发生的外部数据/状态/操作等。
另外,由于原始分组是“开放的”和/或未加密的,因而当从WLAN102 接收分组时,框架222通常在它们已经被第一客户端WLAN堆栈131解密的点处接收和剖析IEEE 802.11分组,这从链路107移除框架222的操作,并且因此通常保护链路107免受框架222的操作。类似地,当分组被传输到WLAN 102 时,框架222通常在它们尚未被第一客户端WLAN堆栈131加密的点处接收和剖析802.11分组,这再次从链路107移除框架222的操作,并且因此通常保护链路107免受框架222的操作。
此外,当设备101使用根据802.11w(管理帧保护(MFP))的IEEE 修订的协议与AP103通信时,在正在发生MFP加密/解密时也发生开放分组的接收;这样,MFP不影响本文描述的分析。
通常,由框架222接收的原始分组与设备101相关联(例如,当设备101 正在根据802.11地址过滤操作时,根据包括设备101的地址(例如,MAC(媒体访问控制)地址)的报头来过滤原始分组)。然而,在其他实施例中,设备 101以原始嗅探器模式操作,使得接收由无线电118可检测的所有可检测分组,而不仅仅是与设备101相关联的那些分组。在这些实施例中,并非在框架222 处接收到的所有分组都是原始的和/或开放的和/或未加密的,然而接收这样的分组可以帮助分析器420确定由框架221对分组过滤的成功。
此外,由分析器确定设备101的“主观的”和“客观的”状态两者促进确定客户端设备101与AP 103和WLAN 102的其他组件(例如,分布式***网络的组件)的互操作性。例如,在框架222处接收到的原始分组的状态提供 WLAN102(例如,包括AP 103)的硬件的状态的指示,其可以是类似的由用于分析WLAN 102的外部工具确定(例如,如由外部设备105执行)的状态的指示。这样,当输出452被提供给外部设备105时,在一些实施例中,外部设备105使用输出452来确认在没有输出452的情况下执行的WLAN102的分析。
能力-B:确定预先供应的配置
当在框架222处接收配置数据133时,在一些实施例中,配置数据133 被合并到输出452和/或输出454中,使得配置数据133被提供给外部设备105 以用于分析。配置数据133通常包括用于客户端设备101的有关于与WLAN102 联网和/或通信的数据,并且例如通过发布和/或管理客户端设备101的实体在客户端设备101处被预先供应。在一些实施例中,配置数据133是静态的,然而在其他实施例中(例如,当执行框311-框315时),配置数据133被改变以对第一客户端WLAN堆栈131解除阻止。配置数据133可以包括,但不限于:配置的WLAN无线电参数;配置的WLAN连接性参数;以及配置的DHCP/IP 参数。因此,外部设备105被提供有相同的参数以帮助分析WLAN 102。
能力-C:网络扫描
在一些实施例中,指示网络扫描和/或网络的网络扫描数据445也被合并到输出452和输出454中的一个或多个中。在一些实施例中,分析器420进一步将网络扫描数据445剖析成对应于第一客户端WLAN堆栈131的该多个层 401-405中的每一个的粒度部分,使得网络扫描数据445包括认证数据、关联数据、WLAN-安全数据、DHCP数据和ARP数据,假设这些数据当在网络扫描期间被获取时是在网络扫描数据445中。
能力-D:链接质量测试
在包括链路质量组件417的实施例中,框架222例如通过由无线电118 将分组注入到传输中,能够主动地执行链路质量测试,如数据448所指示。在一些实施例中,数据448包括用于例如使用不同的数据速率和/或帧速率来传输被注入的分组的指令和/或配置数据,或者影响无线电118与AP 103和/或 WLAN102之间的通信的任何其他配置。这样,框架222确定设备101的不同配置是否导致设备101和/或无线电118的更有效的操作,就好像某些基础无线电互操作配置(影响客户端和AP之间的互操作)优于另一个。例如,对于每个被测试的配置,框架222通过测量分组丢失、分组延迟和抖动中的一个或多个来测量分组流量性能(例如,使用如由嗅探器模块442高速缓存的分组441 的副本)。在一些实施例中,与测量链路质量相关的这种测量还包括但不限于:运行针对客户端设备101的不同省电参数的测试;运行针对客户端设备101的不同11n/11ac BlockAck参数的测试;运行针对不同带宽预留(例如TSpec(流量规范))参数和/或针对不同QoS(服务质量)标记参数的测试。
然而,在链路质量测试中改变任何数据配置参数(包括但不限于配置数据133的变化参数)通常是临时的,其中这种测试的输出被提供给外部设备105 以用于分析WLAN 102的操作和/或连接性。一旦链路质量测试结束,所供应的配置数据133用于与WLAN 102的进一步通信(例如,配置数据133不被改变)。
能力-E:网络可达性测试
在包括网络可达性组件419的实施例中,例如通过使得与主动联网可达***互相关的(例如,由无线电118传输的)分组的***和/或通过被动地窥探和评估客户端设备101处的应用与与WLAN 102相关联的联网服务器(其可以包括但不限于外部设备105)之间的特定流量的性能,框架222能够主动地执行网络可达性测试。经由数据450发生分组注入。
在一些实施例中,框架222主动地对远程TCP(传输控制协议)端口和 /或远程UDP(用户数据报协议)端口运行网络可达性测试,和/或框架222对远程服务器URL(统一资源定位符)和/或IP地址运行可达性测试。在这些实例中,框架222可以使得设备101(例如,经由数据450)对直接IP目的地地址进行回音检查(ping),和/或首先经由DNS(动态名称服务)-查询程序(和 /协议)解析URL寻址,并且然后使得设备101对该IP目的地地址进行回音检查。对回音检查的响应指示网络可达性。
在又进一步的实施例中,框架222(例如,在分析器420处)分析在设备101处的语音客户端(未描绘)和语音服务器之间的信令流量(例如,经由如由嗅探器模块442高速缓存的分组441的副本)以测试客户端/服务器协议的网络可达性。在这些实施例中,网络可达性在没有通过无线电118将附加分组注入传输中的情况下发生。
在又进一步的实施例中,框架(例如,在分析器420处)分析web服务器流量(例如,如通过嗅探器模块442高速缓存的经由分组441的副本接收的与超文本传输协议(HTTP)相关的分组)以测试在客户端设备101处的web 应用与网络服务器之间的网络可达性。在这些实施例中,网络可达性在没有通过无线电118将附加分组注入传输中的情况下发生。
然而,在网络可达性测试中改变任何数据配置参数(包括但不限于配置数据133的变化参数)通常是临时的,其中这种测试的输出被提供给外部设备 105以用于分析WLAN102的操作和/或连接性。一旦网络可达性测试结束,所供应的配置数据133用于与WLAN 102的进一步通信(例如,配置数据133不被改变)。
能力-F:第一客户端WLAN堆栈的解除阻止
在包括执行方法300的框311-框315的实施例中,框架222被配置为当分析器420在第二客户端WLAN堆栈132处检测到性能问题时对第一客户端 WLAN堆栈131解除阻止,该性能问题通常表示第一客户端WLAN堆栈131 的实际性能问题;这样的性能问题包括但不限于阻止第一客户端WLAN堆栈 131完全被阻止能够通过与层401-层405相关联的进程前进的位置。在这些实施例中,框架222(例如,分析器420)主动地访问和改变具有不同值的配置数据133,以改变与该问题相关联的第一客户端WLAN堆栈131的一个或多个层401-层405的行为。例如,当配置数据133已经被供应有与AP 103不兼容的数据速率时,框架222使得存储在配置数据133处的数据速率被改变,并且重新开始第一客户端WLAN堆栈131。实际上,类似于链路质量测试,改变和测试不同的数据速率,并且将存储在配置数据133处的数据速率改变为导致第一客户端WLAN堆栈131的解除阻止的数据速率(例如,与AP 103的最有效的通信和/或成功地导致与AP 103的通信的数据速率(例如,成功建立链路 107))。在其他实施例中,存储在配置数据133处的其他参数被改变和测试,并且然后基于第一客户端WLAN堆栈131的成功解除阻止来更新。
然而,与在链路质量测试和/或网络可达性测试期间(其中改变参数是临时的)执行的测试和分析形成对比,改变配置数据133的参数以用于第一客户端WLAN堆栈131的解除阻止,改变配置数据133以对第一客户端WLAN堆栈131解除阻止通常是永久的,至少直到第一客户端WLAN堆栈131的下一次解除阻止发生。此外,这些实施例通常假设框架222具有改变配置数据133的许可(例如,在一些实施例中,许可在客户端设备101处是可配置的)。
能力-G:记载/记录输出
框架222通常被配置为例如通过使用数据记录器426来存储输出454(包括分析器420的正输出和负输出)来记载和/或记录第二客户端WLAN堆栈132 的多个层411-415中的每一个的实时输出。例如,正输出指示层411-层415成功执行其功能,而负输出指示层411-层415未成功执行其功能。
当发生负输出时,输出454包括与所涉及的实时联网功能性(例如, 802.11、DHCP/IP、ARP)有关的相应原因代码。例如,不同的联网协议(例如,802.11、DHCP/IP、ARP)通常具有与不同状态相关联的不同原因代码,诸如用于故障、AP-解除认证、取消关联、DHCP错误、ARP可达性错误等中的一个或多个的原因代码。因此,在这些实施例中,分析器420被供应有这样的原因代码,并且当发生负输出时,相关联的原因代码被记录在输出452、454。这样的原因代码可以是由全局故障和/或特定故障中的一个或多个表示的整数,并且可以进一步细化和/或解析以提供给定故障的细节。
能力-H:向外部设备提供输出
框架222通常被配置为将所有的实时输出作为输出452发送到外部设备 105,输出452通常类似于输出454,并因此包括原因代码等,如上所描述。外部设备105接收输出452并分析输出452。在一些实施例中,外部设备105包括以下中的一个或多个:可视化应用、分析应用、分析云应用、本地设备、远程设备、私有域远程分析终端等。
此外,在一些实施例中,外部设备105可视地显示输出452和/或其分析。实际上,在进一步的实施例中,外部设备105从多个客户端设备接收输出,每个客户端设备供应有框架222,并且外部设备105组合来自客户端设备中的每个的输出以执行可以用作用于WLAN行为的预测模型等的一部分的多设备分析。
现在将注意转向图5,图5描绘了表示用于示例设备101的WLAN分析功能的示例方法500的流程图。实际上,方法500可以包括方法300的各方面的特定实施例。图5的方法500的示例操作对应于由例如图2的设备101并且具体地由执行框架221、222的该至少一个处理器120执行的机器可读指令。事实上,图5的示例方法500是配置设备101的一种方式。然而,对图5的示例方法500的以下讨论将导致对设备101及其各种组件的进一步理解。然而,应该理解,在其他实施例中,设备101和/或方法500可变化,并且因此不需要完全如本文所讨论的彼此结合地工作,并且这种变化是在本实施例的范围内。
此外,图5的示例方法500不需要以所示的确切顺序来执行,并且同样地,在其他实施例中,各种块可以并行而不是顺序地被执行。因此,方法500 的元素在本文中称为“框”而不是“步骤”。图5的示例方法500也可以在示例设备101的变体上来实施。
在方法500中假设框架222正在接收如上关于图4所描述的数据,例如数据440,如由嗅探器模块442高速缓存的分组441的副本等。进一步假设客户端设备101(包括第一客户端WLAN堆栈131的层401-层405)处于非网络连接,并且框架221正在开始网络连接进程,该进程包括由该至少一个处理器 120在存储器116中执行第一客户端WLAN堆栈131。
在框501处,该至少一个处理器120接收网络扫描数据445。在框503 处,该至少一个处理器120确定在网络扫描(例如,WLAN 102)期间检测到的任何网络的预期配置和网络扫描期间检测到的任何网络的实际配置中是否存在不匹配。例如,在一些实施例中,网络扫描数据445包括与原始扫描相关的802.11分组(例如,802.11信标和探针)。从这样的数据,该至少一个处理器120可以确定以下中的一个或多个:在框架221如何正在将原始分组解析到内部扫描数据库中是否存在错误(或不存在);以及当获取网络扫描数据445 时框架221是如何“忙”或迭代的(例如,重试相关扫描过程)。实际上,当原始扫描分组的模式和/或迭代变化很大时,这些确定中的一个或多个指示无线电118的射频(RF)条件。
同样在框503处,该至少一个处理器120将网络扫描数据445与配置数据133(例如,客户端设备101的供应的网络连接性参数)进行比较,以确定它们之间是否存在匹配。
例如,供应的网络名称(例如,存储在配置数据133中的SSID(服务集标识符))可能不在网络扫描数据445中,这可指示SSID值的错误配置和/ 或与供应的SSID相关联的网络在无线电118的范围内。
继续该示例,当在网络扫描数据445中获取的SSID与存储在配置数据 133中的SSID匹配时,配置数据133可指示关联网络根据第一WLAN-安全密码方法(例如,TKIP(临时密钥完整性协议))操作,然而在框501处获取的网络扫描数据445可指示关联网络根据第二WLAN-安全密码方法(例如,AES (高级加密标准))操作(例如,来自网络的AP信标的分组中所通告的)。任一参数中的不匹配导致在框503处确定配置不匹配(例如,“是”判定),并因此,如果要继续执行第一客户端WLAN堆栈131,则阻止将发生。因此,在框505处,该至少一个处理器120使用输出452向外部设备105报告配置不匹配,和/或使用数据记录器426将配置不匹配存储到存储器116,作为输出454。然而,在一些实施例中,框505的一个或多个进程是可选的。此外,框505表示方法300的框309的实施例。
框507(其可以在框505之前、之后和/或与框505并行地发生),框架 222改变配置数据133,如上所描述。此外,框507表示方法300的框311-框 315的实施例。
例如,在框507处,将与SSID错误地关联的WLAN-安全密码方法更新为与SSID相关联的实际WLAN-安全密码方法(例如,假设设备101被配置为应用更新的WLAN-安全密码方法,WLAN-安全密码方法从TKIP改为AES;否则,方法500结束和/或框507不发生)。执行假定框507,重新执行框501、503直到在框503处不发生配置不匹配(例如,框503处的“否”判定),并且该至少一个处理器120继续执行框509、511、513以尝试WLAN连接。
实际上,每当在框503处发生“否”判定时,该至少一个处理器120继续执行框509、511、513以尝试WLAN连接,而不管是否执行框505、507。因此,使用方法500中的点画框将框509、511、513分组在一起作为WLAN连接尝试的一部分。
实际上,在框509、511、513中的每个处,假设第二客户端WLAN堆栈132的层411、412、413分别地模拟第一客户端WLAN堆栈131的层401、 402、403,如上所描述。换句话说,在框509、511、513中的每个处,假设方法300的框301-框307正在例如并行地和/或彼此结合地被执行。实际上,框 509、511、513中的每个表示方法300的至少框307的更精细的指示。实际上,如下所述,在框509、511、513中的每个处,基于从第一客户端WLAN堆栈 131的多个层401-层403接收到的数据440,分析客户端设备101的预定的 WLAN参数集(例如,与层401、402、403中的每个相关联的)。
因此,结合框307,进一步假设分析器420正在分析每个层411、412、 413的模拟以确定是否发生故障。当故障发生时,假设在第一客户端WLAN堆栈131的相应层401、402、403处发生类似的故障。
因此,在框509处,该至少一个处理器120分析在认证层411处模拟的认证(该认证被假设与在认证层401处发生的认证类似和/或相同)。这样的分析包括但不限于确定如在来自AP 103的信标和/或探针中所通告的实时认证分组(例如,如由嗅探器模块442高速缓存的分组441的副本中所接收到的)是否符合在配置数据133处的相关配置的参数(例如,认证分组中的认证信息与存储在配置数据133中的认证信息相同)。当故障发生时,例如802.11认证协议内的故障,确定802.11的相关联的原因代码,如上所描述。
然而,假设框509是成功的(例如,在框509处的“成功”确定),在框511处,处理器120分析在关联层412处模拟的关联(该关联被假设与在关联层402处发生的关联类似和/或相同)。
这样的分析包括但不限于确定如在来自AP 103的信标和/或探针中所通告的实时关联分组(例如,如由嗅探器模块442高速缓存的分组441的副本中所接收到的)是否符合在配置数据133处的相关配置的参数(例如,关联分组中的关联信息与存储在配置数据133中的关联信息相同)。当故障发生时,确定相关联的原因代码,如上所描述。
然而,假设框511是成功的(例如,在框511处的“成功”确定),在框513处,处理器120分析在WLAN安全层413处模拟的WLAN安全(该 WLAN安全被假设与在WLAN安全层403处发生的关联类似和/或相同)。
这种分析包括但不限于确定在设备101和AP 103两者处是否正在发生对WLAN安全参数的实时一致性。例如,在设备101与AP 103之间可能存在密码不匹配。替代地,发生对实时WLAN安全分组的分析(例如,在如由嗅探器模块442高速缓存的分组441的副本中接收的)。
在WLAN-安全协议的显式故障的情况下,确定故障/拒绝/超时的原因,例如以如上所描述的原因代码的形式。
在框509、511、513中的任何一个处的故障的实例中(例如,在框509、 511、513中的任何一个处的“失败”确定),不执行下一个框。而是,在框 515处,处理器120确定第一客户端WLAN堆栈131被阻止和/或不能继续进行。在一些实施例中,方法300然后结束,而在其他实施例中,执行框505和 /或框507。
当执行框507以改变配置数据133以对框509、511、513中的一个或多个解除阻止时,重新执行方法300。此外,当在框509、511、513中的两个或更多个处发生故障时,可以动态地重复框507。
然而,假设成功发生在框509、511、513中的每个处,该至少一个处理器120继续执行框517、519中的每个。这样的执行假设WLAN连接已经完成,并且因此使用方法500中的点画框将框517、519分组在一起,在假设WLAN 连接完成的情况下正发生。换句话说,在框509、511、513中的每个处的成功假设客户端设备101在执行第一客户端WLAN堆栈131的层401、402、403 的同时已建立WLAN连接。因此,假设客户端设备101已经继续执行DHCP 层404和ARP层405以触发客户端设备101(例如,DHCP客户端和ARP客户端)与对应远程分布式***联网实体(包括但不限于DHCP服务器、交换机、路由器等)之间的通信。
因此,如下所述,在框517、519中的每个处,基于从第一客户端WLAN 堆栈131的多个层404、405接收到的数据440,分析客户端设备101的预定的 WLAN参数集(例如,与层404、405中的每个相关联的)。
在框517,处理器120分析在DHCP层414处模拟的DHCP进程(该进程被假设为与在DHCP层404处发生的DHCP进程类似和/或相同)。这种分析包括但不限于确定DHCP寻址解决方案是否成功地完成(或没有成功地完成)。当故障发生时,确定相关联的原因代码(和/或故障代码),如上所描述;替代地,确定超时。
然而,假设框517是成功的(例如,在框517处的“成功”确定),在框519处,处理器120分析在ARP层415处模拟的ARP进程(其被假设为与在ARP层415处发生的ARP进程类似和/或相同)。这种分析包括但不限于确定存储在配置数据133处的ARP配置数据是否已经导致客户端设备101成功地与默认网关(例如,与设备101的被分配的IP子网相关联的路由和/或交换设备(例如,用于本地ARP缓存目的))通信。。
在框517、519中的任何一个处的故障的实例中(例如,在框517、519 中的任何一个处的“失败”确定),不执行下一个框。相反,在框515处,处理器120再次确定第一客户端WLAN堆栈131被阻止和/或不能继续进行,并且方法500如上所述继续进行,其中DHCP配置数据和/或ARP配置数据在当被执行时的框509处被改变,以对框517、519中的一个或多个解除阻止。
然而,假设成功发生在框517、519中的每个处,该至少一个处理器120 继续执行框521、523中的每个。这样的执行假设IP连接已经完成,并且因此使用方法500中的点画框将框521、523分组在一起,在假设IP连接完成的情况下正发生。换句话说,在框517、519中的每个处的成功假设客户端设备101 在执行第一客户端WLAN堆栈131的层404、405的同时已建立IP连接。因此,假设例如使用语音客户端、浏览器应用等中的一个或多个,客户端设备101已经继续与WLAN 102通信,并且第一客户端WLAN堆栈131和/或其他联网组件(DHCP客户端、ARP客户端等)处于WLAN和IP寻址的稳定状态。因此,在框521、523处确定链路质量和/或网络可达性。
在框521处,如上所述,该至少一个处理器120分析链路质量以例如使用链路质量组件417测试不同的RF参数和/或其他链路质量参数。在框523处,如上所述,该至少一个处理器120分析网络可达性以例如使用网络可达性组件 419测试对远程TCP/UDP端口和/或远程服务器URL和/或IP地址中的一个或多个的可达性。
因此,根据框521、523,由该至少一个处理器120确定的预定的WLAN 参数集包括链路质量和网络可达性中的一个或多个,并且该至少一个处理器120还被配置为通过如上所述控制无线电118以传输一个或多个分组以确定链路质量和网络可达性中的一个或多个来分析链路质量和网络可达性中的一个或多个。
框521、523的执行以任何顺序发生;当故障发生时(例如,在框521、 523中的任一个处的“失败”判定),该至少一个处理器120在框505处报告和/或记录故障。在一些实例中,例如,当故障是灾难性的和/或设备101的联网组件不再处于WLAN和IP寻址的稳定状态时,方法500重新执行。否则该方法结束。当没有故障发生在框521、523处时(例如,在框521、523中的任一个处的“无故障”判定),该方法在框530处结束。
进一步将方法500与方法300比较,根据在框509-513、517、519、521、 523之前发生的框501、503,该至少一个处理器120被配置为通过以下方式基于模拟第一客户端WLAN堆栈131的多个层401-405的第二客户端WLAN堆栈132的执行来分析与耦合到WLAN 102的无线电相关联的预定的WLAN参数集:首先确定(例如,在框501、503处)网络扫描数据445和网络连接性数据(例如,原始分组)中的一个或多个是否指示无线电118到WLAN 102的连接正在发生;当无线电118到WLAN 102的连接正在发生时:继续分析预定的WLAN参数集以确定无线电118的连接性状态;以及当无线电到WLAN 102 的连接没有正在发生时,停止分析预定的WLAN参数集。
进一步将方法500与方法300比较,根据在框521、523之前发生的框 509-513、517、519,该至少一个处理器120被配置为通过以下方式基于模拟第一客户端WLAN堆栈131的多个层401-405的第二客户端WLAN堆栈132的执行来分析与耦合到WLAN 102的无线电相关联的预定的WLAN参数集:确定无线电118和WLAN102之间的连接已完成(例如,在框513之后和/或框 519之后);并且然后,确定(例如,在框521、523处)链路质量和网络可达性中的一个或多个。
本文描述的客户端设备和方法可以提供用于准确地分析客户端设备的连接性和可达性并且还用于连接性预测的一体式装置,使得来自分析的输出不仅可以用于确定特定客户端设备的连接性状态,而且也可以用于预测客户端设备的其他模型和/或实例的连接性。
因此,这样的客户端设备和方法可以提供捕获的数据,并且解决方案的被记载的分析/结论可以接口/输出到可以由专业社区使用的多个“接收者”装置上。
这样的客户端设备和方法可以进一步提供用于实时或回放显示的设备上的应用,例如通过将来自分析的输出提供到执行远程集中式云分析的外部设备等,该外部设备可以包括在WLAN连接性的后端可视化中的插件,并且可以处理来自多个客户端设备的数据。
还可以将来自分析的输出提供到远程无线控制器等,该远程无线控制器可以将客户端设备分析与基础设施分析相结合,包括但不限于无线LAN控制器(WLC)和AP。
还可以将来自分析的输出提供到具有用于显示和分析的相应的插件的外部服务器和/或PC(个人计算机)主机。
这种输出可以通过客户IT实体、支持实体、现场工程师、第三方部署和专业服务实体(例如,ECRT***、工程师等)中的一个或多个进一步便于分析WLAN连接性等。这样的输出可以进一步便于分析客户调试环境(现场/场外、客户实验室等)中的WLAN连接性、生产环境、监测/调试环境(例如,用于监测/调试特定WLAN问题等)中的准备测试。
本文描述的客户端设备和方法可以进一步简化用于非专业服务商和/或用户的WLAN连接性的分析,并因此可以进一步节省时间和/或成本。实际上,在一些实施例中,本文描述的方法可以基于一次发生(例如,在启动与WLAN 的连接时),当在输入设备处接收到输入时发生,和/或被预先安排和/或周期性地发生。特别地,来自这种方法的输出可以减少对WLAN专家(和/或工程师)在现场和/或待命以解决WLAN问题的需求。此外,来自这种方法的输出可以减少对立即的调试/工具作业能力的需求。
本文描述的方法还可以以安排的“自动化”方式被触发,以捕获/分析在客户端设备中的“底层”的WLAN连接性等,不仅执行分析,而且根据检测到的问题的严重性引发和/或传输“警报”和/或直接地向IT实体发送通知等。
本文描述的客户端设备和方法还可以用于检测故障情形,其可以包括但不限于:客户端设备和/或配置故障,WLAN连接故障,互操作性故障(例如,在客户端设备和AP之间),WLAN覆盖问题,分组丢失/掉落,VOIP(因特网协议上的语音)故障,漫游故障,电池消耗等。
本文描述的客户端设备和方法还可以用于在客户端设备处的配置的主动校正。例如,当本文描述的方法导致检测到在客户端设备处的配置数据的问题时,可以校正配置数据。
本文描述的方法还可以以安排的自动化方式被触发,使得该方法可以捕获和/或分析本文描述的设备中的“底层”。在一些实施例中,本文描述的方法不仅记载输出而且还根据检测到的问题的严重性引发“警报”,直接地向IT 设备发送通知等。
在上述说明书中已经描述了具体实施例。然而,本领域普通技术人员理解,可做出各种修改和改变而不脱离如下权利要求书所阐述的本发明的范围。因此,说明书和附图被认为是图示性的而非限定性的意义,并且所有这种修改都旨在被包括在本教导的范围内。
这些益处、优势、问题解决方案以及可能使任何益处、优势或解决方案发生或变得更为突出的(多个)任何要素不被解释成任何或所有权利要求的关键的、必需的或必要的特征或要素。本发明单独由所附权利要求书限定,包括在本申请处于未决状态期间做出的任何修改以及出版后这些权利要求的所有等效物。
此外,在本文献中,“X、Y和Z中的至少一个”和“X、Y和Z中的一个或多个”的语言可以理解为仅X、仅Y、仅Z、或者两个或多个项目X、Y 和Z中的任何组合(例如,XYZ、XY、YZ、XZ等)。类似的逻辑可以应用于在“至少一个……”和“一个或多个……”语言的任何出现中的两个或多个项目。
此外,在该文档中,诸如第一和第二、顶部和底部等之类的关系术语可单独地用来将一个实体或动作与另一个实体或动作区别开,而不一定要求或暗示这些实体或动作之间具有任何实际的这种关系或顺序。术语“构成”、“构成有”、“具有”、“具备”、“包括”、“包括有”、“包含”、“含有”或它们的任何其他变型旨在覆盖非排他性包括,以使构成为、具有、包括、包含一要素列表的过程、方法、物品或装置不仅包括那些要素还可包括对该过程、方法、物品或装置未明确列出的或固有的其他要素。以“构成有一”、“具有一”、“包括一”、“包含一”开头的要素,在没有更多约束条件的情形下,不排除在构成有、具有、包括、包含该要素的过程、方法、物品或装置中有另外的相同要素存在。术语“一”和“一个”被定义为一个或更多个,除非本文中另有明确声明。术语“大致上”、“本质上”、“近似”、“大约”或这些术语的任何其他版本被定义为如本领域内技术人员理解的那样接近,并且在一个非限定性实施例中,这些术语被定义为在10%以内,在另一实施例中在5%以内,在另一实施例中在1%以内,而在另一实施例中在0.5%以内。本文中使用的术语“耦合的”被定义为连接的,尽管不一定是直接连接的也不一定是机械连接的。以某种方式“配置的”设备或结构至少以该种方式进行配置,但也可以未列出的方式进行配置。
要理解,一些实施例可包括一个或多个通用或专用处理器(或“处理器件”),例如微处理器、数字信号处理器、定制的处理器和现场可编程门阵列 (FPGA)以及唯一存储的程序指令(包括软件和固件两者),所述唯一存储的程序指令控制一个或多个处理器以连同某些非处理器电路实现本文所描述的方法和/或装置的一些、多数或全部功能。替代地,一些或全部功能可由无存储程序指令的状态机来实现,或者在一种或多种专用集成电路(ASIC)中实现,其中各种功能或某些功能的某些组合被实现为定制逻辑。当然,也可使用这两种方法的组合。
此外,一个实施例可被实现为计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可读代码,用于对(例如包括处理器的)计算机编程以执行如本文所描述和要求保护的方法。这种计算机可读存储介质的示例包括但不限于硬盘、CD-ROM、光存储器件、磁存储器件、ROM(只读存储器)、 PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM (电可擦除可编程只读存储器)以及闪存。此外,预期本领域普通技术人员虽然做出由例如可用时间、当前技术和经济考虑促动的可能显著的努力以及许多设计选择,但在得到本文所公开的构思和原理指导时,将容易地能以最少的试验产生此类软件指令和程序以及IC。
此外,在上述具体实施方式中,可以看出出于使本公开整体化的目的,各个特征在各实施例中被编组到一起。这种公开方法不应被解释为反映要求保护的实施例与各项权利要求中明确记载的相比需要更多的特征的意图。相反,如以下权利要求所反映,发明主题在于少于单个公开的实施例的全部特征。因此,以下权利要求由此被结合入具体说明中,其中各个权利要求作为单独要求保护的主题代表其自身。
Claims (20)
1.一种客户端设备,包括:
存储器;
无线电设备,所述无线电设备耦合到至少一个处理器,所述至少一个处理器在所述存储器中执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电设备耦合到WLAN的多个层;以及
第二客户端WLAN堆栈,所述第二客户端WLAN堆栈由所述至少一个处理器在所述存储器中执行,并模拟所述第一客户端WLAN堆栈的所述多个层,其中,所述至少一个处理器被配置为在所述第二客户端WLAN堆栈处从所述第一客户端WLAN堆栈的所述多个层接收数据,并且基于从所述第一客户端WLAN堆栈的所述多个层接收到的数据来分析所述客户端设备的预定的WLAN参数集。
2.根据权利要求1所述的客户端设备,其中,所述处理器还被配置为向外部设备报告所述预定的WLAN参数集的输出。
3.根据权利要求1所述的客户端设备,其中,所述预定的WLAN参数集包括以下中的一个或多个:在所述WLAN上的所述无线电设备的连接性、链路质量和网络可达性。
4.根据权利要求1所述的客户端设备,其中,从所述第一客户端WLAN堆栈接收到的数据包括以下中的一个或多个:向所述WLAN传输以及从所述WLAN接收的未加密的分组;与所述多个层中的一个或多个相关联的事件数据;配置数据;和网络扫描数据。
5.根据权利要求1所述的客户端设备,其中,所述至少一个处理器还被配置为:基于所述第二客户端WLAN堆栈的执行,确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止,改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止,并且重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
6.根据权利要求1所述的客户端设备,其中,所述至少一个处理器还被配置为通过以下步骤基于模拟所述第一客户端WLAN堆栈的所述多个层的所述第二客户端WLAN堆栈的执行来分析与耦合到所述WLAN的所述无线电设备相关联的所述预定的WLAN参数集:
首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电设备到所述WLAN的连接正在发生;
当所述无线电设备到所述WLAN的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电设备的连接性状态;以及
当所述无线电设备到所述WLAN的连接没有正在发生时:停止分析所述预定的WLAN参数集。
7.根据权利要求1所述的客户端设备,其中,所述至少一个处理器还被配置为通过以下步骤基于模拟所述第一客户端WLAN堆栈的所述多个层的所述第二客户端WLAN堆栈的执行来分析与耦合到所述WLAN的所述无线电设备相关联的所述预定的WLAN参数集:
确定所述无线电设备和所述WLAN之间的连接已完成;并且之后,
确定链路质量和网络可达性中的一个或多个。
8.根据权利要求1所述的客户端设备,其中,所述预定的WLAN参数集包括链路质量和网络可达性中的一个或多个,并且所述至少一个处理器还被配置为通过以下步骤分析所述链路质量和所述网络可达性中的一个或多个:控制所述无线电设备以传输一个或多个分组以确定所述链路质量和所述网络可达性中的一个或多个。
9.一种在客户端设备处的方法,所述客户端设备包括存储器和耦合到至少一个处理器的无线电设备,所述方法包括:
由所述至少一个处理器执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电设备耦合到WLAN的多个层;
由所述至少一个处理器执行模拟所述第一客户端WLAN堆栈的所述多个层的第二客户端WLAN堆栈;
由所述至少一个处理器在所述第二客户端WLAN堆栈处从所述第一客户端WLAN堆栈的所述多个层接收数据;以及
由所述至少一个处理器基于从所述第一客户端WLAN堆栈的所述多个层接收到的所述数据来分析所述客户端设备的预定的WLAN参数集。
10.根据权利要求9所述的方法,还包括向外部设备报告所述预定的WLAN参数集的输出。
11.根据权利要求9所述的方法,其中,所述预定的WLAN参数集包括以下中的一个或多个:在所述WLAN上的所述无线电设备的连接性、链路质量和网络可达性。
12.根据权利要求9所述的方法,其中,从所述第一客户端WLAN堆栈接收到的数据包括以下中的一个或多个:向所述WLAN传输以及从所述WLAN接收的未加密的分组;与所述多个层中的一个或多个相关联的事件数据;配置数据;和网络扫描数据。
13.根据权利要求9所述的方法,进一步包括:
基于所述第二客户端WLAN堆栈的执行确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止;
改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止;以及
重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
14.根据权利要求9所述的方法,进一步包括通过以下步骤基于从所述第一客户端WLAN堆栈的所述多个层接收到的数据,分析所述客户端设备的所述预定的WLAN参数集:
首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电设备到所述WLAN的连接正在发生;
当所述无线电设备到所述WLAN的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电设备的连接性状态;以及
当所述无线电设备到所述WLAN的连接没有正在发生时:停止分析所述预定的WLAN参数集。
15.根据权利要求9所述的方法,进一步包括通过以下步骤基于从所述第一客户端WLAN堆栈的所述多个层接收到的数据,分析所述客户端设备的所述预定的WLAN参数集:
确定所述无线电设备和所述WLAN之间的连接已完成;并且之后,
确定链路质量和网络可达性中的一个或多个。
16.根据权利要求9所述的方法,其中,所述预定的WLAN参数集包括链路质量和网络可达性中的一个或多个,并且所述方法还包括通过以下步骤分析所述链路质量和所述网络可达性中的一个或多个:控制所述无线电设备以传输一个或多个分组以确定所述链路质量和所述网络可达性中的一个或多个。
17.一种客户端设备的非瞬态计算机可读介质,所述客户端设备具有耦合到至少一个处理器的无线电设备,所述非瞬态计算机可读介质具有存储在其上的计算机可执行指令,所述指令包括:
执行第一客户端无线局域网(WLAN)堆栈,所述第一客户端无线局域网(WLAN)堆栈具有被配置为将所述无线电设备耦合到WLAN的多个层;
执行模拟所述第一客户端WLAN堆栈的所述多个层的第二客户端WLAN堆栈;
在所述第二客户端WLAN堆栈处从所述第一客户端WLAN堆栈的所述多个层接收数据;以及
基于从所述第一客户端WLAN堆栈的所述多个层接收到的所述数据来分析所述客户端设备的预定的WLAN参数集。
18.根据权利要求17所述的非瞬态计算机可读介质,其中,所述指令还包括向外部设备报告所述预定的WLAN参数集的输出。
19.根据权利要求17所述的非瞬态计算机可读介质,其中,所述指令还包括:
基于所述第二客户端WLAN堆栈的执行确定所述第一客户端WLAN堆栈的一个或多个进程的执行被阻止;
改变与所述第一客户端WLAN堆栈相关联的配置数据以对所述一个或多个进程的执行解除阻止;以及
重新执行所述第一客户端WLAN堆栈以基于改变的配置数据来执行所述一个或多个进程。
20.根据权利要求17所述的非瞬态计算机可读介质,其中,所述指令进一步包括通过以下步骤基于从所述第一客户端WLAN堆栈的所述多个层接收到的数据,分析所述客户端设备的所述预定的WLAN参数集:
首先确定网络扫描数据和网络连接性数据中的一个或多个是否指示所述无线电设备到所述WLAN的连接正在发生;
当所述无线电设备到所述WLAN的连接正在发生时:继续分析所述预定的WLAN参数集以确定所述无线电设备的连接性状态;以及
当所述无线电设备到所述WLAN的连接没有正在发生时:停止分析所述预定的WLAN参数集。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662346016P | 2016-06-06 | 2016-06-06 | |
US62/346,016 | 2016-06-06 | ||
PCT/US2017/032368 WO2017213794A1 (en) | 2016-06-06 | 2017-05-12 | Client device and method for analysis of a predetermined set of parameters associated with radio coupling to a wlan |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109314653A CN109314653A (zh) | 2019-02-05 |
CN109314653B true CN109314653B (zh) | 2022-05-17 |
Family
ID=60483977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780034911.8A Active CN109314653B (zh) | 2016-06-06 | 2017-05-12 | 用于分析与耦合到wlan的无线电相关联的预定参数集的客户端设备和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10812362B2 (zh) |
CN (1) | CN109314653B (zh) |
CA (1) | CA3024472C (zh) |
DE (1) | DE112017002832T5 (zh) |
GB (1) | GB2565680B (zh) |
WO (1) | WO2017213794A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6494704B2 (ja) * | 2017-08-09 | 2019-04-03 | キヤノン株式会社 | 通信装置及びその制御方法、並びにプログラム |
CN108112052B (zh) * | 2017-12-13 | 2021-09-10 | 广东美的制冷设备有限公司 | 终端的网络共享方法、装置、空气调节器及存储介质 |
CN112602348B (zh) * | 2018-08-24 | 2024-04-05 | 英国电讯有限公司 | 识别无线传输以供分析的方法、无线网络嗅探装置 |
CN109413026B (zh) * | 2018-08-28 | 2021-06-18 | 展讯通信(上海)有限公司 | 截听设备及其数据接收方法、可读存储介质 |
US20220272110A1 (en) * | 2019-03-04 | 2022-08-25 | Airgap Networks Inc. | Systems and methods of creating network singularities and detecting unauthorized communications |
CN110011760B (zh) * | 2019-04-10 | 2020-07-24 | 中山大学 | 一种基于声波的全双工多载波近场通信方法 |
US11083005B2 (en) * | 2019-07-11 | 2021-08-03 | Rohde & Schwarz Gmbh & Co. Kg | Method for reporting scheduling decisions by a communication tester |
CN112748879B (zh) * | 2020-12-30 | 2023-03-10 | 中科曙光国际信息产业有限公司 | 数据获取方法、***、装置、计算机设备和存储介质 |
CN114157602B (zh) * | 2021-11-03 | 2023-08-25 | 杭州迪普科技股份有限公司 | 一种处理报文的方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313613B1 (en) * | 2002-01-03 | 2007-12-25 | Microsoft Corporation | System and method facilitating network diagnostics and self-healing |
US7415513B2 (en) * | 2003-12-19 | 2008-08-19 | Intel Corporation | Method, apparatus, system, and article of manufacture for generating a response in an offload adapter |
US20080010523A1 (en) * | 2006-05-12 | 2008-01-10 | Samik Mukherjee | Performance Testing Despite Non-Conformance |
US8793117B1 (en) * | 2008-04-16 | 2014-07-29 | Scalable Network Technologies, Inc. | System and method for virtualization of networking system software via emulation |
US20100246416A1 (en) * | 2009-03-25 | 2010-09-30 | Amit Sinha | Systems and methods for remote testing of wireless lan access points |
US20130336136A1 (en) * | 2011-09-16 | 2013-12-19 | Qualcomm Incorporated | Systems and methods for network quality estimation, connectivity detection, and load management |
GB2511027A (en) * | 2012-12-04 | 2014-08-27 | Anite Telecoms Ltd | Apparatus and method for testing |
US9565085B2 (en) * | 2013-03-15 | 2017-02-07 | Apple Inc. | Automatically diagnosing and resolving wireless network connectivity issues in electronic devices |
US9641419B2 (en) * | 2014-12-23 | 2017-05-02 | Ixia | Methods and systems for providing background pretesting of communications or storage network equipment |
WO2016190655A1 (ko) * | 2015-05-25 | 2016-12-01 | 엘지전자 주식회사 | 단말이 wlan 결합 상태를 보고하는 방법 및 장치 |
-
2017
- 2017-05-12 WO PCT/US2017/032368 patent/WO2017213794A1/en active Application Filing
- 2017-05-12 US US15/593,558 patent/US10812362B2/en active Active
- 2017-05-12 DE DE112017002832.9T patent/DE112017002832T5/de active Pending
- 2017-05-12 GB GB1818467.1A patent/GB2565680B/en active Active
- 2017-05-12 CN CN201780034911.8A patent/CN109314653B/zh active Active
- 2017-05-12 CA CA3024472A patent/CA3024472C/en active Active
Also Published As
Publication number | Publication date |
---|---|
CA3024472C (en) | 2021-05-25 |
CA3024472A1 (en) | 2017-12-14 |
GB2565680B (en) | 2021-09-29 |
DE112017002832T5 (de) | 2019-02-21 |
GB2565680A (en) | 2019-02-20 |
US10812362B2 (en) | 2020-10-20 |
GB201818467D0 (en) | 2018-12-26 |
WO2017213794A1 (en) | 2017-12-14 |
US20170353374A1 (en) | 2017-12-07 |
CN109314653A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109314653B (zh) | 用于分析与耦合到wlan的无线电相关联的预定参数集的客户端设备和方法 | |
US11323341B2 (en) | Methods and apparatus for capturing and/or using packets to facilitate fault detection | |
US7747740B2 (en) | Troubleshooting of Wireless Client Connectivity Problems in Wireless Networks | |
AU2016334120B2 (en) | Cloud based system and method for managing messages regarding cable test device operation | |
KR101737110B1 (ko) | 무선 네트워크 고장들의 진단 및 해결 | |
CN107223323B (zh) | 网络诊断的方法、云端智能机器人、网络设备及专用网络 | |
EP4142241A1 (en) | Identifying root cause of failures through detection of network scope failures | |
CN110048909A (zh) | 网络运维方法及装置 | |
US12040934B1 (en) | Conversational assistant for obtaining network information | |
US20230336983A1 (en) | Establishing a backup connectivity between a sensor and a management system | |
CN115037664A (zh) | 一种网络连接测试方法、装置、中继器和存储介质 | |
EP4298767A1 (en) | Conversational assistant dialog design | |
WO2023137374A1 (en) | Conversational assistant dialog design | |
CN117835274A (zh) | 一种支持本地Wi-Fi网络诊断与优化的管理*** | |
KR20070092844A (ko) | 네트워크 관리 시스템 및 그 방법 | |
CN104410972A (zh) | 一种无线局域网运行状态监测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |