用于收集和汇总网络质量数据的方法与流程

文档序号:12290521阅读:356来源:国知局
用于收集和汇总网络质量数据的方法与流程

诸如移动电话或膝上计算机的客户端设备经常具有多个可用无线网络以从中选择以便实现网络连接。通常,由客户端设备或客户端设备的用户来选择可用无线网络。然而,客户端设备和用户无法访问某些历史网络质量参数,其将告知用以选择无线网络以用于达到最佳网络质量的决策。

此外,虽然存在可供客户端设备使用的充裕的无线网络,但是一旦个体客户端设备处于无线网络的接入点的信号范围内,每个个体客户端设备就仅可以发觉特定无线网络的存在。在这方面,个体客户端设备可能无法确定要附接什么无线网络,直到其进入无线网络的接入点的信号范围内。这个问题随着客户端设备在各个无线网络覆盖区之间移动而加剧。因此,无线网络选择过程是低效的。



技术实现要素:

一个实施例提供了一种从客户端设备提供无线网络的网络质量参数的方法,所述方法包括:通过该客户端设备的网络接口与无线网络通信;用驻留在该客户端设备上的客户端应用来测量该无线网络的网络质量参数;由客户端应用向客户端设备的报告模块提供网络指令参数;由该报告模块收集与该网络质量参数相关联的网络信息;以及由该报告模块通过该无线网络将该网络信息和该网络质量参数发送到服务器。

另一实施例提供了一种基于网络质量来提供无线网络的数据库的方法,该方法包括:接收由被附接至无线网络的客户端设备收集的该无线网络的网络质量参数;接收与该网络质量参数相关联的网络信息;基于该网络信息来将该网络质量参数与该无线网络的先前接收到的网络质量参数汇总;处理该网络质量参数和该先前接收到的网络质量参数以确定该无线网络的无线网络质量。

另一实施例提供了一种非暂时性计算机可读存储设备,其用于由驻留在客户端设备上的客户端应用收集网络质量参数,所述非暂时性计算机可读存储设备具有计算机可执行指令以用于执行以下步骤:通过该客户端设备的网络接口与无线网络通信;由驻留在该客户端设备上的客户端应用来测量该无线网络的网络质量参数;由该客户端应用向该客户端设备的报告模块提供该网络指令参数;由该报告模块收集与该网络质量参数相关联的网络信息;以及由该报告模块通过该无线网络将该网络信息和该网络质量参数发送至服务器。

本公开的其它方面、目标和优点在结合附图来考虑时根据以下具体实施方式将变得更加显而易见。

附图说明

被包含在本说明书中并形成其一部分的附图图示了本公开的若干方面,并且连同本说明书一起用作解释本公开的原理。在附图中:

图1是图示根据示例性实施例的、用于收集无线网络数据的系统的框图;

图2是图示根据示例性实施例的、来自图1中所图示的系统的客户端设备的组件的框图;

图3是图示根据示例性实施例的、来自图1中所图示的系统的服务器或服务器集群的组件的框图;

图4是图示根据示例性实施例的、由图1的客户端设备收集并由图1的服务器存储的数据的流的框图;

图5是图示根据示例性实施例的、由客户端设备执行以用于收集和发送无线网络数据的流程图;以及

图6是图示根据示例性实施例的、由服务器或服务器集群执行以用于接收、处理和存储无线网络数据的步骤的流程图。

具体实施方式

诸如移动电话或膝上计算机的客户端设备经常具有多个可用无线网络以从中选择以便实现网络连接。通常,由客户端设备或客户端设备的用户来选择可用无线网络。然而,客户端设备和用户无法访问某些历史网络质量参数,其将告知用以选择无线网络以用于达到最佳网络指令的决策。

此外,虽然存在可供客户端设备使用的充裕的无线网络,但是一旦个体客户端设备处于无线网络的接入点的信号范围内,每个个体客户端设备就仅可以发觉特定无线网络的存在。在这方面,个体客户端设备可能无法确定要附接什么无线网络,直到其进入无线网络的接入点的信号范围内。这个问题随着客户端设备在各个无线网络覆盖区之间移动而加剧。因此,无线网络选择过程是低效的。

因此,为了改善无线网络选择效率,能够随时间推移而收集关于无效网络质量的质量参数并利用其来确定客户端设备将附接到多个可用无线网络中的哪个无线网络。本文中描述的本公开的实施例提供了一种用以收集并分析与无线网络有关的质量参数及其它网络和地理信息的系统。使用所收集的质量参数及网络和地理信息,系统能够构建提供了各种地理区域中的各个无线网络的无线网络质量的可搜索数据库,其中收集了质量参数和无线网络信息。在某些实施例中,无线网络将是可基于无线网络识别信息和客户端设备的地理位置来搜索的。然后,系统能够提供对数据库的访问,以便支持多种用途,诸如进行关于无线网络选择的知情决策(informed decision)或基于客户端设备的行进路线来规划未来数据下载。

