CN103269510B - 位置跟踪操作中的高效功率使用 - Google Patents

位置跟踪操作中的高效功率使用 Download PDF

Info

Publication number
CN103269510B
CN103269510B CN201310084569.6A CN201310084569A CN103269510B CN 103269510 B CN103269510 B CN 103269510B CN 201310084569 A CN201310084569 A CN 201310084569A CN 103269510 B CN103269510 B CN 103269510B
Authority
CN
China
Prior art keywords
processor
information
low
application
power
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310084569.6A
Other languages
English (en)
Other versions
CN103269510A (zh
Inventor
S·萨哈
赵刚
A·加德雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103269510A publication Critical patent/CN103269510A/zh
Application granted granted Critical
Publication of CN103269510B publication Critical patent/CN103269510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/34Power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0254Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0287Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment
    • H04W52/0293Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level changing the clock frequency of a controller in the equipment having a sub-controller with a low clock frequency switching on and off a main controller with a high clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Signal Processing (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Navigation (AREA)

Abstract

本发明公开了位置跟踪操作中的高效功率使用。描述了用于降低执行位置跟踪操作的计算设备(例如,诸如移动电话和平板计算机等移动设备)的功耗的各技术和工具。在所描述的示例中,低功率处理器基于从定位系统(例如GPS)接收到的信息来(例如实时地)计算位置信息(例如GPS位置锁定),并且将该位置信息存储在与低功率处理器相关联的缓冲区中(该缓冲区例如在低功率处理器上的存储中)以供之后使用。描述的示例允许位置信息在设备处于低功率状态时被实时地计算并存储,且不要求向应用实时递送位置信息的基于地点的应用可使用该位置信息。

Description

位置跟踪操作中的高效功率使用
技术领域
本发明涉及通信领域,尤其涉及降低计算设备中的功耗。
背景
计算机辅助地图导航工具已实现了广泛的接受度。用户可以用在各个网站处可用的地图导航工具来寻找地址或方向。在汽车中,GPS设备多年来已提供基本道路导航。近来,已经开发了用于蜂窝电话和其他移动计算设备的地图导航软件。尽管对于移动计算设备,GPS功能也是可用的,但GPS功能可能是对电池寿命有负面影响的显著功率消耗。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
描述了用于降低执行位置跟踪操作的计算设备(例如,诸如移动电话和平板计算机等移动设备)的功耗的各技术和工具。在所描述的示例中,低功率处理器基于从定位系统(例如GPS)接收到的信息来(例如实时地)计算位置信息(例如GPS位置锁定),并且将该位置信息存储在与低功率处理器相关联的缓冲区中(例如在低功率处理器上的存储中)以供之后使用。所描述的示例允许位置信息在设备处于低功率状态时被实时地计算并被存储。所描述的示例对于降低带有基于地点的应用的设备的功耗是有用的,那些基于地点的应用不要求位置信息被实时地递送给该应用。
在一方面,移动计算设备的低功率处理器(例如从基于地点的应用和/或地点服务正在其上执行的应用处理器)接收条件信息,该条件信息指定用于在通知之间对位置进行缓冲的一个或多个条件。例如,条件包括要被缓冲的位置之间的移动的阈值、以及将触发通知的位置之间的距离的阈值。低功率处理器基于从定位系统(例如GPS)接收到的信息来计算移动计算设备在不同时间实例的位置。根据该条件,低功率处理器将位置中的至少某些作为位置条目存储在与低功率处理器相关联的多条目缓冲区中。
随后,低功率处理器可以(例如向应用处理器)提供来自该多条目缓冲区中的位置条目的位置信息。例如,低功率处理器在确定该多条目缓冲区已经到达缓冲区充满度水平之后,连同通知一起提供该位置信息、或提供该位置信息作为通知的一部分。或者,低功率处理器响应于(例如来自在应用处理器处于高功率状态时在该应用处理器上执行的地点服务)对位置信息的请求而提供该位置信息。可周期性地或按需发送这一请求。或者,在确定作为位置条目所存储的各位置中的两个位置之间的距离超出距离阈值之后,低功率处理器连同通知一起提供位置信息、或提供位置信息作为通知的一部分。
在另一方面,移动计算设备的应用处理器(例如,向实现位置跟踪引擎的低功率处理器)提供条件信息,该条件信息指定用于在通知之间对位置进行缓冲的一个或多个条件。位置随后可根据条件被存储在低功率处理器的多条目缓冲区中。随后,应用处理器接收多条目缓冲区中的位置条目的位置信息。应用处理器基于位置信息致使信息输出(例如,经由呈现在显示器上的图形用户界面)。
在提供条件信息之后,应用处理器可从高功率状态转换到低功率状态,在此期间位置仍然根据条件被缓冲。应用处理器从低功率状态转换回高功率状态,以接收位置信息。应用处理器可转换回高功率状态,以便(周期性地或在按需的基础上)请求来自低功率处理器的位置信息。或者,应用处理器可响应于(例如来自低功率处理器的)通知而转换回高功率状态以便从低功率状态唤醒。
在另一方面,移动计算设备的低功率GPS处理器请求卫星定位信息,而该设备的GPS接收机接收卫星定位信息。低功率GPS处理器基于接收到的卫星定位信息来计算该设备的位置,并且将这些位置存储在GPS处理器上的多条目GPS缓冲区中。该设备的应用处理器从低功率状态转换到高功率状态,并且应用处理器上执行的地点服务从该缓冲区中检索这些位置。应用处理器上执行的基于地点的应用基于这些位置致使信息输出(例如,经由呈现在显示器上的图形用户界面)。
在另一方面,移动计算设备包括应用处理器、第一存储介质以及低功率处理器,该应用处理器用于在一个或多个低功率状态与一个或多个高功率状态之间切换。具有计算机可执行代码的第一存储介质对应于应用处理器可执行的基于地点的应用与地点服务之间的第一接口。第一接口支持基于地点的应用对一个或多个条件的指定,在该一个或多个条件下位置信息在通知之间被缓冲。低功率处理器提供第二接口,该第二接口支持地点服务对一个或多个条件的指定,在该一个或多个条件下位置跟踪引擎在通知之间对位置信息进行缓冲。位置跟踪引擎适用于根据地点服务所指定的条件,控制在第二存储介质的位置条目中对移动计算设备在不同时间实例的位置的缓冲。位置条目可由基于地点的应用和/或地点服务访问。
参考附图阅读以下详细描述,将更清楚本发明的前述和其他目标、特征和优点。
附图简述
图1是示出其中可实现此处描述的至少某些技术的示例移动计算设备的框图。
图2是示出移动设备的示例低功率状态组件和活动状态组件的框图。
图3是根据此处描述的至少某些技术、描绘用于在运行使用位置信息的应用的设备中进行高效功率使用的一般化体系结构的框图。
图4是根据此处描述的至少某些技术、描绘用于在运行使用位置信息的应用的设备中进行高效功率使用的示例性体系结构的框图。
图5是示出在使用基于地点的应用的移动设备的显示器上所呈现的一般化视图的特征的图。
图6是示出供在使用位置信息的设备中进行高效功率使用的一低功率处理器和另一处理器的操作的一般化技术的流程图。
图7是示出供在运行使用位置信息的应用的设备中进行高效功率使用的低功率GPS处理器和应用处理器的操作的示例性技术的流程图。
图8A和8B是示出分别由第一处理器(例如GPS处理器)和第二处理器(例如应用处理器)在智能电话或其他移动设备上执行的操作的示例性技术的流程图800A、800B。
图9是示出其中可实现所述技术中的至少某些的适合的计算环境的一般化示例的图。
图10是示出其中可实现所述技术中的至少某些的适合的实现环境的一般化示例的图。
具体实施方式
带有位置跟踪功能(例如,GPS功能)的计算设备可计算位置信息(例如,GPS位置锁定(positionfix))以便跟踪该设备的地点。当今这样的功能对于提供基于地点的应用(location-basedapplication)和服务的移动计算设备和平台尤其有用。
位置跟踪的许多方式可产生高功耗。例如,如果设备上运行的地点引擎通过实时地请求和维护位置信息(例如,通过以常规频率轮询GPS硬件、或通过在该设备已移动阈值距离时使GPS硬件作出响应)使得该设备保持在高功率模式,则高功率模式导致高功耗。类似地,使用跟踪一设备的位置的地点引擎的任何应用可能是电池敏感的,尤其在该应用导致它在其上运行的设备实时地处理位置信息并且只要位置信息正被计算就以高功率模式操作(例如,其中该设备的整个处理器栈是活动的)的情况下。轮询模型可取决于移动模式而被调整以改变轮询间隔(例如,基于设备移动得多快或设备位于哪里来增加或减小轮询频率),并且还可作出其他调整(例如,降低使用位置信息的各应用的调度优先级)。然而,即使与收集位置信息有关的某一行为被修改,使设备处于高功率模式的应用、操作系统和服务在某些场景中也可导致低效功率使用。
在带有位置跟踪的计算设备中的功率使用可被做得更高效。因此,描述了用于降低使用位置跟踪的计算设备(例如,诸如移动电话和平板计算机等移动设备)的功耗的各示例性技术和工具。在所描述的示例中,位置跟踪操作被卸载到低功率处理器,低功率处理器(例如,实时地)捕捉位置信息,将该位置信息存储在与低功率处理器相关联的缓冲区中(例如,在低功率处理器上的存储中),并且按需将位置信息传送给应用处理器(例如,在该缓冲区已经到达预定充满度水平并被转储清除以防止数据丢失时,或在应用请求位置信息时)。所描述的示例可帮助避免在不必要时立即向应用处理器更新位置信息,这可降低应用处理器花费在高功率模式的时间,由此帮助降低设备的总体功率提取并且保存电池寿命。所描述的示例在例如运行不需要实时递送位置信息来运作的应用时是有用的。
如此处使用的,术语“定位系统(positioningsystem)”可以指从中计算设备的地点可被计算的任何数量的定位系统,包括基于卫星的定位系统,诸如全球定位系统(GPS)、北斗(BeiDou/COMPASS)、格洛纳斯(GLONASS)以及伽利略(Galileo)。此处所描述的指代GPS的示例可适用于其他定位系统。如此处使用的,术语“位置锁定(positionfix)”是指计算设备的、参考两个或更多其他对象(诸如卫星)所作出的经计算的位置(例如,包括纬度和经度的位置以及可能诸如海拔等其他信息)。例如,GPS位置锁定是基于从两个或更多GPS卫星接收到的信息来计算的。用于计算位置锁定的确切操作和用于表示位置锁定的数据结构可基于实现和正使用的特定定位系统而变化。如此处使用的,术语“多条目”用于指代能够一次处理多个条目(例如,位置锁定或其他位置信息)但不要求总是处理超过一个条目的缓冲区、数据结构、或操作。例如,多条目缓冲区可存储多个位置信息条目,而单个缓冲区转储清除操作可从该多条目缓冲区中移动多个位置信息条目(例如,响应于来自应用或地点服务的请求)。换言之,多条目缓冲区还可在该缓冲区中只存在一个条目或不存在条目时被转储清除。
一般而言,此处所描述的处理器是可以在计算设备中的同一芯片(例如,片上系统(SoC)设计、多核设计)中或不同芯片上实现的处理单元。如此处所使用的,术语“应用处理器”是指通常在设备处于高功率或活动状态时运行的设备的处理单元,但应用处理器也可具有低功率或空闲状态。应用处理器通常处理诸如操作系统功能和应用功能的操作(例如,解释来自小键盘或触摸屏的用户输入,以便对设备上运行的应用的状态产生变化),并且具有相比于低功率处理器的高功率提取。
如此处所使用的,术语“低功率处理器”是指可以在设备处于高功率状态或低功率状态时运行的设备的处理单元,并且具有相比于应用处理器的较低功率提取。低功率处理器具有相比于应用处理器的较低功率提取,例如因为它不执行操作系统或不同类型的应用。例如,低功率处理器可以是应用专用集成电路(ASIC)或具备有限功能的其他专用硬件,应用专用集成电路或具备有限功能的其他专用硬件通常降低该处理器的功耗。低功率处理器也可因为它不需要其他处理器是活动的从而具有较低功率提取,而应用处理器常常需要。低功率处理器可用于处理设备的特定操作。例如,低功率处理器可执行用适用于低功率处理器的固件、其他软件和/或专用硬件实现的位置跟踪操作;这样的处理器可被称为“位置跟踪处理器”或“GPS处理器”。然而,位置跟踪处理器无需限于处理位置跟踪操作,而是可以处理除位置跟踪操作以外的其他操作。此外,其他处理器可处理位置跟踪操作。例如,执行调制解调器操作的低功率处理器可被称为“调制解调器处理器”,但调制解调器处理器也可用于处理其他操作,诸如位置跟踪操作。
如此处所使用的,术语“提供…信息”不暗示处理器在启动该“提供”操作中的任何时序要求或作用。第一处理器可通过以下方式向第二处理器提供信息:(a)直接将该信息作为消息或作为给函数调用的参数发送给第二处理器,(b)向第二处理器发送通知:该信息可从缓冲区中检索或该信息将跟随在另一消息中,(c)将该信息写入缓冲区供第二处理器检索,和/或(d)使用某一其他机制使该信息对第二处理器可用。例如,使用这些机制中的任一个,应用处理器可向低功率处理器提供指示服务质量设置的条件信息。在此处所述的某些实现中,应用处理器跨低功率处理器所展示的接口将条件信息作为函数调用的参数进行传递,但另选地,应用处理器以某一其他方式提供条件信息。作为另一示例,使用这些机制中的任一个,低功率处理器可向应用处理器提供指示位置锁定的位置信息。在此处所述的某些实现中,低功率处理器(使用通过低功率处理器展示的接口所注册的回调函数)发送通知:位置信息在缓冲区中可供应用处理器用来检索,但另选地,低功率处理器以某一其他方式提供位置信息。类似地,术语“接收…信息”不暗示处理器在启动该“接收”操作中的任何时序要求或作用。相反,该“接收”操作使用补充该“提供”操作的任何合适的机制。
此处描述各示例不应当被认为是以任何方式构成限制。相反,本公开针对各公开的实施例(单独和在彼此的各种组合和子组合中)的所有新颖和非显而易见的特征和方面。所公开的系统、方法、和装置不限于任何具体方面或特征或者其组合,所公开的事物和方法也不要求存在任何具体优点或解决任何问题。
虽然为方便呈现起见所公开的方法的一些操作是以特定的顺序次序来描述的,但应当理解,这一描述方法涵盖重新安排,除非以下阐明的具体语言需要特定排序。例如,在某些情况下,可以重新安排、省略、或并发地执行被顺序地描述的操作。此外,为简明起见,附图未示出可结合每一其他事物和方法或结合其他事物和方法使用所公开的事物和方法的所有方式。另外,本说明书有时使用像“请求”、“检索”和“确定”等术语来描述所公开的方法。这些术语是所执行的实际操作的高级抽象。与这些术语相对应的实际操作可取决于特定实现而不同并且易于由本领域普通技术人员辨别。
一般而言,所公开的方法可被实现为存储在一个或多个计算机可读介质(例如,非瞬态计算机可读介质,诸如一个或多个易失性存储器组件(诸如DRAM或SRAM)、或非易失性存储器组件(诸如硬驱动器、可编程逻辑阵列(PLA)或ROM))上并且在计算机(例如,任何商业上可用的计算机,包括智能电话或包含计算硬件的其它移动设备)上执行的计算机可执行指令。用于实现所公开的技术的计算机可执行指令以及在所公开的实施例的实现期间创建和使用的数据可被存储在一个或多个计算机可读介质(例如,非瞬态计算机可读介质)上。例如,对于低功率处理器,计算机可执行指令可以是PLA、ROM、闪存等中的固件的一部分,和/或适于该低功率处理器的其他软件。对于基于地点的应用,例如,计算机可执行指令可以是例如专用软件应用或经由web浏览器或其他软件应用(诸如远程计算应用)访问或下载的软件应用的一部分。例如,在单个本地计算机(例如,任何合适的商业上可用计算机)上或在使用一个或多个网络计算机的网络环境(例如,经由因特网、广域网、局域网、客户机-服务器网络(诸如,云计算网络)、或其他此类网络)中执行这些软件。
为清楚起见,只描述了基于软件的各实现的某些所选择的方面。省略了本领域公知的其他细节。例如,应当理解,所公开的技术不限于任何特定计算机语言、或程序。所公开的技术可由用C++、Java、Perl、JavaScript、HTML5或任何其它合适的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定计算机或硬件类型。合适的计算机和硬件的某些细节是公知的,并且无需在本公开中进行详细阐述。
此外,基于软件的实施例中的任一个可通过合适的通信手段被上传、下载或远程地访问。这些合适的通信手段包括,例如,因特网、万维网、内联网、软件应用、电缆(包括光缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或其它这样的通信手段。
I.示例性移动设备
图1是描绘示例性移动设备100的系统图,该移动设备包括各种可选的硬件和软件组件,在102处概括地示出。一般而言,移动设备中的组件102可与任何其他组件通信,但出于方便说明的目的而未示出所有连接。该移动设备100可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、平板计算机等)中的任一个,并且可允许与诸如蜂窝或卫星网络等一个或多个移动通信网络104进行无线双向通信。
所示移动设备100可包括用于执行如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能等任务的一个或多个控制器或处理器110(例如,信号处理器、微处理器、ASIC、现场可编程门阵列(FPGA)或其他控制和处理逻辑电路)。在所描述的实施例中,所示移动设备100包括多个控制器或处理器。操作系统112可按各种方式控制组件102的分配和使用,诸如通过管理设备状态之间的转换(例如,高功率状态与低功率状态之间的转换),并且可提供对一个或多个应用程序114的支持。应用程序可包括公共移动计算应用(例如,基于地点的应用、图像捕捉应用、电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)、或任何其他计算应用。
所示移动设备100可包括存储器120。存储器120可包括不可移动存储器122和/或可移动存储器124。不可移动存储器122可包括RAM、ROM、闪存、硬盘、或其他众所周知的存储器存储技术。可移动存储器124可包括闪存或订户身份模块(SIM)卡,SIM卡是GSM通信系统中众所周知的,或者其他众所周知的存储器存储技术,诸如智能卡。存储器120可用于存储数据和/或用于运行操作系统112和应用程序114的代码。示例数据可包括经由一个或多个有线或无线网络发送给和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据、或其他数据集。存储器120可用于存储诸如国际移动订户身份(IMSI)等订户标识符,以及诸如国际移动设备标识符(IMEI)等设备标识符。这些标识符可被传送给网络服务器以标识用户和装备。
移动设备100可支持诸如触摸屏132、话筒134、相机136、物理键盘138、跟踪球140、和/或邻近度传感器142等一个或多个输入设备130,以及诸如扬声器152和一个或多个显示器154等一个或多个输出设备150。其他可能的输出设备(未示出)可包括压电或触觉输出设备。一些设备可提供超过一个输入/输出功能。例如,触摸屏132和显示器154可被组合在单个输入/输出设备中。
无线调制解调器160可被耦合至天线(未示出),并且可支持处理器110与外部设备间的双向通信,如本领域中充分理解的那样。调制解调器160被一般性地示出,并且可包括用于与移动通信网络104进行通信的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如蓝牙164或Wi-Fi162)。无线调制解调器160通常被配置用于与一个或多个蜂窝网络(诸如,用于在单个蜂窝网络内、蜂窝网络之间、或移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络)进行通信。
移动设备100可进一步包括至少一个输入/输出端口180、电源182、卫星导航系统接收机184(诸如全球定位系统(GPS)接收机)、传感器186(诸如,用于检测设备的方向和运动并用于接收姿势命令来作为输入的加速计、陀螺仪或红外邻近传感器)、收发机(188)(用于无线发射模拟或数字信号)和/或物理连接器190,它可以是USB端口、IEEE1394(火线)端口、和/或RS-232端口。所示组件102不是必需的或所有都包括的,因为可删除任何组件并且可添加其他组件。
移动设备100可基于通过GPS接收机184接收到的信息来确定指示该移动设备的位置的位置数据。或者,移动设备100可以按另一方式来确定指示该移动设备的位置的位置数据。例如,可以通过蜂窝网络的各蜂窝塔之间的三角测量来确定移动设备的位置。或者,可基于在移动设备附近的Wi-Fi路由器的已知地点来确定移动设备的位置。可以每秒钟或以某一其他基础来更新位置数据,这取决于实现和/或用户设置。无论位置数据的源如何,移动设备100可将位置数据提供给应用,诸如基于地点的应用。例如,地图导航工具通过操作系统112所展示的接口周期性地请求或轮询当前位置数据(操作系统112进而可以从移动设备的另一组件处得到更新后的位置数据),或者操作系统112通过回调机制将更新后的位置数据推向已注册这样的更新的任何应用(诸如,地图导航工具)。
移动设备的用户可被给予位置数据的收集的通知(例如,经由应用所提供的警报)以及提供或拒绝同意位置数据的收集的机会。同意可用选择不加入(opt-out)同意或选择加入(opt-in)同意的形式给出,在选择不加入同意中,用户可采取肯定动作来在位置数据被收集之前阻止对位置数据的收集,在选择加入同意中,用户可采取肯定动作来在位置数据被收集之前给出对位置数据的收集的同意。
II.示例性设备状态
此处所描述的示例性设备可在处于若干不同状态(例如,锁定或未锁定、高功率或低功率)或状态的组合时接收输入、对数据执行操作、以及向用户提供功能。例如,处于高功率(或活动)状态的移动设备通常具有通电的显示器以及可供使用的其他输入/输出设备。处于高功率状态的移动设备通常具有以高功率状态运行并且处理诸如操作系统功能等功能的应用处理器。处于低功率(或空闲)状态时,显示器通常被变暗或关闭,并且其他组件(例如,硬件按钮、小键盘、跟踪球)也可被停用。处于低功率状态的移动设备通常利用防止数据丢失或服务中断的安全措施将其应用处理器置于低功率状态以节省电池寿命。在移动设备处于低功率状态时,其他处理器(例如,低功率处理器)可继续正常地操作或以减少的功能操作。
作为另一示例,处于锁定状态时,移动设备可在展示诸如显示锁定屏幕(例如,向用户提示输入认证信息(诸如PIN或生物测定数据)以解锁该设备的屏幕),或显示空白屏幕或壁纸之类的行为时限制对该设备的功能的访问。锁定的移动设备可能处于锁定/高功率状态(例如,显示器被通电并且示出认证屏幕),或其中移动设备的特定特征被断电(例如,以降低相对于高功率状态的功耗)的锁定/低功率状态。
不同的事件可导致各状态之间的转换。例如,设备可响应于用户动作或独立于用户动作而从低功率状态转换到高功率状态。响应于例如用户激活的硬件事件(诸如按钮按压)或某一其他硬件事件、或响应于来自处理器(例如,低功率处理器)或由处理器处理的软件组件(例如,应用处理器的线程在所安排的睡眠时段之后醒来)的唤醒请求,设备可从低功率状态转换到高功率状态。作为另一示例,处于锁定状态的设备可响应于用户动作(例如,在锁定屏幕处输入PIN)而转换到解锁状态。作为另一示例,响应于用户动作(例如,对电源按钮的按钮按压)或自最后的用户动作以来经历特定时间量(例如,以节省电池寿命)之后,处于解锁状态的设备可转换到锁定状态(或处于高功率状态的设备可转换到低功率状态)。
另选地,可以使用其他状态或各状态之间的转换,或其他事件可导致各状态之间的转换。
III.示例性低功率状态和高功率状态组件
图2是示出可被用在低功率状态和/或高功率状态的移动设备200的示例组件的框图。在图2中示出的示例中,包括电源按钮210、定位系统接收机220(例如GPS接收机)、无线调制解调器接收机230以及一个或多个低功率处理器240的低功率/高功率状态组件205在移动设备200处于低功率状态或高功率状态时是运作的。低功率处理器240可被实现为例如执行位置跟踪操作的GPS处理器、调制解调器处理器、或某一其他低功率处理器。高功率状态组件250(例如,键盘按钮260、触摸屏270、无线调制解调器发射器280、应用处理器290)在移动设备200处于高功率状态时是活动的,但在移动设备处于低功率状态时是不活动的。由此,尽管高功率状态组件250在设备处于低功率状态时仍然能够变成活动的,但在设备处于低功率状态时仅仅组件的子集是活动的。例如,处于低功率状态时,应用处理器290可响应于用户动作或来自低功率处理器240的唤醒请求而变成活动的。在图2中示出的示例中,保持以低功率状态运作的定位系统接收机220和低功率处理器240允许移动设备200在处于低功率状态时继续接收定位信息(例如GPS卫星信息)、并且计算和存储位置锁定,如下文更详细解释的。然而,低功率/高功率状态组件205无需在设备被通电的所有时间都是活动的。例如,如果(例如,响应于用户设置)设备200并非正在接收位置信息,则定位系统接收机220和/或低功率处理器240可以保持非活动。
另选地,附加组件可被指定成低功率状态组件。例如,移动设备可具有可单独或协作执行位置跟踪操作的不止一个低功率处理器(例如,GPS处理器、调制解调器处理器、低功率传感器处理器)。包括多个低功率处理器的移动设备在执行位置跟踪操作时可运行在低功率模式。作为另一替换,附加组件可被指定成高功率状态组件。作为另一替换,被指定成低功率状态组件的组件可被指定成高功率状态组件,或反之亦然。作为另一替换,图2中示出的组件中的一个或多个可被删除,而其他组件可被添加。
IV.用于在位置跟踪中的高效功率使用的体系结构
描述了用于执行位置跟踪操作的设备进行高效功率使用的体系结构。在所描述的示例中,收集和使用位置信息的问题被分成可在应用处理器/操作系统操作级解决的子问题、以及可在低功率处理器(例如GPS处理器)操作级解决的子问题。在所描述的示例中,这两个操作级具有不同的功率使用特性(例如,由于使用具有不同功率提取的处理器)以及不同的操作能力。工作可在各操作级之间被划分,以利用不同级的实力(例如,通过使用不同处理器来完成不同任务以便在功耗与处理灵活性和响应性之间折衷)。
低功率处理器相对于应用处理器在计算能力、存储器、或存储空间方面具有有限资源(例如,应用处理器中可用存储空间的25%、或相对于应用处理器的某一其他降低的量),但许多低功率处理器仍然具有足够资源来处理位置跟踪操作并且存储多个位置锁定。例如,位置锁定可由运行在低功率处理器(例如,GPS处理器、调制解调器处理器)上的GPS引擎来计算并且存储在(例如,片上存储或存储器中的)多条目位置信息缓冲区中。作为一个示例,缓冲区可存储任何数量的条目直到最大数量(例如,1000个条目或某一其他最大值),而单个条目具有固定大小(例如,每一条目100字节或某一其他固定大小)或可变大小。可被存储在这一缓冲区中的确切条目数量可基于例如可变存储能力以及单个条目的大小而变化。条目的大小可基于例如所存储的信息量以及这样的信息是被压缩还是未被压缩而变化。在稍后的时间(例如,在缓冲区到达预定充满度水平时,或在由应用请求位置信息时),控制传递给应用处理器,缓冲区被转储清除,并且一组新条目可被添加到缓冲区。
图3是示出在运行使用位置信息的应用310(例如,诸如地图导航应用或跟踪应用之类的基于地点的应用)的设备中进行高效功率使用的一般化体系结构300的框图。具有多个处理器的计算设备(例如,移动设备)可根据体系结构300来实现。体系结构300可用于例如通过在处理器之间划分任务、以及使用低功率处理器计算并缓冲位置信息,来降低功率使用。
在图3中示出的示例中,虚线302指示分别由两个处理器中的任一个执行的各操作之间的分隔。“处理器1”执行应用310,而“处理器2”实现位置跟踪引擎320(例如,具有适用于处理器2的固件、其他软件和/或专用硬件的GPS引擎),位置跟踪引擎320执行位置计算。例如,位置跟踪引擎320基于经由GPS接收机(未示出)从一个或多个GPS卫星(未示出)接收到的GPS数据来计算位置锁定。位置计算的结果被存储在多条目位置信息缓冲区330中,位置信息缓冲区330允许将多个位置信息条目(例如,GPS位置锁定条目)存储在该缓冲区中。缓冲区330可以是与处理器2同一芯片组的一部分、只有处理器2能访问的分开的存储器、或设备中其他处理器也能访问的分开的存储器,但缓冲区330一般与处理器2“相关联”。如果移动设备处于低功率状态,则当一个或多个其他处理器(例如处理器1)保持空闲时,多个位置锁定可由低功率处理器(处理器2)计算。缓冲区330的内容可被转移(例如,在缓冲区转储清除操作中)给应用310使用。例如,缓冲区330的内容可在应用310请求时、在缓冲区到达特定充满度水平时、或在某一其他时间被转移。
图4是示出在运行使用位置信息的应用410的设备中进行高效功率使用的示例性体系结构400的框图。具有多个处理器的计算设备(例如,移动设备)可根据体系结构400来实现。体系结构400可用于例如通过使用低功率GPS处理器计算并缓冲GPS位置锁定,来降低功率使用。
在图4中示出的示例中,虚线402指示分别由应用处理器或GPS处理器执行的各操作之间的分隔。例如,应用处理器执行与包括应用410和设备OS450的组件对应的代码,设备OS450包括地点服务460(也可被称为地点引擎)。出于演示目的,未示出设备OS450的其他服务和特征。GPS处理器执行代码(例如,适用于GPS处理器的固件和/或其他软件)或以其他方式提供与包括执行位置计算的GPS引擎420的组件对应的功能。例如,GPS引擎420基于经由GPS接收机440从一个或多个GPS卫星(未示出)接收到的GPS卫星数据来执行计算以确定GPS位置锁定。位置计算的结果被存储在多条目GPS缓冲区430中,多条目GPS缓冲区430允许多个位置锁定作为条目存储在该缓冲区中。缓冲区430可以是与GPS处理器同一芯片组的一部分、只有GPS处理器能访问的分开的存储器、或设备中其他处理器也能访问的分开的存储器,但缓冲区430一般与GPS处理器“相关联”。如果移动设备处于低功率状态,则当应用处理器保持空闲时,多个位置锁定可由GPS处理器计算并存储。
在若干位置锁定已被存储在缓冲区430中之后,位置信息可被转移。这可允许设备在更多时间以低功率模式操作,而在更短的持续时间以高功率模式操作。例如,在GPS引擎420已经将足够的位置锁定条目存储在缓冲区430中使得缓冲区已到达特定充满度水平时,GPS引擎可唤醒应用处理器上的地点服务460,并且发送包括来自缓冲区的多个位置锁定条目的经存档的位置信息向量,以便在GPS处理器处为新位置信息释放存储。作为另一示例,缓冲区430的内容可在地点服务460请求时被转移,而独立于缓冲区充满度。地点服务460可周期性地或在按需基础上代表应用410作出这样的请求。例如,地点服务460可将应用410作出的对位置信息的请求转换成对GPS专用信息的请求。从缓冲区430接收到的位置信息可存储在位置历史470中(例如,在应用处理器可访问的存储器或存储中),在某些实施例中位置历史470可用于缓冲比缓冲区430更多的位置信息量。例如,位置历史470可存储来自对缓冲区430内容的若干转移得到的条目。因此,缓冲区430的内容可依请求(例如,在地点服务460需要时)、在缓冲区430到达特定充满度水平时、或在某一其他时间被转移。缓冲区430的内容表示设备的最近位置历史,而位置历史470的内容表示设备的累积更多位置历史。
地点服务460可处理源自不同客户机应用的多个请求(例如,同时的请求)。设备降低功率消耗以及节省电池寿命的总体能力可取决于其他应用是否需要来自GPS引擎420的实时位置信息。例如,地点服务460可通过批处理或聚集请求、以及将单个请求传达给GPS引擎420来处理来自非实时应用的多个请求。
也可使用图3和图4中示出的示例体系结构300、400的替代。例如,体系结构300、400可包括更多或更少的模块。给定模块可被拆分成多个模块,或不同模块可被组合成单个模块。例如,GPS引擎420可被拆分成控制GPS操作的不同方面的多个模块。参考一个模块所描述的功能(例如,设备OS450中的地点服务功能)在某些情况下可作为另一模块(例如,应用)的一部分来实现。作为另一示例,体系结构300、400可被修改以便对具有多级功耗的更多处理器执行操作。例如,除了应用处理器和GPS处理器之外,调制解调器处理器或低功率传感器处理器也可用于执行此处描述的操作、或其他操作。
V.详细示例
本章节描述使用图4中示出的体系结构400以允许对运行使用从GPS引擎获取的位置信息的基于地点的应用的设备进行高效功率使用的详细示例。该详细示例包括对示例性地点服务以及由该示例性地点服务所提供的应用编程接口(API)的描述。本章节中描述的细节可取决于实现而变化。
在该详细示例中,应用410通过一组接口与地点服务460交互。地点服务的功能可基于“服务质量”设置来调节(例如,应用410可以多频繁地接收经更新的位置信息)。地点服务460还可检索与应用410有关的信息(例如,以确定服务质量的约束)。例如,设备OS450可对在后台运行的应用施加额外的服务质量限制(例如,通过降低对位置信息的可用更新的频率),而地点服务460可从设备OS450检索指示该约束的信息。
在示例性安排中,移动计算设备包括应用处理器、低功率处理器(例如,GPS处理器)、以及存储介质,该应用处理器用于在一个或多个低功率状态与一个或多个高功率状态之间切换。第一存储介质包括对应于基于地点的应用与地点服务之间的第一接口的计算机可执行代码。第一接口支持基于地点的应用对一个或多个条件的指定(例如,通知之间的时间、通知之间的距离),在该一个或多个条件下位置信息在通知之间被缓冲。低功率处理器提供第二接口。第二接口支持地点服务对一个或多个条件的指定(例如,要存储的位置之间的阈值距离、通知之间的距离),在该一个或多个条件下位置跟踪引擎根据地点服务所指定的一个或多个条件,将通知之间的位置信息缓冲在第二存储介质的位置条目中。第二接口还可支持周期性接收(例如,按指定时间段接收)和/或按需接收(例如,响应于用户动作或应用请求)地点服务对位置跟踪引擎提供带有被缓冲的位置信息的通知的请求。
地点服务460提供的示例性API的描述以表1中的伪代码来提供,如下:
表1:示例性地点服务API特征。
如表1中所示,POSITION数据结构包括位置信息和时间戳信息。POSITION数据结构的实例表示来自多条目GPS缓冲区430的单个条目。POSITION_HISTORY(位置_历史)数据结构包括POSITION数据结构的集合。POSITION_HISTORY数据结构的实例表示来自多条目GPS缓冲区430的经存档的位置信息向量。POSITION_HISTORY数据结构的多个实例可被聚集成POSITION_HISTORY数据结构的单个经组合的实例。换言之,POSITION_HISTORY数据结构表示POSITION数据结构条目的集合。
如表1中所示,RegisterForPositionHistory方法用于使用地点服务460来开始位置跟踪会话。在位置跟踪会话中,在设备移动了dblMovementThreshold(dbl移动阈值)参数中提供的距离的情况下,新位置将被捕捉。在通知基于dblDistanceBetweenNotification(db1通知之间的距离)和dwSecondsBetweenNotification(dw通知之间的秒数)参数是可用时,应用410所实现的回调函数(由参数funcReceivePositions表示)将被地点服务460回调。例如,在设备移动了dblDistanceBetweenNotification参数所表示的距离的情况下,(例如来自位置历史470或多条目GPS缓冲区430的)位置信息被提供。作为另一示例,在自最后的通知以来经历了dwSecondsBetweenNotification参数所表示的时间量的情况下,则提供位置信息。取决于应用410的状态或特性,地点服务460可无视dblDistanceBetweenNotification和dwSecondsBetweenNotification参数的值,(例如,通过在该应用运行在后台的情况下替代表示较低服务质量的新值)。INFINITE的值(dblDistanceBetweenNotification和dwSecondsBetweenNotification参数的默认值)指示应用410对何时接收位置信息没有特定请求的设置。
如表1中所示,UnregisterPositionHistory(未注册位置历史)方法用于使用地点服务460来停止位置跟踪会话。RetrievePositionHistory(检索位置历史)方法用于迫使地点服务返回带外位置信息。例如,应用可使用RetrievePositionHistory方法从多条目GPS缓冲区430中检索中间位置信息,而无需等待地点服务460回调该应用。取决于应用410的状态,地点服务460可决定忽略该调用。例如,在应用410在后台运行并且低的服务质量已被指定的情况下,地点服务460可忽略该调用。例如在一跟踪会话的结束时应用410处于与用户的交互式模式时,应用410可使用RetrievePositionHistory方法。
在示例性场景中,在应用410使用地点服务460请求新位置跟踪会话时,该服务创建位置跟踪会话的标识符,记录在该标识符下位置跟踪会话的所有参数,并且将cookie与该标识符相关联。地点服务460进而将跟踪参数中的至少某些传递给GPS引擎420,向GPS引擎注册回调,基于dwSecondsBetweenNotification值设置唤醒计时器(如果有的话),并且进入等待状态。地点服务460可从不同应用接收多个位置跟踪会话请求,在该情况下地点服务460可批处理这些请求以减小地点服务460从低功率、等待状态被唤醒以接收经更新的位置信息的次数。
注意到一旦应用410注册新位置跟踪会话,随后它就进入等待状态,直到它接收到来自地点服务460的回调。前台应用可迫使该回调(例如,使用上述RetrievePositionHistory方法);然而,这可降低所述API语义的功率节省。
当GPS引擎420开始跟踪位置信息时,随着设备移动超过dblMovementThreshold参数所表示的距离,GPS引擎420将位置信息记录在多条目GPS缓冲区430中。当缓冲区430接近容量(例如,缓冲区容量的75%、或任何其他合适的缓冲区容量百分比)时,GPS引擎420发送通知并提供经存档的位置信息向量,例如,对地点服务460引发一事件来指示地点服务从GPS处理器侧的缓冲区430中检索经存档的位置信息,并将其存储在应用处理器侧的位置历史470中。这允许GPS引擎420转储清除该缓冲区430并记录新位置信息,而不丢失任何位置信息。GPS引擎420可使用动态大小的缓冲区(例如,具有取决于设备的当前速率、地点或某一其他因素的容量)。例如,以更高速率移动的设备可能从收集更多的位置信息获益,并且更大的缓冲区可保持更多的位置信息。
应用410和地点服务460都处于等待状态时,设备OS450可将应用处理器转换到低功率模式(例如,其他应用或服务不要求设备处于高功率模式的情况下)。在该详细示例中,可按以下条件之一唤醒应用处理器(转换到高功率模式):
1.用户对移动设备发起要求唤醒应用处理器的动作。
2.已经经过dwSecondsBetweenNotification间隔,并且地点服务460到期应被唤醒(退出等待状态)。
3.GPS引擎420(例如基于缓冲区充满度水平、或在距离超出dblDistanceBetweenNotification时)触发地点服务460,以唤醒并获取多条目GPS缓冲区430的内容。
在示例性场景中,可为单个跟踪会话实现地点服务460,如表2中的伪代码所示,如下:
表2:用于实现地点服务的伪代码。
基于移动阈值,GPS引擎可将位置添加到GPS缓冲区430中的位置条目。在本地缓冲区到达容量(或接近容量的缓冲区充满度水平)时,或最近的位置超出dblDistanceBetweenNotification值时,GPS引擎可对地点服务460引发事件。
VI.示例性基于地点的应用
如此处使用的,术语“基于地点的应用”是指使用位置信息(例如,GPS位置锁定)的应用。例如,在移动设备上运行的基于地点的应用可基于该设备的地点向用户提供信息(例如,在地图上显示附近餐厅和/或显示用户的地点)。所使用的位置信息的确切类型可取决于诸如以下因素:特定移动计算平台或基于地点的应用的要求、和/或其上运行基于地点的应用的特定设备的功能。基于地点的应用的某些示例是可由个体用于收集描述他们自身的移动(例如,出于信息性目的,诸如在不熟悉的城市中旅行时,或为了在跑步或参与某一其他锻炼方式时绘制进度图)和/或其他人的移动(例如,父母监管孩子,在基于地点的游戏中队友监视彼此的地点)的信息(例如,速度、方向、在不同地点所花的时间长度)的应用。另一示例是可在众包(crowdsourcing)场景中用于收集来自大量设备的信息(例如,以建立地图数据库)的跟踪应用。
某些基于地点的应用(诸如上述跟踪应用)无需实时位置信息来运作,而是可改为使用以规则或不规则的间隔、或在按需的基础上收集的位置信息。通过采用此处描述的技术可降低运行这些应用的设备中的功耗。
图5示出使用移动计算设备501的基于地点的应用所呈现的一般化视图500。在示例性场景中,基于地点的应用可呈现位置信息(例如,GPS位置锁定)的表示(例如,地图上突出显示的路径或地点标记,地点的列表),位置信息在设备501处于低功率状态时由低功率处理器(例如,GPS处理器)计算并被存储在多条目缓冲区中。在设备501处于高功率状态时可以呈现视图500。
设备501包括一个或多个设备按钮。图5示出接近设备501底部的单个设备按钮。启动该设备按钮的效果取决于上下文。例如,该设备按钮的启动可导致设备501从基于地点的应用返回主屏幕或开始屏幕。另选地,设备501不包括设备按钮。
设备501包括带有显示区域和三个触摸屏按钮(例如,搜索按钮,诸如返回按钮之类的导航按钮)的触摸屏502。启动触摸屏按钮之一的效果取决于上下文以及哪一按钮被启动。另选地,设备包括更多的触摸屏按钮,更少的触摸屏按钮,或不包括触摸屏按钮。使用物理设备按钮来实现的功能可改为使用触摸屏按钮来实现,或反之亦然。
设备501在触摸屏502的显示区域呈现视图。在图5中示出的示例中,作为视图500的一部分,设备501呈现地图510和状态信息520。地图510可包括例如基于位置信息(例如,GPS位置锁定)的突出显示的路径或地点标记,位置信息是在设备501处于低功率状态时由低功率处理器(例如,GPS处理器)计算并被存储在多条目缓冲区中。状态信息520可包括时间、日期、网络连接状态和/或其他信息。在图5中示出的示例中,设备501还呈现包括地图导航按钮的控件部分530,这些地图导航按钮取决于基于地点的应用的实现。图5示出箭头图标、十字准线图标、以及放大镜图标。箭头图标的启动可导致设备501打开菜单供键击输入目的地地点和到该地点的方向。十字准线图标的启动可导致设备501将视图位置在设备501的当前地点上对齐。放大镜图标的启动可导致设备501打开菜单供键击输入对一个或多个地点的搜索。其他按钮/控件可通过启动省略号来访问。在图5中示出的示例中,设备501还呈现可示出位置锁定的细节和/或其他信息的列表570。列表570还可作为控件来操作,该控件导致设备501将视图位置在设备的先前地点(例如,在设备处于低功率状态时由低功率处理器计算并被存储在多条目缓冲区中的GPS位置锁定)上对齐。另选地,设备呈现更多的控件,更少的控件,或不呈现控件。
VII.示例性技术
图6是示出示例性技术600的流程图,其中位置任务在低功率处理器(例如GPS处理器)与另一处理器(例如应用处理器)之间被划分。诸如智能电话的移动设备或其他移动设备执行技术600。
在610,移动设备的低功率处理器(例如,GPS处理器、调制解调器处理器、或某一其他低功率处理器)基于从定位系统(例如,GPS)接收到的信息来计算移动设备在不同时间实例的多个位置。在620,低功率处理器将所计算的多个位置作为位置条目存储在与低功率处理器相关联的多条目缓冲区中。在630,移动设备的第二处理器(例如,应用处理器)从多条目缓冲区中检索位置条目。例如,处于高功率状态的应用处理器响应于来自应用处理器所执行的地点服务对位置信息的请求而检索位置条目。该请求可以代表应用(例如,也是由应用处理器执行的基于地点的应用)而作出。或者,在低功率处理器上执行的或以其他方式由低功率处理器实现的位置跟踪引擎(例如GPS引擎)可确定多条目缓冲区是否已经到达充满度水平,并且基于该确定向第二处理器发送通知。为节省电池寿命,在第二处理器处于低功率状态时,低功率处理器可计算并将位置条目存储在多条目缓冲区中。在检索位置条目之前,第二处理器可从低功率状态转换到高功率状态。
图7是示出示例性技术700的流程图,其中GPS位置任务在低功率GPS处理器与应用处理器之间被划分。诸如智能电话的移动设备或其他移动设备执行技术700。
在710,移动设备的低功率GPS处理器请求(例如,来自一组可用的GPS卫星)的卫星定位信息。在720,移动设备的GPS接收机接收卫星定位信息,以及在730,GPS处理器基于接收到的卫星定位信息来计算多个位置锁定。例如,接收到的卫星定位信息可与卫星在不同时间实例在GPS星座中的定位对应,而所计算的位置锁定可与移动设备在不同时间实例的地点对应。用于基于卫星信息来计算位置锁定的各种技术是本领域已知的且无需在这里详细描述。在740,GPS处理器将这些位置锁定存储在GPS处理器上的多条目GPS缓冲区中。在750,移动设备的应用处理器从低功率状态转换到高功率状态。在760,应用处理器上执行的地点服务从多条目GPS缓冲区中检索这些位置锁定。在770,应用处理器上执行的基于地点的应用基于来自多条目GPS缓冲区的这些位置锁定致使信息输出(例如,经由呈现在移动设备的显示器上的图形用户界面)。
图8A和8B是示出用于在智能电话或其他移动设备上分别在第一处理器(例如GPS处理器)和第二处理器(例如应用处理器)处执行位置任务的示例性技术的流程图800A、800B,其中第一处理器相对于第二处理器是低功率处理器。图8A与8B中的间隔指示了方法步骤相对于彼此间的示例性时序。例如,如图8A和8B中所示,方法步骤810A、820A和830A在方法步骤810B之后且在方法步骤820B之前发生。
在810A,低功率处理器接收指定用于在通知之间缓冲位置的一个或多个条件的条件信息(例如,距离阈值参数、移动阈值参数、缓冲区充满度参数、或其他条件信息)。例如,低功率处理器从第二处理器(第二处理器可具有基于地点的应用和/或在其上执行的地点服务)接收条件信息。条件信息可由第二处理器使用任何合适的机制来提供。
在820A,低功率处理器基于从定位系统接收到的信息来计算移动设备在不同时间实例的多个位置。例如,GPS引擎由低功率处理器提供,并且定位系统包括GPS。在830A,根据一个或多个条件,低功率处理器将多个位置中的至少某些作为位置条目存储在与低功率处理器相关联的多条目缓冲器中。例如,在多个位置中的给定位置与先前存储的位置之间的距离超出移动阈值的情况下,低功率处理器存储该给定位置作为位置条目之一。可响应于作为一个或多个条件的一部分、从第二处理器接收到的移动阈值参数来设置移动阈值。在GPS场景中,低功率处理器可请求卫星定位信息,该卫星定位信息可由GPS接收机接收。低功率处理器可基于接收到的卫星定位信息来计算移动设备的多个位置锁定。可将位置锁定作为多个位置存储在多条目缓冲区中。
图8A并不暗示关于批处理对位置的计算和存储的任何时序要求。低功率处理器可使操作820A和830A交错并重复——计算并存储第一位置,随后计算并存储第二位置等等。
低功率处理器可将来自多条目缓冲器中的位置条目的位置信息提供给第二处理器。例如,低功率处理器可响应于在第二处理器处于高功率状态时在第二处理器上执行的地点服务对位置信息的请求而提供这样的信息。或者,低功率处理器可确定多条目缓冲区已经到达缓冲区充满度水平,并且响应于该确定,向第二处理器发送提供位置条目的位置信息的通知。或者,低功率处理器可确定作为位置条目所存储的位置中的两个位置超出阈值距离,并且响应于该确定,向第二处理器发送提供位置条目的位置信息的通知。位置信息可由低功率处理器使用任何合适的机制来提供。
在810B,第二处理器提供条件信息,条件信息指定用于在通知之间对位置进行缓冲的一个或多个条件。条件信息可由第二处理器使用任何合适的机制来提供。在820B,第二处理器接收与第一处理器相关联的多条目缓冲区中位置条目的位置信息,该位置信息指示根据一个或多个条件而存储在多条目缓冲区中的一个或多个位置。位置信息可由第二处理器使用任何合适的机制来接收。在830B,第二处理器基于位置信息致使移动计算设备输出信息。
在提供条件信息之后,第二处理器可从高功率状态转换到低功率状态,并且可从低功率状态转换到高功率状态以便接收位置信息。(第二处理器在处于高功率状态时接收位置信息。)在从低功率状态转换到高功率状态之后,第二处理器可向第一处理器发送对位置信息的请求。例如,请求是代表在第二处理器上执行的基于地点的应用或在第二处理器上执行的操作系统而作出的。该请求可周期性地或按需重复。或者,第二处理器可接收通知以从低功率状态唤醒,并且响应于该通知从低功率状态转换到高功率状态。该通知可代表低功率处理器所提供的位置跟踪引擎而作出。
在以上各技术的任一个中,在此描述的操作的任意组合可被应用。取决于所需的实现和处理类型,各示例技术中显示的处理阶段可被重新安排、添加、省略、分成多个阶段、与其他阶段组合、和/或用相似的阶段来替代。描述成由低功率处理器执行的某些操作可由另一处理器(例如,应用处理器)来执行,或反之亦然。
VIII.示例性计算环境
图9示出了其中可实现所描述的技术中的至少某些的合适的计算环境900的一般化示例。计算环境900并非对使用范围或功能提出任何限制,因为这些技术可以在不同的通用或专用计算环境中实现。
参考图9,计算环境900包括耦合至存储器920的至少一个处理单元910。在图9中,这一基本配置930被包括在虚线内。处理单元910执行计算机可执行指令。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器920可以是非瞬态存储器,诸如易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、PLA、闪存等)或两者的某一组合。存储器920可存储实现此处描述的技术的软件980。
计算环境可以具有附加特征。例如,计算环境900包括存储940、一个或多个输入设备950、一个或多个输出设备960以及一个或多个通信连接970。诸如总线、控制器或网络等互连机制(未示出)将计算环境900的各组件互连。通常,操作系统软件(未示出)为在计算环境900中执行的其他软件提供了操作环境,并协调计算环境900的组件的活动。
存储940可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD或可用于储存信息并可在计算环境900内被访问的任何其它非瞬态计算机可读介质。存储940可存储包含用于此处描述的技术的指令的软件980。
输入设备950可以是诸如键盘、触摸屏、鼠标、笔或跟踪球等触摸输入设备,语音输入设备,扫描设备或向计算环境900提供输入的另一设备。输出设备960可以是显示器、打印机、扬声器、CD或DVD刻录机、或从计算环境900提供输出的另一设备。某些输入/输出设备,诸如触摸屏,可包括输入和输出功能两者。
通信连接970允许通过通信机制到另一计算实体的通信。通信机制传达诸如计算机可执行指令的信息、音频/视频或其他信息、或其它数据等。作为示例而非限制,通信机制包括利用电、光、射频(RF)、红外线、声音或其他载体实现的有线或无线技术。
此处描述的技术中的至少某些可在诸如程序模块中所包括的、在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令(例如,在诸如应用处理器等通用处理器上可执行的软件,或用于诸如GPS处理器等专用处理器的固件或其他软件)的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。
一般而言,此处描述的存储动作可通过存储在一个或多个计算机可读介质(例如,非瞬态计算机可读存储介质或其他有形介质)中来实现。被描述为被存储的事物中的任一个可被存储在一个或多个计算机可读介质(例如,计算机可读存储介质或其他有形介质)中。
一般而言,此处描述的各方法中的至少某些方法可通过一个或多个计算机可读介质(例如,非瞬态计算机可读存储介质或其他有形介质)中(例如,在其上编码)的计算机可执行指令来实现。这些指令可使得计算机执行所述方法。此处描述的技术可用各种编程语言来实现。
一般而言,此处描述的各方法中的至少某些方法可由存储在一个或多个非瞬态计算机可读存储设备(例如,存储器、CD-ROM、CD-RW、DVD等)中的计算机可执行指令来实现。这些指令可使得计算机执行所述方法。
IX.示例性实现环境
图10示出了其中可实现所描述的实施例、技术、和技艺中的至少某些的适合的实现环境1000的一般化示例。
在示例环境1000中,由云1010提供各种类型的服务(例如,计算服务1012)。例如,云1010可包括可位于中央或是分布式的计算设备集,其向经由诸如因特网等网络连接的各种类型的用户和设备提供基于云的服务。云计算环境1000可用于以不同的方式来实现计算任务。例如,参考所述技术和工具,可对本地计算设备执行诸如呈现用户界面之类的某些任务,同时可在云中的别处执行诸如数据处理或存储要在后续处理中使用的数据之类的其他任务。
在示例环境1000中,云1010向具有各种屏幕能力的连接的设备1020A-N提供服务。连接的设备1020A表示具有中型屏幕的设备。例如,连接的设备1020A可以是个人计算机,诸如台式计算机、膝上型计算机、笔记本、上网本等。连接的设备1020B表示具有小型屏幕的设备。例如,连接的设备1020B可以是移动电话、智能电话、个人数字助理、平板计算机等。连接的设备1020N表示具有大屏幕的设备。例如,连接的设备1020N可以是电视机(例如,启用因特网的电视机)或连接到电视机或投影仪屏幕的另一设备(例如,机顶盒或游戏控制台)。
云1010可通过一个或多个服务提供者(未示出)来提供各种服务。可针对特定的连接的设备(例如,连接的设备1020A-N)的屏幕大小、显示能力或其他功能来定制云服务。例如,可通过将通常与移动设备相关联的屏幕大小、输入设备以及通信带宽限制纳入考虑来为移动设备定制云服务。
鉴于可应用所公开的本发明的原理的许多可能的实施例,应当认识到,所示实施例仅是本发明的优选示例,并且不应认为是限制本发明的范围。相反,本发明的范围由所附权利要求书来限定。因此,要求保护落入这些权利要求的精神和范围内的所有内容作为本发明。

