通过无线信号确定装置位置的方法及产品和信息处理装置与流程

文档序号:12486418阅读:184来源:国知局
通过无线信号确定装置位置的方法及产品和信息处理装置与流程

本发明涉及通过无线信号确定装置位置的方法及产品和信息处理装置。



背景技术:

平常人可能每天使用多个移动技术应用程序。所述应用程序中的一些应用程序可以是以各种方式(例如,通信、信息收集、定向导航等)帮助用户的工具。随着应用程序就其特性变得越来越复杂且高级,应用程序已获得了处理越来越多的信息以进一步增强其能力的能力。

许多应用程序所需的一个信息源是装置位置,以及通过扩展用户的位置。这使得某些应用程序能够更有效地起作用(例如,如果用户正在搜索餐馆,装置应用程序可以基于用户位置来缩小推荐)。虽然存在检索用户的位置信息的各种方式(例如,GPS、Glonass(全球导航卫星系统)、Galileo(伽利略定位系统)、蜂窝塔之间的无线信号的多点定位技术、Wi-Fi连接等),但是一些方式比其他方式更鲁棒或成本低。当用户在建筑物中或者以其他方式不能够获取基于卫星的位置服务时,基于无线信号例如Wi-Fi来确定用户位置是有用的替代。然而,建立数百万的无线接入点位置的可靠数据库是极其复杂的,并且因此,仅很少的大型组织具有该能力。这会使得接入最准确的这些服务需要高价位。



技术实现要素:

总之,一方面提供了一种方法,该方法包括:获取检测到的无线信号的列表;使用处理器确定先前检测到的无线信号的列表与检测到的无线信号的列表共享至少某些共同性;针对在列表中的共同条目,使用处理器对检测到的无线信号的列表的条目的特征以及先前检测到的无线信号的列表的条目的特征进行分析;如果相似性度量满足准则,则确立装置的估计位置;以及如果相似性度量不满足准则,则从第三方位置服务请求装置位 置。

另一方面提供了一种信息处理装置,该信息处理装置包括:处理器;存储器装置,该存储器装置存储指令,该指令能够被处理器执行以:获取检测到的无线信号的列表;确定先前检测到的无线信号的列表与检测到的无线信号的列表共享至少某些共同性;针对在列表中的共同条目,对检测到的无线信号的列表的条目的特征以及先前检测到的无线信号的列表的条目的特征进行分析;如果相似性度量满足准则,则确立装置的估计位置;以及如果相似性度量不满足准则,则从第三方位置服务请求装置位置。

再一方面提供了一种产品,产品包括:存储装置,该存储装置存储有代码,该代码能够被处理器执行并且该代码包括:用于获取检测到的无线信号的列表的代码;用于确定先前检测到的无线信号的列表与检测到的无线信号的列表共享至少某些共同性的代码;针对在列表中的共同条目,对检测到的无线信号的列表的条目的特征以及先前检测到的无线信号的列表的条目的特征进行分析;用于在相似性度量满足准则的情况下确立装置的估计位置的代码;以及用于在相似性度量不满足准则的情况下从第三方位置服务请求装置位置的代码。

前述是概要,因此可以包含细节的简化、概括和省略;因此,本领域技术人员将理解的是,该概要仅仅是说明性的而不意在以任何方式进行限制。

为了更好地理解实施方式连同实施方式的其他和进一步特征和优点,参照以下的结合附图的描述。本发明的范围将在所附权利要求中指出。

附图说明

图1示出了信息处理装置线路的示例。

图2示出了信息处理装置线路的另一示例。

图3示出了基于检测到的无线信号确定装置位置的示例方法。

具体实施方式

将容易理解的是,可以以除所描述的示例实施方式以外的多种不同的配置来布置和设计此处附图中大体描述并示出的实施方式的部件。因此,如在附图中表示的,示例实施方式的以下更详细的描述不意在限制所要求 保护的实施方式的范围,而仅表示示例实施方式。

贯穿本说明书对“一个(one)实施方式”或“一种(an)实施方式”(等)的引用意味着结合实施方式所描述的特定特征、结构或特性被包含在至少一个实施方式中。因此,在贯穿本说明书中各处出现的短语“在一个实施方式中”或“在实施方式中”等未必都指同一实施方式。

此外,在一个或更多个实施方式中,可以以任何适当的方式对所描述的特征、结构或特性进行组合。在下面的描述中,提供了许多具体细节以给出对实施方式的透彻的理解。然而,相关领域的技术人员将认识到,可以在没有一个或更多个具体细节的情况下来实施各种实施方式,或者使用其他方法、部件、材料等来实施各种实施方式。在其他实例中,未详细地示出或描述公知的结构、材料或操作以避免混淆。

随着装置变得更加移动,用户更加可能随时携带装置。在过去的十年内,在所有人口结构中,智能电话的使用猛增。现今,几乎走在美国街道上的每个人都有他们个人的移动通信装置。由于这种新的移动时代,基于位置的服务对我们使用移动装置已经变得几乎至关重要。基于位置的服务使用与装置的地理位置相关的信息来确定各种因素和行为。例如,如果用户请求了咖啡店的位置,则基于位置的服务会确保仅建议在用户附近的咖啡店。

虽然如所提到的存在确定位置的许多不同的方法(例如,例如,GPS、Glonass、Galileo、蜂窝塔之间的无线信号的多点定位技术、Wi-Fi连接等),但是每个方法均具有其自身的一组缺点。最容易使用的系统是基于卫星的系统(例如,全球定位系统(GPS))。然而,因为这些系统依赖于卫星来对装置的位置进行三角测量,因此,由于多路径问题或者当不存在到天空的清晰路径时(例如,当用户在建筑物中、地下或经历很厚的云层覆盖时),这些系统会有困难。可替代地,不使用三角测量来计算装置的位置的一些当前解决方案会经受精度和准确度的显著减小。

GPS的一个替代方法是使用Wi-Fi连接来确定位置。在过去的十到十五年中,基于Wi-Fi的定位系统(WPS)使用迅速扩大的无线接入点。通常,基于Wi-Fi的定位是基于无线接入点、所接收的信号的强度以及指纹识别的方法。指纹识别通常包括记录服务集标识符(SSID)、媒体存取控制(MAC)地址以及接入点的物理位置的信息收集处理。对于极其大量的接入点而言,在很长的时间段内进行这种指纹识别。然后,每个接入点的信息被记录并且存储在数据库中,然后,该数据库可以被索引以及搜 索,使得可以确定匹配。因此,使装置能够基于先前已知的接入点的物理位置来得知其位置。

然而,为了建立网络接入点的可靠的数据库,需要极大量的数据收集。因为任务如此巨大,因此仅少数组织具有最新的可靠数据库。这使得这些少数组织能够为他们的服务收取附加费用。当前,装置可以使用这些第三方服务(例如,来自谷歌或微软)来地理定位它们自己。装置可以将信标数据提供给第三方服务,并且反过来接收由第三方服务先前三角测量的位置。对于每个查询,这些第三方服务会是昂贵的,随着时间的推移,这快速地积累了花费。在许多情况下,用户会反复地访问相同的小位置集合。因此,需要一种解决方案来解决以下问题:针对同一位置装置需要进行多次地理位置查询进而增加了花费。

对于需要地理位置但是还不具有卫星能力的装置,传统的解决方案是根据信标信息来对位置进行三角测量。这需要无线接入点(例如Wi-Fi和蜂窝塔)的位置的详尽数据库。如之前所述,收集该数据可能需要数百万个装置以及数年的收集时间。因此,对于需要该信息来利用类似种类的服务的任何组织或个人而言,这会是过度繁重的。

该技术问题对于可能希望将该信息用于基于位置的服务的组织或个人来说是个难题。因此,实施方式提供了从用户装置接收在可检测区域中的全部可用无线信号的列表的方法。然后。将这些信号与数据库进行比较。如果无线信号的列表存在于数据库中,则分配先前记录的位置,使得基于位置的服务可以恰当地起作用。然而,在不能通过使用数据库来确定位置的情况下,将请求发送至大型第三方服务中之一以确定装置位置。当该位置被确定时,该位置被用于基于位置的服务并且被记录在数据库中。通过该处理,当用户随后访问该位置时,将不会迫使用户为第三方服务付费。

通过参考附图可以最好地理解所示出的示例实施方式。下面的描述仅意在作为示例,并且简要示出了某些示例实施方式。