图1图示了其中可以实现本公开的各个实施例的示例通信系统100的框图。在图1中描绘的通信系统100中,示出了与多个无线网络1-n 104相关的多个客户端设备1-n 102,所述无线网络进而被示出为与服务器106相关。所述多个客户端设备102从所述多个无线网络104收集质量参数,所述多个客户端设备102在其在各个地理位置各处行进时具有可用的所述质量参数。然后,由多个客户端设备102收集的质量参数被传输到服务器106,其分析该质量参数以构建每个地理位置上的经总结质量参数的数据库。然后,服务器106与每个个体客户端设备——诸如包括多个客户端设备102的客户端设备108共享此数据库。然后,所述多个客户端设备102能够作出关于要连接到多个无线网络104中的哪个无线网络的知情决策。

质量参数可以包括仅单个参数或大量参数。例如,质量参数包括以下中的至少一个:比特误码率、诸如所接收信号强度指示符(RSSI)的信号强度、由从HTTP请求到HTTP响应所花费的时间来确定的网络时延、以及以字节/秒为单位来测量并被用来确定传送已知量的数据分组所花费的时间的网络吞吐量。

所述多个客户端设备102可以是移动设备,诸如智能电话、平板计算机、膝上型计算机、具有计算机操作系统的手表、个人数字助理(PDA)、视频游戏控制台、可穿戴或嵌入式数字设备、或者能够通过多个无线网络104进行通信的多个附加设备中的任何一个。

所述多个无线网络104包括但不限于:广域网(WAN)——诸如长期演进(LTE)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、宽带码分多址(WCDMA)网络;无线局域网(WLAN)——诸如在各种IEEE 802.11标准下操作的各种Wi-Fi网络;或者任何其它种类的无线网络。多个无线网络104允许多个客户端设备102与服务器106通信。例如,客户端设备108可以通过无线网络110向服务器106传送信息和从服务器106接收信息。此外,多个无线网络104可以包括一组蜂窝塔以及一组基站和/或移动交换中心(MSC)。在某些实施例中,多个无线网络104可以包括各个蜂窝塔/基站/MSC布置。

另外,无论是由于技术限制还是地理限制,并不是多个客户端设备102中的每个客户端设备都将能够连接到多个无线网络104中的每一个。以这种方式,来自多个客户端设备102的每个个体客户端设备将仅报告来自个体客户端设备能够与其通信的个体无线网络的质量参数。为了便于描述,本文中所述的本公开的实施例将涉及多个客户端设备102从多个数据网络104收集质量参数,即使可以理解并非多个客户端设备102中的每个客户端设备将与每个无线网络通信。

此外,服务器106被图示为单个服务器。然而,可以将服务器106实现为服务于指定地理位置的多个服务器,或者可以将服务器106实现为云服务器。为了便于描述而图示了单个服务器106。该单个服务器图示并不意图限制包含在本文中的公开。并且,服务器106被图示为包括临时服务器114和生产服务器116。临时服务器114和生产服务器116可以被包括为服务器106内的软件服务器或通信耦合在服务器106集群中的单独的服务器。临时服务器114用作接收从多个客户端设备102报告的数据,并且在传输到生成服务器116之前临时地存储数据以用于保持和分析该数据。一旦生产服务器116从临时服务器114接收到数据——诸如质量参数,生产服务器116就将数据汇总并将其存储在可搜索数据库中(参见图4)。

另外,在某些实施例中,由生产服务器116存储在数据库中的数据被汇总并存储达有限时间段,诸如一天、一周、一个约、三个月或更长时间。在这方面,将关于最近收集的相关数据来构建由用于多个无线网络104的质量参数确定的网络质量。

随着包含在本文中的各个设备、系统和方法的讨论的进展,有些地方可以仅讨论单个客户端设备108或单个无线网络110。在这方面,客户端设备108或无线网络110仅被引用为分别一般地表示多个客户端设备102和多个无线网络104。因此,能够将客户端设备108的功能导入到多个客户端设备102,并且可以将无线网络110的功能导入到多个无线网络110。

多个客户端设备102可以进一步收集多个无线网络104相关联的质量参数之外的数据。在某些实施例中,多个客户端设备102还将收集被利用来唯一地标识无线网络和用于该无线网络的接入点的无线网络识别信息。

在某些实施例中,客户端设备108可以通过无线网络110向服务器106传送信息和从服务器106接收信息,并且无线网络110可以是Wi-Fi无线网络。在这种实例下,客户端设备108将收集包括基本服务集标识(BSSID)和服务集标识(SSID)中的至少一个的识别信息。在某些实施例中,客户端设备108将收集SSID和BSSID二者,其将唯一地识别Wi-Fi无线网络110的接入点。然而,在其它实施例中,Wi-Fi无线网络110可以指示其不想被唯一地识别。例如,SSID可以在名称字段中包含词项“_nomap”,其指示该特定Wi-Fi无线网络110不希望使唯一地标识网络的数据被收集。在本实施例中,客户端设备108将仅收集BSSID信息,诸如无线网络110接入点的MAC地址。