Claims (6)

1.在具有第一和第二处理器的移动计算设备中的一种方法,第一处理器相比于第二处理器是低功率处理器,所述方法包括,由第一处理器:
接收条件信息,所述条件信息指定用于在通知之间对位置进行缓冲的一个或多个条件;
基于从定位系统接收到的信息,计算所述移动计算设备在不同时间实例的多个位置;
根据所述一个或多个条件,将所述多个位置中的至少某些位置作为位置条目存储在与第一处理器相关联的多条目缓冲器中;以及
在通知中向第二处理器提供来自所述多条目缓冲区的位置条目的位置信息,所述提供是响应于以下中的至少一者进行的:
确定所述多条目缓冲区已经到达缓冲区充满度水平;
在第二处理器处于高功率状态时来自在第二处理器上执行的地点服务的对位置信息的请求;或者
确定作为位置条目所存储的位置中的两个位置之间的距离超出距离阈值。
2.如权利要求1所述的方法,其特征在于,还包括由第一处理器:
响应于作为所述一个或多个条件的一部分、从第二处理器接收到的距离阈值参数来设置所述距离阈值。
3.如权利要求1所述的方法,其特征在于,在所述多个位置中的给定位置与先前存储的位置之间的距离超出移动阈值的情况下,第一处理器存储所述给定位置作为所述位置条目之一,并且还包括:由第一处理器响应于作为所述一个或多个条件的一部分、从第二处理器接收到的移动阈值参数来设置所述移动阈值。
4.如权利要求1所述的方法,其特征在于,还包括:
请求卫星定位信息;以及
由所述移动计算设备的GPS接收机接收卫星定位信息,其中第一处理器基于接收到的卫星定位信息来计算所述移动计算设备的多个位置。
5.一种移动计算设备,包括:
用于在一个或多个低功率状态与一个或多个高功率状态之间切换的应用处理器;
其上存储有计算机可执行代码的第一存储介质,该计算机可执行代码对应于所述应用处理器可执行的基于地点的应用与地点服务之间的第一接口,其中第一接口支持由基于地点的应用对一个或多个条件的指定,在所述一个或多个条件下位置信息在通知之间被缓冲;以及
提供第二接口的低功率处理器,其中所述第二接口支持由所述地点服务对一个或多个条件的指定,在所述一个或多个条件下位置跟踪引擎在通知之间对位置信息进行缓冲,所述位置跟踪引擎适用于根据由所述地点服务指定的一个或多个条件,控制在第二存储介质的位置条目中缓冲所述移动计算设备在不同时间实例的多个位置,
其中由所述低功率处理器在通知中向所述应用处理器提供所缓冲的位置信息,所述提供是响应于以下中的至少一者进行的:
确定缓冲所述位置信息的缓冲区已经到达缓冲区充满度水平;
在所述应用处理器处于高功率状态时来自在所述应用处理器上执行的地点服务的对位置信息的请求;或者
确定作为位置条目所存储的位置中的两个位置之间的距离超出距离阈值。
6.在具有第一和第二处理器的移动计算设备中的一种方法,第一处理器相比于第二处理器是低功率处理器,所述方法包括,由第二处理器:
提供条件信息,所述条件信息指定用于在通知之间对位置进行缓冲的一个或多个条件;
接收与第一处理器相关联的多条目缓冲区中位置条目的位置信息,所述位置信息指示根据所述一个或多个条件而存储在多条目缓冲区中的一个或多个位置;以及
基于所述位置信息致使所述移动计算设备输出信息,
其中所述接收是响应于以下中的至少一者进行的:
由所述第一处理器确定所述多条目缓冲区已经到达缓冲区充满度水平;
在第二处理器处于高功率状态时来自在第二处理器上执行的地点服务的对位置信息的请求;或者
由所述第一处理器确定作为位置条目所存储的位置中的两个位置之间的距离超出距离阈值。
CN201310084569.6A 2012-03-16 2013-03-15 位置跟踪操作中的高效功率使用 Active CN103269510B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/423,109 2012-03-16
US13/423,109 US9128180B2 (en) 2012-03-16 2012-03-16 Efficient power usage in position tracking operations

