生成并且发布经证实的位置信息的制作方法

文档序号:14652667发布日期:2018-06-08 22:10阅读:215来源:国知局
生成并且发布经证实的位置信息的制作方法

移动计算设备用户已经习惯使用全球定位系统(GPS)来确定其位置。GPS由大量智能手机应用用来向智能手机用户提供位置特定信息。然而,GPS最好在户外工作。当GPS卫星信号被在例如大城市区域中的建筑阻挡时或者当GPS接收器在室内时,GPS接收器无法确定位置。相较于等效的Wi-Fi接收器,GPS接收器也往往有高功率的要求并且具有不可靠的位置信息。

在GPS位置服务被降级的情况下或者在GPS接收器所消耗的功率是一个问题的情况下,可以使用无线接入点来确定移动计算设备的位置。连接至无线接入点的设备可以通过例如扫描周围的Wi-Fi环境并且确定设备相对于检测到的无线接入点的位置来计算设备相对于在其周围的无线接入点的位置的位置。在一些方法中,设备基于通过扫描显示出的无线接入点的位置和无线接入点离设备的距离来确定设备的位置。在其它方法中,扫描周围的Wi-Fi环境会产生接入点列表以及其信号强度。设备可以将列表发送至云中的服务,在该云中,服务可以使用历史知识来确定设备的位置。服务可以向设备发送包括设备的确定位置的响应。



技术实现要素:

在一些示例中,方法包括:由位置提供者并且基于位置数据来确定无线接入点的位置,位置数据包括来自多个网络设备中的每一个网络设备的位置数据,其中,每个网络设备的位置数据包括网络设备的位置和表示无线接入点与每个网络设备之间的距离的数据;由位置提供者并且基于无线接入点的位置来生成无线接入点的位置信息;用凭证来对位置信息进行签名以形成签名位置信息;以及将签名位置信息通信给无线接入点。

在一些示例中,位置提供者包括网络连接、存储器和一个或者多个处理器,其中,每个处理器都连接至存储器,其中,处理器被配置为:基于存储在存储器中的位置数据来确定无线接入点的位置,位置数据包括来自多个网络设备中的每一个网络设备的位置数据,其中,每个网络设备的位置数据包括网络设备的位置和表示无线接入点与网络设备之间的距离的数据;基于为无线接入点确定的位置来生成无线接入点的位置信息;用凭证来对无线接入点的位置信息进行签名以形成签名位置信息;将签名位置信息存储在存储器中;以及将签名位置信息通信给无线接入点。

在一些示例中,系统包括:位置提供者;多个无线接入点,所述多个无线接入点连接至位置提供者,其中,多个接入点包括多个第一无线接入点;以及移动计算设备,所述移动计算设备包括无线接口,所述无线接口被配置为连接至多个无线接入点中的一个或者多个无线接入点,其中,位置提供者确定每个无线接入点的位置并且将位置作为位置信息通信给对应无线接入点,其中,用与位置提供者相关联的数字签名来对每个第一无线接入点的位置信息进行签名,其中,多个无线接入点中的每个无线接入点都无线传送所述无线接入点的位置信息,其中,移动计算设备接收由第一无线接入点传送的签名位置信息并且验证每个第一无线接入点的签名位置信息是由位置提供者签名的,其中,具有被验证为已经由位置提供商签名的位置信息的第一无线接入点是经验证的第一无线接入点,其中,移动计算设备计算到每个经验证的第一无线接入点的距离,以及其中,移动计算设备基于到每个经验证的第一无线接入点的距离并且基于从每个经验证的第一无线接入点接收到的位置信息来确定移动计算设备的位置。

在一些示例中,方法包括:由无线设备接收来自多个无线接入点中的每一个无线接入点的相应签名位置信息,其中,相应签名位置信息包括对应无线接入点的位置信息;由无线设备基于相应签名位置信息来确定相应签名位置信息中的任何一个是否已经被损坏;以及由无线设备基于未被损坏的签名位置信息并且基于表示无线设备与具有还未被损坏的签名位置数据的每个无线接入点之间的距离的数据来确定无线设备的位置。

在一些示例中,设备包括存储器、无线接口、和连接至存储器和无线接口的处理器,其中,处理器被配置为:将从多个无线接入点中的每一个无线接入点接收到的签名位置信息和表示移动计算设备与每个无线接入点之间的距离的数据存储在存储器中,签名位置信息识别每个无线接入点的位置;检查签名位置信息以确定任何无线接入点的签名位置信息是否已经被损坏;基于未被损坏的签名位置信息并且基于表示移动计算设备与具有还未被损坏的签名位置数据的每个无线接入点之间的距离的数据来确定移动计算设备的位置;以及将移动计算设备的位置存储在存储器中。

在附图或者以下描述中阐述一个或多个示例的细节。本公开的其它特征、目的和优点通过描述和附图以及通过权利要求书将变得显而易见。

附图说明

图1是图示了根据本公开的一个或者多个方面的示例系统的概念图,在该示例系统中,移动计算设备通过与无线接入点交互来确定自己的位置。

图2是图示了根据本公开的一个或者多个方面的示例位置提供者的框图。

图3是图示了根据本公开的一个或者多个方面的示例移动计算设备的框图。

图4是图示了经由接入点位置信息来确定设备位置的示例过程的流程图。

图5A图示了根据本公开的一个或者多个方面的示例(纬度、经度、令牌)元组。

图5B图示了根据本公开的一个或者多个方面的示例签名(纬度、经度、令牌、基本服务集标识(BSSID))元组。

图6是图示了经由接入点位置信息来确定设备位置的示例过程的流程图。

图7是图示了根据本公开的一个或者多个方面的示例系统的概念图,在该示例系统中,接入点通过与其它网络设备交互来确定自己的位置。

图8是图示了根据本公开的一个或者多个方面的用于确定接入点的位置的示例过程的流程图。

图9是图示了根据本公开的一个或者多个方面的用于确定接入点的位置的另一示例过程的流程图。

图10是图示了根据本公开的一个或者多个方面的示例过程的流程图,位置提供者通过该示例过程来确定接入点的位置。

图11是图示了根据本公开的一个或者多个方面的示例操作模式的流程图,在该示例操作模式下,移动计算设备基于在接入点位置信息中传送的国家标识符来选择要扫描的Wi-Fi信道。

图12A图示了根据本公开的一个或者多个方面的基于国家标识符的示例(纬度、经度、令牌)元组。

图12B图示了根据本公开的一个或者多个方面的基于国家标识符的示例签名(纬度、经度、令牌、BSSID)元组。

具体实施方式

一般而言,本公开涉及用于确定移动计算设备在具有无线接入点的无线局域网(WLAN)中的位置的技术。移动计算设备扫描WLAN环境并且接收来自一个或者多个接入点的信号。每个接入点信号都包括详述传送信号的接入点的位置的位置信息。设备基于到每个周围接入点的距离并且基于设备从接入点接收到的位置信息来确定设备相对于接入点的位置。在一些方法中,基于接收到的信号强度指示(RSSI)来确定到每个周围接入点的距离。在一些方法中,基于往返行程时间(RTT)估计来确定到每个周围接入点的距离。

使用无线接入点来确定位置的问题在于,由接入点发布的位置信息可能已经被假冒或者损坏(compromised),从而损坏设备确定其位置的能力。例如,接入点的位置可能已经被装载了不正确的位置信息,或者因为最近位置更新,所以接入点可能已经移动。不管怎样,移动计算设备在这些情况下都无法准确地计算其位置。此外,损坏的接入点可以通过传送不正确的标识符,诸如,错误的基本服务集标识(BSSID),来假冒(spoof)另一接入点,或者损坏的接入点可以采取之前发布的信息并且在不是其所属的地方复制该信息。

为了应对这一问题,在一些方法中,用数字签名,诸如,公钥证书(certificate),来保护位置信息以检测位置信息可能已经被损坏并且防止假冒。在一些方法中,用安全数据,诸如,应该已经传送了位置信息的无线接入点的标识符(诸如,无线接入点的BSSID)或者用于检测旧的位置信息的更新日期,来保护位置信息以检测位置信息可能已经被损坏并且防止假冒。

在一种示例方法中,无线接入点通过扫描无线局域网并且将接入点列表和详述到每个周围接入点的距离的估计的距离测量结果提交给位置提供者来确定自己的位置。在云中运行的位置服务接收接入点列表以及其相关联的距离测量结果,确定接入点的位置,并且将签名位置信息返回给接入点作为受信位置信息。在一种示例方法中,签名位置信息包括用于表达位置信息的年龄的最近更新指示符。