在某些实施例中,客户端设备108可以通过无线网络110向服务器106传送信息和从服务器106接收信息,并且无线网络110可以是蜂窝无线网络。在这种情况下,客户端设备108将收集唯一地标识蜂窝无线网络110的接入点的识别信息。例如,识别信息可以是蜂窝基站的标识符,诸如CellID(小区标识符)。如果蜂窝无线网络110是CDMA网络,则识别信息可以包括NetworkID(网络标识符)、SystemID(系统标识符)和/或BasestationID(基站标识符)。如果蜂窝无线网络110是GSM或WCDMA网络,则识别信息可以包括移动设备国家代码(MCC)、移动设备网络代码(MNC)和/或位置区码(LAC)。如果蜂窝无线网络110是LTE网络,则识别信息可以包括MCC、MNC、跟踪区码(TAC)和/或物理小区身份(CI)。

此外,在某些实施例中,识别信息可以指示蜂窝无线网络的类型。例如,识别信息可以进一步包括关于无线网络110是演进数据优化(EVDO)网络、高速分组接入(HSPA)网络还是LTE网络的信息。

无线网络110是Wi-Fi无线网络或蜂窝无线网络,并且识别信息与无线网络110的质量参数相关联且被发送到服务器106。在这方面,质量参数与唯一无线网络或无线网络的唯一接入点相关联。

另外,在某些实施例中,客户端设备108可以在收集质量参数的同时收集指示客户端设备108的位置的位置数据。在某些实施例中,位置数据包括纬度、经度和确定该位置数据时的时间戳。一般地,以某个精度来收集经度和纬度,其允许在5100米内确定客户端设备108的位置。在这样做时,经度和纬度数据将被粗化至第六位小数。用以粗化经度和纬度数据的一个这样的技术是将原始纬度或经度度量乘以1,000,000并且对截去所得到的数中小数点后六位数之后的任何位。

如果被收集,则位置数据将与质量参数和识别信息相关联并且被发送到服务器106。在这方面,客户端设备108的位置与质量参数和识别信息相关联,使得能够基于数据库中的数据来确定无线网络质量的地图。

另外,如果客户端设备108的用户已指示可以从客户端设备108收集位置数据,则将仅收集位置数据。在这方面,如果用户配置客户端设备108,使得将不收集位置数据,则将不收集客户端设备108的位置数据。

另外,能够由客户端设备108收集其它类型的网络信息。例如,客户端设备108可以收集质量参数何时被收集的时间戳,并且在质量参数被发送到服务器106时使该时间戳与质量参数相关联。为了清楚起见,在收集质量参数时所收集的时间戳可以不同于确定客户端设备108的位置时所收集的时间戳。

在某些实施例中,客户端设备108还可以收集指示驻留在客户端设备108上的应用的名称和版本的数据,其中应用被利用来收集质量参数。此外,客户端设备108可以收集指示无线网络110是强制门户还是连继网络(tethered network)的数据。指示无线网络110是强制网络还是连继门户的数据可以以真/假位的形式。

现在转到图2,图示了根据本公开的一个方面的、多个客户端设备102(参见图1)中的个体客户端设备——诸如客户端设备108(参见图1)的基本功能组件的框图。一般地,可以使用客户端设备108的许多其它实施例。在图2的所图示实施例中,客户端设备108包括一个或多个处理器202、存储器204、网络接口206、一个或多个存储设备208、电源210、一个或多个输出设备212、一个或多个输入设备214、位置确定模块218、数据收集模块220和报告模块222。客户端设备108还包括操作系统216。包括处理器202、存储器204、网络接口206、存储设备208、电源210、输出设备212、输入设备214、位置确定模块218、数据收集模块220、报告模块222和操作系统216的组件中的每一个被在物理上、在通信上、和/或在操作上互连以用于组件间通信。

如所图示的,处理器202被配置成实现功能和/或过程指令以用于在客户端设备108内执行。例如,处理器202执行存储在存储器204中的指令或存储在存储设备208上的指令。可以作为非暂时性计算机可读存储介质的存储器204被配置成在操作期间存储客户端设备108内的信息。在某些实施例中,存储器204包括临时存储器——用于在客户端设备108被关闭时将不被保持的信息的区域。这样的临时存储器的示例包括:易失性存储器,诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)以及静态随机存取存储器(SRAM)。存储器204还保持程序指令以用于由处理器202执行。

存储设备208还包括一个或多个非暂时性计算机可读存储介质。存储设备208一般被配置成比存储器204存储更大量的信息。存储设备208可以进一步被配置以用于信息的长期存储。在某些实施例中,存储设备208包括非易失性存储元件。非易失性存储元件的非限制性示例包括:磁性硬盘、光盘、软盘、闪速存储器、或各形式的电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器。

客户端设备108使用网络接口206经由一个或多个网络来与外部设备通信,所述一个或多个网络诸如所述多个无线网络104(参见图1)以及通过其可以建立与客户端设备108的通信的其它类型的网络。网络接口206可以是网络接口卡,诸如以太网卡、光学收发器、射频收发器、或者能够发送和接收信息的任何其它类型的设备。网络接口的其它非限制性示例包括:客户端计算设备中的3G和WiFi无线电、以及USB。

客户端设备108包括一个或多个输入设备214。输入设备214被配置成通过触觉、音频、和/或视频反馈从用户或用户的周围环境接收输入。输入设备214的非限制性示例包括:存在敏感屏幕、鼠标、键盘、语音响应系统、视频相机、麦克风或者任何其它类型的输入设备。在某些示例中,存在敏感屏幕包括触敏屏幕。

在客户端设备108中还包括一个或多个输出设备212。输出设备212被配置成使用触觉、音频、和/或视频刺激来向用户提供输出。输出设备212可以包括:显示屏(存在敏感屏幕的一部分)、声卡、视频图形适配卡、或用于将信号变换为人或机器可理解的适当形式的任何其它类型的设备。输出设备212的附加示例包括:诸如耳机的扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或者能够向用户生成可理解输出的任何其它类型的设备。

客户端设备108包括用以向设备提供电力的一个或多个电源210。电源210的非限制性示例包括:一次性电源、可充电电源、和/或从镍镉、锂离子、或其它合适的材料开发的电源。

客户端设备108包括操作系统216。操作系统216控制客户端设备108的组件的操作。例如,操作系统216促进处理器202、存储器204、网络接口206、存储设备208、输入设备214、输出设备212、以及电源210的交互。

客户端设备108使用位置确定模块218来确定客户端设备108的地理位置。该位置确定模块218可以是GPS收发器或处理器202的状态,其由存储在存储器204或存储设备208上的一系列指令限定,该指令在被执行时使得处理器202基于任何可用的无线网络连接来对客户端设备108的地理位置进行三角测量。

在本公开的某些实施例中,客户端设备108进一步包括数据收集模块220和报告模块222。在某些实施例中,数据收集模块220和报告模块222二者表示处理器202的各个状态,并且由存储在存储器204或存储设备208上的程序指令和/或数据定义。

数据收集模块220将客户端设备108配置成从多个无线网络104(参见图1)收集质量参数及其它形式的网络信息,诸如无线网络识别信息和位置数据,如上文关于图1所讨论的。一旦收集了个体无线网络——诸如无线网络110(参见图1)的质量参数及其它信息,则数据收集模块220将质量参数和其它网络信息提供给报告模块222。

报告模块222将客户端设备108配置成向服务器106(参见图1)上传与无线网络110相关联的识别信息、与质量参数被收集时的客户端设备108的位置相关的位置数据、以及所收集的实际质量参数。

转到图3,根据本公开的一个方面,描绘了服务器或服务器集群106(参见图1)的基本功能组件的框图。具体地,服务器106被配置成接收多个数据网络104(参见图1)的性能参数,并且创建由无线网络识别信息布置的经总结质量参数的数据库,所述无线网络识别信息唯一地标识与多个无线网络104中的个体无线网络相对应的个体接入点。

服务器106包括一个或多个处理器302、存储器304、网络接口306、临时服务器114和生产服务器116。在某些实施例中,包括处理器302、存储器304、网络接口306、临时服务器114和生产服务器116的组件中的每一个在物理上、在通信上、和/或在操作上被互连以实现组件间通信。

如所图示的,处理器302被配置成实现功能和/或过程指令以用于在服务器106内执行。例如,处理器302执行存储在存储器304中的指令。可以是非暂时性计算机可读存储介质的存储器204被配置成在操作期间存储服务器106内的信息。在某些实施例中,存储器304包括临时存储器——用于在服务器106被关闭时将不被保持的信息的区域。这样的临时存储器的示例包括:易失性存储器,诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)以及静态随机存取存储器(SRAM)。存储器304还保持程序指令以用于由处理器302执行。

服务器106使用网络接口306经由一个或多个网络——诸如图1的多个无线网络104来与外部设备通信。这样的网络可以包括:一个或多个无线网络、有线网络、光纤网络、以及通过其可以建立服务器106与外部设备之间的通信的其它类型的网络。网络接口306可以是网络接口卡,诸如以太网卡、光学收发器、射频收发器、或者能够发送和接收信息的任何其它类型的设备。

如上所提及的,服务器106被图示为包括临时服务器114和生产服务器116。临时服务器114和生产服务器116可以被包括以作为服务器106内的软件服务器或通信地耦合在服务器106的集群中的单独的服务器。临时服务器114用作接收从多个客户端设备102报告的数据,并且在传输到生产服务器116之前临时地存储数据以用于保持和分析该数据。一旦生产服务器116从临时服务器114接收到数据——诸如质量参数,生产服务器116就将数据汇总并将其存储在可搜索数据库中。

转到图4,图示了包括由图1的多个客户端设备102收集并由图1的服务器106存储的数据的流的框图。具体地,图4图示了由客户端设备108(参见图1)收集并报告给服务器106的数据的流,在所述服务器106处数据被汇总、过滤并存储。在这方面,客户端设备108包括数据收集模块220,其包括客户端应用402。客户端应用402与无线网络——诸如无线网络110通信。客户端应用402能够是驻留在客户端设备108上的任何应用,其能够收集诸如时延和吞吐量的无线网络质量参数。

在收集无线网络质量参数之后,客户端应用402将那些质量参数提供给报告模块222。报告模块222包括收集客户端404,其从客户端应用402接收无线网络质量参数。在接收到质量参数后,收集客户端404确定客户端应用是否被信任以提供无线网络质量参数的应用。在某些实施例中,收集客户端404将仅从受信任应用拿取无线网络质量参数。例如,收集客户端404在接受来自客户端应用402的质量参数之前可以确定客户端应用402是否是受信任应用列表的一部分,所述列表提供收集客户端404能够信任的应用的列表以用于接收无线网络质量参数的目的。如果收集客户端404确定客户端应用402是受信任应用,则收集客户端404接受无线网络质量参数。