虽然在信息处理装置中可以利用各种其他电路、线路或部件,但是对于智能电话和/或平板电脑线路100来说,图1中示出的示例包括例如出现在平板电脑或其他移动计算平台中的片上系统设计。软件和一个或更多个处理器结合在单芯片110中。处理器包括本领域公知的内部运算单元、寄存器、高速缓存、总线、I/O端口等。内部总线等取决于不同的供应商,但是基本上所有外围装置(120)都可以附接至单芯片110。线路100将处理器、存储器控制以及I/O控制器集线器全部结合到单芯片110中。此 外,这种类型的系统100通常不使用SATA或PCI或LPC。公共接口例如包括SDIO和I2C。

存在有一个或更多个电源管理电路130,例如电池管理单元BMU,该电源管理电路130对例如经由可再充电电池140供应的电力进行管理,可再充电电池140可以通过到电源(未示出)的连接来再充电。在至少一个设计中,单芯片如110用于提供类似BIOS的功能和DRAM存储器。

系统100通常包括用于连接到各种网络(例如电信网络和无线因特网装置如接入点)的WWAN收发器150和WLAN收发器160中的一个或更多个。此外,通常包括装置120,例如图像传感器(如摄像头)。系统100通常包括用于数据输入以及显示/渲染的触摸屏170。系统100通常还包括各种存储器装置,例如闪存180和SDRAM(同步动态随机存储器)190。

图2描绘了信息处理装置电路、线路或部件的另一示例的框图。图2中描绘的示例可以对应于计算系统,例如由位于北卡罗来纳州莫里斯维尔的联想(美国)公司销售的THINKPAD系列个人计算机或其他装置。根据此处的描述明显的是,实施方式可以包括图2中示出的示例的特征中的仅一些特征或其他特征。

图2的示例包括所谓的芯片组210(一组一起工作的集成电路或芯片、芯片组),芯片组210具有可以根据制造商(例如,INTEL、AMD、ARM等)而变化的架构。INTEL是英特尔公司在美国和其他国家的注册商标。AMD是超微半导体公司在美国和其他国家的注册商标。ARM是安谋国际科技股份有限公司在美国和其他国家的未注册商标。芯片组210的架构包括核和存储器控制组220以及I/O控制器集线器250,I/O控制器集线器250经由直接管理接口(DMI)242或链路控制器244交换信息(例如,数据、信号、命令等)。在图2中,DMI 242是芯片到芯片接口(有时也被称为是“北桥”和“南桥”之间的链路)。核和存储器控制组220包括经由前端总线(FSB)224交换信息的一个或更多个处理器222(例如,单核或多核)和存储控制集线器226;注意,组220的部件可以被集成在代替传统的“北桥”式架构的芯片中。一个或更多个处理器222包括本领域公知的内部运算单元、寄存器、高速缓存、总线、I/O端口等。

在图2中,存储控制集线器226与存储器240接口(例如,为可以被称为“系统存储器”或“存储器”的一类RAM提供支持)。存储控制集线器226还包括用于显示装置292(例如,CRT、平板、触摸屏等)的低 压差分信号(LVDS)接口232。块238包括可以经由LVDS接口232(例如串行数字视频、HDMI(高清晰度多媒体接口)/DVI(数字视频接口)、显示端口)支持的一些技术。存储控制集线器226还包括可以支持独立显卡236的PCI-express(高速外部部件互连)接口(PCI-E)234。

在图2中,I/O控制器集线器250包括SATA接口251(例如,用于HDD(硬盘驱动器)、SDD(固态硬盘)280等)、PCI-E接口252(例如,用于无线连接282)、USB接口253(例如,用于装置284如数字化仪、键盘、鼠标、摄像头、电话、麦克风、存储装置、其他连接装置等)、网络接口254(例如,LAN)、GPIO(通用输入输出)接口255、LPC接口270(用于ASIC(专用集成电路)271、TPM(可信平台模块)272、超级I/O 273、固件集线器274、BIOS支持275以及各种类型的存储器276如ROM(只读存储器)277、闪存278和NVRAM(非易失性随机存取存储器)279)、电源管理接口261、时钟发生器接口262、音频接口263(例如,用于扬声器294)、TCO接口264、系统管理总线接口265以及可以包括BIOS 268和启动代码290的SPI(串行)闪存266。I/O控制器集线器250可以包括千兆比特以太网支持。

系统在通电时可以被配置成执行在SPI闪存266内存储的、用于BIOS268的启动代码290,此后,在一个或更多个操作系统和应用程序软件(例如,存储在系统存储器240中)的控制下处理数据。操作系统可以存储在多种位置中的任何位置处,并且例如根据BIOS 268的指令来存取。如本文所述,装置可以包括比在图2的系统中示出的特征更少或者更多的特征。