图1是图示了根据本公开的一个或者多个方面的示例系统的概念图,在该示例系统中,移动计算设备通过与无线接入点交互来确定自己的位置。在图1的示例方法中,系统10包括经由无线网络链接16连接至三个或者更多个无线接入点14的移动计算设备12。一个或者多个接入点14也经由链接22连接至位置提供者,诸如,基于云的位置服务18。在一些示例方法中,链接22包括到位置提供者(诸如,基于云的位置服务18)的有线网络连接。在一些示例方法中,链接22包括到基于云的位置服务18的无线网络连接。移动计算设备12也通过链接20连接至位置提供者,诸如,基于云的位置服务18。在一种示例方法中,链接20包括经由例如蜂窝网络到基于云的位置服务18的无线网络连接。

在一种示例方法中,移动计算设备12表示单独的移动设备,诸如,移动电话、平板计算机、膝上型计算机、计算机化手表、计算机化眼镜、计算机化手套、或者任何其它类型的便携式计算设备。移动计算设备12的附加示例包括个人数字助理(PDA)、便携式游戏系统、媒体播放器、电子书阅读器、移动电视平台、汽车导航和娱乐系统、或者被配置为经由网络(诸如,网络16)接收信息的任何其它类型的移动的、可穿戴的或者不可穿戴的计算设备。

在操作中,在无线接入点14可以接收来自位置服务18的位置信息的同时,移动计算设备12可以基于从无线接入点14接收到的位置信息来确定位置。在一种示例方法中,位置服务18可以基于位置数据来确定每个无线接入点14的位置并且可以将位置传送至每个无线接入点14作为位置信息。在一种这样的方法中,位置数据包括来自多个网络设备中的每一个网络设备的位置数据,其中,每个网络设备的位置数据包括网络设备的位置和表示无线接入点与每个网络设备之间的距离的数据。

在一种示例方法中,位置服务18可以基于每个无线接入点14的位置来生成无线接入点14的位置信息,可以用凭证(credential)来对位置信息进行签名以形成签名位置信息,并且可以将签名位置信息通信给无线接入点14。凭证可以是公钥或者私钥、由受信认证机构发行的公钥证书、电子签名、数字签名、或者用于对位置信息进行加密、对位置信息的源进行验证、或者对位置信息的源进行加密和验证的任何其它机制。

对于一个或者多个第一无线接入点14,位置信息可以包括安全数据,该安全数据在被验证时指示相应位置信息是可以信任的。在一种这样的示例方法中,多个无线接入点14中的每个第一无线接入点14都可以将该无线接入点14的签名位置信息传送至移动计算设备12。在这样一种方法中,移动计算设备12可以基于签名位置信息的数字签名来验证每个第一无线接入点14,可以计算到每个经验证的第一无线接入点14的距离,并且可以基于从每个经验证的第一无线接入点14接收到的签名位置信息并且基于到每个经验证的第一无线接入点14的距离来确定移动计算设备12的位置。

在一些示例方法中,多个无线接入点14可以进一步包括一个或者多个第二无线接入点。位置提供者可以确定每个第二无线接入点14的位置并且可以将该位置传送至每个对应第二无线接入点作为未签名信息。每个第二无线接入点14都可以将该第二无线接入点14的未签名信息传送至移动计算设备12。移动计算设备12可以计算到每个第二无线接入点的距离并且可以基于从每个经验证的第一无线接入点接收到的签名位置信息、从每个第二无线接入点接收到的未签名位置信息、到每个经验证的第一无线接入点的距离、和到每个第二无线接入点的距离来确定移动计算设备的位置。

在一种方法中,无线接入点14可以用自己的信标信号或者响应于来自移动计算设备22的探测来发布自己的位置。移动计算设备12可以使用从接入点14接收到的位置信息来确定移动计算设备12的当前位置。例如,移动计算设备12可以基于从每个接入点14接收到的相应接收信号强度指示(RSSI)估计来确定到每个接入点14的距离。移动计算设备12可以结合相应RSSI估计使用由附近接入点14发布的位置信息来确定自己的位置。在一些这样的方法中,设备12可以将其计算位置通信给基于云的位置服务18以进行下面将详细描述的位置验证。

如上所述,在一些方法中,移动计算设备12可以基于RSSI来计算到每个周围接入点的距离。在其它方法中,移动计算设备12可以基于往返行程时间(RTT)估计来计算到每个周围接入点的距离。在一些方法中,如上所述,用数字签名,诸如,公钥证书,来保护位置信息以检测位置信息何时可能已经被损坏并且防止假冒。在一些方法中,移动计算设备12可以使用嵌入签名位置信息的源标识符来验证传送接入点14的源标识符与嵌入签名位置信息的源标识符匹配。在一些这样的方法中,源标识符可以包括基本服务集标识(BSSID),并且移动计算设备12可以验证在从无线接入点接收到的签名位置信息中的BSSID与识别无线接入点的BSSID匹配。

为了能够传送位置信息,在一些示例方法中,无线接入点经由位置提供者确定其自己的位置。在一些方法中,位置提供者是基于云的服务,诸如,位置服务18。在一些这样的方法中,无线接入点14可以与周围的无线接入点通信以确定到周围的无线接入点14的距离。无线接入点14然后可以将周围的无线接入点的列表和到周围的无线接入点14的距离(经由例如RSSI或者RTT来测量)传送至基于云的位置服务18。基于云的位置服务18可以确定接入点的位置并且可以将位置信息的签名副本传送至请求接入点。无线接入点14然后响应于移动计算设备12的请求来传送位置信息或者传送位置信息作为无线接入点14的信标信号的部分,从而使移动计算设备12可以使用位置信息来确定移动计算设备12的位置。

在一种示例方法中,系统10可以通过将安全数据输入由接入点传送的位置信息来限制假冒。如果移动计算设备12基于安全数据进行的安全校验失败,则移动计算设备12可以假设接入点位置被损坏。在另一示例方法中,位置信息包括移动计算设备12用来确定信息是否受信的数字签名。

每个无线接入点14都可以接收该无线接入点的位置信息并且可以将位置信息作为信标信号传输传送至移动计算设备12。在一种示例方法中,每个移动计算设备12都可以接收由无线接入点14传送的位置信息,可以通过使用安全数据来验证被识别为受信位置信息的位置信息,并且可以基于从多个无线接入点中的每个无线接入点接收到的受信位置信息来确定该移动计算设备的位置。在一种这样的示例方法中,移动计算设备的位置考虑了从先前知识或者其它源获得的移动设备位置的知识。

在一种示例方法中,每个移动计算设备12都可以接收由无线接入点14传送的位置信息,可以通过使用安全数据来验证被识别为受信位置信息的位置信息,可以基于受信位置信息来计算到多个无线接入点中的每个无线接入点的距离,并且可以基于从多个无线接入点中的每个无线接入点接收到的受信位置信息和到多个无线接入点中的每个无线接入点的距离来确定该移动计算设备的位置。

图2是图示了根据本公开的一个或者多个方面的示例位置提供者的框图。在图2所示的示例中,位置提供者服务器200托管位置服务18。在一种示例方法中,位置提供者服务器200包括一个或者多个处理器201,该一个或者多个处理器201通过通信信道204连接至一个或者多个通信单元202和一个或者多个存储设备206。

位置提供者服务器200说明了图1的位置服务18的一种示例实施方式,并且下面在图1的系统10的场境下描述了位置提供者服务器200。图2仅仅图示了位置提供者的一个特定示例,并且诸如位置服务18等位置提供者的其它示例可以在其它情况下使用并且可以包括被包括在示例位置提供者服务器200中的组件的子集或者可以包括在图2中未示出的附加组件。

位置提供者服务器200可以向无线接入点14提供用于确定无线接入点14的位置并且用于对移动计算设备12的位置和由位置提供者计算的其它位置进行验证的机制。如图2的示例所示,位置提供者服务器200的存储设备206包括位置确定模块210和安全模块212。

位置提供者服务器200的存储设备206进一步包括设备位置数据存储220A、扫描结果数据存储220B、和位置信息数据存储220C(统称为“数据存储220”)。通信信道204可以将组件200、202和206中的每一个都互相连接,以进行组件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道204可以包括系统总线、网络连接、进程间通信数据结构、或者用于传递数据的任何其它方法。

