Wi-fi接入点位置数据库中的自动数据准确性维持的制作方法

文档序号:7792333阅读:229来源:国知局
Wi-fi接入点位置数据库中的自动数据准确性维持的制作方法
【专利摘要】公开了一种用于维持包括多个所存储的位置数据的接入点(AP)位置数据库中数据准确性的方法和设备,其能自动更新AP位置数据库同时维持该数据库中的数据准确性。在一些实施例中,AP位置数据库服务器从第一移动设备接收第一AP的第一组位置测量,基于该第一组位置测量与存储在AP位置数据库中的第一AP的位置数据之间的第一比较来确定该第一组位置测量的可信度,以及响应于所确定的可信度用收到的第一组位置测量来选择性地更新AP位置数据库中所存储的第一AP的位置数据。
【专利说明】Wl-Fl接入点位置数据库中的自动数据准确性维持

【技术领域】
[0001]本发明实施例一般涉及无线通信,并且尤其涉及W1-Fi接入点定位系统。
[0002]相关技术背景
[0003]现代导航系统频繁使用全球导航卫星系统(GNSS)进行位置确定。然而,近来无线局域网(WLAN)中W1-Fi接入点的激增已使得导航系统有可能使用这些接入点进行位置确定,尤其是在其中活跃W1-Fi接入点大量集中的区域中(例如,城市中心、购物中心、办公建筑物等)。事实上,因为GNSS信号覆盖的局限性,WLAN定位系统在某些环境中可能有胜过GNSS的优势。例如,尽管GNSS信号(例如,由于信号衰减和/或多径效应)不易在结构(诸如购物中心和办公楼)内部被检测到,但位于此类结构内的W1-Fi接入点所生成的无线信号通常能被彼此检测到并且能被此类接入点射程内的启用W1-Fi的移动设备检测到。
[0004]对于WLAN定位系统而言,W1-Fi接入点的位置被用作参考点,公知的三边测量技术可根据此类参考点确定移动设备(例如,启用W1-Fi的蜂窝电话、膝上型计算机或平板计算机)的位置。更具体而言,移动设备可使用与数个可见接入点相关联的收到信号强度指示符(RSSI)作为该移动设备与每个检测到的接入点之间的距离的指示,其中RSSI越强意味着移动设备越靠近该接入点,而RSSI越弱意味着移动设备越远离该接入点。移动设备也可使用向和从接入点传送的信号的往返时间(RTT)来估计移动设备和接入点之间的距离。一旦估计出这些距离,就可使用三边测量技术来确定移动设备相对于接入点的位置。
[0005]无论是使用RSSI技术还是使用RTT技术来确定移动设备和可见W1-Fi接入点间的距离,均需要知晓至少三个此类接入点的精确地理位置(例如,玮度和经度)来建立移动设备的绝对位置。可使用数个联机位置数据库以根据W1-Fi接入点的唯一性基本服务集标识符(BSSID)值来确定大量活跃部署的W1-Fi接入点的位置。例如,包括G00gle、Skyh00k、Devicescape和WiGLE在内的诸公司已经构建了具有BSSID值以及它们对应接入点的地理位置的接入点位置服务器(APLS)。通常,特定接入点的位置首先被手动(例如,使用电子地图映射)或使用接入点的嵌入式GNSS能力来确定,随后该接入点的位置(连同接入点的BSSID值)被上传到接入点位置服务器。此后,移动设备可通过从接入点获取BSSID、向位置服务器提供BSSID、以及随后从位置服务器接收接入点的位置坐标来确定所选可见接入点的精确位置。
[0006]一旦三个可见接入点的位置坐标已为移动设备所知晓,在移动设备上运行的定位软件就可使用该移动设备自身和这三个接入点中每一个之间的估计距离(例如,使用涉及RTT和/或RSSI技术的测距操作计算出)利用三边测量技术来计算该移动设备自身的位置坐标。要注意,为了不断地向移动设备提供准确AP位置信息,接入点位置服务器被频繁地更新,这是因为W1-Fi接入点相对瞬态的本质(例如,接入点经常被移动、保养和/或退役)。
[0007]由此,因为接入点位置服务器中的接入点位置信息被用于确定无线客户端设备的位置,此类位置数据的准确性对于WLAN定位系统向客户端设备提供准确信息而言至关重要。通常,维持这些接入点位置服务器的实体使用手动技术(例如,行进到特定AP并随后调查其位置以确保其位置信息当前正确)来更新其中所存储的AP位置信息,这会消耗大量时间和人力。
[0008]因此,对以维持其中所存储的AP位置数据的准确性的方式来自动更新接入点位置服务器存在需求。
[0009]附图简要说明
[0010]本发明的各实施例是作为示例来解说的,且不旨在受附图中各图的限制,其中:
[0011]图1是其中可实现本发明各实施例的WLAN定位系统的框图;
[0012]图2是根据一些实施例的图1中移动通信设备的功能框图;
[0013]图3是图1的接入点位置服务器的一个实施例的功能框图;
[0014]图4A-4C示出描绘用于更新图3的APLS中所存储的AP位置信息的示例性操作的解说性流程图;
[0015]图5示出描绘用于选择性更新图3的APLS中所存储的AP位置信息的示例性区域识别操作的解说性流程图;
[0016]图6A是根据一些实施例描绘移动设备与接入点位置服务器通信以确定该移动设备位置的WLAN的示例性示图;以及
[0017]图6B是根据一些实施例描绘移动设备与接入点位置服务器通信且其中一个接入点移到新位置的WLAN的示例性示图。
[0018]相同的附图标记贯穿全部附图指示对应的部件。
[0019]详细描述
[0020]根据本发明实施例,公开了无线局域网(WLAN)定位系统和用于维持接入点位置服务器(APLS)中数据准确性的方法,其可自动更新APLS同时维持APLS中所存储的数据的准确性。WLAN定位系统包括多个W1-Fi接入点,并且APLS可被移动设备(例如,蜂窝电话或平板计算机)远程访问。可请求存储有接入点的标识和位置信息的APLS向移动设备提供此类信息以使移动设备能在利用三边测量技术计算该移动设备的位置时使用这些接入点作为参考点。对于一些实施例,APLS从移动设备接收AP的一组位置测量,基于该组位置测量与存储在APLS中的对应AP位置数据之间的比较来确定该组位置测量的可信度,以及响应于所确定的可信度用收到的该组位置测量来选择性地更新所存储的AP位置数据。
[0021]在以下描述中,阐述了众多具体细节(诸如具体组件、电路、和过程的示例),以提供对本公开的透彻理解。同样,在以下描述中并且出于解释目的,阐述了具体的命名以提供对本发明各实施例的透彻理解。然而,对于本领域技术人员将明显的是,可以不需要这些具体细节就能实践本发明各实施例。在其他实例中,以框图形式示出公知的电路和设备以避免混淆本公开。如本文所使用的,术语“耦合”意味着直接连接到、或通过一个或多个居间组件或电路来连接。本文所描述的各种总线上所提供的任何信号可以与其他信号进行时间复用并且在一条或多条共用总线上提供。另外,各电路元件或软件块之间的互连可被示为总线或单信号线。每条总线可替换地是单信号线,而每条单信号线可替换地是总线,并且单线或总线可表示用于各组件之间的通信的大量物理或逻辑机制中的任一个或多个。此外,如本文中所用,术语WLAN可包括由IEEE802.11标准、蓝牙、HiperLAN (与IEEE 802.11标准相当的无线标准集,主要在欧洲使用)、以及具有相对较短的无线电传播射程的其他技术来管控的通信。本发明各实施例不应被解释为限于本文描述的具体示例,而是在其范围内包括由所附权利要求所限定的所有实施例。
[0022]图1是根据本发明实施例的无线定位系统100的框图。系统100被示出包括移动通信设备(移动设备)110、无线局域网(WLAN) 120以及接入点位置服务器(APLS) 130。WLAN120由可根据(IEEE) 802.11标准族(或根据其它适用的无线协议)操作的多个W1-Fi接入点(AP)形成。虽然为了简化在图1中仅示出了三个接入点AP1-AP3,但是应当理解WLAN120可由任何数目个接入点形成。接入点AP1-AP3中的每一个被指派唯一性的MAC地址(即,分别为MAC1-MAC3),该MAC地址例如由该接入点的制造商编程于其中。每一 MAC地址(通常可被称作“烧录地址”、组织唯一性标识符(OUI)或BSSID)在一个实施例中包括六字节的数据。MAC地址的头三个字节可标识是哪个组织制造了该接入点设备(例如,该AP是否由思科系统公司制造),并且可由电气电子工程师协会(IEEE)指派给此类组织。MAC地址的次三个字节(可被称作因网络接口控制器(NIC)而异的字节)可用来唯一性地标识个体的接入点设备。
[0023]存储有多个所部署接入点(例如,不只是图1中的接入点AP1-AP3)的MAC地址和位置坐标的APLS 130可以是能被移动设备110所访问的联机数据库,其可由诸如Google、Skyhook、Devicescape和/或WiGLE之类的公司提供。该APLS 130还可存储与接入点相关联的其它信息,包括例如:每一接入点的位置坐标的准确性(例如,质量)、每一接入点的最后一次位置更新、每一接入点可见的最后时间、每一接入点的协议版本、每一接入点的位置状态、由特定移动设备提供的位置测量的可信度,等等。对于一些实施例,可检索APLS130的选定部分并将其存储在移动设备110内,如以下更加详细描述的。
[0024]在本文中还可称作客户端设备的移动设备110可以是任何合适的启用W1-Fi的无线设备,包括例如:蜂窝电话、PDA、平板计算机、膝上型设备或诸如此类。对于本文中所描述的实施例,移动设备110包括射频(RF)测距电路系统(例如,通过使用公知软件模块、硬件组件和/或二者的合适组合来形成),其可被用来通过使用合适的测距技术来估计其自身与一个或多个可见接入点(AP)之间的距离。例如,移动设备110可使用收到信号强度指示符(RSSI)和/或往返时间(RTT)技术来估计其自身和接入点AP1-AP3之间的距离,例如通过将每一 RSSI或RTT值与距离相关。另外,移动设备110包括存储W1-Fi接入点位置数据的高速缓存的本地存储器,并且包括可执行WLAN定位软件和APLS数据检索软件的处理器。定位软件可使用可见接入点的已知位置作为参考点来计算移动设备110的位置。数据检索软件可使用公共和/或私有取回操作从APLS 130选择性地请求W1-Fi接入点的位置数据。
[0025]更具体地,图2示出作为图1移动设备110的一个实施例的移动设备200。移动设备200被示为包括全球导航卫星系统(GNSS)模块210、接收机/发射机电路220、处理器230、存储器240,以及扫描器250。接收机/发射机电路220可被用来向和从接入点AP1-AP3和/或APLS 130 (同样参见图1)发射信号和接收信号。公知的扫描器250可被用来扫描周围环境以检测和标识近旁接入点(例如,在移动设备200的射程内的接入点)。对于一些实施例,扫描器250可通过周期性传送MAC地址请求帧来搜索近旁接入点。在移动设备200射程内的接入点接收一个或多个请求并通过向移动设备200传送其MAC地址来作出响应。如果移动设备200与合适数目个(例如,3个或更多个)导航卫星具有视线(LOS)JjJGNSS模块210可使用三角测量技术来确定移动设备200的当前位置,并且可随后向处理器230提供位置信息以供在存储器240中存储。
[0026]可以是任何合适存储器元件或设备(例如,EPROM、EEPROM、闪存,等等)的存储器240包括接入点位置表242,该接入点位置表242可被用作本地高速缓存以存储多个接入点的MAC地址、此类接入点的位置坐标、以及接入点的其它合适位置或配置信息(例如,指示所存储的AP位置坐标的确定性的确定性值)。
[0027]耦合至接收机/发射机220、GNSS模块210、存储器240以及扫描仪250的处理器230可以是能够执行存储在移动设备200中(例如,存储器240内)的一个或多个软件程序的脚本或指令的任何合适的处理器。更具体而言,在图2中处理器230被示出为包括WLAN定位软件模块232和数据检索软件模块234。定位软件模块232可由处理器230执行以使用近旁接入点作为参考点来确定移动设备200的位置。例如,为确定移动设备200的位置,三个选定接入点(例如,接入点AP1-AP3)的精确位置首先通过从存储器240访问它们的位置坐标或者通过从ALPS 130检索它们的位置坐标来被确定,如以下更加详细解释的。接下来,移动设备200使用合适的RF测距技术(例如,RSSI和/或RTT技术)来估计自身和每一选定接入点之间的距离。随后,定位软件模块232使用选定接入点的位置坐标以及它们和移动设备200之间的估计距离利用三边测量技术来计算移动设备200的位置。
[0028]数据检索软件模块234可由处理器230执行以从APLS 130检索可见和/或不可见接入点的位置信息。例如,一旦确定了数个选定AP的MAC地址,数据检索软件模块234就可向APLS 130发送选定AP的MAC地址。对于一些实施例,移动设备110还可向APLS 130发送自身与选定(诸)AP间的距离测量和/或其本身的位置(例如,从GNSS模块210获得)。响应于从移动设备110发送的MAC地址,APLS 130检索其中所存储的选定(诸)AP的位置坐标,并随后把选定(诸UP的位置坐标传送至移动设备110。此后,移动设备110可使用AP位置坐标和对应的距离测量来确定其自身位置。
[0029]出于本文中讨论的目的,术语“位置测量”指从移动设备110发送至APLS130的测量数据,并且可包括由移动设备110提供的距离测量和估计位置。类似地,术语“计算出的位置”指根据一组位置测量来三边测量出的位置,并且术语“位置数据”指AP位置坐标(例如,玮度、经度和/或海拔)以及存储在APLS 130中的相关位置信息(例如,质量值、位置状态值、可信度值等等)。
[0030]如上所提及的,各种所部署的AP的位置可能改变(例如,因为它们被移动或脱机)。如果在APLS 130中存储的对应AP位置数据没有被相应地更新,则从APLS 130检索到过时位置数据的移动设备可能生成不正确的位置结果。故此,由于移动设备110的所报告的位置可以是对AP位置的最新近实地观察之一,因而根据本发明实施例可使用移动设备110提供的位置测量来选择性地更新APLS 130,由此维持APLS 130中存储着的AP位置数据是时新的。然而,由于移动设备110的报告位置可能并不总是可靠的,因此当使用此类信息来更新APLS 130中所存储的AP位置数据时可能期望确定该移动设备的所报告位置的准确性。
[0031]更具体而言,对于一些实施例,在从移动设备110接收选定AP的一组位置测量之后,APLS 130基于由移动设备110提供的该组位置测量与APLS 130中已存储的对应AP位置数据之间的比较来确定该组位置测量的可信度值。随后,响应于所确定的可信度,APLS130使用由移动设备110提供的该组位置测量来选择性地更新所存储的该选定AP的位置数据。以此方式,APLS 130可自动更新其中所存储的AP位置数据而同时维持此类位置数据的准确性。另外,通过自动更新APLS 130中所存储的AP位置数据,可有利地避免对APLS130进行费力的手动更新。
[0032]根据本发明实施例,如果在由移动设备110提供的该组位置测量与APLS130中已存储的AP位置数据之间存在差异,首先确定该差异是源于真正的AP重定位事件、移动设备的错误测量(例如,尖峰)、恶意的欺骗尝试、还是可能导致该组位置测量不可靠的一些其它事件。对于一些实施例,可使用“区域识别”操作来实现该差异确定,在该操作中将使用由移动设备110提供的位置测量所计算出的其它AP的位置与此类其它AP的先前已知位置坐标作比较来确定该移动设备110计算出的AP位置是否可靠和/或可信。
[0033]更具体而言,如果选定的AP未曾移动,则如移动设备110所计算出的该选定AP的位置应当与先前已知的AP位置(例如,如APLS 130中所存储的)相同或非常接近(例如,在50英尺以内)。如果新计算出的AP位置距选定AP的先前已知位置超过预定阈值距离DTH (例如,超过50英尺)远,则APLS130可通过首先识别该移动设备在它计算此选定AP的位置的同时或相似时间是否计算了其它AP的位置,并随后把计算出的这些其它AP的位置与它们的先前已知位置(例如,如APLS 130中所存储的)作比较来确定与移动设备110提供的位置测量相关联的可信度值的方式,来执行区域识别操作。
[0034]对于一些实施例,如果有超过预定数目或百分比的所计算出的其它AP的位置与这些其它AP的先前已知位置一致(例如,在预定阈值距离DTH以内),则此选定AP的新计算出的位置可作为可信的来对待,并且APLS 130可使用由移动设备110提供的该组位置测量来更新所存储的AP位置数据。相反,如果少于预定数目或百分比的所计算出的其它AP的位置与这些其它AP的先前已知位置一致,则此选定AP的新计算出的位置可被视为不可信。响应于此,选定AP的新计算出的位置被拒绝,并且APLS 130不更新所存储的此选定AP的位置信息。
[0035]更具体而言,对于一些实施例,APLS 130可向由移动设备110计算出的一组AP位置指派可信度值。因为不大可能在短时间段内重新定位大量AP,所以APLS 130可基于移动设备110计算出的AP位置信息与APLS 130中当前存储的AP位置数据之间的比较来为它从移动设备110接收的每组位置测量确定可信度值(TW)。对于一些实施例,可根据计算出的其它AP的位置中有多少个与APLS 130中已存储的对应AP位置数据一致来推导可信度值,其中越高的可信度值指示有越大量或越大百分比的计算出的其它AP的位置与APLS130中已存储的对应AP位置数据一致,而越低的可信度值指示越少量或越小百分比的计算出的其它AP的位置与APLS 130中已存储的对应AP位置数据一致。
[0036]可信度值可以是指示位置测量据此能被视为可信的不同等级的任何合适的标度、状态机和/或数系。对于一些实施例,可把可信度值与可信度阈值作比较,其中如果可信度值大于或等于可信度阈值,则由移动设备110计算出的AP位置被视为可信,并且如果可信度值小于可信度阈值,则由移动设备110计算出的AP位置被视为不可信。例如,在示例性实施例中,可使用I到10的可信度标度,其中为10的可信度值是最可信的,而为I的可信度值是最不可信的。对于这一示例性实施例,可信度阈值可被设置成7,且此后移动设备110计算出的AP位置中仅那些具有大于或等于7的可信度值的AP位置被接受并被用来更新APLS 130中所存储的AP位置信息。
[0037]对于其它实施例,可采用不止一个可信度阈值,并且可信度状态的可能数目可多于两个。对于示例性实施例,可采用三态可信度系统,其包括状态“可信”、“可疑”和“不可信”。对于这一具有I到10的可信度标度的示例性实施例,可信度值多7可指示位置测量被视为可信,4和7之间的可信度值可指示位置测量被视为“可疑”,而可信度值〈4可指示位置测量被视为不可信。
[0038]对于一个实施例,如果由移动设备110提供且被确定为不可信的AP位置测量的数目超过预定计数值N,则拒绝该移动设备110所提供的所有位置测量。对于另一实施例,如果由移动设备110计算出且被确定为不可信的AP位置测量的数目超过预定计数值N,则拒绝由移动设备110在对应时间段期间提供的所有位置测量。
[0039]图3是作为图1的APLS 130的一个实施例的APLS 300的功能框图。图3中示出的APLS 300包括处理器305和AP位置数据库310。处理器305可以是能够执行一个或多个软件程序的脚本或指令的任何合适的处理器,并且处理器305可被用来检索和/或更新存储在位置数据库310中的位置信息,例如,响应于移动设备110提供的MAC地址来进行上述操作。
[0040]位置数据库310包括多个位置条目320,每一位置条目存储对应AP的位置信息。更具体而言,图3的每一位置条目320包括MAC地址字段321、位置测量字段323、计算出的位置字段325、质量字段327、位置状态字段328以及时间字段329。对于其它实施例,每一位置条目320可包括用以存储关于对应AP的附加信息的其它字段。
[0041]MAC地址字段321存储对应接入点(AP)的MAC地址。位置测量字段323存储对应AP的一组测量出的距离,该组距离可从移动设备110测量出的RTT和/或RSSI值推导出或可来自其它源(例如,现场调查)。计算出的位置字段325存储与字段323中存储的该组位置测量对应的位置数据(例如,经度、玮度和/或海拔)。质量字段327存储指示对应AP的该组位置测量和计算出的位置的质量的质量值。质量值可具有任何数目个不同的值。对于一些实施例,质量值可取五个可能值之一首要”、“辅助_1”、“辅助_2”、“辅助_3”和“不可信”,其中首要值指示最高质量等级而不可信指示最低质量等级。位置状态字段328存储对应AP的位置状态值。对于一些实施例,位置状态值可取三个可能状态之一:“信任的”、“模糊的”和“未知的”。时间字段329存储作出与条目320相关联的该组位置测量323的时间。对于一个实施例,APLS 300通过仅为具有“信任的”状态值的AP提供位置信息来确保提供给WLAN 120的AP位置信息的准确性。
[0042]对于一些实施例,位置条目320可采用允许对应的AP与多个计算出的位置相关联的链接列表数据结构(或任何其它合适的数据结构),该多个计算出的位置中的每一者具有其自己的质量值。对于其它实施例,每一 AP位置条目320可被限定于一个计算出的位置以使位置数据库310的存储区域最小化。
[0043]以下参照在图4A-4C中示出的解说性流程图400并参考图1_3描述了用于自动更新APLS 300中所存储的位置信息的示例性操作。现在参考图4A,APLS300首先从移动设备110接收选定AP的一组位置测量(402),并且随后APLS300搜索其位置数据库310以确定选定AP的位置数据当前是否存储于其中(404)。如以上所讨论的,由移动设备110提供的该组位置测量可包括自身和选定AP间(例如,使用采用RSSI和/或RTT技术的测距操作计算出)的估计距离、计算出的选定AP的位置,和/或其它位置信息。
[0044]如在406处所测试的,如果选定AP的位置数据当前未存储在位置数据库310中,则APLS 300评估移动设备110所提供的AP位置测量的质量并且向其指派质量值(408)。随后,APLS 300存储AP的MAC地址、该组位置测量、计算出的选定AP的位置以及指派的质量值作为位置数据库310中的新条目320(410)。
[0045]质量评估可采用任何合适的统计技术来确定由移动设备110提供的该组位置测量一致程度如何。对于一些实施例,可使用标准偏差技术来评估由移动设备110提供的位置测量的质量。例如,越小的偏差可指示该组位置测量质量越高,而越大的偏差可指示该组位置测量质量越低。对于其它实施例,可为该组位置测量数学地确定质心,并且可计算该组位置测量中各元素与该质心间的向量距离。对于一些实施例,APLS 300响应于所指派的质量值来选择性地存储该组位置测量作为位置数据库310中的新条目。
[0046]此后,APLS 300向选定的AP指派位置状态值(412)。对于一些实施例,可从先前计算出的质量值推导出位置状态值。例如,在一示例性实施例中,如果质量值是“首要”,则APLS 300将选定AP的位置状态设置为“信任的”。如果质量值低于首要但高于不可信,则APLS 300将选定AP的位置状态设置为“模糊的”。相反地,如果质量值为“不可信”,则APLS300维持选定AP的位置状态为“未知的”,并且丢弃由移动设备110所提供的计算出的位置。对于一些实施例,APLS 300可以在一组测量能得到另一源(例如,另一移动设备)验证之前不向该组测量指派“首要”的质量值。
[0047]注意尽管质量值指示由移动设备110提供的该组位置测量的一致性程度,但是位置状态值指示APLS 300对于选定AP的位置的置信度有多高。因此,选定AP的位置状态未必指示由移动设备110提供的选定AP的位置测量的质量等级。例如,具有“模糊的”位置状态的AP仍可具有质量为“首要”的所存储的位置信息(例如,在位置数据库310中)。
[0048]此外,注意移动设备110可以能够不使用关联的WLAN定位系统来确定其自身位置(例如,使用其GNSS模块210)。如果如此,则移动设备110提供的位置测量(以及移动设备110的位置坐标)可被发送至APLS 300以确定选定AP的位置和/或更新存储在位置数据库310中的对应AP位置信息。
[0049]再次参考图4A,如在406处所测试的,如果APLS 300已经存储了选定AP的位置数据,则APLS 300从位置数据库310中的对应位置条目320检索位置数据,并确定选定AP的位置状态(414)。如在416处所测试的,如果选定AP具有信任的位置状态,则APLS 300使用由移动设备110提供的该组位置测量来计算选定AP的位置(418),并且将新计算出的AP位置与已经存储在位置数据库310中的对应AP位置数据作比较以生成差值(420)。
[0050]如在422处所测试的,如果该差值(DIFF)小于或等于距离阈值DTH,则APLS 300维持选定AP的位置状态为“信任的”,并随后用计算出的位置来更新(例如,完善)所存储的位置数据(424)。对于一些实施例,由移动设备110提供的该组位置测量被存储为具有“首要”质量值的新位置条目320,并且APLS 300可使用该新位置条目来补充已经存储于位置数据库310中的位置数据。对于此类实施例,在APLS 300响应于随后的位置请求(例如,来自寻求选定AP的位置的移动设备)而发送选定AP的位置数据之前,APLS 300自动调取该AP的所有具有被设置为“首要”的质量值的位置条目,计算这些位置的平均,以及随后向请求设备报告此平均位置。对于其它实施例,该组位置测量与位置数据库310中存储的现有位置数据相结合(例如,取平均)。对于这些其它实施例,APLS 300可对已被用来更新位置数据库310中存储的选定AP的位置数据的位置测量的组数进行计数,其中计数值越高指示所存储的位置数据的质量值越高。
[0051]相反地,如在422处所测试的,如果差值大于预定阈值DTH,则APLS 300执行区域识别操作以确定选定AP是否已被移动或者由移动设备110提供的该组位置测量是否不可靠(例如,由错误测量或欺骗尝试所致)(426)。更具体而言,现在参考图4C,如在428处测试的,如果APLS 300确定由移动设备110提供的该组位置测量是可信的(由此指示选定AP已被移动),则APLS 300使用移动设备110提供的该组位置测量来更新选定AP的位置数据(430) ο相反地,如在428处测试的,如果APLS 300确定由移动设备110提供的该组位置测量是不可信的(由此指示该组位置测量中的错误),则APLS 300忽略移动设备110提供的该组测量并且不更新位置数据库310中存储的该选定AP的位置数据(432)。
[0052]对于一些实施例,APLS 300可通过对从移动设备110收到的该组位置测量执行一致性分析,推导指示由移动设备110提供的该组位置测量的可信度的可信度值,以及随后将该可信度值与预定可信度阈值作比较的方式,来确定由移动设备110提供的该组位置测量是否可信。例如,可根据由移动设备110提供的计算出的其它AP的位置中有多少个与APLS 130中已存储的对应AP位置数据一致来推导出可信度值,其中越高的可信度值指示有越大量或越大百分比的计算出的其它AP的位置与位置数据库310中已存储的对应AP位置数据一致,而越低的可信度值指示越少量或越小百分比的计算出的其它AP的位置与位置数据库310中已存储的对应AP位置数据一致。
[0053]如以上所提及的,可信度值可以是指示移动设备110提供的位置测量的不同可信度等级的任何合适的标度、状态机和/或数系。例如,在示例性实施例中,可使用I到10的可信度标度,其中为10的可信度值是最可信的而为I的可信度值是最不可信的。对于本文中所讨论的示例性实施例,可信度阈值可被设置成7,且此后由移动设备110计算出的AP位置中仅那些具有大于或等于7的可信度值的AP位置被接受并被用来更新APLS 130中所存储的AP位置信息。以此方式,如在428处所测试的,如果由移动设备110提供的诸组位置测量没有足够一致到被视为“可信的”(例如,可信度值〈7),则APLS 300不用移动设备110提供的该组位置测量来更新“首要”质量位置数据(432)。
[0054]对于一些实施例,如在428处所测试的,如果位置测量没有被视为“可信的”,则APLS 300还可给由移动设备110提供的该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”),并随后把该组位置测量连同其对应的计算出的位置、选定AP的MAC地址以及所指派的质量值一起作为新位置条目320存储在位置数据库310中。此外,对于一些实施例,APLS 300还可把具有“辅助”质量状态的所有其它条目的质量值降级到更低等级或更低值,由此降低存储在位置数据库310中的该AP的位置数据的质量等级。例如,先前被指派质量值“辅助_1”的位置条目可被重新指派到“辅助_2”的质量值,先前被指派质量值“辅助_2”的位置条目可被重新指派到“辅助_3”的质量值,等等。
[0055]相反地,如在428处所测试的,如果由移动设备110提供的位置测量足够一致到被视为“可信”(例如,可信度值彡7),则APLS 300使用移动设备110提供的该组位置测量来更新位置数据库310中存储的位置数据。另外,对于一些实施例,APLS 300可继续监视有多少组由移动设备110提供的位置测量被指派到“首要”质量等级。例如,如果选定AP的当前“首要”位置数据仅仅基于由移动设备110提供的一组位置测量(这经常在新AP位置条目320被输入到位置数据库310中和/或在AP的位置状态最近从“未知的”或“模糊的”改变成“信任的”时发生),则相比位置数据是基于大量不同组位置测量的情况而言,APLS300对当前“首要”位置数据具有较低的置信度。因此,根据当前实施例,如果选定AP的当前“首要”质量位置数据仅仅基于一组位置测量,则APLS 300可指派比“首要”质量等级低一个等级的质量值(例如,“辅助_1”)。
[0056]与之相对,如果APLS 300已将所存储的AP位置数据与其它源交叉参考,则APLS300对存储在位置数据库310中的当前“首要”质量位置数据具有更高的置信度。因此,如果选定AP的当前“首要”质量位置数据是基于多组位置测量的,则APLS 300可确定移动设备110是否已经为其它AP提供了位置测量和/或可确定这些其它的AP中是否有任何AP具有“信任的”位置状态。如果选定AP的当前“首要”质量位置数据不是基于多组位置测量的,或者如果移动设备110未曾为其它AP提供过位置测量(这指示区域识别是不可能的),则APLS 300向该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”),并且把该组位置测量连同对应的计算出的位置、对应AP的MAC地址以及所指派的质量值一起作为新位置条目320存储在位置数据库310中。另外,APLS 300还可使具有“辅助”质量值的所有其它条目的质量值降级一个等级。
[0057]相反地,如果选定AP的当前“首要”质量位置数据是基于多组位置测量的并且如果移动设备110已经为其它AP提供了位置测量(这指示区域识别是可能的),则APLS 300以上述方式执行区域识别操作(例如,确定位置数据的可信度值)。更具体而言,现在参考图5的解说性流程图500,对于一些实施例,APLS 300首先确定移动设备110是否已经在它为此选定AP提供位置测量的同时或近似时间提供了其它AP的位置测量(502)。如在504处所测试的,如果是这样,则APLS 300把计算出的其它AP的位置与位置数据库310中先前存储的它们的对应位置作比较(506)。此后,如在508处所测试的,如果少于预定数目或百分比的所计算出的其它AP的位置与它们对应的先前所存储位置一致,则由移动设备110为此选定AP提供的该组位置测量被视为不可信的(510)。响应于此,APLS 300不更新位置数据库310中存储的AP位置数据(512),并且APLS 300可向该组位置测量指派比“首要”质量等级低一个等级的质量值(例如,“辅助_1”)(514) ο
[0058]相反,如果所计算出的其它AP的位置中与它们对应的先前所存储位置一致的位置的个数大于或等于预定数目,则APLS 300可把为选定AP新计算出的位置视作可供存储于位置数据库310中的可能候选(516)。此后,APLS 300确定移动设备110是否已经在它为此选定AP提供该组位置测量的同时或近似时间提供了其它AP的具有“模糊的”位置状态的任何位置信息(518)。如在520处所测试的,如果是这样,则APLS 300可向该组位置测量指派比“首要”质量等级低一个等级的质量值(例如,“辅助_1”),并把该组位置测量连同其对应的计算出的位置、对应AP的MAC地址以及所指派的质量值一起作为新位置条目存储在位置数据库310中(522)。
[0059]然而,如在520处所测试的,如果移动设备110并未在为此选定AP取得该组位置测量的同时或近似时间为其它AP提供具有“模糊的”位置状态的任何位置信息,则APLS300可把该组位置测量作为可信的来对待(524)。随后,APLS 300可声明选定的AP已被移动,删除位置数据库310中此选定AP的旧的“首要”位置条目(或诸条目)320,并在此之后使用新计算出的此选定AP的位置来创建新的“首要”质量位置条目320(526)。此外,APLS300还可把选定AP的位置状态改为“信任的”。以此方式,APLS 300可自动更新位置数据库310同时维持其中所存储的位置数据的准确性。
[0060]再次参考图4A和图4B,如在416处所测试的,如果选定AP不具有“信任的”位置状态,则APLS 300使用移动设备110提供的该组位置测量来计算选定AP的位置(434)。接下来,APLS 300把计算出的AP位置与所存储的具有最高质量值的AP位置数据条目320(例如,“首要”质量位置条目)作比较以确定差值(436)。注意,因为选定AP的位置状态没被设置为“信任的”,所以此选定AP可能并不具有任何存储在位置数据库310中的“首要”质量位置数据。
[0061]如在438处所测试的,如果差值小于或等于预定距离阈值DTH,则所存储的此选定AP的位置数据得到确认,并且APLS 300还可把移动设备110提供的该组位置测量连同计算出的此选定AP的位置一起作为新位置条目320存储在位置数据库310中(440)。APLS300还可向该新位置条目指派与先前存储的此选定AP的位置条目相同的质量值(442)。移动设备110提供的该组位置测量还可被用来完善位置数据库310中存储的原始AP位置数据。另外,APLS300还可把选定AP的位置状态改变为“信任的”,并且删除所具有的质量值小于此新条目的任何原始位置条目。
[0062]相反地,如在438处所测试的,如果差值大于预定距离阈值DTH,则APLS300把计算出的AP位置与质量等级递减的所存储AP位置条目320 (例如,“辅助_1”位置条目,随后是“辅助_2”位置条目,以此类推)依次作比较以生成后续的差值(444)。如在446处所测试的,如果有任何较低质量的位置条目320落在所计算出的AP位置的预定距离DTH以内,则该位置条目可被视为“可信”,APLS 300可声明选定AP已经被移动(448),并且可通过使用计算出的AP位置创建新的“首要”位置条目320来更新位置数据库310 (450)。对于一些实施例,APLS 300可删除任何先前存储的此选定AP的位置条目。
[0063]如在446处所测试的,如果选定AP的位置条目320中没有任何位置条目落在所计算出的AP位置的预定距离DTH以内,则APLS 300对移动设备110提供的该组位置测量执行区域识别操作以确定其可信度(452)。对于一些实施例,APLS 300对移动设备110提供的该组位置测量执行一致性分析并且向其指派可信度值。随后,如果该组位置测量被发现并不一致(例如,一致性值〈7) JljAPLS 300不用该组位置测量来更新“首要”位置条目(即,被指派到最高质量值的位置条目),而是向该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”)。APLS 300可随后把该组位置测量连同其对应的计算出的位置、对应AP的MAC地址以及指派的质量值一起作为新位置条目320存储在位置数据库310中。APLS 300还可将具有“辅助”质量等级的所有其它位置条目的质量值降级一个等级。
[0064]相反,如果该组位置测量被发现是一致的(例如,一致性值多7),则APLS300确定此选定AP是否是唯一被移动设备110指示为已经被移动了的AP。如果此选定AP不是唯一被移动设备110指示为已经被移动了的AP,则移动设备110的测量仍有可能是错误的(例如,源于欺骗尝试)。因此,响应于此,APLS 300向该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”),并把该组位置测量连同其对应的计算出的位置、对应AP的MAC地址以及所指派的质量值一起作为新位置条目320存储在位置数据库310中。APLS300还可将具有“辅助”质量等级的所有其它位置条目的质量值降级一个等级。
[0065]然而,根据本发明实施例,如果一个或多个位置条目已经被降级到最小阈值质量值(例如,“辅助_3”)并且选定AP的位置状态不是“信任的”,则从位置数据库310删除此选定AP的所有位置条目(例如,因为所存储的此选定AP的位置数据保持不确定)。
[0066]如果选定AP是唯一被移动设备110指示为已经被移动了的AP,则APLS300确定该移动设备110是否已经为具有“信任的”位置状态的其它AP提供了位置测量。如果没有(这指示区域识别操作是不可能的),则APLS 300可向该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”),并把该组位置测量连同其对应的计算出的位置、对应AP的MAC地址以及所指派的质量值一起作为新位置条目320存储在位置数据库310中。APLS 300还可将具有“辅助”质量状态的所有其它位置条目的质量值降级一个等级。但是,如果一个或多个条目已经到达了最小阈值质量值(例如,“辅助_3”)并且相应AP的位置状态仍是“模糊的”,则可从位置数据库310删除此选定AP的所有条目。如果是这样(这指示区域识别操作是可能的),则APLS 300执行区域识别操作。
[0067]更具体而言,APLS 300查找由移动设备110在它为选定AP提供位置测量的同时或近似时间为其它AP提供的计算出的位置,并且把这些所计算出的其它AP的位置与位置数据库310中已经存储的它们的对应位置数据作比较。如果少于预定数目或百分比的所计算出的其它AP的位置是一致的,则由移动设备110为选定AP提供的该组位置测量被视为不可信,APLS 300不更新位置数据库310。此后,APLS 300可向该组位置测量指派比“首要”等级低一个等级的质量值(例如,“辅助_1”),并可把该组位置测量连同其对应的计算出的位置、对应AP的MAC地址以及所指派的质量值一起作为新位置条目320存储在位置数据库310中。APLS 300还可将具有“辅助”质量状态的所有其它条目的质量值降级一个等级。
[0068]相反地,如果有多于预定数目或百分比的所计算出的其它AP的位置与对应的先前已知位置一致,则新计算出的此AP的位置可被视为可信。响应于此,APLS 300可声明相应的AP已经被重新定位,并且可通过使用新计算出的位置创建新的“首要”位置条目来更新位置数据库310。另外,APLS 300还可把选定AP的位置状态改变为“信任的”,并且删除位置数据库中所存储的任何原始位置条目。
[0069]图6A-6B是根据一些实施例描绘移动设备与APLS通信以确定该移动设备位置的WLAN的示例性示图。图6A示出由五个接入点AP1-AP5形成且与移动设备110处于通信中的WLAN 600。如上所述,移动设备110可获得AP1-AP5的MAC地址,并且估计自身与AP1-AP5中每一者之间的距离(例如,使用采用RSSI和/或RTT技术的RF测距操作)。随后,移动设备110可向APLS 300发送(为简化起见图6A中未示出)结果得到的诸组位置测量(例如,移动设备110与AP1-AP5之间的距离D1-D5)。
[0070]图6B示出图6A的WLAN 600处在第二时间的情况,在该第二时间AP5已经被移到新位置(从AP5_旧到AP5_新)。当APLS 300从移动设备110接收指示AP5已经被重新定位的针对AP5的一组位置测量?5_新)时,APLS 300首先确定AP5的位置数据是否被存储在其位置数据库310中。如果没有,则APLS 300以上面结合图4A所描述的方式确定针对AP5的该组位置测量(05_新)的质量等级,并且随后选择性地在位置数据库310中存储该组位置测量?5_新)作为新位置条目320。
[0071]再次参考图4A-4C,如在416处所测试的,如果AP5的位置数据已经被存储在位置数据库310中,则APLS 300确定AP5是否已经具有“信任的”位置状态。如果没有,则APLS300行进至428以确定该组位置测量是否可信。相反地,如果AP5具有信任的位置状态,则APLS 300行进至418并且把所计算出的AP5的位置与所存储的AP5的位置作比较以确定所计算出的位置是否与所存储的位置一致(422)。如果所计算出的位置与所存储的位置一致,则用移动设备110提供的该组位置测量来更新位置数据库。如果所计算出的位置与所存储的位置不一致,则APLS 300执行区域识别操作以确定移动设备110的位置测量的可信度。如果其它AP的位置测量被发现与位置数据库310中对应的所存储的AP位置数据一致,则APLS 300使用移动设备110提供的位置测量?5_新)来更新AP5的位置数据。
[0072]在说明书前述篇幅中,本发明各实施例已参照其具体示例性实施例进行了描述。然而将明显的是,可对其作出各种修改和改变而不背离如所附权利要求中所阐述的本公开更宽泛的精神和范围。相应地,本说明书和附图应被认为是解说性而非限制性的。
【权利要求】
1.一种维持接入点位置数据库中的数据准确性的方法,其中所述接入点位置数据库包括多个位置条目,每一位置条目用于存储多个接入点中对应一个接入点的位置数据,所述方法包括: 从第一移动设备接收针对第一接入点的第一组位置测量; 响应于所述第一组位置测量与存储在所述位置数据库中的所述第一接入点的位置数据之间的第一比较,确定所述第一组位置测量的可信度值;以及 响应于所述可信度值,使用所述第一组位置测量来选择性地更新所述位置数据库中所存储的所述第一接入点的位置数据。
2.如权利要求1所述的方法,其特征在于,进一步包括: 响应于由所述第一移动设备提供的所述第一组位置测量,计算所述第一接入点的位置;以及 把所计算出的位置与所存储的所述第一接入点的位置数据取平均以生成所述第一接入点的经平均的位置。
3.如权利要求1所述的方法,其特征在于,进一步包括: 从第二移动设备接收针对第一接入点的第二组位置测量,其中所述可信度值是进一步响应于所述第一组位置测量与所述第二组位置测量之间的第二比较来确定的。
4.如权利要求1所述的方法,其特征在于,进一步包括: 从所述第一移动设备接收针对第二接入点的第三组位置测量,其中所述可信度值是进一步响应于所述第三组位置测量与存储在所述位置数据库中的所述第二接入点的位置数据之间的第三比较来确定的。
5.如权利要求4所述的方法,其特征在于,仅当所述可信度值大于或等于可信度阈值时,所存储的所述第一接入点的位置数据才被更新。
6.如权利要求1所述的方法,其特征在于,进一步包括: 从第二移动设备接收针对所述第一接入点的第二组位置测量;以及 确定针对所述第一接入点的所述第一组位置测量和所述第二组位置测量之间的一致性值。
7.如权利要求6所述的方法,其特征在于,仅当所述一致性值大于或等于一致性阈值时,所存储的所述第一接入点的位置数据才被更新。
8.如权利要求1所述的方法,其特征在于,确定所述可信度值包括: 把所述第一组位置测量相互作比较以确定在针对所述第一接入点的所述第一组位置测量中是否存在不一致的测量;以及 响应于所述不一致测量的存在,选择性地忽略所述第一组位置测量。
9.如权利要求1所述的方法,其特征在于,确定所述可信度值包括对由所述第一移动设备在预定时间段期间提供的所有位置测量执行区域识别操作。
10.一种维持接入点位置数据库中的数据准确性的系统,其中所述接入点位置数据库包括多个位置条目,每一位置条目用于存储多个接入点中对应一个接入点的位置数据,所述系统包括: 用于从第一移动设备接收针对第一接入点的第一组位置测量的装置; 用于响应于所述第一组位置测量与存储在所述位置数据库中的所述第一接入点的位置数据的第一比较来确定所述第一组位置测量的可信度值的装置;以及 用于响应于所述可信度值使用所述第一组位置测量来选择性地更新所述位置数据库中所存储的所述第一接入点的位置数据的装置。
11.如权利要求10所述的系统,其特征在于,进一步包括: 用于响应于由所述第一移动设备提供的所述第一组位置测量来计算所述第一接入点的位置的装置;以及 用于把所计算出的位置与所存储的所述第一接入点的位置数据取平均以生成所述第一接入点的经平均的位置的装置。
12.如权利要求10所述的系统,其特征在于,进一步包括: 用于从第二移动设备接收针对第一接入点的第二组位置测量的装置,其中所述可信度值是进一步响应于所述第一组位置测量与所述第二组位置测量之间的第二比较来确定的。
13.如权利要求10所述的系统,其特征在于,进一步包括: 用于从所述第一移动设备接收针对第二接入点的第三组位置测量的装置,其中所述可信度值是进一步响应于所述第三组位置测量与存储在所述位置数据库中的所述第二接入点的位置数据之间的第三比较来确定的。
14.如权利要求13所述的系统,其特征在于,仅当所述可信度值大于或等于可信度阈值时,所存储的所述第一接入点的位置数据才被更新。
15.如权利要求10所述的系统,其特征在于,进一步包括: 用于从第二移动设备接收针对第一接入点的第二组位置测量的装置;以及 用于确定针对所述第一接入点的所述第一组位置测量和所述第二组位置测量之间的一致性值的装置。
16.如权利要求15所述的系统,其特征在于,仅当所述一致性值大于或等于一致性阈值时,所存储的所述第一接入点的位置数据才被更新。
17.如权利要求10所述的系统,其特征在于,确定所述可信度值包括: 用于把所述第一组位置测量相互作比较以确定在针对所述第一接入点的所述第一组位置测量中是否存在不一致测量的装置;以及 用于响应于所述不一致测量的存在而选择性地忽略所述第一组位置测量的装置。
18.如权利要求10所述的系统,其特征在于,确定所述可信度值包括:用于对由所述第一移动设备在预定时间段期间提供的所有位置测量执行区域识别操作的装置。
【文档编号】H04W84/12GK104509182SQ201380018243
【公开日】2015年4月8日 申请日期:2013年3月21日 优先权日:2012年4月5日
【发明者】F·科蒂卡皮恩, A·拉科佐里, J·维斯卡里 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1