通常,在诸如平板电脑、智能电话、个人计算机装置和/或用户可以日常携带并且可能需要基于位置的服务的电子装置等装置中,可以使用例如如图1或图2所列出的信息处理装置线路。例如,图1中所列出的线路可以在平板电脑或智能电话实施方式中实现,而图2所列出的线路可以在个人计算机实施方式中实现。

现在参照图3,在310处,实施方式接收一个或更多个无线信号的列表。无线信号可以是任何类型的无线信号(例如,Wi-Fi、蓝牙、蜂窝等)。实施方式可以直接连接至要被包括在列表中的无线接入点或者可以不直接连接至要被包括在列表中的无线接入点。所接收的列表可以包括无线信号的SSID、无线接入点的MAC地址、无线信号是加密的还是公开的、接入点的物理位置以及可确定的任何其他期望的信息。

当每个可用信号的完整列表被创建时,在320处,将该列表与包含被查询的每个先前列表的数据库进行比较。每当一个或多个用户访问位置时数据库自身通过收集处理来生成。在实施方式中,数据库可以是装置专用的(例如,仅通过装置先前地理定位的位置被存储)或者跨多个装置。附加地,实施方式可以将数据库在本地存储在装置上,或者远程地存储(例如,在基于云的服务中)。在远程地存储数据库的实施方式中,用户的团体可以为数据库做贡献。该众包(crowd sourcing)能力可以使数据库能够更快速地增大并且使用户能够访问先前未被他们自己访问过但仍然获得他们的位置数据的位置(例如,当另一团体成员已地理定位了装置并且已存储了附近的无线信号的列表时)。

当在310处接收了无线信号的列表并且在320处与数据库进行了比较时,在330处确定无线信号的列表是否存在于数据库中。这通过对包含在列表和数据库两者中的无线信号的统计分析来完成。针对在数据库中的任何共同条目分析无线信号的各种特征(例如,条目交叠、信号强度、统计阈值等)。例如,许多无线接入点伴随SSID特征一起出现。因此,许多无线接入点可能具有类似的SSID,这在数据库比较中会造成潜在问题。使用MAC地址——附加特征(例如上文提到的那些)——将使无线信号具有差异。

随着新的无线接入点联网而旧的接入点被正式停止使用或者被重命名,获取关于先前访问区域的相同匹配会变得困难。然而,单个接入点没有被包括在列表中并不能确定没有匹配存在。因此,如果接入点的一部分仍然可用,则统计分析将实现成功的匹配。

为了使对特征的统计分析有效,实施方式可能需要最小数目的可用接入点。可以由制造商来确定或者通过用户设置来确定装置的数目n的预定阈值(例如,需要包含至少三个无线接入点的列表)。与数据库存储类似,可以将设置存储在本地装置上或者存储在云服务中。除了最小阈值以外,实施方式还能够基于可用无线信号的数目的增加来以更高的准确度来确定装置位置(即,在区域中可用的无线信号越多,地理位置将越精确)。

在330处,如果确定无线信号的列表不存在于数据库中,则在350处,实施方式可以请求接入第三方服务。如上所讨论的那样,组织的小集合已达成收集并且维护大量的关于无线信号接入点的信息。少数组织向公众公开其数据库,但是最大且最鲁棒的数据库中的一些数据库驻留在支付服务后面。因此,如果另一组织或个人需要引用这些最鲁棒的数据库中之 一,则维护数据库的实体会收集费用。

在350处,当第三方已提供了对装置位置的确定时,在360处将信息(例如,SSID、MAC、物理位置接入点等)存储在数据库中用于将来引用。例如,如果用户第一次访问咖啡店,则数据库可能不会包含任何可用无线信号。因此,会要求用户或应用程序服务为位置信息而向第三方服务付费。然而,当用户(或在该用户的团体中的用户)在随后的日期访问该同一个咖啡店时,数据库将包含地理位置以及相互关联的无线信号。

因此,在实施方式中,如果用户访问他们先前访问过的位置,则数据库能够执行对装置的地理定位。然而,如先前提到的,随着时间的推移无线信号会被创建、破坏或修改。因此,当在310处接收无线信号的列表时,该列表可以仅包括先前确定的列表的一部分。然而,由于在320处的比较步骤中进行的统计分析,因此,在330处,在数据库内的对地理位置的肯定识别仍然是可能的。

因此,既然数据库具有无线信号信息,在330处就能够仅基于存在于数据库中的信号记录来确定装置位置。这使得能够在340处在没有增加第三方请求的成本的情况下确定装置位置。除了报告装置位置以外,可以使用在可用无线信号中的任何变化来更新当前的数据库。例如,如果在先前访问过的咖啡店处发现新的无线信号,则与先前信号(例如,SSID、MAC、物理位置接入点等)类似,会记录新的无线信号并且将新的无线信号添加至数据库,使得任何随后的比较可以尽可能准确。

因此,如通过示例实施方式和附图所说明的,实施方式检测在装置附近的可用无线信号,将那些信号编译成列表并且将该列表与包括所有先前记录的无线信号及其物理位置的数据库进行比较。如果确定出附近的无线信号的列表是未知的,则将请求发送至第三方服务以请求帮助来确定装置的位置。当位置被确定时,将无线信号连同第三方确定的位置一起存储在数据库中,因此确保将来访问该位置不需要第三方服务。

因此,本文所描述的各种实施方式表示对不断地向第三方服务付费的当前方法的技术改进。附加地,当无线信号与数据库中的地理位置关联时,对位置的随后的访问允许连续更新数据库。这确保了高水平的准确度并且降低了与第三方服务关联的成本,同时仍然允许应用程序的基于位置的服务被恰当地执行。

如本领域的普通技术人员将理解的,各个方面可以实施为系统、方法 或装置程序产品。因此,各个方面可以采用整体硬件实施方式的形式或采用包括软件的实施方式的形式,其在本文中可以全部统称为“电路”、“模块”或“系统”。此外,各个方面可以采用实施在一个或更多个装置可读介质中的装置程序产品的形式,所述一个或更多个装置可读介质包含有装置可读程序代码。

应当注意的是,可以使用由处理器执行的存储在装置可读存储介质例如非信号存储装置上的指令来实现本文中所描述的各种功能。存储装置可以是例如电子的、磁的、光学的、电磁的、红外的或半导体的系统、设备或装置,或前述的任何适当的组合。存储介质的更多的具体示例包括如下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储装置、磁存储装置,或前述的任何适当的组合。在本文件的上下文中,存储介质不是信号,并且“非暂态”包括除信号介质之外的全部介质。

可以使用任何适当的介质,包括但不限于无线、有线、光缆、RF等或前述的任何适当的组合,来传输在存储介质上所包含的程序代码。

用于执行操作的程序代码可以以一种或更多种编程语言的任何组合来编写。程序代码可以完全地在单个装置上执行、部分地在单个装置上执行、作为独立软件包执行、部分地在单个装置上且部分地在另一装置上执行或完全在其他装置上执行。在一些情况下,可以通过任何类型的连接或网络(包括局域网(LAN)或广域网(WAN))来连接装置,或可以通过其他装置(例如,通过使用因特网服务提供商的因特网)、通过无线连接例如近场通信或通过硬线连接(例如,通过USB连接)来进行连接。

本文参照示出了根据各种示例实施方式的示例方法、装置和程序产品的附图来描述了示例实施方式。要理解的是,动作和功能可以至少部分地由程序指令来实现。可以将这些程序指令提供给装置、专用信息处理装置或其他可编程数据处理装置的处理器,以产生机制,使得指令实现指定的功能/动作,所述指令经由装置的处理器被执行。

值得注意的是,虽然在附图中使用了特定的块,并且已经示出了块的特定顺序,但这些都是非限制性的示例。由于明确说明的示例仅用于描述的目的,而不被理解为限制,所以在某些情况下,可以组合两个或更多个块,可以将块分成两个或更多个块,或者可以根据需要将某些块重新排序或重新组织。

除非另行指明以外,否则本文所使用的单数“一个(a)”和“一个(an)”可以被理解为包括复数“一个或更多个”。

为了说明和描述的目的给出了本公开内容,而非意在是穷举或限制。对于本领域普通技术人员来说,许多修改和变化是明显的。选择并描述示例实施方式以便说明原理和实际应用,并且使得本领域其他技术人员能够理解对应各种实施方式的本公开内容,该各种实施方式具有与预期的特定用途相适应的多种修改。

因此,尽管本文已经参考附图描述了说明性的示例实施方式,但要理解的是,该描述不是限制性的,并且在不偏离本公开内容的范围或精神的情况下本领域技术人员可以作出各种其他变化和修改。

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