一种用于移动计算设备的方法及移动计算设备 |
|||||||
申请号 | CN201180056660.6 | 申请日 | 2011-09-29 | 公开(公告)号 | CN103222319B | 公开(公告)日 | 2016-08-10 |
申请人 | 高通股份有限公司; | 发明人 | A.达纳尼; N.斯里瓦斯塔瓦; N.库马; J.保尔森; T.方; | ||||
摘要 | 一种移动计算设备(10)包括无线收发机(120)和处理 电路 (101)。所述处理电路(101)被配置为针对预定 位置 存储数据集,所述数据集包括位置数据和位置名称。所述处理电路(101)被进一步配置为:将当前位置与所述位置数据进行比较;在基于启发式数据计算出的时刻处将更新后的位置与所述位置数据进行比较;以及基于所述移动计算设备(10)到达所述预 定位 置处或附近来生成通知消息。 | ||||||
权利要求 | 1.一种移动计算设备(10),包括: |
||||||
说明书全文 | 一种用于移动计算设备的方法及移动计算设备[0001] 相关申请的交叉引用 [0002] 本申请是于2009年8月27日提交的序列号为12/549,249的美国申请的部分继续申请,该美国申请以其全部内容通过引用并入本文。本申请是于2010年8月31日提交的序列号为12/872,703的美国申请的部分继续申请,该美国申请以其全部内容通过引用并入本文。 背景技术[0005] 图1是根据示例性实施例的移动计算设备的透视图。 [0006] 图2是根据示例性实施例的伸展配置中的图1的移动计算设备的正视图。 [0007] 图3是根据示例性实施例的伸展配置中的图1的移动计算设备的后视图。 [0008] 图4是根据示例性实施例的伸展配置中的图1的移动计算设备的侧视图。 [0009] 图5是根据示例性实施例的图1的移动计算设备的框图。 [0011] 图7是根据示例性实施例的位置跟踪或轮询的系统和方法的流程图。 [0012] 图8是根据示例性实施例的图7的流程图的更详细流程图。 具体实施方式[0013] 本文描述的一些实施例可以使用启发式数据来确定何时检验移动计算设备是否处于预定目的地。本文描述的一些实施例可以确定移动计算设备何时将到达一位置的概率。本文描述的一些实施例可以在不过度消耗电池的情况下(诸如,在用户不移动时的时间期间)捕获移动计算设备在一位置处的到达或离开。 [0014] 参照图1-4,示出了移动设备10。本文的教导可以适用于设备10或其他电子设备(例如,台式计算机)、移动计算设备(例如,膝上型计算机)或手持计算设备,诸如个人数字助理(PDA)、智能电话、移动电话、个人导航设备等。根据一个实施例,设备10可以是智能电话,智能电话是具有PDA功能的组合移动电话和手持计算机。PDA功能可以包括个人信息管理(例如,包括诸如电子邮件、日程表、联系人等的个人数据应用)、数据库功能、文字处理、电子表格、语音备忘录记录、全球定位系统(GPS)功能等中的一个或多个。设备10可以被配置为将来自这些应用的个人信息与计算机(例如台式、膝上型、服务器等)进行同步。设备10可以被进一步配置为例如经由有线或无线下载、安全数字卡等来接收和操作在制造后被提供给设备10的附加应用。 [0015] 如图1-4中所示,设备10包括外壳12和前部14和背部16。设备10进一步包括显示器18和用户输入设备20(例如QWERTY键盘、按钮、触摸屏、话音识别引擎等)。显示器18可以包括触摸屏显示器,以将用户输入提供给处理电路101(参见图4),以便控制功能,诸如,以选择在显示器18上显示的选项、将文本输入录入至设备10或录入其他类型的输入。显示器18还提供所显示的图像(参见例如图5),并可以由设备10的用户观看。用户输入设备20可以提供与触摸屏显示器18的输入类似的输入。输入按钮40可以被提供在前部14上并可以被配置为执行预编程的功能。设备10可以进一步包括扬声器26、用于辅助用户在显示器18上进行选择的触笔(未示出)、摄像机28、摄像机闪光灯32、麦克风34和耳机36。显示器18可以包括电容性触摸屏、互电容触摸屏、自电容触摸屏、电阻性触摸屏、使用摄像机和灯的触摸屏(诸如,表面多触摸屏)、接近传感器或其他触摸屏技术等。显示器18可以被配置为同时接收来自显示器18上的多个位置处的手指触摸的输入。显示器18可以被配置为接收手指刷或其他方向输入,该手指刷或其他方向输入可以被处理电路解释为控制与单个触摸输入不同的特定功能。此外,手势区域30可以被提供为与显示器18相邻(例如其下方、其上方、其一侧等)或者被结合到显示器18中,以接收各种手势作为输入,这些手势包括轻敲、刷、拖拽、轻弹、捏掐等。可以提供一个或多个指示器区域38(例如灯等),以指示已经从用户接收到手势。 [0016] 根据示例性实施例,外壳12被配置为使屏幕(诸如,显示器18)保持处于在基本上平行或相同的平面中的用户输入设备(诸如用户输入设备20)上方的固定关系。在固定实施例中,该固定关系排除了屏幕与用户输入设备(例如,多个按键)之间的铰链式或可移动关系。 [0017] 设备10可以是手持计算机,手持计算机是足够小以在用户的手中携带的计算机,其包括诸如典型移动电话和个人数字助理之类的设备,但不包括典型膝上型计算机和平板PC。如下所述的设备10的各种输入设备和其他组件可以位于设备10上的任何位置(例如图2中所示的前表面、图3中所示的后表面、如图4中所示的侧表面等)。此外,各种组件(诸如键盘等)可以是可缩回的,以便从设备10的沿设备10的侧中的任一侧等显露的部分滑入和滑出。例如,如图2-4中所示,前部14可以相对于背部16可滑动地调整,以显露输入设备20,使得在缩回配置(参见图1)中,输入设备20不可见,而在伸展配置(参见图2-4)中,输入设备20可见。 [0018] 根据各个示例性实施例,外壳12可以是任何大小、形状的并具有多种长度、宽度、厚度和体积尺寸。例如,宽度13可以是不超过约200毫米(mm)、100 mm、85 mm或65 mm,或者可替换地,至少约30 mm、50 mm或55 mm。长度15可以是不超过约200 mm、150 mm、135 mm或125 mm,或者可替换地,至少约70 mm或100 mm。厚度17可以是不超过约150 mm、50 mm、25 mm或15 mm,或者可替换地,至少约10 mm、15 mm或50 mm。外壳12的体积可以是不超过约 2500立方厘米(cc)或1500 cc,或者可替换地,至少约1000 cc或600 cc。 [0019] 设备10可以根据不同类型的蜂窝无线电电话系统来提供语音通信功能。蜂窝无线电电话系统的示例可以包括码分多址(CDMA)蜂窝无线电电话通信系统、全球移动通信系统(GSM)蜂窝无线电电话系统等。 [0020] 除语音通信功能外,设备10还可以被配置为根据不同类型的蜂窝无线电电话系统来提供数据通信功能。供应数据通信服务的蜂窝无线电电话系统的示例可以包括GSM与通用分组无线电服务(GPRS)系统(GSM/GPRS)、CDMA/1xRTT系统、增强型数据速率全球演进(EDGE)系统、仅数据演进或演进数据优化(EV-DO)系统、长期演进(LTE)系统等。 [0021] 设备10可以被配置为根据不同类型的无线网络系统来提供语音和/或数据通信功能。无线网络系统的示例可以进一步包括无线局域网(WLAN)系统、无线城域网(WMAN)系统、无线广域网(WWAN)系统等等。供应数据通信服务的合适的无线网络系统的示例可以包括电气和电子工程师学会(IEEE)802.xx协议系列,诸如IEEE 802.11a/b/g/n标准协议和变体系列(也被称作“WiFi”)、IEEE 802.16标准协议和变体系列(也被称作“WiMAX”)、IEEE 802.20标准协议和变体系列等等。 [0022] 设备10可以被配置为根据不同类型的更短程无线系统(诸如,无线个域网(PAN)系统)来执行数据通信。供应数据通信服务的合适的无线PAN系统的一个示例可以包括根据蓝牙特别兴趣组(SIG)协议系列进行操作的蓝牙系统,该协议系列包括蓝牙规范版本v1.0、v1.1、v1.2、v2.0、具有增强型数据速率(EDR)的v2.0以及一个或多个蓝牙简档等等。 [0023] 如图5的实施例中所示,设备10可以包括处理电路,该处理电路具有包括主机处理器102和无线电处理器104(例如,基带处理器)的双处理器或多处理器架构。主机处理器102和无线电处理器104可以是有区别的、分离的或不同的芯片、集成电路封装、部件或组件。主机处理器102和无线电处理器104可以被配置为使用接口106(诸如一个或多个通用串行总线(USB)接口、微USB接口、通用异步接收机-发射机(UART)接口、通用输入/输出(GPIO)接口、控制/状态线、控制/数据线、共享存储器等等)来与彼此通信。可替换地,处理电路可以包括一个处理器、多于两个处理器、和/或被配置为或被编程为如本文关于各个实施例所描述的那样进行操作的其他模拟和/或数字电路组件。 [0024] 主机处理器102可以负责执行各种软件程序(诸如,应用程序和系统程序),以针对设备10提供计算和处理操作。无线电处理器104可以负责针对设备10执行各种语音和数据通信操作,诸如通过一个或多个无线通信信道来发射和接收语音和数据信息。尽管出于示意的目的可以将双处理器架构的实施例描述为包括主机处理器102和无线电处理器104,但是设备10的双处理器架构可以包括附加处理器,可以被实现为具有作为在单个芯片上制造的有区别的处理组件的主机处理器102和无线电处理器104这两者的双核或多核芯片等等。 [0025] 在各个实施例中,可以使用任何合适的处理器或算法器件(诸如通用处理器)将主机处理器102实现为主机中央处理单元(CPU)。在可替换实施例中,主机处理器102可以包括或者被实现为芯片多处理器(CMP)、专用处理器、嵌入式处理器、媒体处理器、输入/输出(I/O)处理器、协处理器、现场可编程门阵列(FPGA)、可编程算法器件(PLD)或者其他处理设备。在示例性实施例中,主机处理器102是由Texas Instruments, Inc.制造的OMAP2,诸如OMAP2431处理器。 [0026] 主机处理器102可以被配置为将处理或计算资源提供给设备10。例如,主机处理器102可以负责执行各种软件程序(诸如应用程序和系统程序),以针对设备10提供计算和处理操作。应用程序的示例可以包括例如电话应用、语音邮件应用、电子邮件应用、即时消息(IM)应用、短消息服务(SMS)应用、多媒体消息服务(MMS)应用、网页浏览器应用、个人信息管理器(PIM)应用、联系人管理应用、日程表应用、调度应用、任务管理应用、文字处理应用、电子表格应用、数据库应用、视频播放器应用、音频播放器应用、多媒体播放器应用、数码摄像机应用、视频摄像机应用、媒体管理应用、游戏应用等等。应用软件可以提供图形用户界面(GUI)以在设备10与用户之间传送信息。 [0027] 系统程序辅助计算机系统的运行。系统程序可以直接负责控制、集成和管理计算机系统的各个硬件组件。系统程序的示例可以包括例如操作系统(OS)、设备驱动器、编程工具、实用程序、软件库、应用编程接口(API)、图形用户界面(GUI)等等。设备10可以根据所描述的实施例来利用任何合适的OS,诸如Palm WebOS、Palm OS.RTM.、Palm OS.RTM. Cobalt、Microsoft.RTM. Windows OS、Microsoft Windows.RTM. CE、Microsoft Pocket PC、Microsoft Mobile、Symbian OS.TM.、Embedix OS、Linux、无线(BREW)OS的二进制运行时环境、JavaOS、无线应用协议(WAP)OS等等。 [0028] 设备10可以包括与主机处理器102耦合的存储器108。在各个实施例中,存储器108可以被配置为存储一个或多个软件程序以由主机处理器102执行。存储器108可以使用能够存储数据的任何机器可读或计算机可读介质(诸如易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等等)加以实现。机器可读存储介质的示例可以包括但不限于随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存(例如,NOR或NAND闪存)、或者适于存储信息的任何其他类型的介质。 [0029] 尽管出于示意的目的可以将存储器108示作与主机处理器102分离,但是在各个实施例中,可以在与主机处理器102相同的集成电路上包括一些部分或整个存储器108。可替换地,一些部分或整个存储器108可以被布置在主机处理器102的集成电路外部的集成电路或其他介质(例如,硬盘驱动器)上。在各个实施例中,例如,设备10可以包括用于支撑多媒体和/或存储卡的扩充槽。 [0030] 设备10可以包括与主机处理器102耦合的用户输入设备110。用户输入设备110可以包括例如QWERTY按键布局和集成数字拨号盘。设备10还可以包括各种按键、按钮和开关,诸如例如输入键、预置和可编程热键、左和右动作按钮、导航按钮(诸如多方向导航按钮)、电话/发送和功率/结束按钮、预置和可编程快捷按钮、音量摇臂开关、具有振动模式的铃声开启/关闭开关、键区、字母数字键区等等。 [0031] 主机处理器102可以被耦合至显示器112。显示器112可以包括用于将内容显示给设备10的用户的任何合适的视觉界面。例如,显示器112可以由液晶显示器(LCD)(诸如触摸敏感彩色(例如,16比特彩色)薄膜晶体管(TFT)LCD屏幕)实现。在一些实施例中,可以将触摸敏感LCD与触笔和/或手写识别器程序一起使用。 [0032] 设备10可以包括与主机处理器102耦合的输入/输出(I/O)接口114。I/O接口114可以包括一个或多个I/O设备,诸如串联连接端口、红外端口、集成蓝牙.RTM.无线能力和/或集成802.11x(WiFi)无线能力,以实现与本地计算机系统(诸如本地个人计算机(PC))的有线(例如,USB线缆)和/或无线连接。在各个实施方式中,设备10可以被配置为传送信息和/或将信息与本地计算机系统进行同步。 [0033] 主机处理器102可以被耦合至支持设备10的音频/视频(A/V)能力的各种A/V设备116。A/V设备116的示例可以包括例如麦克风、一个或多个扬声器、用于连接音频头戴式耳机的音频端口、音频编码器/解码器(编解码器)、音频播放器、数码摄像机、视频摄像机、视频编解码器、视频播放器等等。 [0034] 主机处理器102可以被耦合至电源118,电源118被配置为将功率供给至设备10的元件并管理至设备10的元件的功率。在各个实施例中,电源118可以由用于提供直流电(DC)功率的可再充电电池(诸如可移除且可再充电的锂离子电池)和/或用于从标准交流电(AC)主电源汲取功率的AC适配器实现。 [0035] 如上所述,无线电处理器104可以针对设备10执行语音和/或数据通信操作。例如,无线电处理器104可以被配置为通过无线通信信道的一个或多个所指派的频带来传送语音信息和/或数据信息。在各个实施例中,无线电处理器104可以被实现为使用任何合适的处理器或算法器件的通信处理器,诸如调制解调器处理器或基带处理器。尽管可以通过示例在无线电处理器104被实现为调制解调器处理器或基带处理器的情况下描述一些实施例,但是可以认识到,这些实施例在该上下文中不受限制。例如,根据所描述的实施例,无线电处理器104可以包括或者被实现为数字信号处理器(DSP)、媒体接入控制(MAC)处理器或任何其他类型的通信处理器。无线电处理器104可以是由Qualcomm, Inc.或其他制造商制造的多种调制解调器中的任一种。 [0036] 在各个实施例中,无线电处理器104可以针对设备10执行模拟和/或数字基带操作。例如,无线电处理器104可以执行数模转换(DAC)、模数转换(ADC)、调制、解调、编码、解码、加密、解密等等。 [0037] 设备10可以包括与无线电处理器104耦合的收发机模块120。收发机模块120可以包括被配置为执行下述操作的一个或多个收发机:使用不同类型的无线接入点、使用不同协议、通信范围、操作功率要求、RF子带、信息类型(例如,语音或数据)、使用情形、应用等等进行通信。在各个实施例中,收发机模块120可以包括被配置为执行下述操作的一个或多个收发机:支持用于蜂窝无线电电话系统(诸如GSM、UMTS、CDMA和/或LTE系统)的语音通信。收发机模块120还可以包括被配置为执行下述操作的一个或多个收发机:根据一个或多个无线通信协议(诸如WWAN协议(例如,GSM/GPRS协议、CDMA/1xRTT协议、EDGE协议、EV-DO协议、EV-DV协议、HSDPA协议等)、WLAN协议(例如,IEEE 802.11a/b/g/n、IEEE 802.16、IEEE 802.20等)、PAN协议、红外协议、蓝牙协议、包括无源或有源RFID协议的EMI协议等等)来执行数据通信。 [0038] 收发机模块120可以使用如对于给定实现而言期望的一个或多个芯片加以实现。尽管出于示意的目的可以将收发机模块120示作与无线电处理器104分离且处于无线电处理器104外部,但是在各个实施例中,可以在与无线电处理器104相同的集成电路上包括一些部分或整个收发机模块120。 [0039] 设备10可以包括用于发射和/或接收电信号的天线系统122。如所示,可以通过收发机模块120将天线系统122耦合至无线电处理器104。天线系统122可以包括或者被实现为一个或多个内部天线和/或外部天线。 [0040] 设备10可以包括与无线电处理器104耦合的存储器124。存储器124可以使用能够存储数据的一种或多种类型的机器可读或计算机可读介质(诸如易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等)加以实现。存储器124可以包括例如闪存和安全数字(SD)RAM。尽管出于示意的目的可以将存储器124示作与无线电处理器104分离且处于无线电处理器104外部,但是在各个实施例中,可以在与无线电处理器104相同的集成电路上包括一些部分或整个存储器124。 [0041] 设备10可以包括与无线电处理器104耦合的订户标识模块(SIM)126。SIM 126可以包括例如可移除或不可移除智能卡,该可移除或不可移除智能卡被配置为对语音和数据传输进行加密并存储用户专用数据,以允许语音或数据通信网络标识和认证用户。SIM 126还可以存储对用户而言专用的诸如个人设置之类的数据。 [0042] 设备10可以包括与无线电处理器104耦合的I/O接口128。I/O接口128可以包括用于实现设备10与一个或多个外部计算机系统之间的有线(例如串行、线缆等)和/或无线(例如WiFi、短程等)通信的一个或多个I/O设备。 [0043] 在各个实施例中,设备10可以包括位置或定位确定能力。设备10可以采用一种或多种位置确定技术,该位置确定技术包括例如全球定位系统(GPS)技术、小区全局标识(CGI)技术、包括定时提前(TA)的CGI技术、增强型前向链路三边测量(EFLT)技术、到达时间差(TDOA)技术、到达角(AOA)技术、高级前向链路三边测量(AFLT)技术、观察到达时间差(OTDOA)、增强型观察时间差(EOTD)技术、辅助GPS(AGPS)技术、混合技术(例如,对于CDMA网络而言,GPS/CGI、AGPS/CGI、GPS/AFTL或AGPS/AFTL;对于GSM/GPRS网络而言,GPS/EOTD或AGPS/EOTD;对于UMTS网络而言,GPS/OTDOA或AGPS/OTDOA)等。 [0044] 设备10可以被配置为在一个或多个位置确定模式中操作,该位置确定模式包括例如独立模式、移动台(MS)辅助的模式和/或基于MS的模式。在独立模式(诸如独立GPS模式)中,设备10可以被配置为在不从网络接收无线导航数据的情况下确定其位置,尽管其可以接收特定类型的定位辅助数据,诸如历书、星历表和粗数据。在独立模式中,设备10可以包括局部位置确定电路134(例如,GPS接收机),局部位置确定电路134可以被集成在外壳12(图1)内,其被配置为经由天线135来接收卫星数据并计算完成定位(position fix)。可替换地,局部位置确定电路可以包括与外壳12分离但处于设备10附近且被配置为与设备10无线地(例如,经由PAN,诸如蓝牙)通信的第二外壳中的GPS接收机。然而,当在MS辅助的模式或基于MS的模式中操作时,设备10可以被配置为通过无线电接入网130(例如,UMTS无线电接入网)来与远程计算机132(例如位置确定实体(PDE)、位置代理服务器(LPS)和/或移动定位中心(MPC)等)通信。在可替换实施例中,远程计算机132可以包括用于多种功能(例如,共享、可扩缩计算资源(诸如云计算环境)或者一个或多个其他服务器计算机)中的任一种的任何服务器计算机。 [0045] 在MS辅助的模式(诸如MS辅助的AGPS模式)中,远程计算机132可以被配置为确定移动计算设备的位置并提供包括完成定位的无线数据。在基于MS的模式(诸如基于MS的AGPS模式)中,设备10可以被配置为使用来自远程计算机132的获取数据或其他无线数据来确定其位置。可以周期性地提供获取数据。在各个实施方式中,设备10和远程计算机132可以被配置为在CDMA无线电电话系统中根据诸如用于MS辅助和基于MS的会话的TIA/EIA标准IS-801消息协议之类的合适MS-PDE协议(例如,MS-LPS或MS-MPC协议)来进行通信。 [0046] 在各个实施例中,设备10可以包括专用硬件电路或结构或者利用代码编程的专用硬件的组合,以支持位置确定。例如,收发机模块120和天线系统122可以包括与无线电处理器104耦合的GPS接收机或收发机硬件和一个或多个关联天线,以支持位置确定。 [0047] 主机处理器102可以包括和/或实现至少一个LBS(基于位置的服务)应用。一般地,LBS应用可以包括由被配置为传送位置请求(例如,针对完成定位的请求)和位置响应的主机处理器102(诸如GPS应用)执行的任何类型的客户端应用。根据所描述的实施例,LBS应用的示例包括但不限于无线911紧急服务、路边援助、资产跟踪、车队管理、朋友和家庭定位器服务、约会服务和导航服务,这些服务可以给用户提供地图、方向、路线、交通更新、公共交通调度、与诸如饭店、宾馆、地标和娱乐场所之类的局部兴趣点(POI)有关的信息、以及其他类型的LBS服务。 [0048] LBS应用可以被配置为响应于接收到来自设备10或来自设备10外部的源的输入来发送位置请求。例如,设备10的用户可以与数据输入设备进行交互,以命令LBS应用发送位置请求。LBS应用还可以响应于接收到来自试图对设备10的用户进行定位的外部网络单元或计算设备的输入来发送位置请求。在一些情况下,LBS应用还可以被配置为自动地、周期性地和/或自主地发送位置请求。 [0049] 尽管其他应用可以在不考虑设备10的位置的情况下进行操作,但是在各个实施例中,LBS应用可以请求和接收位置信息,以增强其他应用中的一个或多个的功能。例如,可以结合消息收发应用来提供位置信息,以对消息的发送者或接收者进行定位。可以将位置信息提供给网页浏览器应用,以生成到与特定网站相关联的位置的方向。可以将定位信息提供给个人管理应用,以生成基于位置的警报和/或到会面地点的方向。 [0050] 无线电处理器104可以被配置为从主机处理器102上的LBS API处理机接收位置请求,并可以将位置响应转发至LBS API处理机,以通过LBS API传递至LBS应用。无线电处理器104可以被配置为通过网络与远程计算机132(例如,PDE、LPS或MPC)安全地通信,远程计算机132被配置为提供认证和授权服务和/或多种地理服务。例如,无线电处理器104可以被配置为与PDE进行通信,该PDE被配置为验证位置请求的隐私,允许对位置服务器的被授权接入,并提供各种位置服务器服务。无线电处理器104还可以被配置为与PDE进行通信,以请求和接收地理服务信息。地理服务信息的示例可以包括测绘信息、路线信息、用于地址和坐标的地理编码和反向地理编码信息、POI信息等等。 [0051] 无线电处理器104可以被配置为通过对位置引擎进行配置并请求完成定位来调用完成定位。例如,无线电处理器104上的位置引擎接口可以设置对位置确定过程进行控制的配置参数。配置参数的示例可以包括但不限于位置确定模块(例如,独立、MS辅助、基于MS)、完成定位的实际或估计数目(例如,单个完成定位、系列完成定位、不具有完成定位的请求位置辅助数据)、完成定位之间的时间间隔、服务质量(QoS)值、优化参数(例如,针对速度、精度或有效载荷加以优化)、PDE地址(例如,LPS或MPC的IP地址和端口号)等。 [0052] 无线电处理器104还可以设置请求/响应参数以请求和返回各种类型的位置信息。请求/响应参数的示例可以包括当前位置、纬度、经度、海拔、航向、诸如水平和垂直速度之类的向量信息、基于地段的定位位置、完成定位方法、精度级别、时间偏移、位置不确定性、设备定向、客户端初始化和注册等等。 [0053] 无线电处理器104可以包括或实现诸如GPS引擎之类的位置引擎。在各个实施例中,位置引擎可以被配置为针对设备10提供位置确定能力。在一些实施例中,位置引擎可以被实现为结合允许设备10接收和处理用于位置确定的GPS卫星信号的硬件(例如,GPS接收机硬件)进行操作的软件。在一个实施例中,位置引擎可以被实现为QUALCOMM.RTM. gpsOne.RTM.引擎。 [0054] 在各个实施方式中,位置引擎可以采用一种或多种位置确定技术,诸如GPS、CGI、CGI+TA、EFLT、TDOA、AOA、AFLT、OTDOA、EOTD、AGPS、GPS/AGPS、混合技术等等。位置引擎还可以被配置为在包括独立模式、MS辅助的模式和基于MS的模式的一个或多个位置确定模式中操作。由位置引擎生成和/或获得的所确定的位置信息一般可以包括与设备10的位置相关联的任何类型的信息。位置信息的示例可以包括但不限于当前位置、纬度、经度、海拔、航向信息、诸如水平和垂直速度之类的向量信息、基于地段的定位位置、完成定位信息、位置不确定性、设备定向等等。 [0055] 在各个实施例中,可以结合需要确定设备10的位置的多种应用来使用设备10。可以利用各种导航和测绘应用将各种类型的数据和信息提供给用户,该数据和信息包括驾驶方向、地图信息、兴趣点(POI)信息等。一个这样的应用可以是家庭或朋友/同伴连接应用,其可以被配置为确定移动设备到达或离开预定位置或目的地(例如家、工作、学校、朋友的家、购物中心等),以及生成消息并将该消息发送至一个或多个其他计算设备以向这些其他设备通知第一设备已到达或离开。该应用可以被配置为针对家庭或同伴列表中的一个或多个其他人存储消息地址(例如文本、语音或MMS消息的电话号码、电子邮件地址等),并进一步存储将触发消息的生成和消息向该一个或多个其他人的计算设备或在线账户(例如,社交网络账户,诸如Facebook账户、电子邮件账户、即时消息账户等)的发送的一个或多个位置。这种应用使用来自位置确定电路134的周期性位置数据来进行操作,以确定该设备何时已经到达预定位置处或附近或者离开预定位置。 [0056] 位置确定电路或系统(诸如,位置确定电路134(参见图5))可以在持续、进行中的基础上以标准速率或周期(例如每秒、每秒两次等)周期性地或连续地确定或跟踪(例如获得、请求或确定完成定位、更新位置等)设备10的位置。然而,典型地,以这种方式利用位置确定系统需要显著的功率。如果设备依赖于诸如电池之类的功率源(例如,如在采用典型移动电话、智能电话和其他移动设备的情况下),则由于位置确定系统的功率要求,可以显著地减少设备的可用使用时间。 [0057] 现在参照图6,将描述在向目的地的行进期间禁用连续位置跟踪的方法的流程图。所描述的操作可在移动设备10、远程服务器132(例如,共享、可扩缩计算资源(诸如云计算环境)或者一个或多个其他服务器计算机)上操作,或者部分地可在设备10和远程服务器 132这两者上操作。可以按任何顺序、在与执行其他操作相同的时刻处等等执行图6中描述的操作。在各个实施例中,这些操作中的一个或多个操作可以是与这些操作中的其他操作分开实现的。 [0058] 在框600处,处理电路101被配置为确定或识别位置,诸如一个或多个目的地(包括路标点)或其他感兴趣的位置。目的地可以包括位置数据(诸如纬度/经度和/或海拔数据)或者使用其他坐标或参考系的数据(诸如无线接入点标识符),并可以进一步包括文本或字母数字目的地名称。处理电路101可以被配置为从用户(例如,经由用户输入设备)、从在电路101上操作的一个或多个应用(诸如朋友发现器应用、被配置为在家庭成员之间共享位置数据的家庭连接应用、或者其他朋友或同伴列表)、从与互联网耦合的远程服务器(例如从社交网站、导航或测绘系统等)、或者从其他源接收一个或多个位置。在一个实施例中,处理电路101可以被配置为操作不同的软件应用或服务,该软件应用或服务被配置为在接收到位置时注册或存储这些位置,并保留多个这种位置。 [0059] 在框610处,电路101被配置为计算所估计出的到目的地的时间。可以使用本地或远程路线计算算法(诸如由GoogleMaps、由Google, Inc., Mountain View, Calif.提供的算法)进行该计算。所估计出的到目的地的时间可以考虑多种因素,诸如交通、道路建筑工程、来自先前已行经部分或全部路线的设备10或其他设备的历史数据等。在框612处,电路101被配置为例如通过以下操作来检测设备10已经开始向目的地移动:启用连续地生成位置数据的位置跟踪电路,并确定所跟踪的位置何时已改变大于预定距离。如果设备10尚未开始移动,则该算法返回以处理其他功能(框614)。 [0060] 在框616处,禁用连续位置跟踪。禁用步骤可以在电路101确定设备10已开始移动或者已开始向目的地或沿在框610中计算出的路线移动时或在其后较短时间发生。对连续位置跟踪的禁用可以是关闭GPS跟踪功能,这可以节约位置确定电路134所消耗的功率。如果GPS跟踪功能已经关闭,则对连续位置跟踪的禁用可以简单地保持GPS跟踪功能关闭。 [0061] 在框617处,电路101被配置为计算延迟时间,该延迟时间将表示在启用GPS跟踪之前将禁用GPS跟踪的时间段。在一个实施例中,该延迟时间可以被设置为近似等于所估计出的到目的地的时间。在可替换实施例中,该延迟时间可以小于或大于所估计出的到目的地的时间。例如,该延迟时间可以被设置为所估计出的到目的地的时间的分数(例如7/8、3/4、1/2等),以允许实际行进时间相对于所计算出的所估计出的到目的地的时间的变化。 [0062] 在框618处,电路101被配置为确定所估计出的时间是否已到期。如果否,则该算法返回以处理其他功能(框620)。如果是,则启用或重新启用连续位置跟踪(框622)。如果设备10尚未处于目的地处或附近,则可以重复该过程。 [0063] 为了确定设备10是否处于目的地处或附近,将设备10的当前位置与目的地位置进行比较。例如,可以将由无线电处理器104检测到的当前蜂窝基站ID与同目的地相关联的蜂窝基站ID进行比较。作为另一示例,可以将由位置确定电路134生成的纬度/经度与目的地位置的纬度/经度进行比较,以确定这两个值是否处于彼此的预定距离内(例如小于约10米、小于约100米、小于约1英里等)。如果识别出匹配,则生成通知消息(例如,通过创建文本消息、即时消息、短消息服务(SMS)消息、超文本标记语言(HTML)消息、电话呼叫、电子邮件消息、寻呼消息、或者其他消息或警报)。然后,设备10可以被配置为通过无线通信链路来发送该消息。 [0064] 根据一个示例性实施例,电路101可以被配置为操作家庭连接应用、朋友发现器应用、或者被配置为在多个移动设备之间共享位置数据的其他应用。在该实施例中,电路101可以被配置为响应于确定该设备处于目的地处或附近,生成无线消息,将该无线消息选址至另一计算设备,和/或使用无线收发机120将该无线消息传输至该另一计算设备。例如,家长可能希望知道其孩子何时正在靠近学校、朋友的家、公园或孩子的其他预期目的地。设备10可以由孩子携带并可以被配置为存储与该目的地相关联的位置。当设备10进入该目的地的范围内时,将消息从设备10发送至家长的设备(例如家庭计算机、膝上型电脑、移动设备等)。 [0065] 图6的算法可以用于作为目的地的一个示例的路标点,或者用于路线的出口、转弯、交叉口或其他特征。例如,如果设备10处于高速公路上并且依照所计算出的路线的出口不会在30分钟内出现,则设备10可以在约30分钟内关闭连续位置跟踪,并保持一些电池寿命。 [0066] 根据另一实施例,处理电路101可以被配置为操作不同的软件应用或服务,该软件应用或服务被配置为在接收到位置时注册或存储这些位置,并将多个这种位置保留在存储器中。不同应用(服务、主机处理器或调制解调器处理器上的内部处理等)可以向不同的软件应用注册其所感兴趣的位置。电路101可以被配置为操作不同的应用,以周期性地监视用户的当前位置并计算到达由这些应用注册的所有位置所需的时间。然后,该服务将设置将在所计算出的最短持续时间之前的预定时间到期的定时器。当该预定时间到期时,该服务将检验用户的当前位置,并且如果该当前位置接近于所注册的位置中的任一个,则该服务将开启GPS跟踪。当GPS跟踪确定用户已到达该位置时,可以关闭跟踪,该服务可以将消息发送至注册了该位置的应用,并且然后,注册了该位置的应用可以对数据采取进一步动作,诸如针对该用户或针对其他用户生成消息、警报等。 [0067] 现在参照图7,将描述位置跟踪或轮询的系统和方法的流程图。一个示例性的基于位置的应用是被配置为执行以下操作的应用:当移动设备处于感兴趣的特定位置(诸如杂货店、电子商店、自助洗衣店等)附近时,发送通知或提醒。另一示例性的基于位置的应用是被配置为执行以下操作的应用:确定移动设备何时处于目的地或其他感兴趣的位置处或附近;以及向另一计算设备发送向该另一计算设备通知第一计算设备已到达目的地的消息。在这些或其他基于位置的应用中,可以使用连续位置轮询或跟踪,但是该轮询消耗能量。动态轮询可以基于设备10移动的速度以及所预期的位置与当前位置之间的距离。例如,如果用户距所预期的位置50英里,则设备10可以每20分钟进行轮询。如果设备10知道速度,则可以甚至更多地校准该持续时间。当用户距位置10英里时,可以减少用于轮询的周期时间至5分钟。在5分钟之后,可以将时间减少至1分钟等等。 [0068] 图7示出了表示可在处理电路上操作的算法的多个框。框710包括GPS轮询循环710、无线接入点轮询循环720和无线接入点存储算法730。GPS轮询循环710被配置为使用一种或多种基于GPS的位置确定技术来跟踪或轮询设备10在其移动时的位置。轮询循环710可以预测设备10何时将到达预定位置,并禁用或延迟连续位置计算直到设备10被期望处于预定位置附近为止。无线接入点轮询循环720被配置为监视或轮询无线接入点(诸如蜂窝基站和wi-fi路由器)的标识符,以确定移动设备是否已到达预定位置。循环710和720可以同时、一起、并行和/或在相同时刻处操作,并可以例如基于来自在设备10上操作的另一应用的请求、基于来自用户的请求、基于设备已开始移动的确定、基于已存储并要监视一个或多个预定位置的确定、和/或基于其他事件来在相同时刻处开始。在框712处,循环710和720可以至少部分地基于确定设备10已到达预定位置处或附近的循环710和720之一来停止其处理操作中的一些或所有处理操作。在框714处,可以执行期望动作,诸如生成通知消息并将其发送至在设备10上操作的应用、发送至在远程服务器上操作的应用、或者通过无线网络发送至另一计算设备,诸如朋友或家庭计算设备。 [0069] 循环730被配置为在到达预定位置之后存储无线接入点信息。该信息的存储可以改进循环720的进一步操作。 [0070] 现在参照图8,将描述图7的流程图的更详细流程图。在框811处,设备10的处理电路101被配置为确定或建立当前位置,这可以使用本文描述的定位技术中的任一种而进行。在框813处,电路101被配置为从设备10上存储的数据库或者远程地确定一个或多个最接近的位置或兴趣点。可以通过从用户输入设备接收输入数据、通过从在可经由互联网接入的服务器计算机上操作的应用接收输入数据、根据从在设备10上操作的其他应用接收到的数据等等,利用预定位置来填充数据库。预定位置可以进一步包括这些位置处、附近、邻近或者以其他方式与这些位置相关联的一个或多个无线接入点的标识符(例如,蜂窝基站ID、wi-fi路由器ID等)。可以通过生成从来自框811的当前位置至数据库中的兴趣点中的每一个的距离、按最短距离进行排序并选择最短距离来计算来自数据库的最接近兴趣点。 [0071] 在框815处,确定设备10的速度,这可以根据两个或多个完成定位除以这些完成定位之间的时间加以计算,完成定位可以是连续点。在框817处,可以基于所确定的速度来计算所估计出或所预测出的到达时间或到所选择的兴趣点的行进时间(其可以在出行的过程中被重复多次)。此外,可以基于所期望的行进时间来计算延迟时间。该延迟时间可以等于所期望的行进时间,或者可以小于所期望的行进时间(例如行进时间的90%、行进时间的80%等),以允许行进速度、所期望的停止、所错过的转弯等的改变或变化。 [0072] 可以在步骤811、813、815、817或819之前或之后的任何点处禁用连续位置跟踪,以节省电池功率。例如,典型地,连续GPS跟踪或轮询大约每秒至每几秒进行。可以禁用该连续跟踪,使得代之以在比每几秒大得多的所计算出的时间(诸如多分钟或更长)下进行下一GPS位置计算,并且优选地,可以计算下一GPS位置计算的时间,而不是周期性的。在框819处,如果所确定的轮询时间已经过去,则在框821处,电路101被配置为计算新完成定位,并确定设备10是否处于感兴趣的位置的预定距离内。如果否,则处理返回至框811。如果是,则处理继续至框812。可以基于一个或多个准则(诸如由用户选择的预置距离、如制造商设计的系统、或者企业IT管理器、兴趣点的大小、兴趣点或新位置周围的人口密度、兴趣点或新位置的区域中的wi-fi接入点ID、蜂窝塔所覆盖的距离、兴趣点的类型(例如学校、办公室自助洗衣店、咖啡屋、机场等)等)来确定该预定距离。 [0073] 参照循环820,在框823处,应用可以被编程为订阅无线接入点ID改变。以这种方式,当存在新小区或wi-fi ID被诸如无线电处理器104检测到时,将通知应用。这可以以多种方式实现。例如,设备10可以操作运行收集算法的轮询过程,该收集算法将在周期性的基础上检验由无线电处理器104接收到的小区和wi-fi信号,并将在当前收集与最后收集的小区/wi-fi ID不同的情况下通告收听者(轮询过程)。作为另一示例,设备10可以操作订阅过程,其中,设备10支持小区/wi-fi的基于通知的订阅;无论何时存在小区或wi-fi改变,设备10都将向收听者通知该改变。该订阅可以是供设备10上的一个过程向设备10上的另一过程订阅。 [0074] 在框825处,电路101被配置为接收对由无线收发机接收到的新的、下一个或更新的无线接入点标识符的指示。在框827处,电路101被配置为确定新无线接入点标识符是否匹配于多个所存储的无线接入点标识符中与预定位置相关联的一个。如果未找到匹配,则处理返回至框825。如果找到匹配,则这两个循环均可以被停止(框812,可选的)并且可以执行动作(框814),诸如基于匹配于所存储的无线接入点标识符之一的新无线接入点标识符对通知消息的生成。该通知消息可以具有设备10上的警报或报警(可听的、可视的和/或可触知的)、被发送至预存储的目的地地址的SMS、以及所发送的电子邮件等的形式。例如,可以经由设备10上的显示器将文本消息(例如字母、数字、字母数字等)呈现给用户。 [0075] 在循环830中,在框829处,可以在设备10到达预定位置之一处时、之后或期间存储(一个或多个)wi-fi接入点和/或蜂窝塔ID。ID可以确认数据库中预先存在的ID,或者可以是与预定位置相关联地存储以更新与该位置相关联的ID数据的新ID。在框831处,应用被配置为确定其是否订阅了附加小区/wi-fi改变,例如,如以上参照框823所述。如果是,则处理在框833处继续,以确定是否存在任何新小区/wi-fi改变(例如,自在框829处上次存储和接收起)。如果是,则框835指示在到达目的地之后的仅预定时间段内存储这种新小区/wi-fi ID,此后,不再存储新小区和/或wi-fi ID(框837)。如果该预定时间段未过去,则应用继续更新与预定位置相关联的多个无线接入点(框829)。 [0076] 与框821的距离一样,框835的时间量可以类似地基于兴趣点的大小、人口密度等。例如,假定预期位置是学校,因此,学校的区域较大。可能的是:许多次,根据设备在该时刻处正在使用或看到哪些小区和wi-fi接入点,我们将看到该区域中的不同小区/wifi ID。因此,如果我们在到达学校之后譬如5分钟内存储小区/wi-fi接入点,则可能的是:下一次,即使设备正在使用或看到不同小区或wi-fi接入点,则电路101仍会将该位置视为匹配于该学校。 [0077] 作为另一示例,假定目的地是购物中心。在这种情况下,可能的是:该购物中心将存在许多入口。用户可以从不同方向来到该目的地。因此,如果设备10在譬如15分钟、30分钟或一小时内收集小区和wi-fi ID,则可能的是:我们将捕获该区域中的大多数小区和wi-fi ID。因此,即使用户采用不同入口,下次我们也将能够在循环820中找到匹配。循环830进一步提供了启发式或学习方面,其中,匹配的确定(框827)将随着到目的地的更多出行而改进。即使循环810检测到位置(框821)而不是循环820(框827),设备10仍将执行循环830,使得下次循环820也将报告位置匹配,并且可能更早。 [0078] 返回至框831,如果设备10未订阅小区/wi-fi改变或者未在该时刻处接收到这些小区/wi-fi改变,则处理可以在框839处继续,以计算针对小区/wi-fi改变进行轮询的下一时间间隔。在框841处,如果轮询时间已过去,则处理在框833处继续。即使当向小区和wifi的订阅不可能时,框839和841也可以提供将在框827处使用的数据库。例如,可以以特定时间间隔(例如,每15秒)轮询小区和wifi点,并且,当处理到达框837时,该轮询将停止。换言之,框841中的时间可以是固定间隔(15秒),设备10将以该固定间隔收集小区和wifi信息并将其传递至框833以供处理。 [0079] 根据一个示例性实施例,设备10的存储器可以被配置为存储多个感兴趣的位置,每个感兴趣的位置包括与之关联的多个无线接入点标识符。处理电路101可以被配置为确定新无线接入点是否匹配于该多个感兴趣的位置中的任一个的无线接入点标识符。 [0080] 本文公开的各个实施例可以包括以下各项或结合以下各项加以实现:被配置为存储本文的机器可执行指令的计算机可读介质,和/或可包括被配置、布置或编程为执行本文记载的操作中的一个或多个操作的模拟和/或数字电路组件的一个或多个模块、电路、单元或其他元件。例如,处理电路可以包括可被安装在单个板上或多个电路板上、单个外壳内或多个外壳中的一个或多个电路、集成电路、处理器、组件等。作为示例,计算机可读介质可以包括RAM、ROM、CD-ROM或其他光盘存储器、磁盘存储器、或者能够存储和提供对期望的机器可执行指令的访问的任何其他非瞬变介质。可以按照任何顺序执行流程图中的框,并且可以从各个实施例中省略一个或多个框。 |