Publications (2)

Publication Number Publication Date
CN103269510A CN103269510A (zh) 2013-08-28
CN103269510B true CN103269510B (zh) 2016-03-23

Family

ID=49013111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310084569.6A Active CN103269510B (zh) 2012-03-16 2013-03-15 位置跟踪操作中的高效功率使用

Country Status (2)

Country Link
US (1) US9128180B2 (zh)
CN (1) CN103269510B (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430029B2 (en) * 2012-03-09 2016-08-30 Intel Corporation Systems and methods for low power processing based on location information
US8738031B2 (en) * 2012-05-25 2014-05-27 Apple Inc. Operating geographic location systems
JP5888135B2 (ja) * 2012-06-12 2016-03-16 ソニー株式会社 無線通信装置、通信システムおよび情報処理方法
US9329701B2 (en) 2012-11-21 2016-05-03 Google Technology Holdings LLC Low power management of multiple sensor chip architecture
US20140191980A1 (en) * 2013-01-04 2014-07-10 Qualcomm Mems Technologies, Inc. System for reuse of touch panel and controller by a secondary display
US11029414B2 (en) * 2013-05-08 2021-06-08 Cm Hk Limited Electronic devices and methods for providing location information
US20140340317A1 (en) * 2013-05-14 2014-11-20 Sony Corporation Button with capacitive touch in a metal body of a user device and power-saving touch key control of information to display
US9042935B2 (en) * 2013-06-21 2015-05-26 Microsoft Technology Licensing, Llc Radio channel communication
US10796085B2 (en) 2013-07-10 2020-10-06 Crowdcomfort, Inc. Systems and methods for providing cross-device native functionality in a mobile-based crowdsourcing platform
US11394462B2 (en) 2013-07-10 2022-07-19 Crowdcomfort, Inc. Systems and methods for collecting, managing, and leveraging crowdsourced data
US10841741B2 (en) 2015-07-07 2020-11-17 Crowdcomfort, Inc. Systems and methods for providing error correction and management in a mobile-based crowdsourcing platform
WO2015006622A1 (en) 2013-07-10 2015-01-15 Crowdcomfort, Inc. System and method for crowd-sourced environmental system control and maintenance
US10379551B2 (en) 2013-07-10 2019-08-13 Crowdcomfort, Inc. Systems and methods for providing augmented reality-like interface for the management and maintenance of building systems
US10541751B2 (en) 2015-11-18 2020-01-21 Crowdcomfort, Inc. Systems and methods for providing geolocation services in a mobile-based crowdsourcing platform
US10070280B2 (en) * 2016-02-12 2018-09-04 Crowdcomfort, Inc. Systems and methods for leveraging text messages in a mobile-based crowdsourcing platform
JP2015045573A (ja) * 2013-08-28 2015-03-12 富士通株式会社 携帯型情報処理装置、情報処理方法及び情報処理プログラム
US9575551B2 (en) * 2013-09-26 2017-02-21 Intel Corporation GNSS services on low power hub
US9560720B2 (en) * 2013-11-21 2017-01-31 General Electric Company Emergency vehicle alert system
CN103619056B (zh) * 2013-12-02 2018-01-12 华为终端(东莞)有限公司 一种上报传感器数据的方法和终端
US9825944B2 (en) * 2014-01-24 2017-11-21 Microsoft Technology Licensing, Llc Secure cryptoprocessor for authorizing connected device requests
US20150241219A1 (en) * 2014-02-25 2015-08-27 Ford Global Technologies, Llc Method and Apparatus for Providing a Navigation Route Having Multiple Associated Points of Interest
US9503894B2 (en) * 2014-03-07 2016-11-22 Cellco Partnership Symbiotic biometric security
US10003925B1 (en) * 2014-04-30 2018-06-19 Marvell International Ltd. Low-power device positioning method using position updates calculated by low power processor
EP2950558B1 (en) * 2014-05-30 2020-03-25 Apple Inc. Method and apparatus for initiating a high-power connection via a low-power interface
US9794885B2 (en) * 2014-07-09 2017-10-17 Apple Inc. Baseband modem implementing communication protocol stack
CN105451328A (zh) * 2014-08-19 2016-03-30 乐视致新电子科技(天津)有限公司 一种位置定位方法和电子设备
US10009715B2 (en) 2015-01-06 2018-06-26 Microsoft Technology Licensing, Llc Geographic information for wireless networks
US9491582B2 (en) * 2015-02-06 2016-11-08 Ping4, Inc. Method for optimizing battery use in a mobile device while tracking a location of the device
US10009726B2 (en) 2015-02-06 2018-06-26 Ping4 Inc. Battery efficient hybrid mobile device location monitoring
US10045159B2 (en) 2015-07-02 2018-08-07 Qualcomm Incorporated Providing, organizing, and managing location history records of a mobile device
CN106325487A (zh) * 2015-07-03 2017-01-11 中兴通讯股份有限公司 一种实现体感功能的方法和终端
KR102427822B1 (ko) 2015-08-12 2022-08-01 삼성전자주식회사 위치 정보 제공 방법 및 장치
KR102416549B1 (ko) * 2015-08-12 2022-07-04 삼성전자주식회사 어플리케이션을 관리하는 방법 및 그를 위한 전자 장치
CN105553963B (zh) * 2015-12-10 2019-11-29 小米科技有限责任公司 定位服务的控制方法和装置
CN105674977A (zh) * 2016-01-06 2016-06-15 华为技术有限公司 导航装置和导航方法
KR102564468B1 (ko) * 2016-02-11 2023-08-08 삼성전자주식회사 경로 정보를 제공하기 위한 전자 장치 및 방법
KR20180013608A (ko) 2016-07-29 2018-02-07 삼성전자주식회사 전자 장치의 전력 소모 감소를 위한 방법 및 장치
EP3300335B1 (en) * 2016-09-22 2021-07-21 InterDigital CE Patent Holdings Device and method for data packet processing
US10163284B2 (en) * 2017-02-03 2018-12-25 Gto Access Systems, Llc Method and system for controlling a movable barrier
JP6784204B2 (ja) 2017-03-22 2020-11-11 カシオ計算機株式会社 情報処理装置、情報処理方法及びプログラム
JP7009759B2 (ja) * 2017-03-24 2022-01-26 カシオ計算機株式会社 情報処理装置、情報処理方法及びプログラム
US11036542B2 (en) * 2017-09-29 2021-06-15 Oracle International Corporation Automatically limiting repeated checking on completion of a command without relinquishing a processor
CN108491482B (zh) * 2018-03-12 2022-02-01 武汉科技大学 一种顾及邻近度关系的地质图动态综合方法及系统
EP3796681B1 (en) 2018-06-07 2023-08-30 Huawei Technologies Co., Ltd. Information pushing method and terminal device
JP7192260B2 (ja) * 2018-06-21 2022-12-20 カシオ計算機株式会社 電子機器、情報処理方法及び情報処理プログラム
CN111163415B (zh) * 2018-10-19 2021-03-05 成都鼎桥通信技术有限公司 位置信息上报方法、装置、电子设备以及存储介质
EP3908823A4 (en) 2019-01-10 2022-10-12 Travera LLC CALIBRATION OF A FUNCTIONAL BIOMARKER INSTRUMENT
WO2020175778A1 (en) * 2019-02-28 2020-09-03 Samsung Electronics Co., Ltd. Electronic device for supporting user state-based geofencing services
US11175725B2 (en) 2019-03-15 2021-11-16 International Business Machines Corporation Preserving battery life of devices through shared processing tasks
EP3956697A4 (en) * 2019-04-17 2022-12-28 Apple Inc. USER INTERFACES TO TRACK AND LOCATE ITEMS
CN112014866B (zh) * 2019-05-28 2024-03-26 华为技术有限公司 运动轨迹记录方法及相关设备
US10560898B1 (en) * 2019-05-30 2020-02-11 Snap Inc. Wearable device location systems
US10575131B1 (en) 2019-05-30 2020-02-25 Snap Inc. Wearable device location accuracy systems
US10582453B1 (en) 2019-05-30 2020-03-03 Snap Inc. Wearable device location systems architecture
US11720416B2 (en) 2019-09-13 2023-08-08 Oracle International Corporation Adaptive synchronization for redo writing to persistent memory storage
US11435805B2 (en) * 2019-11-25 2022-09-06 Microsoft Technology Licensing, Llc Power-conserving off-loaded location service
US12010583B2 (en) * 2020-02-06 2024-06-11 Huawei Technologies Co., Ltd. Method, apparatus and system for mobile device location determination
EP4167053A4 (en) * 2020-06-16 2024-06-26 Mobvoi Information Technology Company Limited DATA PROCESSING METHOD, APPARATUS AND SYSTEM AND COMPUTER-READABLE STORAGE MEDIUM

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917401A (zh) * 2005-08-16 2007-02-21 冲电气工业株式会社 无线终端装置的位置信息获取方法
CN102246545A (zh) * 2008-12-15 2011-11-16 高通股份有限公司 位置日志录入以及基于位置和时间的过滤

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE542154T1 (de) * 2001-09-14 2012-02-15 Sirf Tech Inc Fortschrittliches energiemanagement für ein satellitenpositioniersystem
US7071871B2 (en) 2004-03-25 2006-07-04 Raytheon Company Low power dissipation tracking architecture for GPS navigation systems
US8249616B2 (en) 2007-08-23 2012-08-21 Texas Instruments Incorporated Satellite (GPS) assisted clock apparatus, circuits, systems and processes for cellular terminals on asynchronous networks
US8188917B2 (en) 2008-02-25 2012-05-29 CSR Technology Holdings Inc. System and method for operating a GPS device in a micro power mode
US8085190B2 (en) 2008-03-31 2011-12-27 Intel Corporation Method and apparatus for faster global positioning system (GPS) location using a pre-computed spatial location for tracking GPS satellites
US20100162021A1 (en) 2008-12-08 2010-06-24 Kennard Peter System and method for extending the battery life of a mobile device
US8812232B2 (en) 2009-06-22 2014-08-19 Nokia Corporation Method and apparatus for reducing energy consumption of a user equipment
WO2011057000A1 (en) 2009-11-04 2011-05-12 Maxlinear, Inc. Gps baseband controller architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917401A (zh) * 2005-08-16 2007-02-21 冲电气工业株式会社 无线终端装置的位置信息获取方法
CN102246545A (zh) * 2008-12-15 2011-11-16 高通股份有限公司 位置日志录入以及基于位置和时间的过滤

Also Published As

Publication number Publication date
US9128180B2 (en) 2015-09-08
CN103269510A (zh) 2013-08-28
US20130244686A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
CN103269510B (zh) 位置跟踪操作中的高效功率使用
US9749794B2 (en) Scalability and reliability of hardware geo-fencing with failover support
CN102882637B (zh) 一种用于传输或接收信标消息的方法和设备
US9058128B1 (en) Power management for electronic devices
CN107076561B (zh) 在位置确定期间考虑室内-室外过渡
US8886576B1 (en) Automatic label suggestions for albums based on machine learning
US8429103B1 (en) Native machine learning service for user adaptation on a mobile platform
CN102036163B (zh) 行为模式分析系统、移动终端、行为模式分析方法和程序
CN102498706B (zh) 一种计算机实现的电力管理方法
US8510238B1 (en) Method to predict session duration on mobile devices using native machine learning
US20170085426A1 (en) System and method for preprocessing user applications
WO2018157721A1 (zh) 信息获取方法、提供方法、装置及系统、存储介质
US20130346347A1 (en) Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context
CN106687932A (zh) 跨设备应用发现和控制
US9319843B2 (en) Adaptive acceleration-based reminders
EP3506088A1 (en) Method and apparatus for associating notification messages, and mobile terminal
CN103493017A (zh) 后台任务的管理
CN107113572B (zh) 针对无线网络的地理信息
US20180367325A1 (en) Method and system for sorting chatroom list based on conversational activeness and contextual information
CN111328020A (zh) 基于室内定位系统的业务处理方法和装置
CN110782289B (zh) 一种基于用户画像的业务推荐方法和系统
CN106131692A (zh) 基于视频直播的互动控制方法、装置及服务器
CN103475392A (zh) 信息获取方法、装置和终端
CN102067633A (zh) 用于位置共享的方法、装置和计算机程序产品
CN104067249B (zh) 用于将笔记应用内的不同笔记本组件远程同步的方法和设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150722

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant