使用位置数据库确定移动设备的位置的制作方法

文档序号:6359912阅读:179来源:国知局

专利名称::使用位置数据库确定移动设备的位置的制作方法
技术领域
:本发明大体上涉及确定移动设备的地理位置。
背景技术
:无线通信网络能够将各种技术用于装置进行无线通信。举例而言,无线局域网络(WLAN)可包括使用无线电波而非导线在网络的各节点(例如设备)之间进行通信的局域网络(例如,涵盖相对小的实体区域(例如,家庭、办公室或诸如学校之类小型建筑物群)的计算机网络)。WLAN技术的ー些实例包括WiFi,WiFi可包括基于任何电气电子工程师学会(IEEE)802.11标准的任何WLAN产品。发送器与接收器之间的无线连接可使用射频(RF)技术,射频是在与无线电波传播相关联的电磁波谱内的频率。WiFi中所使用的一些示例性射频为2.5千兆赫(GHz)或5GHz。当RF电流供应至天线时,可产生电磁场。电磁场可经由空间传播。无线通信网络的组件可以是接入点(AP)。接入点可允许无线移动设备与有线网络通信。接入点的功能可以是对无线信号进行广播,配备有无线适配器的计算机或无线移动设备可以检测该无线信号井“调谐”至该无线信号。WiFi网络的接入点可以覆盖由从接入点发送及由接入点接收的信号的強度所确定的地理区域及该地理区域的物理特性。可变数目个移动设备可能位于该接入点的通信范围内。ー个移动设备可能同时处于多个接入点的通信范围内。在接入点的位置已知的情况下,移动设备有时可使用接入点(移动设备可与之通信)的位置来确定其位置,这是通过基于从接入点接收的信号的強度来对移动设备的位置进行三角測量而完成的。
发明内容本申请描述了用于对基于网络的定位系统的位置数据库进行管理的方法、程序产品及系统。服务器计算机可以从位于无线通信网络的接入点的通信范围内的了解位置的移动设备(例如,具备GPS功能的设备)接收位置信息。该服务器计算机可针对每一接入点使用所接收的位置来计算平均地理位置。基于这些平均地理位置,该服务器计算机可将接入点指派至地理网格(grid)的各小区(cell)。该服务器计算机可基于接入点及所接收数据的流行度(popularity)、稳定性、寿命(longevity)及新鲜度来过滤姆一小区中的接入点。该服务器计算机可将与这些平均地理位置相关联的接入点的标识符储存于位置数据库中。移动设备可使用该移动设备可连接到的接入点的位置来确定自己的位置。该移动设备在连接至地理网格上的小区中的接入点时可请求并接收该接入点的位置信息、该小区中的其它接入点的位置、与该小区相邻的小区中的接入点的位置。该移动设备可以从所接收的信息识别与处于该移动设备的通信范围内的接入点相关联的位置。该移动设备可使用这些经识别的位置来计算平均地理位置。该移动设备还可计算每一位置与该计算出的平均值之间的距离。该移动设备可排除离该平均值足够远的位置。该移动设备可重复该计算及排除过程,直至达到该平均地理位置的精确程度为止。该移动设备可以在该移动设备的地图显示器上显示信息。可以实施对基于网络的定位系统的位置数据库进行管理的技术以达成以下示例性优点。地理区域可与无线通信网络的接入点相关联,此时该接入点的实际位置是未知的。该地理区域可对应于处于该接入点的通信范围内的实际移动设备很可能所处的区域,而不是该接入点的实际位置。可基于来自移动设备的实时数据来估计该地理区域,该实时数据可以被频繁更新并因而可以提供最新的位置信息。若某个接入点已被移去或停机,则可以从数据库移除该接入点以避免无效的位置确定。可基于在一天的各个时间从移动设备接收的数据来计算该地理区域,因此该地理区域可对应于各种使用方式,例如通勤时间(commutehour)、营业时间或夜间。与该地理区域相关联的接入点可以用来确定位于接入点的通信范围内的不具备GPS功能的移动设备的位置。接入点与移动设备之间的数据传输可以发生在移动设备闲置时,以便避免干扰移动设备与接入点之间的正常通信。使用接入点的位置来确定移动设备的位置的系统可以自行限制其对移动设备的频宽的消耗,因为该系统可传输直接处于移动设备的通信范围内的接入点的位置以及邻近区域中的接入点的位置。因此,即使在移动设备移动时,也不必频繁地更新和重新传输。每一小区中的接入点的过滤机制还可以限制在每一传输中传输到移动设备的数据的量。与(例如)使用信号强度来估计位置相比,移动设备可以更准确地估计其位置,因为信号强度可能由于各种干扰而变化。举例而言,当GPS信号较弱(例如,在建筑物内)时,具备GPS功能的移动设备可利用无线接入点的位置。在附图及以下描述中陈述了管理基于网络的定位系统的位置数据库的一个或多个实施例的细节。根据该描述、附图及权利要求可以了解管理位置数据库的其它特征、方面及优点。图IA是对位置数据库进行管理的技术的概述。图IB说明在三维空间中管理位置数据库的技术。图2A至图2C说明使用移动设备确定与WLAN中的接入点相关联的位置的示例性阶段。图2D说明在三维空间中使用移动设备确定与WLAN中的接入点相关联的位置的示例性阶段。图3A及图3B是说明使用移动设备确定与WLAN中的接入点相关联的位置的示例性过程的流程图。图3C是说明实施管理位置数据库的技术的示例性系统的方块图。图4A说明用于使用基于网络的定位系统中的位置数据库来确定移动设备的位置的技术。图4B是说明使用位置数据库来确定移动设备的位置的示例性程序的流程图。图4C是说明确定移动设备的位置的示例性自适应多遍程序的流程图。图5说明用于使用无线接入点的位置来确定移动设备的位置的示例性使用者接□。图6是用于实施參考图I至图5所描述的特征及操作的示例性系统架构的方块图。图7是移动设备的示例性架构的方块图。各图中的相同參考符号指示相同组件。具体实施例方式对位置数据库进行管理的概述图IA为对基于网络的定位系统的位置数据库进行管理的技术的概述。无线局域网络(WLAN)可以是包括若干个接入点105的无线电通信网络。接入点105可以包括硬连线装置或计算机软件,它们可以用作通信集线器以把无线装置连接至有线网络。多个接入点105分布于ー个区域(例如,办公楼或机场)中。接入点105可以使用各种通信协议与无线装置(例如,移动设备108及110)通信。在一些实施方式中,接入点105可以是WiFiTM网络的接入点,WiFiTM网络实施基于电气电子工程师学会(IEEE)802.11的协议(例如,IEEE802.11a)。在一些实施方式中,接入点105可以是微波接入全球互通(WiMAX)网络的接入点,WiMAX网络实施基于IEEE802.16的协议(例如,IEEE802.16-2004或IEEE802.16e_2005)。取决于包括接入点105的配置及实体环境的各因素,接入点105具有的、从接入点105的位置到达任何位置的通信范围可以从小于十米至几百米。当移动设备108及110处于接入点105的通信范围内时,多个无线装置108及110可连接至接入点。反过来,多个接入点105可供单ー移动设备108或110进行连接。移动设备108及110可基于各种因素选择移动设备108及110可连接到的特定接入点105。举例而言,该选择可基于移动设备108是否经授权以连接至接入点105a,或接入点105a是否可提供最強信号以供无线连接至移动设备108。系统可确定与接入点105相关联的位置区域115。可以计算位置区域115以使得它们指示出位于接入点105的通信范围内的移动设备108可能位于何处。系统可基于来自位于接入点105的通信范围内的移动设备108的已知位置来进行这种确定。移动设备108可以是了解位置的移动设备,例如具备GPS功能的移动设备,这些了解位置的移动设备已内置了或耦合到可接收全球定位系统(GPS)信号并使用这些GPS信号确定位置的接收器。了解位置的移动设备108在图IA中表示为黑色三角形。当了解位置的移动设备108位于某个接入点105(例如,接入点105a)的通信范围内时,了解位置的移动设备108可以把装置的位置传输至接入点105a。接入点105a可以把该传输以及接入点105a的标识符中继传递至系统。系统可确定估计的位置区域115a,位于接入点105a的通信范围内的任何移动设备108或110很可能位于该估计的位置区域115a中。在本说明书中,估计的位置区域115将被称为存在区域(presencearea),用以表示移动设备108或110(当其位于特定接入点105的通信范围内吋)有可能存在。为计算存在区域115,系统可以应用迭代过程(例如,通过执行多遍(multi-pass)分析)。该迭代过程可以把与接入点(例如,接入点105)相关联的存在区域(例如,存在区域115)确定成圆的形式。该圆可以具有对应于平均地理位置的中心,该平均地理位置是基于连接到接入点105的那些了解位置的移动设备108的位置而计算出的。该圆可具有对应于误差边限的半径,可通过例如移动设备108的位置与该平均地理位置之间的距离来确定该误差边限。下文将参考图2及图3来描述关于迭代过程的进一步细节。可以周期性地(例如,每隔六个小时)执行该迭代过程以捕获在一天的不同时段期间的不同无线接入使用方式以及捕获接入点105的可能移动。系统可以将存在区域115的信息发送至位于接入点105的通信范围内的移动设备,包括不具备GPS功能的移动设备(例如,移动设备110),以使得这些接收移动设备可使用存在区域115来确定这些装置的估计位置。举例而言,若移动设备110位于接入点105b的通信范围内,则可以将移动设备110的位置估计为与关联于接入点105b的存在区域115b重合。在给定区域(例如,机场)中,可能存在众多接入点105。此外,因为移动设备110可能是移动的,所以可能合乎逻辑的是把并非直接处于移动设备110的通信范围内而是足够靠近移动设备110的接入点的位置发送至移动设备110,使得移动设备110可使用这些位置来追踪其移动。为避免发送大量位置数据至移动设备110,系统可过滤接入点105及位置区域115,从而仅传输有限数目个接入点(例如,接入点105a)的位置数据,而不是世上存在的每一个接入点的位置数据。过滤可以基于各种因素,包括位置115及接入点105的流行度、稳定性、寿命及新鲜度。为过滤位置115及接入点105,系统可产生含有若干小区102的地理网格100。小区102可以是具有大体上矩形形状的多边形,该多边形对应于地理网格100上的地理区域,该区域可由该地理区域的识别点(例如,中心或拐角)的纬度及经度、以及大小(例如,以经度数测量得的长度及以纬度数测量得的宽度)来识别。每一小区102可用作可含有特定数目个位置的容器。举例而言,小区102可以是长度为0.0005度子午线(大致56米)且宽度为0.0005度纬度(以米计的宽度可取决于纬度而变化)的矩形。小区102可被配置成含有对应于接入点105的若干(例如,三个)存在区域115。在一些实施方式中,若存在区域115的中心位于小区102的边界内,则小区102可“含有”存在区域115。可基于一个或多个可靠性因素从位于小区102中的所有存在区域115选择存在区域115。该选择可基于诸如流行度、稳定性、寿命及新鲜度的各种准则。具体的接入点(例如,接入点105b)及与该接入点相关联的存在区域(例如,存在区域115b)不一定要位于同一小区102中。举例而言,此情形可能在接入点105b位于小区102a中的一个建筑物上而位于接入点105b的通信范围内的大多数移动设备108位于小区102b中的另一建筑物中时发生。在一些实施方式中,系统可以忽略接入点105b的实际位置。当移动设备110连接至接入点(例如,接入点105a,其相关联的存在区域115a位于小区102c中),或以其它方式(例如,经由蜂窝式网络)连接至系统时,移动设备110可以从系统接收位置更新。该位置更新可包括位于存在区域115a所处的同一小区(例如,小区102c)中的所有存在区域115。该位置更新还可以包括位于在地理网格100上与小区102c相邻的其它小区102(例如,小区102a及小区102b)中的存在区域115。当移动设备110连接至接入点105a时,移动设备110可检测可用的其它接入点105(例如,接入点105b)。移动设备110可识别这些可用接入点的存在区域(例如,存在区域115a及115b)。移动设备110可使用各种算法来计算移动设备110的当前位置。举例而言,当仅一个存在区域115a经识别时,移动设备110可将存在区域115a指定为移动设备110的当前位置。当两个或两个以上存在区域115经识别时,移动设备110可使用迭代过程(例如,多遍分析)来计算其当前位置。该迭代过程可计算这些存在区域的平均位置,计算存在区域与该平均位置之间的距离,且排除离该平均位置最远的存在区域。移动设备110可重复这些反复,直至满足对确定移动设备110的位置的精确度要求为止。移动设备110可将该平均位置指定为移动设备110的当前位置,且在地图显示装置上显示该平均位置。在一些实施方式中,在移动设备110上从系统接收的位置更新可包括众多邻近小区,使得可涵盖存在区域115a周围的足够大的区域(例如,I或2平方公里)。基于涵盖该大区域的位置更新,移动设备110可避免在移动设备110移动时必须请求频繁更新。当(例如)移动设备110闲置或以其它方式具有可用通信频宽时,移动设备110可能有机会接收已更新的存在区域信息。图IB说明在三维空间中管理位置数据库。ー些了解位置的移动设备108(例如,具备GPS功能的装置)可识别三维空间中的位置。这些位置可由纬度、经度及海抜高度来表示。可将海拔高度表达为(例如)从海平面以米为单位测量得的高程。当移动设备的海拔高度为定位该移动设备所必需的时,可能需要在三维空间中定位该移动设备。举例而言,海抜高度可用于确定移动设备位于高层建筑物中的哪ー层。可在ニ维地图(以高程作为批注)上或三维地图上显示移动设备108在三维空间中的位置。移动设备108可连接至接入点126。移动设备108可以是了解位置的移动设备,这些了解位置的移动设备可传输其位置(包括纬度、经度及海抜高度坐标)至系统。系统可基于从移动设备108接收的纬度、经度及海抜高度坐标来计算平均位置。具有该平均位置作为中心且具有误差边限作为半径的三维空间124可与接入点126相关联。空间124可表示当移动设备位于接入点126的通信范围内时该移动设备有可能所处的空间。在本说明书中,空间124将被称为存在空间。系统可将关于存在空间124的信息发送至位于接入点126的通信范围内的移动设备。接收该信息的移动设备可使用该信息来确定其地理位置。系统可将三维地理空间划分为三维网格120。三维网格120可由若干三维小区122构成。每一三维小区122可具有对应于地理网格100的小区102的基站。每一三维小区122可以以高度(例如,以米测量得)作为维度。若存在空间124的中心处于小区122中,则存在空间124可被称为位于小区122中。系统可基于以下各者来限制小区122中的存在空间的数目存在空间的流行度(例如,在存在空间中从移动设备108至接入点126进行多少连接);存在空间124的稳定性(例如,存在空间124有多稳定);接入点126的寿命(例如,接入点126已存在了多长时间);及存在空间124的新鲜度(例如,来自位于接入点126的通信范围内的移动设备108的最新位置传输是何时被接收的)。系统可将关于存在空间124及邻近存在空间的信息(其基于三维网格120的三维小区122)传输至位于接入点126的通信范围内的移动设备(例如,移动设备110)。移动设备110可使用该信息来估计移动设备110在三维空间中的当前位置,且在三维地图上显示估计的当前位置。用于管理位置数据库的示例性服务器侧程序及系统图2A至图2C说明管理位置数据库的示例性阶段。为方便起见,将參考基于网络的定位系统来描述技术,该系统包括实施这些技术的服务器。图2A说明可用以确定与接入点105相关联的存在区域的多遍分析的示例性阶段。接入点105可具有涵盖区域202,可由接入点105的发射器的信号强度及其它因素(例如,围绕接入点105的地理区域的实体特性)确定该涵盖区域202。位于涵盖区域202内的移动设备108可无线地连接至接入点105。接入点105可允许移动设备108经由各种网关器连接至有线网络。有线网络可包括数据网络(例如,因特网)、公共交换电话网络(PSTN)、其它数字或模拟网络,或上述各项的组合。移动设备108可包括了解位置的移动设备(例如,具备GPS功能的移动设备)。每一了解位置的移动设备108(表示为图2A的黑色三角形)可检测其当前地理位置。当前地理位置可由地理坐标(包括移动设备108的纬度及经度)表示。当移动设备108与接入点105通信时,移动设备108可经由接入点105将位置信息传输至系统。位置信息可与接入点105的标识符(例如,接入点105的媒体存取控制(MAC)地址)相关联。系统可使用从多个移动设备108接收的位置信息来确定可与接入点105相关联的存在区域。存在区域不一定包围接入点100实际所处的位置。虽然存在区域可位于涵盖区域202内,但存在区域既不必对应于涵盖区域202的地理位置又不必对应于涵盖区域202的形状。移动设备108在涵盖区域202内的分布可对应于移动设备108在特定时间的快照(例如,接入点105所处时区的当地时间8:30am)。每一移动设备108可与单一位置相关联。移动设备108在涵盖区域202内的分布也可对应于移动设备108在一时间段内的位置(例如,4am至IOam的六个小时)。每一移动设备108可与多个位置相关联(例如,当移动设备108正在移动时)。在系统中可通过多个位置来表示与多个位置相关联的单一移动设备108,如图2A中的多个三角形所说明。服务器可确定从移动设备108接收的位置集合的平均地理位置。该位置集合可包括在特定时间或在特定时间段期间从移动设备108接收的位置。可将该平均地理位置指定为圆204a所包围的区域的中心205。圆204a的中心无需与接入点105的位置重合。月艮务器可计算该平均地理位置与该集合中的每一位置之间的距离,且识别一个或多个离群值(QUtlier)0离群值可以是该集合中离该平均地理位置最远的位置。可以从该集合排除与中心的距离超过阈值值的离群值(例如,位置210)。圆204a可具有半径206,半径206对应于该平均地理位置与在排除离群值之后的当前集合中的位置之间的最长距离。图2B说明多遍分析的在图2A的阶段之后的示例性阶段。已从该集合排除与图2A的平均地理位置(圆204a的中心205)的距离超过阈值值的位置。该阈值值可被配置成使得某一百分比的位置(例如,5%图2A的位置)被排除。可基于该集合中剩余的位置(例如,剩余95%位置)来计算新的平均地理位置。新的平均地理位置例如可以是圆204b的中心225。在各种实施方式中,计算新的平均地理位置可以包括对该集合中的剩余位置求平均值;选择该集合中的中间地理位置(例如,通过选择中间纬度或中间经度);或应用其它算法。用于计算平均地理位置的算法在多遍分析中的每一遍中可能相同,或在每一遍中彼此不同。当排除了离群值位置时,圆204b所包围的区域可以小于圆204a所包围的区域(如在前一遍中所确定)。较小区域可反映计算的精确度有所增加。圆204b的中心225不必与圆204a的中心205重合。在一些实施方式中,圆204b的半径216可对应于移动设备108的离圆204b的中心225最远的剩余位置。半径216可表示在当前遍中计算出的新估计存在区域的误差边限。图2C说明多遍分析的示例性最终阶段。当满足特定退出条件时,系统可在最终阶段之后终止该迭代过程。最终阶段可产生对应于移动设备108的位置集群的最終平均地理位置。可将最终平均地理位置表示为圆204c的中心235。圆204c可具有对应于最终误差边限的半径,其基于最终平均地理位置与该集群中的位置之间的距离。可将圆204c指定为完全与接入点105以及接入点105的标识符(例如,MAC地址)相关联的存在区域。服务器可基于各种因素确定是否将接入点105的标识符及相关联的存在区域包括于位置数据库中。举例而言,服务器可对地理网格100的小区102中的存在区域的数目进行计数,且基于流行度、稳定性及寿命而选择若干存在区域。服务器可将位置数据库中的存在区域(若存在区域204c经选择,则包括存在区域204c)的信息发送至移动设备(例如,移动设备215),不管移动设备215是否具备GPS功能。图2D说明在三维空间中管理位置数据库的示例性阶段。在图2D中,轴线X、Y及Z可用以指示三维空间。举例而言,轴线X、Y及Z可分别表示经度、纬度及海抜高度。为方便起见,在图2D中将接入点126的位置展示为与X、Y及Z轴在线的零点重合。在一些实施方式中,接入点126的实际位置(例如,纬度、经度及海抜高度坐标)在计算中为可选的。图2D的每个三角形可表示位于三维空间中的移动设备的位置。这些位置可在三维空间中的平面上具有投影(例如,投影226)。可在任意海抜高度(例如,接入点126的海拔高度)界定该平面。举例而言,可由轴线X及Y来界定该平面。接入点126可对应于涵盖空间222,可由接入点126的信号強度及其它限制因素(例如,信号路径中的地板、天花板、建筑物)来确定该涵盖空间222。多遍分析可基于从位于小区空间202中的了解位置的移动设备108接收的位置集合而使地理空间与WLAN的接入点126相关联。在该多遍分析的一遍中,可通过(例如)对该集合中的纬度、经度及海拔高度坐标求平均值来确定平均地理位置(例如,空间224的中心)。可计算该平均地理位置与涵盖空间222中的位置之间的距离。可以从该集合且从进一步计算中排除处于涵盖空间222内但离该平均地理位置足够远的位置。可由(例如)该集合中的剰余位置与该平均地理位置之间的最远距离来确定空间224的半径。系统可重复以下阶段计算集合中的平均地理位置;计算该平均地理位置与该集合中的位置之间的距离;及基于计算出的距离从该集合排除若干位置。该重复可继续,直至满足退出条件为止。可将具有位于该平均地理位置的中心及基于该平均地理位置与该集合中的剰余位置之间的距离的半径的空间指定为可与接入点126相关联的存在空间。图3A为说明管理位置数据库的示例性程序300的流程图。程序300可用以(例如)确定与WLAN的接入点相关联的存在区域或存在空间。存在区域或存在空间可用以确定不具备GPS功能的移动设备的位置。为方便起见,将參考实施程序300的系统来描述程序300。系统可以从位于接入点105的通信范围内的ー个或多个第一移动设备108接收(302)位置集合。每ー位置可由地理坐标集合(例如,纬度、经度及海抜高度)表示。位置可与接入点105的标识符(例如,MAC地址)相关联。当接入点105与系统通信时,可由接入点105自动供应接入点的标识符。在各种实施方式中,该位置集合可对应于一时间段(例如,6个小时,或接入点105所处时区的6am至IOam)。在一些实施方式中,该时间段可经配置以反映在一天的各个时段的特定使用方案的特性。位于接入点105的通信范围内的移动设备最有可能所处的区域在一天内可能变化,从而指示在特定时段中的各种使用方式。举例而言,该时间段可对应于“通勤时间”、“营业时间”、“夜间”等。一天中时间的特性可对应于移动设备108的各种使用方式。举例而言,在通勤时间期间,与接入点105相关联的存在区域可位于高速公路上或附近;在营业时间期间,与接入点105相关联的存在区域可位于办公楼中或附近;在夜间,与接入点105相关联的存在区域可能展开而没有特定集中点。系统可基于(例如)4am至IOam所接收的位置而计算存在区域,且基于IOam至4pm所接收的位置而重新算存在区域,等等。可在系统中将在每一特性时间段中接收的位置分组为集合。可将这些位置以任何数据结构(例如,关系型数据库中的集合、清单、数组、数据记录等)储存于耦接至服务器的储存装置上。系统可基于所接收的位置集合的平均值来确定(304)与接入点105相关联的地理位置。该地理位置可包括如上所述的存在区域或存在空间。可通过(例如)接入点105的MAC地址使该存在区域或存在空间与接入点105相关联。在一些实施方式中,确定该地理位置可包括对所接收的位置集合应用多遍算法,其包括在每一遍中从该集合排除至少一个位置。确定该地理位置可包括周期性地应用该多遍算法。系统可基于各种因素(包括接入点105的流行度、地理位置的稳定性及接入点105的寿命)将接入点105及与接入点105相关联的地理位置指派(306)至地理网格(例如,地理网格100)上的小区(例如,小区102)。在一些实施方式中,接入点105的流行度可测量有多少移动设备108位于接入点105的通信范围内。可通过(例如)系统在一时间段中接收到位于接入点105的通信范围内的移动设备108的多少位置来测量接入点的流行度。若使用存在区域来估计位于接入点105的通信范围内的装置的位置,则与接入点105相关联的存在区域的稳定性可反映该存在区域有多可靠。可通过(例如)比较最后两次计算所计算出的存在区域及确定这些存在区域之间的重迭程度来测量与接入点105相关联的存在区域的稳定性。重迭程度愈高,存在区域愈稳定。接入点105的寿命可反映与接入点105相关联的数据的质量。举例而言,已处于数据库中达较长时间的接入点可比最近才添加的接入点可靠。可通过位置数据库中的数据的历史来测量接入点105的寿命。在一些实施方式中,也可使用数据的新鲜度来确定与接入点105相关联的存在区域是否将被指派至地理网格100的小区102。可通过系统多久之前从移动设备108接收到最新位置来测量数据的新鲜度。系统可基于流行度、稳定性、寿命及新鲜度来将位于地理网格100的小区102中的每一存在区域分级。可将位于小区102中的所有存在区域的至少一部分(例如,三个存在区域,包括与接入点105相关联的存在区域)指派至小区102。所指派的接入点及存在区域可用于定位位于接入点105的通信范围内的移动设备(例如,移动设备110)。未经指派的存在区域可储存于位置数据库中以供未来使用。系统可将与接入点105相关联的地理位置提供(308)至位于接入点105的通信范围内的第二移动设备(例如,移动设备110)。系统可进一步将位于同一小区中的其它地理位置以及与指派至邻近小区的接入点相关联的地理位置提供至第二移动设备。可按照请求或使用各种推播或广播技术将这些位置从接入点105传输至第二移动设备。在一些实施方式中,系统可接收、处理及传输三维位置信息。可将存在空间(例如,存在空间124)指派至地理三维网格(例如,三维网格120)上的三维小区(例如,三维小区122)。可按照请求或使用各种推播或广播技术将这些位置从接入点126传输至位于接入点126的通信范围内的第二移动设备。图3B为说明使用位置集合来计算平均地理位置的示例性程序304的流程图。为方便起见,将參考实施程序304的系统来描述程序304。系统可使用该集合中的位置来计算(324)平均地理位置。计算该平均地理位置可包括计算该集合中的位置的纬度、经度及海抜高度的平均值,及将位于计算出的平均纬度、经度及海抜高度的位置指定为该平均地理位置。在一些实施方式中,计算该平均地理位置可包括将该集合中的位置中的位于中间纬度、中间经度及中间海拔高度的位置指定为该平均地理位置。系统可计算(326)该集合中的位置与该平均地理位置之间的距离。在一些实施方式中,系统可计算在欧几里德空间中该集合中的位置中的每ー者与该平均地理位置之间的直线距离。在一些实施方式中,系统可计算该集合中的位置中的每ー者与该平均地理位置之间的测地距离(将地球的曲率考虑在内)。可将阶段326中计算出的距离指定为与中心相关联的半径。该中心可以是阶段324中计算出的平均地理位置,其可以是圆(例如,圆204a)的中心。可基于该位置集合中的位置与该平均地理位置之间的至少ー个距离来确定圆的半径。在一些实施方式中,半径可能等于该平均地理位置与该集合中剰余的位置之间的最长距离。在一些实施方式中,半径可以是当使用该半径且将该平均地理位置用作中心来绘制圆106d时,使该圆可包围该集合中剰余的某一百分比(例如,80%)的位置的距离。半径可表示误差边限,若超过该误差边限,则不具备GPS功能的移动设备的位置的估计在统计学上较不可能有意义。系统可基于平均位置与至少ー个位置之间的距离而从集合排除(328)该至少一个位置。在一些实施方式中,系统可排除与平均地理位置的距离超过阈值距离的位置。在多遍分析中的每一遍中,系统可通过排除看起来远离位置的集(例如,集群)中的位置来增加估计的平均地理位置的精确度。远离位置集群的位置可能对估计与接入点105相关联的存在区域的用处较小,且可被排除。在各种实施方式中,该阈值距离在各遍中可能变化。在一些实施方式中,该阈值距离可以是与平均地理位置的距离,该集合中特定百分比(例如,95%)的位置位于该距离内。在一些实施方式中,该阈值距离可以是对应于各遍的距离的集合(例如,对于第一遍为250米,对于第二遍为150米等)。当平均地理位置与至少ー个位置之间的距离超过该阈值距离时,系统可以从集合排除该至少ー个位置。系统可重复程序304的阶段324、326及328,直至满足退出条件为止。系统可确定(330)是否满足退出条件以便终止该重复。在一些实施方式中,当重复的数目达到阈值数目(例如,10次)时,可满足该退出条件。该阈值数目以及待排除的位置的百分比可被配置来精细调谐确定性(例如,较大存在区域可导致以下事实较为可信小区中的移动设备实际位于该存在区域中)与精确度(例如,较小存在区域可产生移动设备的较精确位置)之间的平衡。举例而言,当将百分比设定为95%且将遍数设定为10时,最后一遍可产生包围约60%所有位置数据点的圆。在一些实施方式中,当存在区域或存在空间足够小时,可满足阶段330的退出条件。在移动设备高度集中的小区中,存在区域可足够小以致于其它遍将未必增加精确度。当圆的半径达到阈值半径以下时,阶段324、326及328的重复可终止。举例而言,该阈值半径可以是8至10米。基于所接收集合中的位置的分布方式(例如,所接收位置数据点的数目、位置数据点的密度,及小区中的集中区域),该阈值半径各接入点间可能不同。系统可将地理区域指定(332)为以平均地理位置为中心且半径基于至少一个计算出的距离的圆。该地理区域可与接入点(例如,接入点105)相关联。服务器可将该地理区域(例如,中心及半径)提供至移动设备以用于计算该移动设备的当前位置。中心可以纬度及经度来表示。在于三维空间中计算距离的一些实施方式中,中心可进一步以海拔高度来表不。图3C为说明实施管理位置数据库的技术的示例性系统的方块图。系统可包括一个或多个处理器、储存指令的一个或多个存储器装置及其它硬件或软件组件。系统可包括位置引擎350,其可用以确定与接入点(例如,接入点105)相关联的存在区域或存在空间。位置引擎350可包括数据收集模块352,其可经由各种接入点从各种移动设备接收数据。该数据可包括多个数据点,这些数据点可指示一个或多个了解位置的移动设备(例如,移动设备108)的位置以及接入点的标识符(例如,接入点105的MAC地址),接入点的标识符指示移动设备108连接至哪一接入点。在一些实施方式中,这些数据点也可包括关于移动设备108位于哪一时区的信息。数据收集模块352可包括可接收从移动设备108传输的数据的数据接收模块354,及数据索引模块356。数据索引模块356可对所接收的数据点执行各种处理。举例而言,数据索引模块356可基于小区ID而将纬度、经度及海拔高度分类。数据索引模块356也可基于时间段而将数据分组为若干集合。举例而言,可针对可配置时间段(例如,六个小时)产生所接收位置的新集合。移动设备108的所接收位置的集合可储存于数据点数据库360中。数据点数据库360可储存各种移动设备108的当前及历史位置。数据点数据库360可包括特用(ad-hoc)数据库、关系型数据库、面向对象的数据库。数据点数据库360可相对于位置引擎350装载于本地或远程。位置计算模块364可用以进行以下操作计算数据点数据库中的数据点集合中的平均地理位置,计算该平均地理位置与各种数据点的位置之间的距离,及从这些集合排除若干位置而不用于进一步计算。位置计算模块364可针对特定集合(例如,与小区ID相关联的数据点集合)执行计算,直至达到该特定集合的退出条件为止。位置计算模块364可确定每一接入点(例如,接入点105)的存在区域或存在空间。在一些实施方式中,位置计算模块464可使用有效性检查器366基于各种准则及数据点中的各种数据来对存在区域或存在空间执行有效性检查。举例而言,从移动设备108接收的数据点可包括移动国家代码(MCC)及时区信息。有效性检查器366可比较计算出的存在区域或存在空间与对应于MCC所表示的国家的多边形及对应于时区的多边形。若计算出的存在区域或存在空间位于这些多边形外部,则有效性检查器366可记录异常且移除该接入点。位置过滤引擎368可确定存在区域或存在空间是否可用以估计当前位于接入点的通信范围内的移动设备的位置。位置过滤引擎368可将地理区域划分为地理网格100的小区102,或三维网格120的三维小区122。位置过滤引擎368可基于流行度、稳定性、寿命及新鮮度来将存在区域或存在空间分级。位置过滤引擎368可将位于每ー小区102或三维小区122中的顶级存在区域或存在空间指派至小区102或三维小区。可由具有位置集合的平均纬度、经度及海抜高度坐标的中心来界定存在区域及存在空间。可进ー步由基于从位置集合中的位置至该中心的距离所确定的半径来界定存在区域及存在空间。存在区域及存在空间的中心的纬度、经度及海抜高度坐标以及存在区域及存在空间的半径可储存于位置数据库372中。位置数据库372可储存经指派及未经指派的存在区域及存在空间。在后续计算中可通过位置计算模块364指派未经指派的存在区域或存在空间。可通过位置计算模块364周期性地更新位置数据库372。可使用数据分布模块376将位置数据库372的数据分布至移动设备。数据分布模块376可按照请求经由广播或在未接收来自移动设备的请求的情况下使用各种推播技木,来将与接入点相关联的经指派的存在区域及存在空间的信息(例如,中心坐标及半径)发送至移动设备(例如,不具备GPS功能的移动设备110)。在一些实施方式中,数据分布模块376可在一个传输工作阶段中将多个存在区域及存在空间发送至移动设备。为减少可能消耗移动设备的通信频宽的至移动设备的位置传输的数目,数据分布模块376可使用邻近者定位器378来定位邻近于移动设备110所处小区的小区。邻近小区可包括(例如)围绕移动设备110所处的小区的若干小区,使得该小区及这些周围小区的总面积涵盖特定地理区域(例如,I或2平方公里)。当移动设备110跨多个小区而移动吋,将关于与多个小区(例如,400个小区)相关联的存在区域及存在空间的信息发送至移动设备110可減少传输的数目。在此类实施方式中,当移动设备110移动出先前所发送的所有小区时,数据分布模块376仅需要将更新发送至移动设备110。使用位置数据库来确定移动设备的位置的示例性程序图4A说明使用无线接入点的位置来确定移动设备的位置的技木。移动设备400可以是可使用无线接入点的位置来确定其位置的示例性移动设备。说明通信网络的包括接入点400的示例性部分。移动设备400可位于接入点404a的通信范围内。移动设备400可以从接入点404a接收数据,该数据包括关于邻接近入点的存在区域或存在空间(包括存在区域406)的信息。移动设备400可将所接收的数据储存于位置数据库中。位置数据库可装载于移动设备400的储存装置上。可周期性地或按照请求更新所储存的数据。在所示实例中,移动设备400位于接入点400a的通信范围内。另外,移动设备400处于接入点404b、404c及404d的通信范围内。移动设备400可依据WLAN中所使用的无线通信协议(例如,IEEE802.11a)来识别接入点404a、404b、404c及404d。可通过接入点的MAC地址或其它标识符(例如,BluetoothTM标识符)来识别接入点404a、404b、404c及404d。移动设备400可识别分别与接入点404a至404d相关联的存在区域406a、406b、406c及406d。识别存在区域406a至406d可包括从耦接至移动设备400的存储器装置取得关于存在区域406a至406d的信息。在一些实施方式中,移动设备400可通过向服务器发送接入点404a至404d的标识符而向该服务器请求这些存在区域406a至406d。基于存在区域406a至406d,移动设备400可对存在区域406a至406d执行迭代过程(例如,多遍分析)。该迭代过程可产生地理区域402,地理区域402可以是移动设备400的当前地理位置的估计。当利用三维位置信息时,地理区域402可以是地理空间。移动设备400可在显示装置上(例如,在地图显示器上)显示估计的当前位置。图4B为说明使用位置数据库来确定移动设备的位置的示例性程序410的流程图。为方便起见,将参考实施程序410的移动设备400来描述程序410。移动设备400可识别(412)当前接入点,移动设备400位于该当前接入点的通信范围内。移动设备400可使用该当前接入点来确定是否请求装载于移动设备400上的位置数据库的更新。装载于移动设备400上的位置数据库可包括先前下载至移动设备400的接入点的记录。装载于移动设备400上的位置数据库中的记录可包括接入点的标识符(例如,MAC地址)及相应的位置(例如,纬度/经度坐标)。在阶段412,移动设备400可确定当前接入点是否包括于位置数据库的记录中。移动设备可使用当前接入点的标识符(例如,MAC地址)来执行位置数据库的查找,移动设备400位于该当前接入点的通信范围内。若当前接入点包括于位置数据库的记录中,则移动设备可确定该位置数据库为最新的。若当前接入点未包括于位置数据库的记录中,则移动设备400可确定该位置数据库需要更新。移动设备400可使用当前接入点的标识符向服务器请求(414)移动设备400的位置数据库的更新。可使用新的接入点的新的标识符及位置来再新位置数据库中的记录(包括接入点的标识符及位置)。移动设备400可将当前接入点的标识符发送至服务器。服务器可将小区识别为地理网格中的中心小区。中心小区可以是包括与至该服务器的当前接入点的标识符相关联的位置的小区,且将该小区中及邻近小区中的所有接入点位置发送至移动设备400。服务器可将该中心小区用作起点来定位邻近小区。虽然中心小区可以是包括中心小区及邻近小区的小区群组的锚点(anchor),但不要求中心小区位于该小区群组的准确地理中心。举例而言,中心小区可以是位于滨海地带的小区,其中所有邻近小区可位于中心小区的一侧。移动设备400可接收(416)与第二接入点相关联的第二位置集合。这些第二接入点可分布于该中心小区及在地理网格上邻近该中心小区的各小区中。与当前接入点相关联的位置(例如,圆形区域的中心)可位于中心小区中。邻近小区可以是在地理网格上位于邻接或最接近该中心小区之处的小区。邻近小区的数目的值使得中心小区及邻近小区可涵盖预定地理区域(例如,I.5平方公里)。当与接入点相关联的位置处于中心小区及邻近小区所涵盖的该地理区域内时,可在更新中包括接入点的标识符及与接入点相关联的位置。在该当前接入点未包括于位置数据库的记录中时更新移动设备400上的位置的示例性优势在于当移动设备400在各小区间移动时,直至移动设备400移动出与单一接入点的涵盖区域相比而言较大的区域,才需要更新。因此,可避免频繁更新,从而节省移动设备400(例如,频宽、CPU循环、电池功率)及服务器(例如,当装置在各街区间移动时,服务器无需发送频繁更新至大量移动设备)两者的资源。移动设备400可使用所接收的位置集合及接入点的标识符来更新(418)装载于移动设备400上的位置数据库。该更新可使移动设备400在中心小区及邻近小区所涵盖的地理区域内“居中”。直至移动设备400从中心小区移动至这些邻近小区中的一者所未涵盖的小区,移动设备400可能才需要请求另一更新。举例而言,若每一小区为大致50米乘50米,且预定地理区域为I.5平方公里,则每一更新可增添大致600个小区至移动设备400的位置数据库中。直至移动设备移动出该600个小区所涵盖的区域,移动设备400可能才需要请求另一更新。移动设备400可使用装载于移动设备400上的位置数据库来计算(420)移动设备400的当前位置。可使用由移动设备400执行的自适应多遍程序来执行该计算。下文将关于图4C来描述该多遍程序的进ー步细节。尽管其它因素(例如,来自各个接入点的信号强度)可能辅助对当前位置的计算,但在该计算中不需要这些因素。移动设备400可视情况在移动设备400的地图显示装置上显示(422)移动设备400的当前位置。下文将关于图5进ー步详细描述当前位置的实例显示。图4C为说明确定移动设备的位置的示例性自适应多遍程序430的流程图。为方便起见,将參考实施程序430的移动设备400来描述程序430。移动设备400可接收(432)无线通信网络(例如,WLAN)的接入点(例如,接入点404)的标识符。接入点可位于移动设备400的通信范围内。标识符无需与移动设备400所连接至或可连接到的接入点相关联。举例而言,在特定位置,移动设备400可处于3至20个接入点之间的通信范围内。移动设备400可能能够连接至这些接入点中的仅两者(归因于例如接入点及移动设备400的安全性设定)。移动设备400可主动连接至该两个接入点中的仅ー者,或根本不连接至接入点。然而,可在计算中使用由移动设备400接收的这些接入点的所有标识符。移动设备400可以从移动设备400的数据库识别(433)与接入点相关联的位置集合。该位置集合可对应于与接入点相关联的存在区域406或存在空间。每ー位置可由地理坐标(例如,纬度、经度及海抜高度)表示。每ー位置可与接入点404的标识符(例如,MAC地址)相关联。移动设备400可使用数据库查找来识别这些位置。移动设备400可使用该集合中的位置来计算(434)平均地理位置。计算该平均地理位置可包括计算该集合中的位置的纬度、经度及海抜高度的平均值,及将位于计算出的平均纬度、经度及海抜高度的位置指定为该平均地理位置。在一些实施方式中,计算该平均地理位置可包括将该集合中的位置中的位于中间纬度、中间经度及中间海拔高度的位置指定为该平均地理位置。移动设备400可计算(436)该集合中的位置与该平均地理位置之间的距离。在一些实施方式中,系统可计算在欧几里德空间中该集合中的位置中的每ー者与该平均地理位置之间的直线距离。在一些实施方式中,系统可计算该集合中的位置中的每ー者与该平均地理位置之间的测地距离(将地球的曲率考虑在内)。可将阶段436中计算出的距离指定为与中心相关联的半径。该中心可以是阶段434中计算出的平均地理位置,其可以是圆(例如,围绕地理区域402的圆)的中心。可基于该位置集合中的位置与该平均地理位置之间的至少ー个距离来确定圆的半径。在ー些实施方式中,半径可能等于该平均地理位置与该集合中剰余的位置之间的最长距离。在ー些实施方式中,半径可以是当使用该半径且将该平均地理位置用作中心来绘制圆时,使该圆可包围该集合中剰余的某一百分比(例如,80%)的位置的距离。该半径可表示误差边限,若超过该误差边限,则不具备GPS功能的移动设备的位置的估计在统计学上较不可能有意义。移动设备400可基于平均位置与至少ー个位置之间的距离而从集合排除(438)该至少一个位置。在一些实施方式中,系统可排除与平均地理位置的距离超过阈值距离的位置。在多遍分析中的每一遍中,系统可通过排除看起来远离位置的集(例如,集群)中的位置来增加估计的平均地理位置的精确度。远离位置集群的位置可能对估计移动设备400的当前位置的用处较小,且可被排除。在各种实施方式中,该阈值距离在各遍中可能变化。举例而言,该阈值距离可以是对应于各遍的距离的集合(例如,对于第一遍为50米,对于第二遍为30米等)。当平均地理位置与至少一个位置之间的距离超过该阈值距离时,系统可以从集合排除该至少一个位置。在一些实施方式中,移动设备400可确定待排除的位置的阈值百分比。该阈值百分比可具有预先规定值(例如,5%)。在每一遍中,移动设备400可排除该阈值百分比的位于离该平均地理位置最远之处的位置。移动设备400可重复程序430的阶段434、436及438,直至满足退出条件为止。系统可确定(440)是否满足退出条件以便终止该重复。在一些实施方式中,当重复的数目达到阈值数目(例如,5次)时,可满足退出条件。该阈值数目可与最初所接收的集合中的位置的数目相关。该阈值数目以及待排除的位置的百分比可被配置来精细调谐确定性(例如,较大存在区域可导致以下事实较为可信小区中的移动设备实际位于该存在区域中)与精确度(例如,较小存在区域可产生移动设备的较精确位置)之间的平衡。举例而言,当将百分比设定为95%且将遍数设定为10时,最后一遍可产生包围约60%所有位置数据点的圆。在一些实施方式中,当存在区域或存在空间足够小时,可满足阶段330的退出条件。在接入点404高度集中的区域中,估计的当前位置可包括足够小以致于其它遍将未必增加精确度的区域。当圆的半径达到阈值半径以下时,阶段434、436及438的重复可终止。举例而言,该阈值半径可以是8至10米。该阈值半径可基于存在区域406的半径。在一些实施方式中,若存在区域406的一些半径足够小,则该阈值半径可能较小,以便反应对估计的置信度。移动设备400可使用以平均地理位置为中心且具有基于至少一个计算出的距离的半径的圆来指定(442)移动设备400的当前位置。中心可以纬度及经度来表示。在于三维空间中计算距离的一些实施方式中,中心可进一步以海拔高度来表示。在一些实施方式中,移动设备可进一步在显示装置上在地图使用者接口上显示当前位置。下文将参考图5来描述示例性地图使用者接口。用于确定移动设备的位置的示例性使用者接口图5说明使用无线接入点的位置来确定移动设备的位置的示例性使用者接口。图5中,地理区域的实例地图502显示于移动设备500上。在一些实施方式中,移动设备500可在移动设备500的触摸感应式显示器530上显示地图502。当使用者选择地图对象来检视基于地图绘制及位置的服务时,可显示地图502。在一些实施方式中,可通过语音启动来选择诸如地图对象的对象。可在地图502的顶部显示搜索条(searchbar)504及书签清单对象506。在地图底部下方,可显示一个或多个显示对象,例如搜索对象508、方向对象510、地图检视对象512及当前位置对象514。搜索条504可用以在地图上寻找地址或其它位置。举例而言,使用者可在搜索条504中键入其家庭地址,且含有该地址的区域将显示于地图502上。书签清单对象506可(例如)呈现出含有频繁访问的地址(诸如使用者的家庭地址)的书签清单。该书签清单也可(例如)含有诸如当前位置(例如,移动设备500的当前位置)的特殊书签。搜索对象508可用以显示搜索条504及其它地图相关搜索选单。方向对象510可(例如)呈现出允许使用者键入开始及结束位置的选单接ロ。该接ロ可接着显示信息(例如,从开始位置至结束位置的路线的方向及行进时间)。地图检视对象512可呈现出将允许使用者选择地图502的显示选项的选単。举例而言,可将地图502从黑白改变为彩色,可改变地图的背景,或使用者可改变地图的亮度。当前位置对象514可允许使用者看见地图502上的地理区域516,其指示装置500当前位于何处。地理区域516可对应于估计的地理区域(例如,地理区域402),其中心为与处于移动设备500的通信范围内的接入点相关联的数据点的平均地理位置。可基于该平均地理位置与关联于这些接入点的ー个或多个位置之间的距离来确定地理区域516的半径。当选择当前位置对象514时,可将特殊当前位置书签置于书签清单中。若该特殊当前位置书签先前已设定于书签清单中,则可(例如)用新的当前位置信息替换旧的书签信息。在一些实施方式中,该特殊当前位置书签取决于地理区域516的质心。即,该特殊当前位置书签可包括地理区域516的质心的坐标。地理区域516可基于使用储存于移动设备500的存储器装置中的位置指令所确定或估计的位置数据。可(例如)通过具有十字交叉线的圆、矩形、方形、六边形或其它封闭区域或一些其它独特组件来描绘地理区域516,以区分地理区域516与地图502。在一些实施方式中,地理区域516可指示移动设备500经确定或估计所处的区域,且该地理区域可能未必以移动设备500的实际当前位置为中心。在此实例中,移动设备500可以偏离中心的方式位于该地理区域内。在另ー实例中,地理区域516可能以移动设备500的估计的当前位置为中心。当触按或以其它方式选择当前位置对象514时,移动设备500可(例如)使地图视图以地理区域516为中心。在一些实施方式中,可基于位置数据或提供该位置数据的技术、系统或服务的准确度或精确度来调整地图的缩放程度。举例而言,当移动设备500不能接收GPS信号(因准确度较低)且使用接入点数据来确定其位置时,可縮小地图。若移动设备500能够使用GPS位置来确定其当前位置,则可放大地图以获得较高准确度。在ー些实施方式中,缩放程度可基于移动设备500的速度(例如,可在较高速度时缩小地图,且在移动设备500未移动时放大地图)。也可使用准确度或精确度与速度的组合。若用于撷取基于位置的数据的所有方法失败(例如,当移动设备500不处于任何接入点的通信范围内时,或当有效性检查器366确定没有存在区域可关联于移动设备500可连接到的任何接入点时),且没有其它系统或服务可用于确定或估计移动设备500的当前位置,则可能向使用者显示错误且在地图502上不显示地理区域。该错误可(例如)含有送至使用者的讯息,该讯息通知使用者该失败及该失败的可能原因。可选择当前位置对象514(例如)以进行以下操作启动对地理区域516的估计及在地图502上的显示;获得至或从该估计的当前位置(即,地理区域516的质心)的方向;将移动设备500的该估计的当前位置发送至朋友(例如,使得朋友可去往该位置);或产生该估计的当前位置的书签。示例性系统架构图6为用于实施參考图I至图5所描述的特征及操作的示例性系统架构600的方块图。其它架构(包括具有更多或更少组件的架构)为可能的。在一些实施方式中,架构600包括一个或多个处理器602(例如,双核心丨ntel.Xeon处理器)、一个或多个输出装置604(例如,IXD)、一个或多个网络接口606、一个或多个输入装置608(例如,鼠标、键盘、触摸感应式显示器)以及一个或多个计算机可读介质612(例如,RAM、ROM、SDRAM、硬盘、光盘、闪存等)。此等组件可在一个或多个通信频道610(例如,总线)上交换通信及数据,该一个或多个通信频道610可利用各种硬件及软件来促进数据及控制信号在组件之间的传送。术语“计算机可读介质”指代参与提供指令至处理器602以供执行的任何介质,包括(但不限于)非易失性介质(例如,光盘或磁盘)、易失性介质(例如,存储器)及传输介质。传输介质包括(但不限于)同轴电缆、铜线及光纤。如参考图I至图5所描述,计算机可读介质612可进一步包括操作系统614(例如,MacOS服务器、WindowsNT服务器)、网络通信模块616、数据库接口620、数据收集模块630、数据分布模块640及位置计算模块650。操作系统614可以是多使用者操作系统、多处理操作系统、多任务操作系统、多执行绪操作系统、实时操作系统等。操作系统614执行基本任务,包括但不限于辨识来自装置606、608的输入且将输出提供至装置606、608;保持追踪及管理计算机可读介质612(例如,存储器或储存装置)上的文件及目录;控制周边装置;及管理一个或多个通信频道610上的流量。网络通信模块616包括用于建立及维持网络连接的各种组件(例如,用于实施诸如TCP/IP、HTTP等的通信协议的软件)。数据库接口620可包括至文件系统上的一个或多个数据库(例如,数据点数据库360及位置数据库372)的接口。可按照阶层式数据夹结构来组织这些数据库,且数据夹映像至文件系统中的目录。数据收集模块630可包括用于从多个移动设备收集数据的组件,该多个移动设备经由接入点或经由其它通信频道(例如,蜂窝式网络)无线地连接至系统600。数据分布模块640可执行各种功能以便将与无线通信网络的接入点相关联的位置数据传输至计算装置,包括移动设备108及110。位置计算模块650可包括用于对从移动设备108接收的位置执行多遍分析的一个或多个组件。架构600可包括于能够装载数据库应用程序的任何装置中。架构600可实施于并行处理或同级间基础结构中或实施于具有一个或多个处理器的单一装置上。软件可包括多个软件组件或可以是程序代码的单一体。所述特征可有利地实施于可在可程序化系统上执行的一个或多个计算机程序中,该可程序化系统包括至少一个可程序化处理器,其经耦接以从数据储存系统接收数据及指令且将数据及指令传输至该数据储存系统;至少一个输入装置;至少一个输出装置。计算机程序是可在计算机中直接或间接地用来执行特定动作或造成特定结果的指令集。可以包括编译语言或解译语言的程序设计语言(例如,Objective-C,Java)的任何形式来撰写计算机程序,且可以任何形式来部署计算机程序,包括部署为独立程序或部署为模块、组件、子程序、基于浏览器的网络应用程序,或适合在计算环境中使用的其它单元。以实例说明,用于执行指令程序的合适处理器包括通用及专用微处理器两者,及任何种类的计算机的唯一处理器或多个处理器或核心中的一者。一般而言,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的基本组件为用于执行指令的处理器及用于储存指令及数据的一个或多个存储器。一般而言,计算机也将包括用于储存数据文件的ー个或多个大容量储存装置或经操作性地耦接以与该ー个或多个大容量储存装置通信;此等装置包括磁盘,诸如内部硬盘及抽取式盘片;磁光盘;及光盘。适合于有形地体现计算机程序指令及数据的储存装置包括所有形式的非易失性存储器,以实例说明,非易失性存储器包括半导体存储器装置,诸如EPROM、EEPROM及闪存装置;磁盘,诸如内部硬盘及抽取式盘片;磁光盘;及⑶-ROM及DVD-ROM盘片。处理器及存储器可由ASIC(专用集成电路)补充或并入于ASIC中。为提供与使用者的互动,可将这些特征实施于计算机上,该计算机具有用于向使用者显示信息的显示装置(诸如,CRT(阴极射线管)或LCD(液晶显示器)监视器),及使用者可藉以将输入提供至计算机的键盘及指点装置(诸如,鼠标或轨迹球)。可将这些特征实施于计算机系统中,该计算机系统包括诸如数据服务器的后端组件,或包括诸如应用程序服务器或因特网服务器的中间软件组件,或包括诸如具有图形使用者接ロ或因特网浏览器的客户端计算机的前端组件,或其任何组合。可通过任何形式的数字数据通信或任何数字数据通信介质(诸如,通信网络)连接该系统的这些组件。通信网络的实例包括(例如)LAN、WAN,及形成因特网的计算机及网络。计算机系统可包括客户端及服务器。客户端与服务器通常彼此远离且通常经由网络而互动。客户端与服务器的关系根据在各别计算机上执行且彼此具有客户端-服务器关系的多个计算机程序而产生。示例性移动设备架构图7为移动设备的示例性架构700的方块图。移动设备可以是(例如)手持型计算机、个人数字助理、蜂窝式电话、电子平板(electronictablet)、网络设备、相机、智能电话、增强式通用分组无线电服务(EGPRS)移动电话、网络基站、媒体播放器、导航装置、电子邮件装置、游戏控制台,或此等数据处理装置或其它数据处理装置中的任何两者或两者以上的组合。移动设备可包括存储器接ロ702、ー个或多个数据处理器、多个影像处理器及/或中央处理单元704及周边接ロ706。该存储器接ロ702、该ー个或多个处理器704及/或该周边接ロ706可以是独立组件或可整合于ー个或多个整合电路中。可通过ー个或多个通信总线或信号线来耦接移动设备100中的各种组件。传感器、装置及子系统可耦接至周边接ロ706以促进多个功能性。举例而言,运动传感器710、光传感器712及接近传感器714可耦接至周边接ロ706以促进移动设备的定向、照明及接近功能。位置处理器715(例如,GPS接收器)可连接至周边接ロ706以提供地理定位(geopositioning)。电子磁力计716(例如,集成电路芯片)也可连接至周边接ロ706以提供可用来确定磁北方向的数据。相机子系统720及光学传感器722(例如,电荷耦合器件(CXD)或互补金属氧化物半导体(CMOS)光学传感器)可用以促进相机功能,诸如记录照片及视频剪辑。可经由ー个或多个无线通信子系统724来促进通信功能,该ー个或多个无线通信子系统724可包括射频接收器及发射器及/或光学(例如,红外线)接收器及发射器。通信子系统724的具体设计及实施可取决于移动设备意欲在上面操作的通信网络。举例而言,移动设备可包括经设计以在GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络及蓝芽网络上操作的通信子系统724。尤其是,无线通信子系统724可包括宿主协议(hostingprotocol),使得该装置可配置成用于其它无线装置的基站。音频子系统726可耦接至扬声器728及麦克风730以促进语音启用式功能,诸如语音辨识、语音复制、数字记录及电话功能。I/O子系统740可包括触控屏幕控制器742及/或其它输入控制器744。触控屏幕控制器742可耦接至触控屏幕746或触控板。触控屏幕746及触控屏幕控制器742可(例如)使用复数种触摸感应式技术(包括但不限于电容、电阻、红外线及表面声波技术)中的任一者以及用于确定与触控屏幕746的一个或多个接触点的其它接近传感器数组或其它组件来检测其接触及移动或中断。其它输入控制器744可耦接至其它输入/控制装置748,诸如一个或多个按钮、摇臂开关、拇指旋轮、红外端口、USB端口及/或诸如触控笔的指点装置。该一个或多个按钮(未图标)可包括用于扬声器728及/或麦克风730的音量控制的升/降按钮。在一种实施方式中,按压该按钮达第一持续时间可解除触控屏幕746的锁;及按压该按钮达比该第一持续时间长的第二持续时间可接通或断开移动设备的电力。使用者可能能够从订这些按钮中的一者或多者的功能性。触控屏幕746也可(例如)用来实施虚拟或软按钮及/或键盘。在一些实施方式中,移动设备可呈现所记录的音频及/或视频文件,诸如MP3、AAC及MPEG文件。在一些实施方式中,移动设备可包括MP3播放器(诸如iPodTM)的功能性。因此,移动设备可包括与iPod兼容的插脚连接器。也可使用其它输入/输出及控制装置。存储器接口702可耦接至存储器750。存储器750可包括高速随机存取存储器及/或非易失性存储器,诸如一个或多个磁盘储存装置、一个或多个光学储存装置及/或闪存(例如,NAND,N0R)。存储器750可储存操作系统752,诸如Darwin、RTXC,LINUX、UNIX、OSX、WINDOWS或嵌入式操作系统(诸如VxWorks)。操作系统752可包括用于处置基本系统服务及用于执行硬件相依任务的指令。在一些实施方式中,操作系统752可包括核心(例如,UNIX核心)。存储器750也可储存用以促进与一个或多个附加装置、一个或多个计算机及/或一个或多个服务器的通信的通信指令754。存储器750可包括用以促进图形使用者接口处理的图形使用者接口指令756;用以促进与传感器相关的处理及功能的传感器处理指令758;用以促进与电话相关的程序及功能的电话指令760;用以促进与电子讯息传递(messaging)相关的程序及功能的电子讯息传递指令762;用以促进与网络浏览相关的程序及功能的网络浏览指令764;用以促进与媒体处理相关的程序及功能的媒体处理指令766;用以促进与GPS及导航相关的程序及指令的GPS/导航指令768;用以促进与相机相关的程序及功能的相机指令770;用以促进磁力计校准的磁力计数据772及校准指令774。存储器750可包括位置指令776,这些位置指令776可用以将当前位置传输至接入点,且基于与接入点相关联的位置数据来确定估计的当前位置,该移动设备处于这些接入点的通信范围内。存储器750也可储存用以促进与网络视频相关的程序及功能的其它软件指令(未示出)(诸如安全性指令、网络视频指令),及/或用以促进与网络购物相关的程序及功能的网络购物指令。在一些实施方式中,将媒体处理指令766划分为分别用以促进与音频处理相关的程序及功能以及与视频处理相关的程序及功能的音频处理指令及视频处理指令。也可将启动记录及国际移动设备识别码(MEI)或类似硬件标识符储存于存储器750中。以上所识别的指令及应用程序中的每ー者可对应于用于执行上文所描述的ー个或多个功能的指令集。无需将此等指令实施为独立的软件程序、程序或模块。存储器750可包括更多指令或更少指令。此外,移动设备的各种功能可以硬件及/或软件来实施,包括以ー个或多个信号处理及/或专用集成电路来实施。已描述本发明的若干实施方式。然而,将理解可在不脱离本发明的精神及范畴的情况下进行各种修改。举例而言,可将了解位置的装置称为具备GPS功能的装置。了解位置的移动设备也可基于三角測量或其它技木。在诸图中将小区的形状大体上表示为矩形。小区的实际形状可变化。将位置描述为“圆”。本说明书中所使用的术语“圆”可包括任何几何形状(例如,椭圆形、方形、凸多边形或凹多边形、或自由式形状),其无需完全为圆形,而是闭合的或具有封闭体的外观。并非完全为圆形的几何形状的半径可包括该几何形状的边界上的各个点与该几何形状的中心之间的平均距离。将WiFi及WiMax网络用作实例。也可使用其它无线技术(例如,蜂窝式网络)。因此,其它实施方式也在权利要求的范围内。权利要求1.一种由移动设备执行的计算机实施方法,包括识别当前接入点,该移动设备位于所述当前接入点的通信范围内;使用所述当前接入点的标识符向服务器请求该移动设备的位置数据库的更新,该位置数据库储存有与第一接入点相关联的第一位置;接收与第二接入点相关联的第二位置集合,这些第二位置分布于地理网格的中心小区及与该地理网格的该中心小区相邻的小区中,所述当前接入点对应于该中心小区内的位置,该中心小区及与该中心小区相邻的小区覆盖了预定地理区域;使用所接收的位置集合来更新该位置数据库;及使用该位置数据库来计算该移动设备的当前位置。2.如权利要求I所述的方法,其中,使用该位置数据库来计算该移动设备的当前位置的步骤包括(a)接收处于该移动设备的通信范围内的接入点的标识符;(b)从该移动设备的该位置数据库识别与这些接入点相关联的第三位置集合;(C)使用该第三位置集合来计算平均地理位置;(d)计算该平均地理位置与该集合中的第三位置之间的距离;(e)基于该平均地理位置与至少一个第三位置之间的距离而从该集合排除所述至少一个第三位置;(f)重复步骤(C)、(d)及(e),直到满足退出条件为止'及(g)使用下述的圆来指定该移动设备的当前位置所述的圆以该平均地理位置为中心,并且半径基于至少一个计算出的距离。3.如权利要求2所述的方法,其中,从该集合排除所述至少一个第三位置的步骤包括确定所要排除的第三位置的阈值百分比;及排除该阈值百分比的第三位置,这些第三位置位于离该平均地理位置最远之处。4.如权利要求2所述的方法,其中,当重复数目达到阈值数目时,满足该退出条件。5.如权利要求2所述的方法,其中,当该圆的半径达到阈值半径以下时,满足该退出条件。6.如权利要求2所述的方法,其中,该集合中的第三位置中的每一者包括纬度、经度及海拔高度。7.如权利要求I所述的方法,还包括在该移动设备的地图显示器上显示该移动设备的当前位置。8.如权利要求I所述的方法,其中,这些接入点的标识符包括这些接入点的媒体存取控制(MAC)地址。9.一种系统,包括移动设备,其被配置来执行操作,这些操作包括识别当前接入点,该移动设备位于所述当前接入点的通信范围内;使用所述当前接入点的标识符向服务器请求该移动设备的位置数据库的更新,该位置数据库储存有与第一接入点相关联的第一位置;接收与第二接入点相关联的第二位置集合,这些第二位置分布于地理网格的中心小区及与该地理网格的该中心小区相邻的小区中,所述当前接入点对应于该中心小区内的位置,该中心小区及与该中心小区相邻的小区覆盖了预定地理区域;使用所接收的位置集合来更新该位置数据库;及使用该位置数据库来计算该移动设备的当前位置。10.如权利要求9所述的系统,其中,使用该位置数据库来计算该移动设备的当前位置的操作包含(a)接收处于该移动设备的通信范围内的接入点的标识符;(b)从该移动设备的该位置数据库识别与这些接入点相关联的第三位置集合;(C)使用该第三位置集合来计算平均地理位置;(d)计算该平均地理位置与该集合中的第三位置之间的距离;(e)基于该平均地理位置与至少ー个第三位置之间的距离而从该集合排除所述至少一个第三位置;(f)重复步骤(C)、(d)及(e),直到满足退出条件为止'及(g)使用下述的圆来指定该移动设备的当前位置所述的圆以该平均地理位置为中心,并且半径基于至少ー个计算出的距离。11.如权利要求10所述的系统,其中,从该集合排除所述至少ー个第三位置的操作包括确定所要排除的第三位置的阈值百分比;及排除该阈值百分比的第三位置,这些第三位置位于离该平均地理位置最远之处。12.如权利要求10所述的系统,其中,当重复数目达到阈值数目吋,满足该退出条件。13.如权利要求10所述的系统,其中,当该圆的半径达到阈值半径以下吋,满足该退出条件。14.如权利要求10所述的系统,其中,该集合中的第三位置中的每ー者包括纬度、经度及海拔高度。15.如权利要求9所述的系统,所述操作还包括在该移动设备的地图显示器上显示该移动设备的当前位置。16.如权利要求9所述的系统,其中,这些接入点的标识符包括这些接入点的媒体存取控制(MAC)地址。17.一种计算机程序产品,其有形地储存于储存装置上,可操作以使移动设备执行操作,这些操作包括识别当前接入点,该移动设备位于所述当前接入点的通信范围内;使用所述当前接入点的标识符向服务器请求该移动设备的位置数据库的更新,该位置数据库储存有与第一接入点相关联的第一位置;接收与第二接入点相关联的第二位置集合,这些第二位置分布于地理网格的中心小区及与该地理网格的该中心小区相邻的小区中,所述当前接入点对应于该中心小区内的位置,该中心小区及与该中心小区相邻的小区覆盖了预定地理区域;使用所接收的位置集合来更新该位置数据库;及使用该位置数据库来计算该移动设备的当前位置。18.如权利要求17所述的产品,其中,使用该位置数据库来计算该移动设备的当前位置的操作包括(a)接收处于该移动设备的通信范围内的接入点的标识符;(b)从该移动设备的该位置数据库识别与这些接入点相关联的第三位置集合;(C)使用该第三位置集合来计算平均地理位置;(d)计算该平均地理位置与该集合中的第三位置之间的距离;(e)基于该平均地理位置与至少一个第三位置之间的距离而从该集合排除所述至少一个第三位置;(f)重复步骤(C)、(d)及(e),直到满足退出条件为止'及(g)使用下述的圆来指定该移动设备的当前位置所述的圆以该平均地理位置为中心,并且半径基于至少一个计算出的距离。19.如权利要求18所述的产品,其中,从该集合排除所述至少一个第三位置的操作包括确定所要排除的第三位置的阈值百分比;及排除该阈值百分比的第三位置,这些第三位置位于离该平均地理位置最远之处。20.如权利要求18所述的产品,其中,当重复数目达到阈值数目时,满足该退出条件。21.如权利要求18所述的产品,其中,当该圆的半径达到阈值半径以下时,满足该退出条件。22.如权利要求18所述的产品,其中,该集合中的第三位置中的每一者包括纬度、经度及海拔高度。23.如权利要求17所述的产品,所述操作还包括在该移动设备的地图显示器上显示该移动设备的当前位置。24.如权利要求17所述的产品,其中,这些接入点的标识符包括这些接入点的媒体存取控制(MAC)地址。全文摘要本发明描述一种用于使用位置数据库来确定移动设备的位置的方法、程序产品及系统。该移动设备可装载该位置数据库,该位置数据库可储存与接入点相关联的位置。这些位置可分布于地理网格的小区群组中。当该移动设备移动且连接至与该小区群组外部的位置相关联的接入点时,该移动设备可请求该位置数据库的更新。该移动设备可使用处于该移动设备的通信范围内的当前接入点来计算该移动设备的当前位置,这是通过使用这些当前接入点的标识符在该位置数据库中执行查找而完成的。该移动设备可使用该位置数据库中对应于这些当前接入点的位置来计算这些当前位置。文档编号G06F17/30GK102804184SQ201180014333公开日2012年11月28日申请日期2011年1月13日优先权日2010年1月15日发明者罗纳德·K·黄申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1