由位置驱动的简档切换转让专利

申请号 : CN201680022195.7

文献号 : CN107580787B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谭伟华希希尔·库马尔·阿格拉沃尔

申请人 : 谷歌有限责任公司

摘要 :

提供了基于位置和无线网络质量的用于简档切换的设备和方法。客户端设备基于各种因子确定客户端设备的用户的相关位置。在确定了位置与用户有特定关联之后,客户端设备将针对用户在每个相关位置处继续收集每个可用无线网络的无线网络参数。客户端设备接着确定每个相关位置处的每个无线网络的质量分值并继续利用所述质量分值来在客户端设备经过相关位置之间时做出无线网络简档切换决定。

权利要求 :

1.一种被配置为选择无线网络的客户端设备,所述客户端设备包括:位置确定模块,所述位置确定模块被配置为确定所述客户端设备的位置并且确定所述位置是否在限定所述客户端设备的相关位置的区域内;

订户识别模块(SIM),所述订户识别模块(SIM)具有用于连接到多个无线网络的多于一个的简档;以及无线网络选择模块,所述无线网络选择模块被配置为:

当所述位置在限定所述相关位置的所述区域内时,从在所述客户端设备的所述位置处可用的所述多个无线网络中的每个无线网络收集无线网络参数;

基于所述无线网络参数确定最高质量无线网络;以及

当所述客户端设备的所述位置在限定所述相关位置的所述区域内时,使用所述SIM中与所述最高质量无线网络相对应的单个简档经由无线网络接口与所述最高质量无线网络进行连接。

2.根据权利要求1所述的客户端设备,进一步包括存储器,所述存储器被配置为存储对所述位置的访问数以及在所述位置花费的时间量,并存储所述无线网络参数。

3.根据权利要求2所述的客户端设备,其中,所述位置确定模块基于对所述位置的所述访问数和在所述位置花费的所述时间量来确定所述位置是所述客户端设备的相关位置。

4.根据权利要求2所述的客户端设备,其中,所述无线网络参数包括移动网络代码(MNC)、移动国家代码(MCC)和接收信号强度指示符(RSSI)。

5.根据权利要求2所述的客户端设备,其中,所述无线网络参数包括服务集识别(SSID)、基本服务集识别(BSSID)、网络分组延迟和网络分组吞吐量。

6.根据权利要求1所述的客户端设备,其中,所述SIM是软件SIM,并且其中,所述位置确定模块是全球定位系统(GPS)模块。

7.根据权利要求1所述的客户端设备,其中,限定所述相关位置的所述区域包括多个区域,并且所述无线网络选择模块进一步被配置为:从所述多个区域中的每个区域中可用的所述多个无线网络中的每个无线网络收集所述无线网络参数;

确定所述多个区域中的每个区域中的最佳质量无线网络;以及当所述客户端设备围绕所述多个区域移动时,连接到所述多个区域中的每个区域中的所述最佳质量无线网络。

8.一种用于配置客户端设备以选择无线网络的方法,所述方法包括:捕获所述客户端设备的当前位置;

存储用于连接到可用无线网络的多于一个的简档;

确定所述客户端设备的所述当前位置是否在限定所述客户端设备的一个或多个相关位置中的一个相关位置的区域内;

当所述当前位置在限定所述相关位置的所述区域内时,从所述客户端设备的所述当前位置处的可用无线网络收集无线网络参数;

从所述可用无线网络中确定最高质量无线网络;以及

当所述客户端设备的所述当前位置在限定所述相关位置的所述区域内时,使用与所述最高质量无线网络相对应的单个简档将所述客户端设备连接到所述最高质量无线网络。

9.根据权利要求8所述的方法,其中,确定所述一个或多个相关位置包括:捕获所述客户端设备访问位置的次数;

捕获每次访问所述位置时所述客户端设备停留在所述位置处的时间量;以及基于所述客户端设备访问限定所述位置的所述区域的次数以及所述客户端设备停留在限定所述位置的所述区域的时间量,将所述位置有条件地设置为所述一个或多个相关位置之一。

10.根据权利要求8所述的方法,其中,所述无线网络参数包括移动网络代码(MNC)、移动国家代码(MCC)、无线接入技术(RAT)和接收信号强度指示符(RSSI)。

11.根据权利要求8所述的方法,其中,所述无线网络参数包括服务集识别(SSID)、基本服务集识别(BSSID)、网络分组延迟和网络分组吞吐量。

12.根据权利要求8所述的方法,进一步包括当所述客户端设备在限定所述相关位置的所述区域内时,将所述最高质量网络存储为选择的无线网络。

13.根据权利要求12所述的方法,其中,在阈值时间量期满之后,所述方法进一步包括:当所述当前位置在限定所述相关位置的所述区域内时,从所述客户端设备的所述当前位置处的所述可用无线网络收集附加无线网络参数;

基于所述附加无线网络参数从所述可用无线网络中确定后续最高质量无线网络;以及将所述客户端设备连接到所述后续最高质量无线网络。

14.根据权利要求13所述的方法,进一步包括:当所述客户端设备在限定所述相关位置的所述区域内时,将所述后续最高质量网络存储为所述选择的无线网络。

15.根据权利要求8所述的方法,其中,限定所述相关位置的所述区域包括多个区域,并且所述方法进一步包括:从所述多个区域中的每个区域中的所述可用无线网络收集所述无线网络参数;

确定所述多个区域中的每个区域中的最佳质量无线网络;以及当所述客户端设备围绕所述多个区域移动时,将所述客户端设备连接到所述多个区域中的每个区域中的所述最佳质量无线网络。

说明书 :

由位置驱动的简档切换

技术领域

[0001] 本公开大体涉及客户端设备,并且更具体地涉及基于位置的用于便携式客户端设备的无线网络简档切换。

背景技术

[0002] 通常,在大多数位置,多个无线网络可用于客户端设备以实现网络连接。通常,由客户端设备或客户端设备的用户选择可用的无线网络。然而,客户端设备和用户不能访问某些网络性能参数,所述网络性能参数将通知选择多个无线网络中用于实现最佳网络性能的无线网络的决定。因此,无线网络选择过程效率低下。

发明内容

[0003] 一个实施例提供被配置为选择无线网络的客户端设备,所述客户端设备包括:位置确定模块,所述位置确定模块被配置为确定所述客户端设备的位置并且确定所述位置是否是客户端设备的相关位置;以及无线网络选择模块,所述无线网络选择模块被配置为:从在所述相关位置处可用的多个无线网络中的每个无线网络收集无线网络参数;基于所述无线网络参数确定最高质量无线网络;以及将无线网络接口与所述最高质量无线网络进行连接。
[0004] 另一实施例包括用于配置客户端设备以选择无线网络的方法,所述方法包括:捕获所述客户端设备的当前位置;确定所述客户端设备的所述当前位置是否在限定所述客户端设备的一个或多个相关位置的相关位置的区域内;当所述当前位置在限定所述相关位置的所述区域内时,从所述客户端设备的所述当前位置处的可用无线网络收集无线网络参数;从所述可用无线网络中确定最高质量无线网络;以及将所述客户端设备连接到所述最高质量无线网络。
[0005] 另一个实施例包括用于配置客户端设备以选择无线网络的非暂时性计算机可读存储设备,所述非暂时性计算机可读存储设备具有用于执行以下步骤的计算机可执行指令:捕获所述客户端设备的当前位置;确定所述客户端设备的所述当前位置是否在限定所述客户端设备的一个或多个相关位置的相关位置的区域内;当所述当前位置在限定所述相关位置的所述区域内时,从所述客户端设备的所述当前位置处的可用无线网络收集无线网络参数;从所述可用无线网络中确定最高质量无线网络;以及将所述客户端设备连接到所述最高质量无线网络。

附图说明

[0006] 附图并入并形成说明书的一部分,其图示了本公开的若干方面,并且与说明书一起用于解释本公开的原理。在附图中:
[0007] 图1是示出根据示例实施例的通信系统的框图;
[0008] 图2是示出根据一个实施例的来自图1的客户端设备的组件的框图;
[0009] 图3是示出根据一个实施例的来自图1的服务器的组件的框图;
[0010] 图4是根据示例实施例的用于将图2的客户端设备连接到最高质量无线网络的流程图;
[0011] 图5是根据示例实施例的用于确定图2的客户端设备的哪些位置是相关位置的流程图;以及
[0012] 图6是根据示例实施例的用于确定最高质量无线网络的流程图。

具体实施方式

[0013] 通常,在大多数位置,多个无线网络可用于客户端设备以实现网络连接。通常,由客户端设备或客户端设备的用户选择可用的无线网络。然而,客户端设备和用户不能访问某些网络性能参数,所述网络性能参数将通知选择多个无线网络中用于实现最佳网络性能的无线网络的决定。因此,无线网络选择过程效率低下。
[0014] 为了提高网络选择的效率,客户端设备可以从被认为对客户端设备的日常使用重要或与之相关的位置处的每个可用无线网络收集无线网络参数。无线网络参数表征相关联的无线网络的性能。在从相关位置处可用的每个无线网络收集无线网络参数之后,客户端设备然后可基于所收集的无线网络参数选择无线网络与之通信。因此,无线网络的选择是基于所收集数据的通知选择。
[0015] 图1示出了可以实现本公开的各种实施例的示例通信系统100的框图。在通信系统100中,客户端设备102与多个无线网络104通信,所述多个无线网络104接着与服务器106通信。此外,在某些实施例中,客户端设备102可以与全球定位系统(GPS)网络108进行通信。
[0016] 客户端设备102可以是移动设备,诸如智能电话、平板计算机、膝上型计算机、具有计算机操作系统的手表、个人数字助理(PDA)、视频游戏控制台、可穿戴的或嵌入式数字设备或者能够通过多个无线网络104进行通信的多个附加设备中的任何一种。
[0017] 多个无线网络104可以包括但不限于广域网(WAN),诸如长期演进(LTE)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、宽带码分多址(WCDMA)网络或用于GSM演进(EDGE)网络的增强数据速率和诸如各种IEEE 802.11标准的无线局域网络(WLAN)或任何其他类型的无线网络。
[0018] 此外,多个无线网络104允许客户端设备102与服务器106进行通信。例如,客户端设备102可以向服务器106传送信息,并通过多个无线网络104中的一个或多个无线网络接收来自服务器106的信息。此外,多个无线网络104可以各自包括蜂窝塔的集合,以及基站和/或移动交换中心(MSC)的集合。在一些实施例中,多个无线网络104可以包括各种蜂窝塔/基站/MSC布置。
[0019] 此外,服务器106被示为单个服务器。然而,服务器106可以被实现为服务指定地理位置的多个服务器,或者服务器106可以被实现为云服务器。为了便于描述,示出了单个服务器106。这个单个服务器图示并不旨在限制本文所包含的公开。
[0020] 在普通使用期间,用户将携带客户端设备102进出各个位置。通常,在所有的各个位置中,重要的是客户端设备102将只移动到这些位置的有限子集,或者换言之,由用户花费其大部分时间的相关位置。例如,典型的用户将大部分时间仅花费在几个位置,例如家中、工作场所、健身房、杂货店等。此外,当在这些相关位置之一时,客户端设备102将具有用于实现到无线网络(诸如多个无线网络104)的无线连接的若干可用选项。
[0021] 例如,图1示出了其中三个无线网络104a,104b和104c在特定相关位置(例如在用户工作地点)处组成多个无线网络104的示例性实施例。在这方面,除了三个无线网络104a,104b和104c之外,可获得更多或更少的无线网络。
[0022] 此外,在没有无线网络104a,104b和104c中每一个的质量的现有知识的情况下,则客户端设备102将通常纯粹基于当前信号强度来决定连接到哪个网络,而不是基于与该网络的整体质量有关的历史相关数据。因此,为了改善对在相关位置处用于连接的无线网络选择,将为每个可用无线网络104a,104b和104c收集无线网络参数。
[0023] 在一个实施例中,客户端设备102在无线网络参数收集时段中操作,在该无线网络参数收集时段期间,客户端设备102收集在相关位置处用于无线网络104a,104b和104c中的所选无线网络的无线网络参数。例如,在某些实施例中,客户端设备102可以在对相关位置访问期间决定附接到单个无线网络(例如无线网络104a),并且在附接到无线网络104a时,客户端设备102将收集可用于表征无线网络104a的质量的无线网络参数。类似地,在对相关位置的后续访问时,客户端设备102将附接到不同的无线网络(例如无线网络104b和/或104c),并且继续收集用于无线网络104b和104c的无线网络参数。在其他实施例中,客户端设备102可以在对相关位置的单次访问期间附接到无线网络104a,104b和104c中的每一个,并收集用于无线网络104a,104b和104c中每一个的无线网络参数。
[0024] 通常,多个无线网络104(包括无线网络104a,104b和104c)将包括语音和数据网络两者。例如,多个无线网络104可以包括载波蜂窝网络和WiFi网络两者。在某些实施例中,用于蜂窝网络的无线网络参数可以包括移动国家代码(MCC)、移动网络代码(MNC)、连接到网络的时间量、一天中处于连接中的时间,无线接入技术(RAT)和测量的接收信号强度指示器(RSSI)。另外,在某些实施例中,用于WiFi网络的无线网络参数可以包括服务集标识符(SSID)、基本服务集标识符(BSSID)、连接到网络的时间量、一天中处于连接中的时间、分组吞吐量和延迟。用于蜂窝和WiFi网络两者的无线网络参数列表并不详尽。因此,列表可以包括用于客户端设备102收集的更多或更少的参数。
[0025] 在某些实施例中,客户端设备102将收集无线网络参数并将其以表格形式本地存储在存储器中。例如,对于蜂窝网络,该表可以包括表示由所收集的MNC/MCC数据识别的网络名称的某些抬头以及与该无线网络相关联的任何收集的无线网络参数。对于WiFi网络,该表可以包括表示由所收集的SSID/BSSID数据识别的网络名称的某些头以及与该无线网络相关联的任何收集的无线网络参数。无论无线网络是载波蜂窝网络还是WiFi网络,一旦捕获收集到的无线网络参数,那么客户端设备102就可以确定用于无线网络104a,104b和104c中的每个无线网络的质量分值,并且在客户端设备102处本地存储这些分值。在客户端设备处于相关联的相关位置的同时,无线网络104a,104b和104c中具有最高质量分值的无线网络随后被选择为优选无线网络。对于客户端设备102的每个相关位置执行该过程。
[0026] 另外,在某些实施例中,将在阈值时间量过期之后重新计算可用无线网络104a,104b和104c的质量分值确定。例如,在两周时间后,客户端设备102可以进入另一个无线网络参数收集时段,这之后将为无线网络104a,104b和104c确定新的质量分值。基于这些新的质量分值,客户端设备102将进行连接决定。
[0027] 在一些实施例中,客户端设备102不确定质量分值。相反,在这些实施例中,客户端设备102将收集的无线网络参数传送到服务器106,服务器106继续将收集的无线网络参数存储在数据库110中。类似地,服务器106将收集的无线网络参数组织成表并且还计算质量分值,然后将其发送回客户端设备102,以用于从可用的无线网络104a,104b和104c中进行选择。
[0028] 在某些实施例中,客户端设备102还将保持其访问的每个位置的记录以及在该位置花费的时间量,以便确定该位置是否是相关位置之一。在一些实施例中,通过与GPS 108通信来确定客户端设备102的位置。而在其他实施例中,该位置由客户端设备102从可用的无线网络104a,104b和104c对其位置进行三角测量来确定。
[0029] 一旦客户端设备102确定其位置,客户端设备102继续通过引用存储的位置表来确定该位置是否以前已被访问过,如果是,则记录附加的访问以便累积由客户端设备102到该位置的访问次数。如果客户端设备102以前没有访问过该位置,则客户端设备102在存储的位置表中创建新的条目并录入第一访问。此外,在某些实施例中,客户端设备102将记录访问的日期以便确定访问该位置的频率。另外,在某些实施例中,客户端设备102将确定客户端设备在该位置花费多长时间。
[0030] 在这方面,客户端设备102将构建其访问位置的表并且与每个位置相关联的是访问次数和在该位置花费的持续时间。在某些实施例中,在该位置花费的持续时间可以是在每个访问上花费的平均时间量,或者在其他实施例中可以是在该位置花费的总时间量。
[0031] 基于访问数和在该位置花费的时间(平均值或总数),客户端设备102将确定该位置是否是相关位置。例如,在某些实施例中,客户端设备102将访问数和在该位置花费的时间与相应的阈值值进行比较,并且如果访问数和在该位置花费的时间超过阈值值,则该位置被视为相关位置。在这方面,通常,客户端设备102将具有至少一个相关位置并且可能具有一个以上的相关位置。
[0032] 此外,如前所述,相关位置是客户端设备102的用户花费大部分时间的地方,例如在家中或工作场所。然而,由于网络条件将会在家中或工作场所的不同位置改变,所以每个这样的位置可以包括多个相关位置。例如,在用户在具有多楼层的办公大楼中工作的情况下,可用无线网络(诸如无线网络104a,104b和104c)可以依据楼层而改变。在这种情况下,用户花费大量时间的办公大楼的每层都可以被包括作为相关位置。因此,在某些实施例中,相关位置将被限定为诸如纬度和经度的坐标以及围绕该坐标的半径。半径将基于改变无线网络条件来确定。换言之,半径将由可用无线网络(诸如无线网络104a,104b和104c)不改变的区域来限定。在这方面,每个相关位置将具有相关区域,其中可用网络始终相同。此外,在某些实施例中,坐标还可以包括海拔高度(elevation)。
[0033] 现在转到图2,示出根据本公开的一个方面的图1的客户端设备102的基础功能组件的框图。通常,可以使用客户端设备102的许多其他实施例。在图2所示的实施例中,客户端设备102包括一个或多个处理器202、存储器204、网络接口206、一个或多个存储设备208、电源210、一个或多个输出设备212、一个或多个输入设备214、位置确定模块218、无线网络选择模块220和订户识别模块(SIM)222。客户端设备102还包括操作系统216。包括处理器202、存储器204、网络接口206、存储设备208、电源210、输出设备212、输入设备214、位置确定模块218、无线网络选择模块220、SIM 222和操作系统216的每个组件物理地、通信地和/或可操作地互连以用于组件间通信。
[0034] 如图所示,处理器202被配置为实现用于在客户端设备102内执行的功能和/或处理指令。例如,处理器202执行存储在存储器204中的指令或存储在存储设备208上的指令。存储器204可以是非暂时性计算机可读存储介质,该存储器204被配置为在操作期间在客户端设备102内存储信息。在一些实施例中,存储器204包括临时存储器,这一用于在客户端设备102关闭时不再维护的信息的区域。这种临时存储器的示例包括诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器。存储器
204还维护用于由处理器202执行的程序指令。
[0035] 存储设备208还包括一个或多个非暂时性计算机可读存储介质。存储设备208通常被配置为存储比存储器204更大量的信息。存储设备208还可被配置为长期存储信息。在一些示例中,存储设备208包括非易失性存储元件。非易失性存储元件的非限制性示例包括磁性硬盘、光盘、软盘、闪存或者电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。
[0036] 客户端设备102使用网络接口206经由诸如图1的多个无线网络104和GPS网络108的一个或多个网络与外部设备进行通信。网络接口206可以是网络接口卡,诸如以太网卡、光收发器、射频收发器或可以发送和接收信息的任何其他类型的设备。网络接口的其他非限制性示例包括客户端计算设备中的 3G和WiFi无线电以及USB。
[0037] 客户端设备102包括一个或多个输入设备214。输入设备214被配置为通过触觉、音频和/或视频反馈接收来自用户或用户周围环境的输入。输入设备214的非限制性示例包括存在敏感屏幕、鼠标、键盘、语音响应系统、摄像机、麦克风或任何其他类型的输入设备。在一些示例中,存在敏感屏幕包括触摸敏感屏幕。
[0038] 在客户端设备102中也包括一个或多个输出设备212。输出设备212被配置为使用触觉、音频和/或视频刺激向用户提供输出。输出设备212可以包括显示屏幕(存在敏感屏幕的一部分)、声卡、视频图形适配器卡或用于将信号转换成人或机器可理解的适当形式的任何其他类型的设备。输出设备212的附加示例包括诸如耳机的扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可以向用户生成可理解的输出的任何其他类型的设备。
[0039] 客户端设备102包括一个或多个电源210以向设备提供电力。电源210的非限制性示例包括一次性电源、可再充电电源和/或从镍镉、锂离子或其它合适的材料开发的电源。
[0040] 客户端设备102包括操作系统216。操作系统216控制客户端设备102的组件的操作。例如,操作系统216促进处理器202、存储器204、网络接口206、存储设备208、输入设备214、输出设备212、电源210、位置确定模块218、无线网络选择模块220和SIM 222的相互作用。
[0041] 客户端设备102还包括位置确定模块218,如图2所示。位置确定模块218确定客户端设备102的相关位置。在这方面,客户端设备102的位置确定模块218将确定客户端设备102的当前位置并捕获客户端设备102已经访问该位置的次数(并且在某些实施例中是那些访问的频率)以及在该位置花费的时间量(每次访问的平均值或累积的时间量)。此外,客户端设备102的位置确定模块218将比较访问次数和在该位置花费的时间量与先前确定的访问次数和在该位置花费的时间量的阈值值,以便确定所述位置是否是客户端设备102的相关位置。
[0042] 此外,在确定访问频率的实施例中,客户端设备102还将比较访问频率与先前确定的频率阈值。在这方面,在一些实施例中,客户端设备102与频率阈值的比较可以替代访问次数阈值比较。
[0043] 另外,尽管在图2中示出了位置确定模块218与处理器202是分离的,但在某些实施例中,位置确定模块218可以表示为处理器202的操作状态。在这方面,位置确定模块218的功能可以由存储在存储器204或存储设备208上并且由处理器202执行的指令来限定以便执行位置确定模块218的上述功能。
[0044] 客户端设备102还包括无线网络选择模块220,如图2所示。无线网络选择模块220用于选择在客户端设备102相关位置处的可用无线网络。在这方面,无线网络选择模块220将监视客户端设备102的位置并参考位置确定模块218,以便确定客户端设备102的当前位置是否是客户端设备102的相关位置之一。如果当前位置是相关位置,则无线网络选择模块220对可用的无线网络进行调查,诸如无线网络104a,104b和104c(参见图1),并且确定是否已经从可用无线网络收集了无线网络参数。如果没有从每个可用无线网络收集无线网络参数,则无线网络选择模块220将收集无线网络参数并将其存储在配置为在相关位置组织与每个可用无线网络相关的数据的表中。一旦从每个可用无线网络收集了无线网络参数,无线网络选择模块220将基于所收集的无线网络参数来确定每个可用无线网络的质量分值,并将确定的质量分值存储在被配置为在相关位置处组织与每个可用无线网络相关的数据的表中。一旦已经确定了相关位置处的每个可用无线网络的质量分值,无线网络选择模块
220继续选择具有最高质量分值的无线网络,以便客户端设备102与之连接。
[0045] 另外,尽管图2中示出了无线网络选择模块220与处理器202分离,但是在某些实施例中,无线网络选择模块220可以表示为处理器202的操作状态。在这方面,无线网络选择模块220的功能可以由存储在存储器204或存储设备208上并且由处理器202执行的指令限定以便执行无线网络选择模块220的上述功能。另外,在某些实施例中,无线网络选择模块220可以包括网络接口206。
[0046] 在某些实施例中,客户端设备102还包括SIM 222。SIM 222存储用于识别和连接某些类型的无线网络的用户简档。例如,SIM 222可以包括用于将客户端设备102与由多个蜂窝载波通过各种RAT提供的多个载波蜂窝网络连接的证书。在这方面,当具有最高质量分值的无线网络是需要SIM数据来与该网络连接的蜂窝网络时,无线网络选择模块220将利用SIM 222上的存储的网络证书来获得对该网络的访问。当SIM 222存储多载波蜂窝简档时,无线网络选择模块220将能够通过基于在每个相关位置中所确定的质量分值按需要切换简档,使得客户端设备102连接来自各种蜂窝载波的各种无线网络。
[0047] 另外,在某些实施例中,SIM 222是单个SIM卡。而在其他实施例中,SIM 222可以是插入客户端设备102中的多个SIM卡,其被配置为同时接受和利用多个卡,或基于所选择的无线网络由客户端设备102的用户分别插入。此外,在其他实施例中,SIM 222可以是具有用于将客户端设备102与多个载波蜂窝网络连接的证书的电子SIM(eSIM),所述证书是由电子地存储在存储器204或存储设备208或与客户端设备102相关联的另一安全存储器上的多个蜂窝载波提供的。
[0048] 移到图3,根据本公开的一个方面,描绘了服务器106的基础功能组件的框图。服务器106包括一个或多个处理器302、存储器304、网络接口306和一个或多个存储设备308。另外,在一些实施例中,服务器106还包括位置确定模块310和无线网络选择模块312。在一些实施例中,包括处理器302、存储器304、网络接口306、存储设备308、位置确定模块310和无线网络选择模块312的每个组件物理地、通信地和/或/或可操作地互连用于组件间通信。
[0049] 如图所示,处理器302被配置为实现用于在服务器106内执行的功能和/或处理指令。例如,处理器302执行存储在存储器304中的指令或存储在存储设备308上的指令。存储器304可以是非暂时性计算机可读存储介质,该存储器304被配置为在操作期间在服务器106内存储信息。在一些实施例中,存储器304包括临时存储器,即,用于在服务器106关闭时不再维护的信息的区域。这种临时存储器的示例包括诸如随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器。存储器304还维护用于由处理器302执行的程序指令。
[0050] 存储设备308还包括一个或多个非暂时性计算机可读存储介质。存储设备308通常被配置为存储比存储器304更大量的信息。存储设备308还可被配置为长期存储信息。在一些示例中,存储设备308包括非易失性存储元件。非易失性存储元件的非限制性示例包括磁性硬盘、光盘、软盘、闪存或者电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。
[0051] 服务器106使用网络接口306经由诸如图1的多个无线网络104的一个或多个网络与外部设备进行通信。这样的网络可以包括一个或多个无线网络、有线网络、光纤网络和可以经其建立服务器106和外部设备之间的通信的其他类型的网络。网络接口306可以是网络接口卡,例如以太网卡、光收发器、射频收发器或可以发送和接收信息的任何其他类型的设备。
[0052] 在某些实施例中,服务器106被配置为执行位置确定模块218和无线网络选择模块220的功能,如上面关于图2所讨论的。在这些实施例中,服务器包括位置确定模块310和无线网络选择模块312。在这些实施例中,客户端设备102可以仍旧或可以不再包括位置确定模块218和无线网络选择模块220。另外,在某些实施例中,无线网络选择模块312可以包括网络接口306。
[0053] 无论客户端设备102是否包括位置确定模块218和无线网络选择模块220,在这些实施例中,客户端设备102将向服务器106提供客户端设备102的当前位置,使得该信息可以被位置确定模块310利用来确定客户端设备102是否在相关位置,并且也可被无线网络选择模块312使用以确定相关位置中的最高质量可用无线网络并且指示客户端设备102附接到该最高质量无线网络。在这方面,位置确定模块310和无线网络选择模块312以与位置确定模块218和无线网络选择模块220相同的方式操作,除了用从客户端设备102接收当前位置信息代替确定当前位置本身的情况。
[0054] 移到图4,示出了根据示例实施例的用于连接到最高质量无线网络的流程图400。在步骤402,客户端设备102(参见图1)捕获其当前位置。在某些实施例中,捕获当前位置涉及经由GPS确定位置,从位置API或用于确定客户端设备102的位置的任何其它技术接收或获取位置。在步骤404,客户端设备102将当前位置与先前确定的客户端设备102的相关位置的列表或表进行比较。通过这样做,客户端设备102能够确定当前位置是否在限定相关位置之一的区域内。如果在步骤404,客户端设备102确定它不在限定相关位置的区域内,则客户端设备102返回到步骤402,并且继续记录其当前位置以确定其是否进入其相关位置之一。
然而,如果客户端设备102确定它在限定其相关位置之一的区域内,则流程图400进行到步骤406。
[0055] 在步骤406,客户端设备102确定相关位置处的可用无线网络(诸如图1中的无线网络104a,104b和104c)。并且在步骤408,客户端设备102将搜索针对包括每个可用无线网络的相关位置所创建的表,以及是否已经基于表中的每个无线网络的先前收集的无线网络参数确定了质量分值。如果没有从每个可用无线网络收集无线网络参数,则客户端设备102将进行到步骤410并且连接到表中没有无线网络参数的无线网络之一,以便收集所需的无线网络参数。然而,如果已经从每个可用无线网络收集了无线网络参数,则客户端设备102将进行到步骤412。
[0056] 除此之外,在一些实施例中,在步骤410,客户端设备102(参见图1)通常将连接到无线网络,在客户端设备102停留在相关位置的持续时间内没有先前收集的无线网络参数。在这方面,可能需要一天或多天从每个可用无线网络收集无线网络参数,因为它可能需要多次访问。这样做是为了在足够长的时间段期间收集无线网络参数,以从该无线网络收集更广泛的数据采样。
[0057] 另外,在客户端设备102必须从所选择的无线网络切换的情况下,客户端设备102将跟踪在该特定访问期间在各种无线网络上花费的时间的百分比,使得可以基于在该特定无线网络上花费的时间百分比来确定所收集的无线网络参数的可靠性。以这种方式,客户端设备102将知晓对于将来的访问来说,即使先前已经为无线网络收集了无线网络参数,但可能需要在跟踪的时间百分比低的情况下收集附加的测量参数,以便收集用于确定该特定无线网络的质量的可靠的数据量。
[0058] 此外,在其他实施例中,客户端设备102将附接到在单次访问该相关位置期间没有收集先前无线网络参数的每个可用无线网络。
[0059] 在步骤412,客户端设备102(参见图1)检查以确定是否已经基于在相关位置处的每个可用无线网络的收集的无线网络参数确定了无线网络质量分值。在一些实施例中,这是通过搜索存储在客户端设备102的存储器204或存储设备208(参见图2)上的可用无线网络的用于先前确定的质量分值表来完成的。如果对于至少一个可用的无线网络尚未确定质量分值,则在步骤414,客户端设备102确定遗漏的质量分值。一旦所有质量分值已被确定,在步骤416,客户端设备102继续连接到具有最高质量分值的无线网络。
[0060] 对于客户端设备102(参见图1)的每个相关位置执行流程图400中的上述步骤,以便确定针对每个相关位置的最高质量无线网络。另外,在某些实施例中,在阈值时间量期满之后,将由客户端设备102再次执行流程图400的上述步骤,以便确定用于客户端设备102的每个相关位置中的后续最高质量无线网络。在这方面,客户设备102跟踪时间,因为它为每个相关位置确定了最高质量无线网络,使得在阈值时间量期满时,可以确定该相关位置的后续最高质量无线网络。
[0061] 另外,在可用无线网络是由各种蜂窝载波提供的蜂窝网络的实施例中,客户端设备102(参见图1)的SIM 222(参见图2)应包含用于访问每个载波蜂窝网络的证书。因此,客户端设备102将能够通过使用来自SIM 222的简档切换,自主地在载波蜂窝网络之间切换。在这方面,当客户端设备102从一个相关位置移动到下一个时,可以利用包含用于各种载波网络的不同访问证书的各种SIM简档以访问在每个相关位置的最高质量无线网络。
[0062] 移到图5,示出了根据示例实施例的用于确定哪些位置是客户端设备102(参见图1)的相关位置的流程图500。在步骤502,客户端设备102捕获或记录由客户端设备102对特定位置所做的访问数。另外,在步骤504,一旦客户端设备102记录它访问了特定位置,客户端设备102将确定在该访问期间在该位置花费的时间。在步骤506,客户端设备102利用收集的对特定位置的访问次以及在该位置花费的时间长度来确定该特定位置是否应被设置为重要的,或者换言之,客户端设备102的相关位置。
[0063] 在一个实施例中,确定特定位置是否是相关位置是基于客户端设备102(参见图1)访问该位置的次数以及在该位置花费的时间量超过先前设置的访问次数的阈值值,以及在一位置花费的时间量的另一阈值值。在另一个实施例中,该确定可以基于超过阈值的访问次数和超过一天特定百分比的时间量。在另一个实施例中,还可以记录访问的日历日期以便确定访问频率,使得如果访问频率持续足够长的时间段,则将该位置将被确定为相关位置。
[0064] 另外,在某些实施例中,当客户端设备102(参见图1)确定一位置是相关位置时,客户端设备102在该位置移动时监视可用的无线网络。在这些实施例中,客户端设备102监视可用的无线网络,以便确定可用无线网络不变的位置周围的区域。然后将该区域设置为限定相关位置的区域。因此,在这些实施例中,可以通过纬度和经度点以及围绕可用无线网络不改变的点的半径来限定该相关位置。此外,在一些实施例中,除了纬度和经度之外,可以利用海拔高度点来限定该相关位置。
[0065] 移到图6,示出了根据示例实施例的用于确定最高质量无线网络的流程图600。在步骤602,客户端设备102(参见图1)基于收集无线网络参数时的新近度来确定无线网络的加权因子。在这方面,具有最近收集的无线网络参数的无线网络具有比旧的、先前收集的无线网络参数更高的加权因子。
[0066] 在步骤604,客户端设备102(参见图1)基于作为无线网络参数一部分收集的RAT指派RAT分值。该分值对于实际RAT是独一无二的,并且是基于各种因素,诸如RAT的上行链路和下行链路的理论速度。在步骤606,客户端设备102基于无线网络的平均RSSI指派分值。对于较高的平均RSSI,RSSI分值较高,对于较低的平均RSSI,RSSI分值较低。
[0067] 另外,在一些实施例中,在步骤608,可以对某些载波应用提升因子,以便将在最高质量无线网络确定方面向特定载波提供优点。通常,在该实施例中,在某些载波某些地理区域中具有更好的覆盖范围的识别中包括提升因子。
[0068] 此外,在步骤610,客户端设备102(参见图1)通过将加权因子、RAT分值、RSSI分值以及在某些实施例中的每个可用无线网络的提升因子相乘来确定每个可用无线网络的整体分值。并且在步骤612,客户端设备102将具有最高质量分值的可用无线网络指派为该特定相关位置的默认无线网络。
[0069] 在这里讨论的系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户社交网络、社会行动或活动、专业、用户偏好或用户当前位置的信息)的机会,或者控制是否和/或如何从服务器接收可能与用户更相关的内容。此外,某些数据可以在存储或使用之前以一种或多种方式进行处理,以便消除个人可识别信息。例如,可以对用户身份进行处理,使得不能确定该用户的个人可识别信息,或者可以在获得位置信息(例如城市、邮政编码或州级别)的情况下泛化用户的地理位置,从而不能确定用户的特定位置。因此,用户可以控制如何收集并由服务器使用有关用户的信息。
[0070] 此外,在一些实施例中,客户端设备102的用户可能要求将客户端设备102的相关位置专门存储在客户端设备102上,使得与相关位置有关的信息不被共享。此外,在某些实施例中,与客户端设备102的相关位置有关的信息被加密,使得未授权的系统或个人不能访问该信息。
[0071] 本文引用的所有参考文献,包括出版物、专利申请和专利在此通过引用并入本文,其程度如同每篇参考文献被单独地且具体地指出为通过引用并入并且整体在此列出。
[0072] 在描述本公开的场境中(特别是在所附权利要求的场境中)使用术语“一”和“一个”和“该”和“至少一个”以及类似的指示物应被解释为覆盖单数和复数,除非本文另有说明或与场境明显矛盾。跟在一个或多个项目的罗列后的术语“至少一个”的使用(例如“A和B”中的至少一个)应被解释为意指从所列出的项目中选择的一个项目(A或B)或所列出的项目中两个或更多个(A和B)的任何组合,除非本文另有说明或明确地与上下文相矛盾。术语“包含”、“具有”、“包括”和“包含”将被解释为开放式术语(即意指“包括但不限于”),除非另有说明。除非本文另有说明,本文中数值范围的描述仅旨在用作单独提及落在该范围内的每个单独数值的速记方法,并且每个单独的数值都并入本说明书中,如同在本文中单独列举一样。本文所述的所有方法可以以任何合适的顺序进行,除非本文另有说明或以其他方式明确地与上下文相矛盾。本文提供的任何和所有示例或示例性语言(例如“诸如”)的使用仅旨在更好地说明本公开内容,并且不对本公开的范围构成限制,除非另有说明。说明书中的语言都不应被解释为指示任何未要求保护的元件对于本公开的实践是必需的。
[0073] 本文描述了本公开的优选实施例,包括发明人已知的用于实施本公开的最佳模式。在阅读前面的描述之后,这些优选实施例的变化对于本领域普通技术人员来说可能变得显而易见。本发明人期望本领域技术人员适当地使用这种变化,并且本发明人旨在以不同于本文具体描述的方式实施公开。因此,本公开包括根据适用法律允许的所附权利要求中所述的主题的所有修改和等同物。此外,除非本文另有说明或以其他方式明确地与上下文相矛盾,否则上述元件的所有可能的变化的任何组合都包含在本公开中。