位置提供者服务器200的一个或者多个通信单元202可以通过在一个或者多个网络上传送和/或接收网络信号经由网络链接(诸如,图1的链接16、20和22)与外部网络设备(诸如,图1的移动计算设备12和无线接入点14)通信。例如,位置提供者服务器200可以使用通信单元202来经由链接20传送和/或接收无线电信号以与移动计算设备12交换信息。通信单元202的示例包括网络接口卡(例如,诸如,以太网卡)、光收发器、射频收发器、GPS接收器、或者可以发送和/或接收信息的其它任何类型的设备。通信单元202的其它示例可以包括有线网络、无线网络、短波电台、蜂窝数据电台、无线以太网网络电台、以及通用串行总线(USB)控制器。

在位置提供者服务器200内的一个或者多个存储设备206可以存储用于在位置提供者服务器200的操作期间进行处理的信息(例如,位置服务器18可以存储在位置提供者服务器200处进行执行期间由模块210和212访问的数据)。在一些示例中,存储设备206是临时存储器,这意味着存储设备206的主要目的并不是用于长期存储。在位置提供者服务器200上的存储设备206可以被配置为作为易失性存储器来短期存储信息,并且,因此,如果关机,则无法保存所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域公知的其它形式的易失性存储器。

在一些示例中,存储设备206还包括一个或者多个计算机可读存储介质。存储设备206可以被配置为存储数量比易失性存储器更大的信息。存储设备206可以进一步被配置为作为非易失性存储器空间来长期存储信息,并且在开机/关机周期之后保存信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或者电可擦编程(EEPROM)存储器的形式。存储设备206可以存储与模块210和212相关联的程序指令和/或数据。

一个或者多个处理器201可以实施功能并且/或者执行在位置提供者服务器200内的指令。例如,在位置提供者服务器200上的处理器201可以接收并且执行由存储设备206存储的执行模块210和212的功能的指令。在程序执行期间,由处理器201执行的这些指令可以使位置提供者服务器200将信息存储在存储设备206内。处理器201可以执行模块210和212的指令以确定接入点14和移动计算设备12的位置。也就是说,模块210和212可以由处理器201操作以执行本文所描述的位置提供者服务器200的各种动作或者功能。

存储设备206表示用于存储与确定无线接入点14和移动计算设备12的位置相关的信息的任何合适的存储介质。存储在存储设备206中的信息可以是可搜索的并且或者可以被分类,从而使一个或者多个模块210和212可以提供向一个或者多个存储设备206请求信息的输入,并且响应于输入,接收存储在存储设备206内的信息。

在一些示例方法中,设备位置数据存储220A包括由执行位置确定模块210的处理器21确定的设备位置信息。在一些这样的方法中,为网络设备(诸如,移动计算设备12和无线接入点14)确定的位置信息的未签名版本可以主要被保存在设备位置数据存储220A中以供处理器201内部访问。

在一些示例方法中,由网络设备(诸如,例如,无线接入点14和移动计算设备12)呈现给位置提供者服务器200的扫描结果被存储在扫描结果数据存储220B并且用于检测这些扫描与由其它无线接入点14提交的扫描之间的异常现象。最后,将位置信息(诸如,签名三元组或者元组)存储在位置信息数据存储220C中。

在一些示例中,位置确定模块210从无线接入点14所提供的扫描信息中确定每个无线接入点的位置并且将位置传送至对应无线接入点作为位置信息。在一些这样的示例中,位置信息包括将位置信息识别为签名位置信息的安全数据。每个无线接入点14都接收该无线接入点的位置信息并且将位置信息作为无线传输传送至移动计算设备12。在一些示例方法中,无线接入点在接受新位置信息之前验证从期望位置服务18接收到的位置信息。

在一些示例中,安全模块212进行校验以看出,从无线接入点14接收到的扫描信息与从其它无线接入点14接收到的信息一致,并且在某些情况下,将由移动计算设备12提供的位置信息存储在设备位置数据存储220A和扫描结果数据存储220B。

在一些示例中,安全模块212可以在将签名位置信息传送至无线接入点14之前对位置信息进行签名以形成签名位置信息。例如,可以通过使用位置服务18的公钥来对位置信息进行签名。

图3是图示了根据本公开的一个或者多个方面的示例移动计算设备12的框图。图3的移动计算设备是图1的移动计算设备12的更详细的示例,并且下面在图1的系统10的场境下描述了图3的移动计算设备。图3仅仅图示了移动计算设备12的一个特定示例,并且可以使用移动计算设备12的许多其它示例;一些可以包括被包括在示例移动计算设备12中的组件的子集或者可以包括在图3中未示出的附加组件。在图3所示的示例中,移动计算设备12包括一个或者多个处理器400,该一个或者多个处理器400通过通信信道404连接至一个或者多个通信单元402、一个或者多个用户接口408和一个或者多个存储设备406。

在一个示例中,移动计算设备12接收详述无线接入点14的位置的位置信息,确定移动无线设备的位置,并且对计算得到的位置与由位置服务18计算的其它位置进行验证。如图3的示例所示,移动计算设备12的存储设备406包括位置确定模块410和安全模块412。

位置提供者服务器200的存储设备406进一步包括扫描结果数据存储420B和位置信息数据存储420C(统称为“数据存储420”)。通信信道404可以将组件400、402和406中的每一个都互相连接,以进行组件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道404可以包括系统总线、网络连接、进程间通信数据结构、或者用于传递数据的任何其它方法。

移动计算设备12的一个或者多个通信单元402可以通过在一个或者多个网络(在图1中被示出为链接16和20)上传送和/或接收网络信号来与外部网络设备(诸如,图1的位置服务18(使用例如链接20)和无线接入点14(使用例如链接16))通信。例如,移动计算设备12可以使用通信单元202经由链接20来传送和/或接收无线电信号以与位置服务18交换信息。通信单元402的示例包括网络接口卡(例如,诸如,以太网卡)、光收发器、射频收发器、GPS接收器、或者可以发送和/或接收信息的任何其它类型的设备。通信单元402的其它示例可以包括有线网络、无线网络、短波电台、蜂窝数据电台、无线以太网网络电台、以及通用串行总线(USB)控制器。

在移动计算设备12内的一个或者多个存储设备406可以存储用于在移动计算设备12的操作期间进行处理的信息(例如,移动计算设备12可以将在移动计算设备12处进行执行期间由示出为模块410和412访问的数据存储在存储设备406内)。在一些示例中,存储设备406是临时存储器,这意味着存储设备406的主要目的并不是用于长期存储。在移动计算设备12上的存储设备406可以被配置为作为易失性存储器来短期存储信息,因此如果关机,则无法保存所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域公知的其它形式的易失性存储器。

在一些示例中,存储设备406还包括一个或者多个计算机可读存储介质。存储设备406可以被配置为存储数量比易失性存储器更大的信息。存储设备406可以进一步被配置为作为非易失性存储器空间来长期存储信息,并且在开机/关机周期之后保存信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或者电可擦编程(EEPROM)存储器的形式。存储设备406可以存储与模块410和412相关联的程序指令和/或数据。

一个或者多个处理器400可以实施功能并且/或者执行在移动计算设备12内的指令。例如,在移动计算设备12上的处理器400可以接收并且执行由存储设备406存储的执行模块410和412的功能的指令。在程序执行期间,由处理器400执行的这些指令可以使移动计算设备12将信息存储在存储设备406内。处理器400可以执行模块410和412的指令以确定移动计算设备12的位置。也就是说,模块410和412可以由处理器400操作以执行本文所描述的移动计算设备12的各种动作或者功能。

数据存储406表示用于存储与确定移动计算设备12的位置相关的信息的任何合适的存储介质。存储在数据存储406中的信息可以是可搜索的并且或者可以被分类,从而使一个或者多个模块410和412可以提供向一个或者多个数据存储406请求信息的输入,并且响应于输入,接收存储在数据存储406内的信息。

在一些示例方法中,从无线接入点14接收到的扫描结果被存储在扫描结果数据存储420B中并且用于确定移动计算设备12的位置。在一些这样的示例方法中,可以将之前的扫描结果与最新获得的扫描结果进行比较以确定最新获得的扫描结果是否与之前的扫描结果一致。在一些示例方法中,扫描结果包括无线接入点的位置和到无线节点的距离的测量结果。在一些这样的示例方法中,距离测量结果是RSSI的函数,而在其它示例方法中,距离测量结果是RTT的函数。

在一些示例中,从无线接入点14接收到的位置信息包括保护位置信息的方面的安全数据。

在一些示例方法中,位置信息数据存储420C包括由处理器400确定的执行位置确定模块410的位置信息。在一些示例中,位置确定模块410基于从无线接入点14接收到的位置信息和到无线接入点的距离来确定移动计算设备12的位置,并且将位置存储在位置信息数据存储420C中。