收集客户端404还确定从其收集质量参数的无线网络——诸如无线网络110的无线网络识别信息。无线网络识别信息与质量参数相关联并且被提供给报告客户端408以用于向服务器106报告。在被报告之前,无线网络识别信息被加密模块406模糊(obfuscated),该加密模块406在无线网络识别信息被报告给服务器106之前对该无线网络识别信息进行散列。因此,无线网络识别信息以模糊的状态来被报告给服务器106。

另外,可以使用任何合适的散列函数来模糊已收集的无线网络识别信息。例如,可以利用SHA-256散列函数来模糊无线网络识别信息。

在报告质量参数和相关联的无线网络识别参数之前,收集客户端404确定是否可以收集位置数据并将其提供给服务器106,所述位置数据提供客户端设备108在测量质量参数时的位置。该位置数据被位置确定模块218提供给收集客户端404。然而,在将位置数据与质量参数和无线网络识别信息相关联之前,收集客户端404确定是否在客户端设备108上提供了位置许可。只有在客户端设备108提供了位置许可时,收集客户端404才将报告位置数据。

在这方面,存在收集客户端404将不会把位置数据附加到质量参数和无线网络识别信息若干实例。一个这样的实例是其中客户端设备108不包括与该客户端设备相关联的用户账户。另外,客户端设备108可以包括与客户端设备108的各个用户相关联的一个或多个用户账户。

其中位置数据未被附加的另一个实例是其中与客户端设备108相关联的一个或多个用户账户指示位置历史将不被存储或者客户端设备108将不报告其位置。在一个实施例中,如果一个或多个用户账户指示将不收集位置数据,则对于客户端设备108的所有用户账户将不附加位置数据。

如果收集客户端404确定客户端设备108并未禁止位置数据的收集,则收集客户端404将位置数据附加到质量参数和无线网络识别信息以用于由报告客户端408报告。在某些实施例中,在附加位置数据之前,收集客户端404通过将所述位置数据与假名(粘性)标识符相关联来使位置数据匿名化,所述假名标识符仅标识客户端设备108而不标识与客户端设备108相关联的用户账户。该假名标识符由收集客户端404生成以用于标识与位置数据相关联的客户端设备108的目的。一般地,假名标识符在被再循环以用于再次与不同位置数据一起使用之前,仅被使用一段时间。在某些实施例中,此时间段是七天或更少。

此外,在某些实施例中,仅以5—100米之间的准确度来报告位置数据。通常,位置数据一处于经度和纬度度量的形式。在某些实施例中,在从位置确定模块218接收到经度和纬度度量后,收集客户端404将每个经度和纬度度量乘以1,000,000并且然后将小数点后六位数以后的任何位截断,以便粗化所收集的数据以提供期望的准确度。

在收集质量参数及包括无线网络识别信息的网络信息和位置数据之后,收集客户端404将该数据提供给报告客户端408以用于向服务器106报告。服务器106侧包括临时服务器114,其包括首先从报告客户端408接收数据的临时日志410。该数据在诸如七天的有限时间段内被保留在临时服务器114的临时日志410中。在被保留的同时,该数据被处理、清理并匿名化以确保质量参数及相关联的无线网络识别信息和位置数据不标识客户端设备的用户,或者包括来自无线网络的、指示其将不被存储的数据,诸如先前提及的“_nomap”无线网络。

在保留时段到期时,临时服务器114从临时日志410向管道412提供已处理、已清理且已匿名化的数据,该管道412将数据提供给生产服务器116,其将该数据存储在生产日志414中。生产日志414中的数据被与先前所存储的数据一起汇总,所述先前所存储的数据关于与质量参数相关联的特定无线网络,诸如无线网络110。在这方面,将质量参数与由无线网络识别信息标识的先前所收集的质量参数一起汇总。此外,位置数据和与无线网络识别信息相关联的质量参数一起汇总并存储。

使用所汇总的数据,可以确定与无线网络——诸如无线网络110相关联的网络质量。网络质量基于无线网络质量参数和位置数据来提供对该无线网络的效能的历史指示。例如,无线网络质量可以基于从所述多个客户端设备102(参见图1)收集的时延度量和吞吐量的总体的在时间上的加权平均,所述时间由指示无线网络质量参数被收集的时间的所收集时间戳来限定。在这方面,在确定无线网络质量时,与先前所收集的无线网络质量参数相比,可以对更新近收集的质量参数施加更重的权重。一旦确定了网络质量的平均分值,就可以将该平均值与指派该无线网络的相对网络质量分值的平均值的已知范围相比较。在某些实施例中,该分值可以在从一至十或从一至一百的规模,其中,较高的分值指示效能较好的无线网络,或者反之亦然。

无线网络质量被存储在网络质量数据库416中并且基于无线网络识别信息和位置而使其可搜索。以这种方式,能够访问网络质量数据库416的客户端设备——诸如客户端设备108能够利用所存储的无线网络质量来进行关于客户端设备108可以承担的多种任务的知情决策。

服务器106侧进一步包括不登记(nomap)数据库418。不登记数据库418提供指示将不收集质量参数的无线网络的日志。暂时返回由图4的客户端设备108执行的数据收集过程,收集客户端404确定无线网络是否包括无线网络将不被包括在无线网络质量数据库中的指示。一个这样的指示将如:在Wi-Fi网络的接入点的SSID中具有词项“_nomap”的Wi-Fi网络。如果WiFi网络的接入点的SSID包括“_nomap”,则将不报告该Wi-Fi网络的质量参数。然而,BSSID被报告,被加密模块406散列并被存储在服务器106上,在通过临时服务器114来被处理之后最终被存储在不登记数据库418中。临时服务器114识别到经散列的BSSID并未与经散列的SSID相关联,并且将其传递至管道412以被存储在不登记数据库418中。

不登记数据库418被利用作为上文关于临时服务器114所讨论的处理、清理和匿名化过程的一部分。因此,在包括Wi-Fi网络的以上示例中,在由临时服务器114执行的处理、清理和匿名化过程期间,如果临时服务器114识别从具有不包括“_nomap”的SSID的WiFi网络的不同接入点测量的质量参数,则将来自该Wi-Fi网络的不同接入点的经散列BSSID与存储在不登记数据库418中的BSSID进行比较以确定该不同接入点是否与具有指示不收集质量参数的接入点的Wi-Fi网络相关联。如果不同接入点的BSSID与存储在不登记数据库418中的BSSID相关联,则与该WiFi网络的该不同接入点相关联的质量参数和位置数据被丢弃,并且不被利用来确定存储在网络质量数据库中的网络质量。

另外,一旦无线网络被确定为被存储在不登记数据库418中,则其将保持在不登记数据库418中直至从无线网络收集的进一步无线网络识别信息指示该无线网络不再禁止对质量参数的收集。在某些实施例中,在不登记数据库418中的无线网络从不登记数据库418被去除之前,该无线网络的无线网络识别信息必须不再指示在所设定时间段——诸如七天内不收集质量参数。

现在转到图5,图示了提供由多个客户端设备1-n 102(参见图1)中的客户端设备执行以用于收集和发送无线网络信息——包括质量参数、无线网络识别信息和位置数据——的步骤的流程图500。在步骤502处,客户端设备(为了便于描述,如客户端设备108—参见图1)与无线网络(为了便于描述,如无线网络110)通信。在步骤504处,客户端设备108的客户端应用402(参见图4)从无线网络110测量质量参数。

在步骤506处,质量参数被客户端设备108(参见图1)的客户端应用402提供给收集客户端404(参见图4)。在步骤508处,收集客户端404检查以确定客户端应用402是否是受信任应用,并且如果客户端应用402是受信任的,则在步骤510处,收集客户端404接受该质量参数。

在步骤512处,收集客户端404(参见图4)收集无线网络识别信息。在步骤514处,收集客户端404审查该无线网络识别信息以确定其是否应该被收集;例如,无线网络是Wi-Fi网络,并且SSID包括“nomap”。如果SSID确实包含“nomap”,则流程图前进至步骤516,其绕过其余步骤至步骤526,在步骤526处BSSID被报告客户端408报告给服务器106(参见图1)。可以在步骤526之前执行由加密模块406对BSSID进行散列的进一步的步骤。

然而,如果步骤415(参见图4)确定不存在不收集质量参数的指示,则在步骤518处,收集客户端404将无线识别信息附加到质量参数。可以执行由加密模块406对BSSID进行散列的进一步的步骤以在将该无线识别信息传送至服务器106(参见图1)之前使其模糊。

在步骤520处,收集客户端404(参见图4)确定客户端设备108是否允许将由位置确定模块218(参见图2)收集的位置数据附加到质量参数和无线网络识别信息。如果无法附加位置数据,则流程图前进至步骤516,其充当至步骤526的旁路,在步骤526处仅将质量参数和附加无线网络识别信息发送到服务器106(参见图1)。

然而,如果收集客户端404(参见图4)确定客户端设备108(参见图1)允许收集位置数据,则在步骤522处,收集客户端404从位置确定模块218(参见图2)接收位置数据,并且在步骤524处,收集客户端404将该位置数据附加至质量参数和无线网络识别信息。在步骤526处,收集客户端404将质量参数与附加无线网络识别信息和位置数据一起提供给报告客户端408,其将质量参数与所附加的无线网络识别信息和位置数据一起提供给服务器106。

现在转到图6,图示了提供由服务器或服务器集群执行以用于接收、处理和存储无线网络数据的步骤的流程图600。在步骤602处,服务器106(参见图1)接收与网络信息相关联的质量参数,其可以包括无线网络识别信息和位置数据。

在步骤604处,服务器106(参见图1)将接收到的质量参数与由无线网络识别信息标识的该无线网络的先前接收的质量参数一起汇总。在步骤606处,服务器106确定在网络信息中是否提供了位置数据,其提供客户端设备在测量质量参数时的位置。如果提供了位置数据,则在步骤608处,服务器106将位置数据连同由无线网络识别信息识别的无线网络的质量参数一起汇总。然而,如果在网络信息中不存在位置数据,则流程图600绕过步骤608并直接地前进至步骤610。

在步骤610处,服务器106(参见图1)处理所汇总的质量参数以确定无线网络的网络质量。在步骤612处,服务器106将网络质量存储在网络质量数据库416中(参见图4)。存储在网络质量数据库416中的网络质量可基于无线网络识别信息来搜索并且进一步可基于地理位置来搜索。

在这里讨论的系统和方法收集关于用户的个人信息或者可以利用个人信息的情境中,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好、或者用户的当前位置的信息)、或者控制是否和/或如何从服务器接收可能与用户更为相关的内容。此外,某些数据在其被存储或使用之前可以以一个或多个方式来处理,使得个人可识别信息被去除。例如,可以处理用户的身份,使得无法确定用户的个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(诸如到城市、ZIP代码、或州层级),使得无法确定用户的特定位置。因此,用户可以控制服务器收集和使用关于用户的信息的方式。

在本文中引用的包括出版物、专利申请、以及专利的所有参考文献通过引用合并入本文,其程度如同每个参考文献被单独地且明确地指示为通过引用而合并入本文并在本文中完整阐述。

术语“一”和“一个”和“所述”和“至少一个”以及类似的引用在描述本公开的上下文中(尤其是在以下权利要求书的上下文中)的使用应被解释为覆盖单数和复数两者,除非在本文中另外指出或明显地与上下文矛盾。后跟有一个或多个项目的列表的术语“至少一个”(例如,“A和B中的至少一个”)的使用应被理解为意指选自所列举项目(A或B)中的一个项目或者所列举项目中的两个或更多的任何组合,除非在本文中另外指出或者明显与上下文矛盾。应将术语“包括”、“具有”、和“包含”理解为开放式术语(即意指“包括但不限于”),除非另外指出。除非在本文中另外指出,本文中的值范围的叙述仅仅意图充当单独地引用落入该范围内的每个单独值的简写方法,并且每个单独值被包含在本说明书中,如同其在本文中被单独叙述一样。能够以任何合适的顺序来执行本文所述的所有方法,除非在本文中另外指明或者另外明显与上下文矛盾。在本文中提供的任何示例和所有示例的使用仅意图更好地阐明本公开,并且不对本公开的范围施加限制,除非另外要求保护。本说明书中的语言不应被解释为指示任何未要求保护的元素作为对实践本公开必不可少。

在本文中描述了本公开的优选实施例,包括本发明人已知的用于实施本公开的目标的最佳方式。在阅读前述描述时,那些优选实施例的变型可以变得对本领域的技术人员显而易见。本发明人预期技术人员将视情况来采用这样的变型,并且本发明人意图以除本文中具体描述的方式之外的方式来实践所公开的实施例。因此,本公开包括适用的法律所准许的本文所附权利要求书中所述的主题的所有修改和等同物。此外,本公开涵盖上述元素处于其所有可能变型的任何组合,除非在本文中另外指出或者另外明显与上下文矛盾。

权利要求书(按照条约第19条的修改)

1.一种从客户端设备提供多个不同无线网络的网络质量参数的方法,所述方法包括:

通过所述客户端设备的网络接口与所述多个不同无线网络中的每个无线网络通信;

由驻留在所述客户端设备上的客户端应用来测量所述多个不同无线网络中的每个无线网络的网络质量参数;

由所述客户端应用向所述客户端设备的报告模块提供所述多个不同无线网络中的每个无线网络的所述网络质量参数;

由所述报告模块收集与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联的网络信息;以及

由所述报告模块向服务器发送所述多个不同无线网络中的每个无线网络的所述网络信息和所述网络质量参数。

2.根据权利要求1所述的方法,进一步包括:

由所述报告模块确定所述客户端应用是否是受信任应用列表的一部分;以及

如果所述客户端应用是所述受信任应用列表的一部分,则由所述报告模块有条件地从所述客户端应用接受所述多个不同无线网络中的每个无线网络的所述网络质量参数。

3.根据权利要求1所述的方法,其中,与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联的所述网络信息包括:被配置成唯一地标识所述多个不同无线网络中的每个无线网络的网络识别信息。

4.根据权利要求3所述的方法,其中,所述多个不同无线网络中的一个无线网络是Wi-Fi网络,并且所述网络识别信息包括服务集标识(SSID)和基本服务集标识(BSSID)。

5.根据权利要求4所述的方法,进一步包括:由所述报告模块确定所述SSID是否指示所述多个不同无线网络中的所述一个无线网络允许对关于所述多个不同无线网络中的所述一个无线网络的数据的收集。

6.根据权利要求3所述的方法,其中,所述多个不同无线网络中的一个无线网络是蜂窝无线网络,并且所述网络识别信息包括小区标识符(CellID)。

7.根据权利要求3所述的方法,进一步包括:由所述报告模块将所述网络识别信息与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联。

8.根据权利要求7所述的方法,其中,在发送所述多个不同无线网络中的每个无线网络的所述网络信息和所述网络质量参数之前,所述方法进一步包括对所述网络信息进行散列。

9.根据权利要求7所述的方法,进一步包括:

确定所述客户端设备是否允许指示所述客户端设备的位置的位置数据被收集;

如果确定所述客户端设备允许所述位置数据被收集,则收集所述位置数据;以及

由所述报告模块将所述位置数据与所述多个不同无线网络中的每个无线网络的所述网络质量参数和所述网络信息相关联。

10.根据权利要求9所述的方法,其中,所述位置数据是基于被附加至所述位置数据的假名标识符来匿名的,其中,所述假名标识符与和所述客户端设备相关联的用户账户分离地来仅标识所述客户端设备。

11.根据权利要求9所述的方法,其中,所述位置数据提供精度在5-100米内的所述客户端设备的准确位置。

12.一种基于网络质量来提供无线网络的数据库的方法,所述方法包括:

接收由附接至无线网络的客户端设备收集的所述无线网络的网络质量参数;

接收与所述网络质量参数相关联的网络信息;

基于所述网络信息来将所述网络质量参数与所述无线网络的先前接收到的网络质量参数汇总;以及

处理所述网络质量参数和所述先前接收到的网络质量参数以确定所述无线网络的无线网络质量。

13.根据权利要求12所述的方法,其中,所述网络信息包括唯一地标识所述无线网络的网络识别信息,并且所述方法进一步包括将所述无线网络质量存储在所述数据库中,其中,所述数据库能够基于所述网络识别信息来搜索。

14.根据权利要求13所述的方法,进一步包括:

从所述客户端设备接收位置数据,其中,所述位置数据提供所述客户端设备在所述网络质量参数被收集时的位置;

将所述位置数据与所述网络质量参数和所述网络识别信息汇总;以及

将所述位置数据与所述无线网络质量一起存储在所述数据库中。

15.根据权利要求14所述的方法,其中,所述数据库进一步能够基于所述位置数据来搜索。

16.根据权利要求15所述的方法,其中,所述位置数据是匿名的。

17.根据权利要求12所述的方法,其中,所述网络质量参数包括网络时延、网路吞吐量和接收的信号强度指示符(RSSI)中的至少一个。

18.根据权利要求12所述的方法,其中,所述无线网络是Wi-Fi网络,并且所述网络识别信息包括服务集标识(SSID)和基本服务集标识(BSSID)。

19.根据权利要求12所述的方法,其中,所述无线网络是蜂窝无线网络,并且所述网络识别信息包括小区标识符(CellID)。

20.一种非暂时性计算机可读存储设备,用于由驻留在客户端设备上的客户端应用收集网络质量参数,所述非暂时性计算机可读存储设备具有计算机能够执行的指令以用于执行以下步骤:

通过所述客户端设备的网络接口与多个不同无线网络中的每个无线网络通信;

由驻留在所述客户端设备上的客户端应用来测量所述多个不同无线网络中的每个无线网络的所述网络质量参数;

由所述客户端应用向所述客户端设备的报告模块提供所述多个不同无线网络中的每个无线网络的所述网络质量参数;

由所述报告模块收集与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联的网络信息;以及

由所述报告模块向服务器发送所述多个不同无线网络中的每个无线网络的所述网络信息和所述网络质量参数。

21.根据权利要求20所述的非暂时性计算机可读存储设备,进一步包括指令以用于执行以下步骤:

由所述报告模块确定所述客户端应用是否是受信任应用列表的一部分;以及

如果所述客户端应用是所述受信任应用列表的一部分,则由所述报告模块有条件地从所述客户端应用接受所述多个不同无线网络中的每个无线网络的所述网络质量参数。

22.根据权利要求20所述的非暂时性计算机可读存储设备,其中,与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联的所述网络信息包括:被配置成唯一地标识所述多个不同无线网络中的每个无线网络的网络识别信息。

23.根据权利要求22所述的非暂时性计算机可读存储设备,进一步包括指令以用于执行由所述报告模块将所述网络识别信息与所述多个不同无线网络中的每个无线网络的所述网络质量参数相关联的步骤。

24.根据权利要求23所述的非暂时性计算机可读存储设备,其中,在发送所述多个不同无线网络中的每个无线网络的所述网络信息和所述网络质量参数之前,所述非暂时性计算机可读存储设备进一步包括指令以用于对所述网络信息进行散列。

25.根据权利要求23所述的非暂时性计算机可读存储设备,进一步包括指令以用于执行以下步骤:

确定所述客户端设备是否允许指示所述客户端设备的位置的位置数据被收集;

如果确定所述客户端设备允许所述位置数据被收集,则收集所述位置数据;以及

由所述报告模块将所述位置数据与所述多个不同无线网络中的每个无线网络的所述网络质量参数和所述网络信息相关联。

26.根据权利要求1所述的方法,进一步包括:

与所述服务器通信以访问数据库,所述数据库提供关于不在所述客户端设备的信号范围内的无线网络的无线网络质量信息;以及

基于从所述数据库获得的所述无线网络质量信息来作出连接到不在所述客户端设备的信号范围内的所述无线网络中的一个无线网络的决策。

27.根据权利要求20所述的非暂时性计算机可读存储设备,进一步包括指令以用于执行以下步骤:

与所述服务器通信以访问数据库,所述数据库提供关于不在所述客户端设备的信号范围内的无线网络的无线网络质量信息;以及

基于从所述数据库获得的所述无线网络质量信息来作出连接到不在所述客户端设备的信号范围内的所述无线网络中的一个无线网络的决策。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1