在一些示例中,安全模块412验证从无线接入点14接收到的位置信息来自受信位置服务18。在一些这样的示例中,这包括验证位置信息由期望受信位置提供者签名。在一些示例中,安全模块412校验位置信息是最新的。在一些这样的示例中,安全模块412也校验位置信息来自期望无线接入点14。

在一些示例中,安全模块412与位置服务18通信以将其最近的位置传送至位置服务18。在一些这样的示例中,位置服务18接收位置并且校验所述位置以确定所述位置是否与其已经从无线接入点14和其它移动计算设备12接收到的其它信息一致。

图4是图示了经由无线接入点位置信息确定设备位置的示例过程的流程图。下面在图1的系统10的场境下描述了图4。例如,根据本公开的一个或者多个方面,移动计算设备12可以执行操作40至46以确定移动计算设备12的位置。

在图4所示的示例中,移动计算设备12接收来自每个无线接入点14的信标信号(40)。移动计算设备12从每个信标信号中提取签名位置信息(42)并且使用来自每个无线接入点的签名位置信息来识别该无线接入点的位置。移动计算设备12计算到提供了签名位置信息的两个或者更多个接入点14的距离(44)并且根据每个无线接入点14的位置和到每个无线接入点14的距离计算其位置(46)。

在一些示例方法中,移动计算设备12可以检查位置信息以确定位置信息是否来自受信位置服务18。在一些示例中,确定位置信息是否来自受信位置服务18包括:验证位置信息由期望受信位置提供者签名。

在替代示例中,每个移动计算设备12都探测其邻近的接入点14并且接收包含识别传送接入点14的位置的签名位置信息的响应。移动计算设备12从响应中提取位置信息并且计算到提供了签名位置信息的每个接入点14的距离。然后,使用两者来计算移动计算设备12的位置。在一些这样的示例方法中,移动计算设备12再一次检查位置信息以确定位置信息是否来自受信位置服务18,如上面详述的。

在一些示例方法中,安全模块412进行校验以确定位置信息是否是最新的。在一种这样的示例方法中,每个信标信号包括更新无线接入点14的位置信息的最近时间的指示。在一种示例方法中,如果在预定义时间段内对位置信息进行了数字签名和更新,则将位置信息视为被损坏。

在一些示例方法中,安全模块进行校验以确定位置信息是否来自期望无线接入点14。在一种这样的示例方法中,每个信标信号都包括与接入点相关联的标识符。在一种这样的方法中,标识符是无线接入点14的BSSID。

可以通过将历史知识缓存保存在接入点位置上来补偿到基于云的位置服务18的网络连接的临时缺乏。在一种示例方法中,将历史知识保存在云中以允许离线访问该数据。

在一种示例方法中,可以仅仅基于受信位置信息、基于受信位置信息和从不提供受信位置信息的无线接入点14接收到的信息的组合、基于受信位置信息和存储在位置确定的无线接入点14或者移动计算设备12上的历史位置信息的组合、或者基于受信位置信息、不受信位置信息和历史位置信息的组合来计算无线接入点14和移动计算设备12的位置。

在一种示例方法中,移动计算设备12维护被BSSID编入索引的历史位置信息表。例如,当无法从无线接入点获得签名位置信息时,可以使用历史位置信息表来获得无线接入点14的位置。为了解决这个问题,在一种示例方法中,如下面将更详细地讨论的,移动计算设备12可以缓存历史知识,并且除了对位置进行匹配之外,还可以使用BSSID基于历史位置信息来识别位置。在一种方法中,当由移动计算设备12的无线芯片集执行的三角定位将设备12放置在某个(纬度、经度)组合处时,移动计算设备12触发基于位置的提醒。这消除了对查找特定信道处的特定BSSID的需要并且允许更精确地识别地理围栏。

图5A图示了根据本公开的一个或者多个方面的示例(纬度、经度、令牌)元组500。如上所述,位置信息作为信标信号被每个无线接入点14传送,或者响应于移动计算设备12的探测而被每个无线接入点14传送。在图5A所示的示例中,位置信息作为包括纬度502、经度504和令牌506的三元组500而被传送。令牌506在一些示例中可以包括由移动计算设备12使用的描述性信息以在场境内显示其位置。例如,令牌506可以包括文本,诸如,“4楼停车场”,该文本在被移动计算设备12接收到时用于标记显示移动计算设备12的位置的地图。在其它示例方法中,令牌506包括安全数据,诸如,源标识符或者最近更新标识符。

无线接入点可以隐瞒其位置,从而摆脱设备12对其自己的位置的计算。为了防止这种情况,系统10实施“受信位置提供者”。受信位置提供者背后的想法是,由接入点发布的位置信息可以由受信位置提供者签名,通常是产生(纬度、经度、令牌)三元组的实体,并且该签名可以由设备12验证。如果设备12信任该位置提供者,则不管出于什么目的,该设备都可以选择使用来自受信位置提供者的位置信息。

在一种示例方法中,位置服务18提供具有(纬度、经度、令牌)三元组的签名。在一种这样的方法中,签名是公钥证书,但是也可以使用其它认证技术。可以仅仅通过将公共证书安装在设备上来在设备200上提供受信位置提供者。然后,使用可用于该证书的密钥来验证位置信息确实是由该特定位置提供者生成的,并且还未被损坏。

为了防止如同假冒一样的位置攻击,可以将位置三元组扩展为包括条目,诸如,接入点14的期望BSSID和签名位置信息的最近更新时间。为了使信息更可靠,在一种示例方法中,定期(例如,一周一次或者一天一次)刷新位置信息。在一些这样的方法中,设备12可以包括仅仅选择相对新鲜的信息的策略,从而避免依靠陈旧数据所造成的问题。

图5B图示了根据本公开的一个或者多个方面的示例(纬度、经度、令牌、BSSID、最近更新)元组。在图5B所示的示例中,传送位置信息作为元组520,该元组520包括纬度502、经度504、令牌506、源标识符508和最近更新510。在图5B所示的示例中,源标识符508是应该已经传送了位置信息的无线接入点的期望BSSID。移动计算设备12接收元组520,经由签名验证元组520来自期望受信位置服务18,然后验证元组520来自传送了元组520的无线接入点(即,具有与元组520中的BSSID匹配的BSSID的无线接入点)。在一些示例方法中,受信提供者18用公钥512对元组520进行签名。

如上面参照图5A所述的,在一些示例中,令牌506包括移动计算设备12用来在场境中显示器位置的描述性信息。例如,令牌506可以包括文本,诸如,“4楼停车场”,该文本在被移动计算设备12接收到时用于标记显示移动计算设备12的位置的地图。

图6是图示了经由无线接入点位置信息确定设备位置的示例过程的流程图。下面在图1的系统10的场境下描述了图6。例如,根据本公开的一个或者多个方面,无线设备,诸如,无线接入点14或者移动计算设备12,可以执行操作50至56以确定无线设备的位置。在一种示例方法中,无线设备接收来自多个无线接入点14中的每个无线接入点的相应签名位置信息,其中,相应签名位置信息包括对应无线接入点的位置信息。无线设备基于相应签名位置信息确定相应签名位置信息中的任何一个是否已经被损坏,并且基于未被损坏的签名位置信息和基于表示无线设备与具有还未被损坏的签名位置数据的每个无线接入点之间的距离的数据来确定无线设备的位置。

在图6所示的示例中,移动计算设备12接收来自每个无线接入点14的信标信号(50)。从每个信标信号中提取位置信息(51)。来自每个无线接入点的信息识别该无线接入点的位置。位置信息可以被签名或者未被签名。

在52处,进行校验以确定从特定无线接入点14接收到的位置信息是否被签名或者未被签名。如果被签名,则在53处进行校验以确定签名位置信息是否被损坏。在一些方法中,如果数字签名与期望位置提供者不匹配,或者如果签名位置信息包括引发安全问题的安全数据,则签名位置信息被损坏。在一些方法中,签名位置信息包括传送签名位置信息的无线接入点的期望BSSID。在53处进行校验以确定期望BSSID是否与无线接入点14的BSSID匹配。如果不匹配,则签名位置信息被损坏。如果签名位置信息被损坏,则可以丢弃受信信息,并且在设备12等待另一位置信息集合时,控制可以移动到50。

在一些方法中,如果例如在53处校验指示更新时间太老,则签名位置信息被损坏。如果签名位置信息被损坏,则丢弃受信信息,并且在设备12等待另一位置信息集合时,控制可以移动到50。

如果在52处位置信息未被签名或者在53处签名位置信息还未被损坏,则控制移动到54并且计算到每个接入点14的距离(54)。在55处进行校验以确定设备12是否已经从无线接入点14接收到足够计算位置的位置信息,并且如果设备12还未从无线接入点14接收到足够计算位置的位置信息,则当设备12等待另一位置信息集合时,控制移动到50。

如果在55处设备12确定累积的位置信息足以计算移动计算设备12的位置,则控制移动到56并且设备12计算移动该计算设备12的位置。在一些示例方法中,每个移动计算设备12都基于从每个无线接入点接收到的位置信息和基于表示移动计算设备与每个无线接入点之间的距离的数据来确定移动计算设备12的位置。

在一些示例方法中,签名和未签名位置信息都用于计算设备12的位置。在一些这样的方法中,最好给出经由签名位置信息而被接收到的信息。

在替代示例中,每个移动计算设备12都探测其邻近的接入点14并且接收包含识别传送接入点14的位置的位置信息的响应。从响应中提取位置信息并且计算到每个接入点14的距离。然后,使用两者来计算移动计算设备12的位置。在一些这样的示例方法中,移动计算设备12再一次检查位置信息以确定位置信息是否来自受信位置服务18,如上面详述的。

在一些示例中,安全模块412校验位置信息是最新的。在一些示例中,安全模块412校验位置信息来自期望无线接入点14。

图7是图示了根据本公开的一个或者多个方面的示例系统的概念图,在该示例系统中,接入点通过与其它网络设备交互来确定自己的位置。在一种示例方法中,无线接入点14在其信标信号中发布其位置,或者响应于来自移动计算设备12或者来自其它接入点的探测来发布其位置。在图7的示例方法中,接入点14扫描其临近区域,侦听信标信号或者探测其它无线接入点14。扫描周围的Wi-Fi环境会产生其它接入点14的列表以及其信号强度。将该列表发送至位置服务18。

在图7的示例方法中,系统10包括经由Wi-Fi网络的链接16而连接的4个或者更多个无线接入点14。一个或者多个无线接入点14经由网络链接22连接至位置提供者。在一些这样的示例方法中,位置提供者是基于云的位置服务18。

在一种示例方法中,接入点14在其信标信号中发布其位置,或者响应于来自移动计算设备12的探测来发布其位置。无线接入点14可以通过使用从其它接入点14接收到的位置信息来确定自己的位置,并且在某些情况下,从接收自其它网络设备(诸如,移动计算设备12)的信息以及到每个其它网络服务的距离的测量结果中确定自己的位置。在一种这样的方法中,基于接收到的信号强度指示(RSSI)估计来确定到每个接入点的距离。无线接入点14接收由附近的接入点14发布的位置信息,并且将具有接收到的信号强度指示(RSSI)估计的该信息传送至位置服务18,从而使位置服务18可以确定无线接入点的位置。

在一种示例方法中,每个无线接入点14都传送接入点信号。接入点信号包括详述传送信号的接入点的位置的位置信息。设备基于到每个周围接入点的距离并且基于设备从接入点接收到的位置信息来确定自己的位置。

在一些方法中,基于接收到的信号强度指示(RSSI)来确定到每个周围接入点的距离。在其它方法中,基于往返行程时间(RTT)估计来确定到每个周围接入点的距离。在一些方法中,用数字签名,诸如,公钥证书,来保护位置信息以检测位置信息何时可能已经被损坏并且防止假冒。在一些方法中,接入点标识符(诸如,接入点的基本服务集标识(BSSID))被嵌入签名位置信息中并且用于验证无线接入点14具有与位置信息中的BSSID匹配的BSSID。

在一些方法中,位置提供者是基于云的服务,诸如,图1中的位置服务18。在这些方法中,无线接入点与周围接入点通信以确定到无线接入点的距离。无线接入点然后将周围接入点列表以及其距离(经由RSSI或者RTT)传送至基于云的位置服务18。基于云的位置服务确定接入点的位置并且将位置信息的签名副本传送至请求接入点。接入点然后响应于移动计算设备12的请求来传送位置信息或者传送位置信息作为接入点的信标信号的部分,从而使移动计算设备12可以使用位置信息来确定移动计算设备的位置。

在一种示例方法中,系统通过将安全数据输入由接入点传送的位置信息来限制假冒。如果基于安全数据的安全校验失败,则移动计算设备假设接入点位置被损坏。在另一示例方法中,位置信息包括用于确定信息是否来自受信的位置提供者的签名。

在一种示例方法中,位置服务18确定每个无线接入点14的位置并且将位置传送至对应无线接入点作为位置信息。对于一些无线接入点,位置信息包括将位置信息识别为受信位置信息的安全数据。

图8是图示了根据本公开的一个或者多个方面的确定接入点的位置的示例过程的流程图。下面在图7的系统10的场境下描述了图8。例如,根据本公开的一个或者多个方面,无线接入点14可以执行操作60至66以确定无线接入点14的位置。

在一种示例方法中,接入点14在其信标信号中发布其位置,或者响应于来自移动计算设备12或者来自其它接入点14的探测来发布其位置。在图8的示例方法中,在60处接入点14扫描其临近区域,侦听信标信号或者探测其它网络设备,诸如,无线接入点14或者移动计算设备12。扫描周围的Wi-Fi环境可能会产生其它接入点14(并且,在一些方法中是具有已知位置的移动计算设备14)的列表以及其信号强度。在62处将该列表发送至位置服务18(此处被示出为云中的位置提供者服务),其中,使用历史知识来确定无线接入点14的位置。在一种这样的方法中,列表包括被扫描的每个接入点14的基本服务集标识(BSSID)和基于例如RSSI或者RTT的估计的每个接入点的距离估计。然后,在64处将响应发送至具有适当位置信息的接入点14并且在66处用供应商特定的信息元件(位置IE)在AP的信标信号中发布响应。在一种示例方法中,位置服务18证实列表中由接入点14传递的数据,确定接入点的位置的(纬度、经度、令牌)三元组并且将三元组返回给接入点14。在一种这样的方法中,位置服务18在将签名元组传送至无线接入点14之前用数字签名对元组进行签名。

在一种示例方法中,如果无线接入点14从移动计算设备12接收到经证实的位置信息(即,由位置提供者验证的位置信息),则无线接入点14可以将设备12位置信息转发至位置提供者以用于确定无线接入点14的位置。

也可以通过其它方式,诸如,通过将管理员印章印在接入点14上、或者通过在安装时在位置中进行编程,来在接入点14上提供位置信息。然而,这样做有一些缺点。例如,当提供发生时,位置服务18无法证实传送至位置服务18的数据。

如上所述,当无线接入点14扫描其Wi-Fi临近区域时,无线接入点14发现其它无线接入点14的位置IE,并且在一些情况下,发现每个无线接入点14的服务集标识符(SSID)或者BSSID。无线接入点14解析位置信息并且在一个示例中从位置信息中导出纬度、经度和令牌(lat,long,token)信息。在扫描期间,无线接入点14也记录接入点的RSSI。如果所有这样的信息都来自三个这样的接入点,则位置服务18计算无线接入点14的位置。如果接入点中的任何一个提供了双向RTT,则代替RSSI可以使用双向RTT来进行有更好结果的相同计算。

也可以使用令牌来表达位置特定信息。例如,可以使用令牌来表达位置信息,诸如,“三楼停车场”、城市或者国家或者可供设备12的用户用来确定自己的方向的其它信息。在一种这样的方法中,令牌建立经由RSSI或者RTT位置定位而被微调的粗略位置。

如上所述,无线接入点可以隐瞒其所在的位置,从而摆脱设备对其自己的位置的计算。这通常会防止任何有用的应用。为了防止这种情况,引入新概念“受信位置提供者”。这里的思路是,由接入点发布的位置信息可以由受信位置提供者签名,通常是产生(纬度、经度、令牌)三元组的实体,并且该签名可以由设备12验证。如果设备12信任该位置提供者,则不管出于什么目的,该设备都可以使用来自其选择的受信位置提供者的位置信息。

在一种示例方法中,位置服务18提供具有(纬度、经度、令牌)三元组和(纬度、经度、令牌、BSSID)元组(如图5B所示)的签名。在一种这样的方法中,签名是公钥证书,但是也可以使用其它认证技术。

可以仅仅通过将公共证书安装在设备上来在设备上提供受信位置提供者。可以使用可用于该证书的密钥来验证位置信息确实是由该特定位置提供者生成的,并且还未被损坏。为了防止如同假冒一样的进一步位置攻击,可以将位置三元组扩展为包括其它信息,诸如,无线接入点14的BSSID和查询的时间。为了使信息更可靠,在一种示例方法中,定期(例如,一周一次或者一天一次)刷新位置信息。在一些这样的方法中,设备12还包括仅仅选择相对新鲜的信息的策略,从而避免依靠陈旧数据所造成的问题。

接入点14可以按照其它方式来假冒位置信息。例如,接入点14可以将扫描数据接入点14报告中的不正确的值传递至云中的位置服务18。为了应对这种方法,位置服务18可以执行校验以从接入点14中清除无效的或者不正确的请求。首先,位置服务18可以将其从一个接入点14接收到的信息与其从周围接入点14接收到的信息进行比较。这有助于认出恶意接入点。在一种示例方法中,位置服务18仅仅拒绝更新恶意接入点的位置信息,从而允许其位置信息变陈旧。在一些这样的方法中,设备12忽略在预定义时间段内还未被更新的位置信息。

在一种方法中,位置提供者包括处理器201,该处理器201被配置为将从其它源接收到的位置信息存储在存储器中,将存储的位置信息与在从无线接入点接收到的位置数据中的信息进行比较,并且因此校正位置数据中的信息。

在一种方法中,位置提供者将从无线接入点接收到的表示无线接入点14与特定网络设备之间的距离的数据与从另一源接收到的距离数据进行比较,并且根据从其它源接收到的距离数据修改点14与其它网络设备之间的距离。

在一种方法中,位置服务18使用从移动计算设备12获得的数据来验证所有所述的接入点14都在相同附近。在一种示例方法中,该方法与基于比较来自不同无线接入点的数据的技术结合以生成高度可靠的结果。

使接入点保存和分配移动计算设备12用来确定其位置的位置信息的上述技术是非常有效的。与移动计算设备不一样,接入点14通常不会移动。来自这种固定点的扫描提供具有更好数据的位置服务18以对位置进行建模。另外,接入点14通常被安装在墙或者天花板上并且相较于设备12看到RSSI更少的变化(因为设备12可以在口袋/手提包/书包等中)。这种方法也有助于更好更准确地建模。

上述技术也减少了托管位置服务18的服务器200的负载。相反,设备12可以自行计算位置。此外,方法提供更好的安全。例如,系统10无法连接至特定无线接入点14,除非其在特定无线接入点的位置处,如令牌506中的位置信息所定义的。最后,方法确保一般情况(诸如,在机场降落时)的更快的位置确定。

图9是图示了根据本公开的一个或者多个方面的确定接入点的位置的另一示例过程的流程图。下面在图7的系统10的场境下描述了图9。例如,根据本公开的一个或者多个方面,无线接入点14可以执行操作80至86以确定无线接入点14的位置。

在一种示例方法中,无线接入点14再一次在其信标信号中发布其位置,或者响应于来自移动计算设备12或者来自其它接入点14的探测来发布其位置。在图9的示例方法中,在80处接入点14扫描其临近区域,侦听信标信号或者探测其它网络设备,诸如,无线接入点14。扫描周围的Wi-Fi环境会产生其它接入点14的列表以及其信号强度。在82处将该列表发送至位置服务18,其中,使用历史知识来确定无线接入点14的位置。在一种这样的方法中,列表包括被扫描的每个接入点14的基本服务集标识(BSSID)和基于RSSI或者RTT的估计的每个接入点的距离估计。然后,在44处将响应发送至具有适当位置信息的接入点14并且在86处用供应商特定的信息元件(位置IE)在AP的信标信号中发布响应。在一种示例方法中,位置服务18对列表中由接入点14传递的数据进行证实,确定接入点的位置的(纬度、经度、令牌、BSSID)元组,对元组进行签名,并且将具有其嵌入式BSSID的签名元组返回至接入点14。

在一些示例方法中,再一次在接入点14中定期(例如,一天一次)更新签名位置信息以确保更好的信息质量,并且如上所述,提供减小恶意接入点的影响的机制。在一些这样的示例方法中,可以通过无法提供具有适当更新时间的数据来关闭恶意无线接入点14。

图10是图示了根据本公开的一个或者多个方面的示例过程的流程图,位置提供者通过该示例过程来确定接入点的位置。下面在图1的系统10的场境下描述了图10。例如,根据本公开的一个或者多个方面,位置服务18可以执行操作100至108以确定无线接入点14的位置。在图10的示例方法中,受信位置服务18从无线接入点14接收其它接入点14的列表以及其信号强度(100)。在一种示例方法中,受信位置服务18对列表中由接入点14传递的数据进行证实(102),确定接入点的位置的(纬度、经度、令牌、BSSID)元组(104),对元组进行签名(106)并且将签名元组返回至接入点14(108)。在一种示例方法中,受信位置服务18提供具有(纬度、经度、令牌、BSSID)元组的签名。在一种这样的方法中,签名是公钥证书,但是也可以使用其它认证技术。

在一种示例方法中,确定接入点的位置的(纬度、经度、令牌、BSSID)元组包括:考虑从其它源,诸如,其它邻近的接入点、或者移动计算设备的扫描结果以计算有问题的BSSID的位置。在一种示例方法中,如果没有足够的数据来计算接入点的位置,或者如果位置提供者服务18检测到数据不一致,则受信位置服务18不将任何位置信息提供至正在询问的Wi-Fi接入点14。

该技术允许受信位置提供者从多个源收集数据以对特定位置处的特定BSSID进行询问。从Wi-Fi接入点收集到的数据通常是高质量的数据,因为大多数接入点不会移动(与移动计算设备不一样)并且大多数接入点没有发生于移动计算设备的偶尔阻塞(当移动计算设备被放在口袋、手提包等中时)。

如上所述,如果没有足够的数据来计算接入点的位置,或者如果位置提供者服务18检测到数据不一致,则位置提供者,诸如,位置提供者服务,可以拒绝将位置信息分配给接入点14。这种方法可以用于例如排除接入点。在一些示例方法中,如果无线接入点14的位置无法由替代源确认,则位置提供者服务18可以忽略该接入点14的位置贡献。该方法也可以与移动计算设备一起使用;位置提供者服务18可以从一个或者多个移动计算设备12收集位置信息以进行更好的位置交叉确认。

在一种示例方法中,位置提供者将从无线接入点接收到的位置数据与来自另一源的位置数据进行比较。如果从所述无线接入点接收到的位置数据与来自另一源的位置数据的不同大于阈值量,则确定用于生成无线接入点的位置的位置数据。在一种这样的方法中,要使用的适当位置数据是与从其它无线设备(诸如,无线接入点14和移动计算设备12)接收到的位置数据最紧密匹配的位置数据。

如上所述,在本方法中没有用于检测关于特定无线接入点的问题或者报告这种问题的机制。为了解决这个问题,在一种方法中,位置提供者服务18可以被配置为定期为特定区域中的每个无线接入点14确定和分配位置。在另一方法中,无线接入点14可以被配置为每天或者每周刷新其位置扫描以更快速地检测关于特定无线接入点14的问题。

如上所述,使用无线接入点来确定位置的移动计算设备遭到攻击,其中,已经假冒或者损坏了由接入点发布的位置信息,从而损坏移动计算设备确定其位置的能力。对于当前移动计算设备,从无线接入点接收到的信息的准确性无法被保证。如上所述,在一些方法中,为了应对这一问题,系统10通过用数字签名(诸如,公钥证书)保护位置信息以检测位置信息可能已经被损坏并且防止假冒。也如上所述,在一些方法中,系统10通过包括安全数据以检测位置信息可能已经被损坏并且防止假冒来解决假冒和损坏数据的问题。在一些方法中,安全数据包括识别应该已经传送了位置信息的无线接入点的标识符(诸如,无线接入点的BSSID)。在一些方法中,安全数据包括用于检测陈旧位置信息的更新日期。

使用签名来保护位置信息的优点是,可以快速确定信息是否来自正确的位置提供者并且签名位置信息是否已经被损坏。在位置信息中分配应该正在传送位置的无线接入点的无线接入点标识符(诸如,BSSID)的优点是,可以将标识符与传送的标识符进行比较并且确定这是否是假冒尝试。使用更新日期的优点是,可以确保最后会忽略被损坏的无线接入点。所有这些技术在被实施时显著提高了WLAN中的位置确定的安全性和有效性。

接下来将讨论使用位置信息来配置移动计算设备。在一种示例方法中,移动计算设备12通过使用由接入点14提供的位置信息来确定设备的国家或者管辖区。在一种这样的方法中,移动计算设备12使用该信息来确定可以被放在移动计算设备的使用上的任何约束。

对移动计算设备12的操作的要求在每个国家都不同并且当你首先进入国家时,难以确定国家特定的规则。迄今为止,还没有技术可用于帮助设备12确定国家和该国家的规则。同时,当设备12进入新的Wi-Fi环境时,设备12尝试在其本国的信道上进行扫描。如果设备所在的国家使用与本国的Wi-Fi信道不同的Wi-Fi信道,则这可能是一个问题。例如,美国允许使用信道1至11,而日本允许使用信道1至13并且在某些情况下允许使用信道14。从日本到美国的游客将不被允许使用信道12至14,但是其移动计算设备可能无法知道该约束或者按照该约束行动。

解决该问题的一种方法是使用由无线接入点14传送的位置信息来将其关于地图坐标的位置和位置的国家或者管辖区通知给移动计算设备12。移动计算设备12可以使用从无线接入点14接收到的国家信息来确定管辖区并且因此选择用于操作的Wi-Fi频带。

在另一示例方法中,移动计算设备12通过使用包括在元组(诸如,在图5A和图5B中示出并且上面在图10中讨论的元组)中的信息来根据经纬度确定国家。

图11是图示了根据本公开的一个或者多个方面的示例操作模式的流程图,在该示例操作模式下,移动计算设备选择Wi-Fi信道来基于在接入点位置信息中传送的国家标识符进行扫描。下面在图1的系统10的场境下描述了图11。例如,根据本公开的一个或者多个方面,无线接入点14可以执行操作120并且移动计算设备12可以执行操作122至126以确定移动计算设备12的位置并且确定国家和对移动计算设备12在该国家中的操作限制。

在一种示例方法中,每个接入点14都发布位置标识符作为位置信息的部分。例如,接入点可以公布接入点14所在国家的国家代码作为位置标识符(120)。设备12在进入新位置时在所有可用信道上侦听包含位置信息的信标,并且在检测这种位置信息中的国家代码(122)时,检查信道约束(124)并且仅仅在该管辖区的经允许信道上进行通信(126)。在一种这样的方法中,如果国家代码与基于经纬度、令牌或者两者而期望的国家代码不匹配,则忽略国家代码。如果这种情况发生,设备12可以仅仅基于从受信接入点14接收到的其它位置信息来确定国家代码。

在一种示例方法中,接入点14仅仅在被管理员启用时发布国家代码。这种方法的优点在于,国家代码仅仅能够在例如旅客到达国家的位置处被启用。在其它位置处避免传送国家代码的开销。

在一种示例方法中,使用令牌来表达国家信息。在一种这样的方法中,移动计算设备12接收令牌,对位置指示符代码进行解码并且访问设备12上的存储器以确定该国家中的经允许信道。另外,可以使用令牌来表达位置信息,诸如,“三楼停车场”、或者城市或者可供设备12的用户用来确定自己的方向的其它信息。

图12A图示了根据本公开的一个或者多个方面的基于国家标识符的示例(纬度、经度、令牌)三元组。在图12A所示的示例中,传送位置信息作为包括纬度502、经度504和令牌506的三元组600。令牌506包括国家标识符602,如上面在图11中所讨论的,该国家标识符602用于确定移动计算设备12的所在国或者管辖区。另外,在一些示例中,令牌506包括移动计算设备12用来在场境下显示其位置的描述性信息。例如,令牌506可以包括文本,诸如,“4楼停车场”,该文本在被移动计算设备12接收到时用于标记显示移动计算设备12的位置的地图。

图12B图示了根据本公开的一个或者多个方面的基于国家标识符的示例签名(纬度、经度、令牌、BSSID)元组。在图12B所示的示例中,传送位置信息作为元组620,该元组620包括纬度502、经度504、令牌506和源标识符508。在图12B所示的示例中,源标识符508是应该已经传送了位置信息的无线接入点的基本服务集标识(BSSID)。移动计算设备12接收元组620,验证元组620来自期望受信位置服务18,然后验证元组620来自传送了元组620的具有与元组620中的BSSID匹配的BSSID的无线接入点。在一些示例方法中,受信提供者18用公钥512对元组620进行签名。

如参照图12A所描述的,在一些示例中,令牌506包括国家标识符602,如上面在图11中所讨论的,该国家标识符602用于确定移动计算设备12的所在国或者管辖区。另外,在一些示例中,令牌506包括移动计算设备12用来在场境下显示其位置的描述性信息。

条款1.一种方法,其包括:通过位置提供者并且基于位置数据来确定无线接入点的位置,所述位置数据包括来自多个网络设备中的每一个网络设备的位置数据,其中,每个网络设备的位置数据包括网络设备的位置和表示无线接入点与每个网络设备之间的距离的数据;通过位置提供者并且基于无线接入点的位置来生成无线接入点的位置信息;用凭证来对位置信息进行签名以形成签名位置信息;以及将签名位置信息通信给无线接入点。

条款2.根据条款1所述的方法,其中,确定位置包括:将从无线接入点接收到的位置数据与来自另一源的位置数据进行比较,并且如果从无线接入点接收到的位置数据与来自另一源的位置数据的不同大于阈值量,则确定用于生成无线接入点的位置的位置数据。

条款3.根据条款1至2中任一项所述的方法,其中,网络设备包括具有已知位置的移动计算设备。

条款4.根据条款1至3中任一项所述的方法,其中,生成位置信息包括:确定用经纬度表示的无线接入点的位置并且将所述无线接入点的经纬度记录在位置信息中。

条款5.根据条款1至4中任一项所述的方法,其中,生成位置信息包括:确定用经纬度表示的无线接入点的位置;形成元组,其中,元组包括令牌和所述无线接入点的经纬度;以及将元组记录在所述无线接入点的位置信息内。

条款6.根据条款1至5中任一项所述的方法,其中,无线接入点包括基本服务集标识(BSSID),以及其中,形成元组包括:将无线接入点的BSSID记录在令牌内。

条款7.根据条款1至6中的任一项所述的方法,其中,生成位置信息包括:将从其它源接收到的位置信息与从无线接入点接收到的位置数据进行比较。

条款8、一种位置提供者,其包括网络连接、存储器和一个或者多个处理器,其中,每个处理器都连接至存储器,其中,处理器被配置为:基于存储在存储器中的位置数据来确定无线接入点的位置,位置数据包括来自多个网络设备中的每一个网络设备的位置数据,其中,每个网络设备的位置数据包括网络设备的位置和表示无线接入点与网络设备之间的距离的数据;基于为无线接入点确定的位置来生成无线接入点的位置信息;用凭证来对无线接入点的位置信息进行签名以形成签名位置信息;将签名位置信息存储在存储器中;以及将签名位置信息通信给无线接入点。

条款9.根据条款8所述的位置提供者,其中,处理器进一步被配置为:将从其它源接收到的位置信息存储在存储器中;将存储的位置信息与在从无线接入点接收到的位置数据中的信息进行比较;并且相应地校正位置数据中的信息。

条款10.根据条款8至9中任一项所述的位置提供者,其中,确定无线接入点的位置包括:将从无线接入点接收到的表示无线接入点与特定网络设备之间的距离的数据与从另一源接收到的距离数据进行比较;以及根据从其它源接收到的距离数据修改表示无线接入点与特定网络设备之间的距离的数据。

条款11、一种系统,其包括:位置提供者;多个无线接入点,该多个无线接入点连接至位置提供者,其中,多个接入点包括多个第一无线接入点;以及移动计算设备,所述移动计算设备包括无线接口,所述无线接口被配置为连接至多个无线接入点中的一个或者多个无线接入点,其中,位置提供者确定每个无线接入点的位置并且将该位置作为位置信息通信给对应无线接入点,其中,用与位置提供者相关联的数字签名来对每个第一无线接入点的位置信息进行签名,其中,多个无线接入点中的每个无线接入点都无线传送该无线接入点的位置信息,其中,移动计算设备接收由第一无线接入点传送的签名位置信息并且验证每个第一无线接入点的签名位置信息是由位置提供者签名的,其中,具有被验证为已经由位置提供商签名的位置信息的第一无线接入点是经验证的第一无线接入点,其中,移动计算设备计算到每个经验证的第一无线接入点的距离,以及其中,移动计算设备基于到每个经验证的第一无线接入点的距离并且基于从每个经验证的第一无线接入点接收到的位置信息来确定移动计算设备的位置。

条款12.根据条款11所述的系统,其中,多个无线接入点进一步包括一个或者多个第二无线接入点,其中,每个第二无线接入点将该第二无线接入点的位置信息传送至移动计算设备,以及其中,移动计算设备计算到每个第二无线接入点的距离并且基于到每个经验证的第一无线接入点的距离、基于到每个第二无线接入点的距离、基于从每个第二无线接入点接收到的位置信息和基于从每个经验证的第一无线接入点接收到的位置信息来确定移动计算设备的位置。

条款13.根据条款11至12所述的系统,其中,位置信息包括选自包括源标识符和最近更新标识符的安全数据组的安全数据。

条款14.根据条款11至13中任一项所述的系统,其中,传送位置信息作为元组,其中,元组包括纬度、经度和包括安全数据的令牌。

条款15.根据条款11至14中任一项所述的系统,其中,移动计算设备使用所述安全数据来校验从无线接入点接收到的位置信息。

条款16.根据条款11至15中任一项所述的系统,其中,源标识符包括无线接入点的基本服务集标识(BSSID),以及其中,移动计算设备验证位置信息中的BSSID与传送位置信息的无线接入点的BSSID匹配。

条款17.根据条款11至16中任一项所述的系统,其中,位置信息包括无线接入点的基本服务集标识(BSSID),以及其中,移动计算设备验证传送位置信息的无线接入点的BSSID与包括在由无线接入点传送的位置信息中的BSSID匹配,并且如果位置信息中的BSSID与传送位置信息的无线接入点的BSSID不匹配,则防止位置信息被用于确定移动计算设备的位置。

条款18.根据条款11至17中任一项所述的系统,其中,移动计算设备维护被BSSID索引的位置信息表,其中,当无法从无线接入点获得受信位置信息时,可以使用位置信息表来获得无线接入点的无线接入点位置。

条款19.根据条款11至18中任一项所述的系统,其中,特定无线接入点的位置信息包括更新时间,以及其中,当更新时间指示位置信息是陈旧的时,移动计算设备丢弃该特定无线接入点的位置信息。

条款20.根据条款11至19中任一项所述的系统,其中,移动计算设备通信连接至位置提供者,并且其中通信连接的移动计算设备将基于由多个无线接入点中的每个无线接入点传送的位置信息来确定的其位置通信给位置提供者以进行验证。

条款21、一种方法,其包括:通过无线设备接收来自多个无线接入点中的每一个无线接入点的相应签名位置信息,其中,相应签名位置信息包括对应无线接入点的位置信息;通过无线设备,基于相应签名位置信息来确定相应签名位置信息中的任何一个是否已经被损坏;以及通过无线设备,基于未被损坏的签名位置信息并且基于表示无线设备与具有还未被损坏的签名位置数据的每个无线接入点之间的距离的数据来确定无线设备的位置。

条款22.根据条款21所述的方法,其中,确定包括:将无线设备的位置传送至位置提供者以进行验证。

条款23.根据条款21至22中任一项所述的方法,其中,签名位置信息包括最近更新指示符,以及其中,检查包括:如果更新时间比预定义时间量旧(older),则将签名位置信息视为被损坏。

条款24.根据条款21至23中任一项所述的方法,其中,签名位置信息包括指示传送签名位置信息的无线接入点的位置的(纬度、经度、令牌)元组,其中,令牌包括安全数据,以及其中,检查进一步包括:检查安全数据并且如果安全数据不如预期,则将签名位置信息视为被损坏。

条款25.根据条款21至24中任一项所述的方法,其中,令牌包括应该与传送包含令牌的签名位置信息的无线接入点的基本服务集标识(BSSID)匹配的BSSID,以及其中,检查包括:将来自签名位置信息的BSSID与传送了签名位置信息的无线接入点的BSSID进行比较并且如果来自签名位置信息的BSSID与传送了签名位置信息的无线接入点的BSSID不匹配,则将签名位置信息视为被损坏。

条款26.根据条款21至25中任一项所述的方法,其中,无线设备是移动计算设备,其中,位置信息包括位置指示符,以及其中,移动计算设备基于位置指示符来改变操作参数。

条款27.根据条款21至26中任一项所述的方法,其中,无线设备是移动计算设备,其中,位置信息包括国家代码,以及其中,移动计算设备基于国家代码来选择要扫描的Wi-Fi频带。

条款28、一种设备,其包括存储器、无线接口、和连接至存储器和无线接口的处理器,其中,处理器被配置为:将从多个无线接入点中的每一个无线接入点接收到的签名位置信息和表示移动计算设备与每个无线接入点之间的距离的数据存储在存储器中,签名位置信息识别每个无线接入点的位置;检查签名位置信息以确定任何无线接入点的签名位置信息是否已经被损坏;基于未被损坏的签名位置信息并且基于表示移动计算设备与具有还未被损坏的签名位置数据的每个无线接入点之间的距离的数据来确定移动计算设备的位置;以及将移动计算设备的位置存储在存储器中。

条款29.根据条款28所述的设备,其中,每个无线接入点的签名位置信息包括应该与传送签名位置信息的无线接入点的基本服务集标识(BSSID)匹配的BSSID,以及其中,处理器进一步被配置为:将来自签名位置信息的BSSID与传送了签名位置信息的无线接入点的BSSID进行比较并且如果来自签名位置信息的BSSID与传送了签名位置信息的无线接入点的BSSID不匹配,则将签名位置信息视为被损坏。

条款30.根据条款28至29所述的设备,其中,多个无线接入点进一步包括一个或者多个不安全的无线接入点,其中,不安全的无线接入点传送未被签名的位置信息,其中,处理器进一步被配置为计算到每个不安全的无线接入点的距离,以及其中,处理器进一步被配置为基于到具有还未被损坏的签名位置信息的每个无线接入点的距离、基于到不安全的无线接入点的距离、基于从不安全的无线接入点接收到的未签名位置信息和基于还未被损坏的签名位置来确定移动计算设备的位置。

在一个或者多个示例中,所描述的功能可以实施在硬件、软件、固件或者其任何组合中。如果实施在软件中,则功能可以作为一个或者多个指令或者代码被存储在计算机可读介质上或者通过计算机可读介质被传送并且由基于硬件的处理单元执行。计算机可读介质可以包括:计算机可读存储介质或者介质,其与有形介质(诸如,数据存储介质)对应;或者通信介质,其包括:促进,例如,根据通信协议,将计算机程序从一个地方转移至另一个地方的任何介质。以这种方式,计算机可读介质通常可以与(1)非暂时性的有形计算机可读存储介质或者(2)通信介质(诸如,信号或者载波)对应。数据存储介质可以是任何可用介质,该任何可用介质可以由一个或者多个计算机或者一个或者多个处理器访问,以检索用于实施本公开所描述的技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。

作为示例,而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储器、磁盘存储器或者其它磁存储设备、闪存、或者可以用于存储呈指令或者数据结构形式的期望程序并且可以由计算机访问的任何其它介质。同样,任何连接被正确地称为计算机可读介质。例如,如果通过使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)、或者无线技术(诸如,红外线、无线电和微波)来从网站、服务器或者其它远程源传送指令,则同轴电缆、光纤电缆、双绞线、DSL、或者无线技术(诸如,红外线、无线电和微波)包括在介质的定义范围内。然而,应该理解,该计算机可读存储介质和介质以及数据存储介质不包括连接、载波、信号、或者其它暂时性介质,但是反而涉及非暂时性的有形存储介质。本文所使用的磁盘和光盘包括:激光唱片(CD)、激光视盘、光盘、数字通用光盘(DVD)、软盘和蓝光盘,其中,磁盘通常磁重现数据,而光盘利用激光来光重现数据。上述的组合还应该被包括在计算机可读介质的范围内。

指令可以由一个或者多个处理器执行,诸如,一个或者多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程序逻辑阵列(FPGA)、或者其它等效的集成或者离散逻辑电路系统。因此,本文所使用的术语“处理器”可以指任何前述结构或者适用于实施本文所描述的技术的任何其它结构。另外,在一些方面中,本文所描述的功能可以提供在专用硬件和/或软件模具内。同样,技术可以完全实施在一个或者多个电路或者逻辑元件中。

本公开的技术可以实施在各种各样的设备或者装置(包括无线手机、集成电路(IC)或者IC集(例如,芯片集))中。本公开中描述了各种组件、模具或者单元,以强调被配置为执行所公开的技术但是不一定需要由不同的硬件单元实施的设备的功能方面。确切地说,如上所述,结合合适的软件和/或固件,各个单元可以被组合成硬件单元或者通过收集可互操作的硬件单元(包括上面所描述的一个或者多个处理器)而被提供。

已经描述了各个示例。虽然已经在Wi-Fi网络的场境下描述了示例,但是上述技术可以用于任何无线局域网。这些和其它示例在以下权利要求书的范围内。

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