ES2842583T3 - Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles - Google Patents

Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles Download PDF

Info

Publication number
ES2842583T3
ES2842583T3 ES14748334T ES14748334T ES2842583T3 ES 2842583 T3 ES2842583 T3 ES 2842583T3 ES 14748334 T ES14748334 T ES 14748334T ES 14748334 T ES14748334 T ES 14748334T ES 2842583 T3 ES2842583 T3 ES 2842583T3
Authority
ES
Spain
Prior art keywords
processor
processes
mobile device
positioning
location
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
ES14748334T
Other languages
English (en)
Inventor
Satheesh Jayakumar
Xintian Li
Zhikai Tang
Wei Chen
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2842583T3 publication Critical patent/ES2842583T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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
    • 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/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • 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
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/04TPC
    • H04W52/18TPC being performed according to specific parameters
    • H04W52/28TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission
    • H04W52/285TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission taking into account the mobility of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Landscapes

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

Abstract

Un procedimiento que comprende, en un dispositivo móvil: monitorizar uno o más primeros procesos alojados en un primer procesador (106-1) en dicho dispositivo móvil (102); cambiar uno o más segundos procesos alojados en dicho primer procesador a un estado de energía reducida, usando dichos uno o más segundos procesos parámetros de localización (208); iniciar una comunicación en un bus (210) que conecta dicho primer procesador a un motor de posicionamiento (212) externo a dicho primer procesador para obtener al menos un parámetro de localización actualizado (214); sin activar dicho motor de posicionamiento, en respuesta a la detección de una transformación de modo operativo de al menos uno de dichos uno o más primeros procesos, habiéndose determinado previamente dicho al menos un parámetro de localización actualizado por dicho motor de posicionamiento; recibir dicho al menos un parámetro de localización actualizado en respuesta a dicha comunicación; y actualizar un parámetro de posicionamiento almacenado localmente (208) en base, al menos en parte, a dicho al menos un parámetro de localización actualizado mientras se mantienen dichos uno o más segundos procesos en dicho estado de energía reducida.

Description

DESCRIPCIÓN
Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles
SOLICITUDES RELACIONADAS
[0001] La presente es una solicitud del PCT que reivindica la prioridad de la solicitud de patente provisional de EE. UU. N.° 61/842,916 presentada el 3 de julio de 2013 y titulada "METHODS AND/OR SYSTEM FOR PROVIDING LOCATION PARAMETERS TO MOBILE APPLICATIONS [PROCEDIMIENTOS Y/O SISTEMA PARA PROPORCIONAR PARÁMETROS DE LOCALIZACIÓN A APLICACIONES MÓVILES]”, y la solicitud de patente no provisional de EE. UU. n.° 14/135,061 presentada el 19 de diciembre de 2013 y titulada "METHODS AND APPARATUSES FOR USE IN PROVIDING LOCATION PARAMETERS TO MOBILE APPLICATIONS
[PROCEDIMIENTOS Y APARATOS PARA SU USO PARA PROPORCIONAR PARÁMETROS DE LOCALIZACIÓN A APLICACIONES MÓVILES]”.
Antecedentes
1. Campo
2.
[0002] La materia objeto divulgada en el presente documento se refiere a dispositivos móviles y, más en particular, a procedimientos, aparatos y artículos de fabricación para su uso por y/o en un dispositivo móvil para proporcionar uno o más parámetros de localización a uno o más procesos móviles (por ejemplo, aplicaciones) proporcionados y/o admitidos de otro modo, al menos en parte, por el dispositivo móvil.
3. Información
[0003] Como su nombre implica, un dispositivo móvil puede estar en constante movimiento, por ejemplo, típicamente transportado por un usuario y/o posiblemente una máquina. A modo de algunos ejemplos no limitativos, un dispositivo móvil puede adoptar la forma de un teléfono celular, un teléfono inteligente, una tableta, un ordenador portátil, un ordenador ponible, un dispositivo de navegación y/o de seguimiento, etc.
[0004] La posición y/o los movimientos de un dispositivo móvil se pueden determinar, al menos en parte, por una capacidad de posicionamiento y/o navegación (en adelante en el presente documento, simplemente denominada capacidad de posicionamiento) que se puede implementar a bordo del dispositivo móvil, en uno o más de otros dispositivos electrónicos, y/o en alguna combinación de los mismos. Determinadas capacidades de posicionamiento se pueden basar en una o más señales inalámbricas transmitidas por uno o más dispositivos de transmisión y adquiridas por un dispositivo móvil. A modo de ejemplo, determinadas capacidades de posicionamiento basadas en señales inalámbricas hacen uso de señales inalámbricas adquiridas desde un sistema de posicionamiento por satélite (SPS), tal como, por ejemplo, el sistema de posicionamiento global (GPS), etc.
[0005] En otro ejemplo, determinadas capacidades de posicionamiento basadas en señales inalámbricas hacen uso de señales inalámbricas adquiridas desde dispositivos de transmisión inalámbricos terrestres, tales como, por ejemplo, un dispositivo de transmisión de baliza de posicionamiento dedicada, un dispositivo de punto de acceso (AP) que puede ser parte de una red inalámbrica de área local, una estación transceptora base que puede ser parte del sistema de telefonía celular, y/o similares o alguna combinación de los mismos. En determinadas implementaciones, una capacidad de posicionamiento puede hacer uso de uno o más archivos electrónicos, tales como, por ejemplo, un mapa electrónico, un gráfico de enrutabilidad, un mapa de calor de radio y/o similares o alguna combinación de los mismos, para determinar una posición y/u otros movimientos del dispositivo móvil dentro de un entorno particular.
[0006] Dado que los dispositivos móviles tienden a funcionar con energía de la batería, a menudo existe un deseo de servir energía de la batería mientras se proporciona una experiencia de usuario razonable. En consecuencia, existe un deseo continuo de proporcionar capacidades/procesos de posicionamiento de alta calidad pero eficientes en un dispositivo móvil.
Se llama la atención sobre el documento US 2009/192709 A1 que se refiere a la selección de fuente de posición. En una implementación, un dispositivo electrónico proporciona funcionalidad para determinar una posición. El dispositivo electrónico se puede configurar además para seleccionar entre una pluralidad de fuentes de posición para determinar la posición en base a una variedad de criterios de selección. En una implementación, se puede almacenar una última posición conocida cuando la posición se determina a través de la pluralidad de fuentes de posición. La última posición conocida se puede usar como una alternativa para determinar la posición por medio de las fuentes de posición cuando una o más de las fuentes de posición no están disponibles. En otra implementación, la última posición conocida se puede emplear para seleccionar automáticamente una de la pluralidad de fuentes de posición que va a usar el dispositivo electrónico para determinar la posición.
Se llama también la atención sobre el documento US 5367 306 A que describe un procedimiento y un aparato para la integración del sistema de posicionamiento global o la información de posicionamiento de LORAN en la transmisión de una señal de baliza de radio de transmisor de localización de emergencia (ELT).
Las señales de los satélites NAVSTAR o del sistema LORAN se reciben por un receptor. La posición calculada y, a continuación, las actualizaciones subsiguientes, se procesan y se almacenan alternativamente en dos localizaciones en un chip de memoria de acceso aleatorio estática. Tras la activación del transmisor de ELT, la información de posición actualizada, o la última información almacenada, se combina con la información de la aeronave almacenada en un chip de EPROM. La información de la aeronave y la información de posición se convierten preferentemente de una señal digital a voz por un sintetizador de voz. Toda esta información se integra a continuación en la señal de baliza de radio y se difunde por el ELT. Este nuevo paquete de almacenamiento y procesamiento de ELT-GPS es autónomo, con alimentación independiente y resistente a colisiones.
Se llama también la atención sobre el documento US 2007/126627 A1 que muestra un aparato de procesamiento de información de posicionamiento que incluye medios de adquisición de información de posicionamiento para adquirir información de posicionamiento a intervalos de tiempo estándar predeterminados y medios de transmisión de información de posicionamiento para transmitir fuera de la información de posicionamiento adquirida por los medios de adquisición de información de posicionamiento a través de una ruta de comunicación de datos predeterminada sólo si la información de posicionamiento es eficaz.
Se llama también la atención sobre el documento US 2012/122493 A1, que se refiere a un dispositivo de procesamiento de información que incluye una unidad de función principal que realiza las funciones principales del dispositivo de procesamiento de información y se hace funcionar cambiando entre un modo de funcionamiento normal y un modo de ahorro de energía en el que se consume menos energía que en el modo de funcionamiento normal. Una unidad de adquisición de posición adquiere información de posición que indica la posición actual, y un controlador de registro hace que una primera unidad de almacenamiento registre la información de seguimiento de movimiento obtenida haciendo que la información de posición adquirida por la unidad de adquisición de posición corresponda al momento en el que la información de posición se adquiere en el estado donde la unidad de funcionamiento principal se cambia al modo de ahorro de energía.
BREVE EXPLICACIÓN
[0007] De acuerdo con la presente invención, se proporcionan procedimientos, dispositivos, medios y funciones de la forma expuesta en las reivindicaciones independientes. Los modos de realización de la invención se reivindican en las reivindicaciones dependientes.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[0008] Se describen aspectos no limitantes y no exhaustivos con referencia a las figuras siguientes, en las que números de referencia similares se refieren a partes similares en la totalidad de las diversas figuras, a menos que se especifique de otro modo.
La FIG. 1 es un diagrama de bloques esquemático que ilustra una disposición de ejemplo de dispositivos electrónicos representativos que incluyen un dispositivo móvil de ejemplo configurado para proporcionar uno o más parámetros de localización a uno o más procesos móviles (por ejemplo, aplicaciones) proporcionados y/o admitidos de otro modo, al menos en parte, por el dispositivo móvil, de acuerdo con una implementación de ejemplo.
La FIG. 2 es un diagrama de bloques esquemático que ilustra un dispositivo móvil de ejemplo, por ejemplo, como en la FIG. 1, configurado para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o admitidos de otro modo, al menos en parte, por un primer procesador dentro del dispositivo móvil, de acuerdo con una implementación de ejemplo.
La FIG. 3A y la FIG. 3B son diagramas de flujo que ilustran algunos procesos de ejemplo que se pueden implementar en un dispositivo móvil para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o admitidos de otro modo, al menos en parte, por un dispositivo móvil, por ejemplo, como en la FIG. 1, de acuerdo con determinadas implementaciones de ejemplo.
La FIG. 4 es un diagrama esquemático que ilustra determinadas características de un dispositivo móvil de ejemplo, por ejemplo, como en la FIG. 1, configurado para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o de admitidos de otro modo, al menos en parte, por el dispositivo móvil, de acuerdo con determinadas implementaciones de ejemplo.
La FIG. 5 es un diagrama de flujo de información que ilustra determinados aspectos de comunicación y/o procesamiento de ejemplo de un dispositivo móvil, por ejemplo, como la FIG. 4, configurado para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o admitidos de otro modo, al menos en parte, por el dispositivo móvil, de acuerdo con determinada implementación de ejemplo.
La FIG. 6 es un diagrama esquemático que ilustra determinadas características de una plataforma informática de ejemplo que se puede proporcionar dentro de un dispositivo móvil, por ejemplo, como en la FIG. 1, de acuerdo con determinadas implementaciones de ejemplo.
DESCRIPCIÓN DETALLADA
[0009] En implementaciones particulares de un dispositivo móvil, un primer procesador (por ejemplo, un procesador de aplicaciones) puede proporcionar y/o admitir de otro modo, al menos en parte, uno o más procesos (por ejemplo, programas de aplicación y/o similares, a continuación en el presente documento simplemente denominados "procesos", "aplicaciones" y/o "apps") que pueden emplear, usar o explotar de otro modo correcciones de posición o localizaciones estimadas del dispositivo móvil. Por ejemplo, dicho dispositivo móvil puede comprender un receptor de GNSS y/o similar, que puede ser capaz de calcular localizaciones estimadas del dispositivo móvil en base, al menos en parte, a las señales inalámbricas adquiridas desde transmisores en un sistema de posicionamiento por satélite (SPS). En determinadas implementaciones, un dispositivo móvil puede obtener una estimación aceptable de su localización en base, al menos en parte, a la adquisición de señales transmitidas desde dispositivos de transmisión terrestres (por ejemplo, estaciones base celulares, puntos de acceso de redes inalámbricas de área local (WLAN) interiores, dispositivos de transmisión de balizas de localización, y/o similares o alguna combinación de los mismos que puede tener localizaciones conocidas o determinables).
[0010] En determinadas implementaciones de ejemplo, los aspectos de la determinación de la posición o la estimación de la localización se pueden realizar, al menos en parte, por un "motor de localización" o un "motor de posicionamiento"; a continuación en el presente documento simplemente denominado "motor de posición". En determinados casos, dicho motor de posición se puede implementar en un dispositivo móvil en circuitos (por ejemplo, un segundo procesador) que pueden estar separados y/o de otro modo ser operativamente independientes de alguna manera de un procesador de aplicaciones (por ejemplo, un primer procesador) que aloja aplicaciones, algunas de las cuales pueden usar uno o más parámetros de localización, por ejemplo, determinadas por el motor de posicionamiento, y/o uno o más parámetros de posicionamiento que pueden comprender y/o basarse, al menos en parte, en uno o más de los parámetros de localización determinados por el motor de posición. Por ejemplo, un motor de posicionamiento se puede implementar en un procesador de módem y proporcionar uno o más parámetros de localización determinados a una o más aplicaciones alojadas en un procesador de aplicaciones. Por ejemplo, un procesador de módem puede proporcionar uno o más parámetros de localización determinados a un procesador de aplicaciones por medio de una o más conexiones, por ejemplo, un bus. Aquí, por ejemplo, un aparato y/u otra entidad similar proporcionada por un procesador de aplicaciones puede iniciar una comunicación (por ejemplo, un mensaje de "llamada" y/o similar) a un motor de posicionamiento para obtener uno o más parámetros de localización, por ejemplo, correspondientes a una estimación de localización o a una corrección de posición. En respuesta a dicha comunicación, un motor de posicionamiento y/o alguna capacidad de soporte pueden iniciar/ejecutar un proceso (por ejemplo, la adquisición de señales transmitidas por un transmisor de GNSS, un dispositivo de transmisión terrestre y/o similares o alguna combinación de los mismos) para obtener mediciones para su uso en el cálculo total o parcial de una estimación de localización o corrección de posición para el dispositivo móvil. En implementaciones particulares, un motor de posicionamiento puede obtener la totalidad o parte de una estimación de localización o una corrección de posición independientemente de cualquier comunicación recibida de un procesador de aplicaciones. Uno o más parámetros de localización para una estimación de localización o corrección de posición determinada se pueden almacenar localmente o en caché (por ejemplo, en una memoria caché o en registros de un procesador de módem y/o dentro de uno o más componentes de soporte determinados acoplados a los mismos), y posteriormente proporcionarse a un procesador de aplicaciones (y/o recuperarse del procesador de módem por un procesador de aplicaciones) bajo demanda. En determinados casos, habiéndose obtenido del motor de posición, uno o más parámetros de localización se pueden almacenar localmente o en caché para su uso por una o más aplicaciones alojadas por el procesador de aplicaciones.
[0011] Como se usa en el presente documento, el término "alojado" con respecto a un procesador pretende representar ampliamente que el procesador puede ejecutar instrucciones implementables por ordenador correspondientes a la totalidad o parte de uno o más procesos. Se debe entender que un procesador puede, en ocasiones, estar ejecutando activamente dichas instrucciones, mientras que en otras ocasiones la ejecución de dichas instrucciones se puede pausar o retrasar de otro modo, ponerse en cola, programarse, etc. En determinados casos, una aplicación y/u otras funciones o capacidades similares pueden comprender la totalidad o parte de uno o más de dichos procesos.
[0012] En determinadas implementaciones de ejemplo, un procesador de aplicaciones puede, de vez en cuando y/o bajo condiciones particulares, cambiar a un estado/modo operativo reducido o de energía reducida, por ejemplo, en el que las aplicaciones se pueden desactivar (por ejemplo, eliminarse parcialmente o completamente de la memoria del sistema del procesador de aplicaciones) y/o de otro modo modificarse de alguna manera mientras se mantienen activos los servicios o aspectos de un sistema operativo para permitir la restauración del procesador de aplicaciones a un estado operativo o de energía superior. En una implementación de ejemplo particular (por ejemplo, en determinadas plataformas de procesamiento de dispositivos móviles basadas en el sistema operativo Android™), las aplicaciones en un procesador de aplicaciones en un estado de energía reducida pueden no ser capaces de obtener una estimación de la localización o una corrección de la posición disponible más reciente mientras las aplicaciones están desactivadas (por ejemplo, las aplicaciones se detienen como parte de un estado/modo de energía reducido (más bajo) para conservar los recursos de la batería). Sin embargo, la activación de una o más de dichas aplicaciones desactivadas en un procesador de aplicaciones para obtener una estimación de la localización o una corrección de la posición recibidas más recientemente, puede consumir recursos de la batería de forma inaceptable, ya que el procesador de aplicaciones puede necesitar cambiar a un estado/modo de energía (superior).
[0013] Como se describe con mayor detalle en el presente documento, en determinadas implementaciones de ejemplo, un dispositivo móvil puede monitorizar uno o más procesos, que pueden ser indicativos de un estado/modo operativo o de energía de un procesador de aplicaciones del dispositivo móvil. Si se detecta una actividad o condición predeterminada particular (por ejemplo, un evento) del uno o más procesos, el dispositivo móvil puede iniciar una comunicación y/o similar a través de una o más conexiones (por ejemplo, un bus) conectando operativamente el procesador de aplicaciones a un motor de posicionamiento, la totalidad o parte del cual se puede proporcionar externamente al procesador de aplicaciones, para obtener uno o más parámetros de localización (actualizados). En determinados casos, un evento detectado puede ser indicativo de un estado operativo o de energía de una aplicación alojada en el procesador de aplicaciones. En un aspecto, en consecuencia, uno o más parámetros de localización se pueden obtener en respuesta a una comunicación y ponerse a disposición (localmente) para una o más de las aplicaciones alojadas por el procesador de aplicaciones, sin consumir innecesariamente recursos de la batería para restaurar una aplicación particular a un estado/modo de energía de nivel superior. De forma similar, en determinados casos, se pueden proporcionar uno o más parámetros de localización en respuesta a una comunicación desde un motor de posición (por ejemplo, dentro de un procesador de módem), sin consumir innecesariamente recursos de la batería significativos para cambiar el procesador de módem y/u otros circuitos correspondientes desde un estado/modo de menor (consumo de) energía a un estado/modo de (consumo de) energía relativamente más alto.
[0014] Como se describe con mayor detalle en el presente documento, en determinadas implementaciones de ejemplo, un dispositivo móvil puede monitorizar uno o más procesos alojados, al menos en parte, en un primer procesador del dispositivo móvil, y en respuesta a la detección de actividad de al menos uno de los uno o más procesos iniciar una comunicación en un bus que conecta el primer procesador a un motor de posicionamiento, que se puede proporcionar externamente al primer procesador (por ejemplo, en un segundo procesador) para obtener al menos un parámetro de localización actualizado. Aquí, por ejemplo, al menos uno de los parámetros de localización actualizados se puede haber determinado previamente por el motor de posicionamiento. Por lo tanto, en determinados casos, es posible que no sea necesario activar, despertar y/o modificar de otro modo un motor de posición en respuesta a dicha comunicación. En cambio, en determinados casos, uno o más parámetros de localización actualizados (por ejemplo, más recientes) se pueden obtener de un registro o memoria de un motor de posición correspondiente. En determinadas implementaciones de ejemplo, un primer procesador puede comprender una o más unidades de procesamiento configuradas para actuar como un procesador de aplicaciones y/o similares. En determinadas implementaciones de ejemplo, un segundo procesador puede comprender una o más unidades de procesamiento configuradas para actuar como un motor de posicionamiento, un procesador de módem y/o similares o alguna combinación de los mismos.
[0015] En determinadas implementaciones de ejemplo, un dispositivo móvil se puede configurar para enviar uno o más eventos a un sistema operativo del primer procesador y/o detectar actividad en respuesta a una señal que indica la ocurrencia de al menos un evento. En determinados casos, un dispositivo móvil se puede configurar para detectar actividad en base, al menos en parte, a una predicción de que se espera que determinada actividad correspondiente a uno o más de los procesos alojados, al menos en parte, por el primer procesador se produzca en un instante posterior. Aquí, por ejemplo, en determinados casos, una predicción se puede basar, al menos en parte, en un historial de actividad obtenido de la monitorización de uno o más de los procesos. En determinados casos, una predicción se puede basar, al menos en parte, en una medición del tiempo.
[0016] Como se menciona anteriormente y se describe con mayor detalle en el presente documento, en determinadas implementaciones, la actividad de al menos uno de los procesos puede comprender y/o de otro modo indicar la restauración de una aplicación a un estado/modo de energía particular, por ejemplo, alojado por el primer procesador. En determinados casos, en respuesta a una comunicación, un estado operativo de un motor de posicionamiento (por ejemplo, en un segundo procesador), puede permanecer inalterado. Por ejemplo, como se menciona, en determinados casos dicho estado operativo puede comprender un estado de baja energía (por ejemplo, un estado de menor consumo de energía en contraposición a un estado de mayor consumo de energía).
[0017] En determinadas implementaciones de ejemplo, un primer procesador y/o similares pueden recibir al menos un parámetro actualizado en respuesta a una comunicación, y actualizar el uno o más parámetros de posicionamiento almacenados en caché localmente en base, al menos en parte, a uno o más parámetros de localización actualizados.
[0018] A continuación, se llama la atención sobre la FIG. 1, que es un diagrama de bloques esquemático que ilustra una disposición 100 de ejemplo de dispositivos electrónicos representativos que incluyen un dispositivo móvil 102 de ejemplo que tiene un aparato 104, y que se puede configurar para proporcionar uno o más parámetros de localización a una o más aplicaciones proporcionadas y/o admitidas de otra manera, al menos en parte, por el dispositivo móvil, de acuerdo con una implementación de ejemplo.
[0019] El dispositivo móvil 102 puede comprender, por ejemplo, un dispositivo informático portátil, un dispositivo de comunicación portátil, un dispositivo de localización/seguimiento portátil y/o similares o alguna combinación de los mismos. Por lo tanto, en determinados casos, el dispositivo móvil 102 puede comprender un teléfono celular, un teléfono inteligente, un ordenador portátil, una tableta, un dispositivo de navegación, un ordenador ponible, un mecanismo de seguimiento, solo por nombrar algunos ejemplos.
[0020] Como se ilustra, el dispositivo móvil 102 puede recibir señales inalámbricas a través de un enlace de comunicación 111 desde una o más redes 110, que pueden estar acopladas además a uno o más de otros dispositivos 116 por medio del enlace de comunicación 117. En determinadas implementaciones, la(s) red(es) 110 puede(n) ser representativa(s) de uno o más sistemas de comunicación inalámbrica, uno o más sistemas de comunicación celular, uno o más sistemas de comunicación por cable, una o más redes de ordenadores, la totalidad o parte de Internet, una intranet, una red de área local y/u otros recursos/dispositivos/servicios informáticos y/o de comunicación diversos.
[0021] El dispositivo móvil 102 puede recibir señales inalámbricas a través del enlace de comunicación 121 desde uno o más dispositivos de transmisión 120, uno o más de los cuales se pueden acoplar además entre sí y/o a la(s) red(es) 110, por ejemplo, por medio del enlace de comunicación 122. El/los dispositivo(s) de transmisión 120 puede(n) ser representativo(s) de una variedad de dispositivos de transmisión y/o dispositivos de transmisión/recepción diferentes que pueden transmitir y/o recibir señales inalámbricas. En determinadas implementaciones, el/los dispositivo(s) de transmisión 120 puede(n) comprender uno o más dispositivos de transmisión que pueden ser parte de la(s) red(es) admitida(s) 110 de otro modo o de una parte de la(s) misma(s). Por lo tanto, por ejemplo, el/los dispositivo(s) de transmisión 120 puede(n) representar una estación base celular, un dispositivo de femtocélula, un dispositivo de picocélula, un dispositivo de punto de acceso de WLAN, un dispositivo de baliza de localización y/o similares o alguna combinación de los mismos, solo por nombrar algunos ejemplos. De hecho, en determinados casos, el/los dispositivo(s) de transmisión 120 puede(n) representar uno o más de otros dispositivos móviles. De acuerdo con determinados aspectos, el/los dispositivo(s) de transmisión 120 puede(n) representar cualquier dispositivo electrónico que pueda transmitir y/o recibir señales inalámbricas para admitir diversos servicios/capacidades informáticos, de comunicación, de localización y/u otros similares proporcionados o de otro modo admitidos por el dispositivo móvil 102.
[0022] En determinadas implementaciones, como se muestra en la FIG. 1, un dispositivo móvil 102 puede recibir o adquirir señales de SPS 134 de uno o más vehículos espaciales (SV) 132, que pueden ser parte de uno o más SPS 130. En algunos modos de realización, el SPS 130 puede ser un sistema global de navegación por satélite (GNSS), tal como los sistemas de satélites GPS o Galileo. En otros modos de realización, los SV 132 pueden ser de múltiples GNSS tales como, pero sin limitarse a, sistemas de satélites GPS, Galileo, Glonass o Beidou (Compass). En otros modos de realización, los SV 132 pueden ser de cualquiera de varios sistemas regionales de navegación por satélite (RNSS') tales como, por ejemplo, Sistema de Aumento de Área Amplia (WAAS), Servicio de Superposición de Navegación Geoestacionaria Europea (EGNOS), Sistema de Satélites Cuasi-Zenith (QZSS), solo por nombrar algunos ejemplos.
[0023] En implementaciones particulares, y como se analiza a continuación, el dispositivo móvil 102 puede tener circuitos y recursos de procesamiento capaces de calcular una corrección de posición o una localización estimada del dispositivo móvil 102. Por ejemplo, el dispositivo móvil 102 puede calcular una corrección de posición en base, al menos en parte, a mediciones de pseudoalcance a uno o más de los SV 132. Aquí, el dispositivo móvil 102 puede calcular dichas mediciones de pseudoalcance en base, al menos en parte, en detecciones de fase de código de pseudoruido en las señales de SPS 134 adquiridas desde cuatro o más SV 132. En implementaciones particulares, el dispositivo móvil 102 puede recibir datos de asistencia de posicionamiento y/o similares desde un servidor (por ejemplo, representado por otro(s) dispositivo(s) 116) que se pueden usar para ayudar en la adquisición de señales de SPS 134 incluyendo, por ejemplo, almanaque, datos de efemérides, ventanas de búsqueda de Doppler, solo por nombrar algunos ejemplos. En determinadas implementaciones, el dispositivo móvil 102 puede obtener otros tipos similares de datos de asistencia de posicionamiento desde uno o más de otros dispositivos con respecto a uno o más dispositivos de transmisión 120.
[0024] En determinadas implementaciones de ejemplo, el dispositivo móvil 102 puede obtener una corrección de posición procesando las señales recibidas desde uno o más dispositivos de transmisión terrestres 120 (uno o más de los cuales pueden tener localizaciones fijas y/o determinables de otro modo) usando cualquiera de varias técnicas tales como, por ejemplo, la trilateración avanzada de enlace directo (AFLT) y/u OTDOA. En estas técnicas de ejemplo particulares, se puede medir un alcance desde el dispositivo móvil 102 hasta uno o más de dichos transmisores terrestres fijos en localizaciones conocidas en base, al menos en parte, a las señales piloto transmitidas por el/los dispositivo(s) de transmisión 120 desde localizaciones determinables de otro modo y recibidas en el dispositivo móvil 102. En determinadas estaciones de ejemplo, como se menciona, uno o más de otros dispositivos 116 pueden ser capaces de proporcionar determinados tipos de datos de asistencia de posicionamiento al dispositivo móvil 102. A modo de ejemplo, determinados tipos de datos de asistencia de posicionamiento pueden ser indicativos de localizaciones e identidades de dispositivos de transmisión terrestres, lo que puede facilitar técnicas de posicionamiento tales como AFLT y OTDOA. Por ejemplo, un servidor representado por otro(s) dispositivo(s) 116 puede proporcionar la totalidad o parte de un almanaque de estación base (BSA) y/o similares, que puede ser indicativo de localizaciones e identidades de estaciones base celulares, etc., en una región o regiones en particular.
[0025] En entornos particulares, tales como entornos interiores o cañones urbanos, el dispositivo móvil 102 puede no ser capaz de adquirir adecuadamente las señales de SPS 134 de un número suficiente de SV 132 y/o de realizar AFLT u OTDOA para calcular una corrección de posición a partir de la adquisición de señales procedentes de dispositivos de transmisión terrestre exteriores aplicables. Por lo tanto, en determinados casos, el dispositivo móvil 102 puede ser capaz de calcular una corrección de posición en base, al menos en parte, a las señales inalámbricas adquiridas de otros dispositivos de transmisión, por ejemplo, dispositivos de transmisión locales/interiores (por ejemplo, puntos de acceso de WLAN, transceptores de femtocélulas, dispositivos Bluetooth, etc., que pueden estar ubicados en localizaciones conocidas o determinables de otro modo). En consecuencia, en determinadas implementaciones, el dispositivo móvil 102 puede obtener la totalidad o parte de una corrección de posición midiendo los alcances a uno o más dispositivos de punto de acceso inalámbrico terrestre interior y similares. Dichos alcances se pueden medir, por ejemplo, obteniendo una dirección MAC ID de las señales inalámbricas recibidas desde dicho dispositivo de transmisión y obteniendo las mediciones de alcance al dispositivo de transmisión (por ejemplo, al menos en parte, midiendo una o más características de las señales recibidas). A modo de ejemplo, en determinadas implementaciones se puede determinar/considerar una intensidad de señal recibida (RSSI), un tiempo de ida y vuelta (RTT), un ángulo de llegada (AOA) y/o similares o alguna combinación de los mismos. En determinadas implementaciones, el dispositivo móvil 102 puede obtener una corrección de la posición interior aplicando las características de las señales adquiridas a un mapa de calor de radio que indica las firmas esperadas de RSSI y/o RTT en localizaciones particulares en un área interior. En implementaciones particulares, un mapa de calor de radio puede asociar identidades de transmisores locales (por ejemplo, una dirección de MAC y/o algún otro identificador distintamente único que puede ser discernible de una señal adquirida de un transmisor local), RSSI esperada de señales transmitidas por los dispositivos de transmisión locales identificados, un RTT esperado de los dispositivos de transmisión identificados, y posiblemente desviaciones estándar de estos RSSI o RTT esperados. Se debería entender, sin embargo, que estos son meramente ejemplos de valores que se pueden almacenar en, modelar y/o representar funcionalmente/matemáticamente de otro modo por un mapa de calor de radio y/o similares, y que la materia objeto reivindicada no está limitada en este aspecto.
[0026] Además de las mediciones obtenidas de la adquisición de señales inalámbricas desde los dispositivos de transmisión locales, de acuerdo con un modo de realización particular, el dispositivo móvil 102 puede aplicar además un modelo de movimiento a las mediciones o inferencias obtenidas de los sensores inerciales (por ejemplo, acelerómetros, giroscopios, magnetómetros, etc.) y/o los sensores ambientales (por ejemplo, sensores de temperatura, micrófonos, sensores de presión barométrica, sensores de luz ambiental, generadores de imagen de cámara, etc.) para estimar la totalidad o parte de una localización o estado de movimiento del dispositivo móvil 102.
[0027] A continuación, se llama la atención sobre la FIG. 2, que es un diagrama de bloques esquemático que ilustra un dispositivo móvil de ejemplo 102' configurado para proporcionar uno o más parámetros de localización 214 determinados, al menos en parte, por un motor de posicionamiento 212 (y/o uno o más parámetros de posicionamiento correspondientes 208) a uno o más procesos 202 proporcionados y/o admitidos de otro modo, al menos en parte, por un primer procesador 106-1 dentro del dispositivo móvil 102', de acuerdo con una implementación de ejemplo. Como se ilustra en este ejemplo, el motor de posicionamiento 212 se puede proporcionar, al menos en parte, por el segundo procesador 106-2. Como se muestra, el primer procesador 106-1 y el segundo procesador 106-2 se pueden conectar operativamente por medio de una o más conexiones representadas en la FIG. 2 por el bus 210.
[0028] De acuerdo con determinadas implementaciones, el primer procesador 106-1 puede proporcionar un aparato 104', al menos en parte, para monitorizar la actividad correspondiente a uno o más de los procesos 202. A modo de ejemplo, en determinadas implementaciones, uno o más eventos 206 se pueden enviar a un sistema operativo 204, de modo que se puede detectar determinada actividad, por ejemplo, en respuesta a una o más señales correspondientes que indican la ocurrencia de uno o más eventos. A modo de algunos ejemplos no limitativos, determinado sistema operativo y/u otros eventos relacionados con el procesamiento similares 206 pueden ser indicativos de o corresponder de otro modo a una activación o a alguna transformación de estado/modo operativo, por ejemplo, correspondiente a uno o más procesos 202. En determinados casos, un evento 206 puede ser indicativo de y/o corresponder a un evento de activación/desactivación de pantalla, un evento de zona horaria, un evento de lugar, un evento de contexto telefónico y/o similares o alguna combinación de los mismos, de nuevo solo por nombrar algunos ejemplos. En consecuencia, un evento 206 puede ser indicativo de una probabilidad de que uno o más procesos 202 se hayan activado/desactivado, etc. o puedan llegar a estarlo. Monitorizando dichos eventos, el aparato 104' puede determinar selectivamente si debe iniciar una comunicación en el bus 210, por ejemplo, para obtener al menos un parámetro de localización actualizado 214. Por ejemplo, puede ser beneficioso iniciar una comunicación en respuesta a determinar que un proceso 202 se ha activado o se puede predecir que se activará en algún momento, y que puede hacer uso de uno o más parámetros de localización actualizados 214, y/o de uno o más parámetros de posicionamiento correspondientes 208. En respuesta a recibir una comunicación, uno o más parámetros de localización 214 se pueden proporcionar a través del bus 210 desde el segundo procesador 106-2 y almacenarse directamente como uno o más parámetros de posicionamiento 208 y/o procesarse de otro modo de alguna manera para obtener uno o más parámetros de posicionamiento 208. Los parámetros de posicionamiento 208 se pueden almacenar en una o más cachés locales disponibles para y/o dentro del primer procesador 106-1. En determinadas implementaciones, se pueden proporcionar uno o más parámetros de posicionamiento 208 en una forma particular que pueda ser útil para uno o más procesos particulares 202. En determinadas implementaciones diferentes, se pueden proporcionar uno o más parámetros de procesamiento 208 en una forma común que puede ser útil para una pluralidad de procesos 202. En determinadas implementaciones, además de determinar si se ha producido o se puede producir actividad (por ejemplo, en base a instancias históricas basadas en uno o más eventos 206), el aparato 104' puede iniciar una comunicación en base, al menos en parte, a una medida del paso del tiempo (por ejemplo, un tiempo periódico, un temporizador, un tiempo aleatorio, etc.). Por lo tanto, por ejemplo, en determinadas implementaciones se puede iniciar una comunicación en base, al menos en parte, a uno o más eventos actuales 206, uno o más eventos predichos, una medida del paso del tiempo y/o similares o alguna combinación de los mismos, solo por nombrar algunos ejemplos. Como se menciona previamente, en determinados casos puede ser deseable iniciar una comunicación para obtener parámetros de localización actualizados 214 en determinados momentos oportunistas, por ejemplo, en particular si el consumo de energía correspondiente es particularmente bajo/irrelevante. Un beneficio es que un proceso 202 puede experimentar un acceso rápido y eficiente a un parámetro de posicionamiento más reciente 208, lo que puede mejorar la experiencia del usuario y/o posiblemente reducir el consumo de energía.
[0029] A continuación, se llama la atención sobre la FIG. 3A, que es un diagrama de flujo que ilustra un proceso de ejemplo 300 que se puede implementar en un dispositivo móvil para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o admitidos de otro modo, al menos en parte, por un dispositivo móvil, de acuerdo con determinadas implementaciones de ejemplo. En el bloque de ejemplo 302, uno o más procesos enviados en un primer procesador (por ejemplo, un procesador de aplicaciones) se pueden monitorizar, por ejemplo, para determinada actividad actual y/o predicha. En el bloque de ejemplo 304, se puede iniciar una comunicación para obtener al menos un parámetro de localización actualizado en un bus que conecta el primer procesador a un motor de posicionamiento externo al primer procesador. La comunicación se puede iniciar, por ejemplo, en respuesta a la detección de actividad de al menos uno de los procesos monitorizados. El parámetro de localización actualizado puede, por ejemplo, haberse determinado previamente por el motor de posicionamiento.
[0030] A continuación, se llama la atención sobre la FIG. 3B, que es un diagrama de flujo que ilustra un proceso de ejemplo 300' que se puede implementar en un dispositivo móvil para proporcionar uno o más parámetros de localización a uno o más procesos proporcionados y/o admitidos de otro modo, al menos en parte, por un dispositivo móvil, de acuerdo con determinadas implementaciones de ejemplo. En el bloque de ejemplo 302, uno o más procesos enviados en un primer procesador (por ejemplo, un procesador de aplicaciones) se pueden monitorizar, por ejemplo, para determinada actividad actual y/o predicha. En determinadas implementaciones, en el bloque 306, la actividad se puede detectar en respuesta a una señal que indica la ocurrencia de al menos un evento, por ejemplo, como se envía a un sistema operativo del primer procesador. A modo de ejemplo no limitativo, en determinadas implementaciones se puede configurar un primer procesador, al menos en parte, para alojar una versión del sistema operativo Android™ disponible a través de Google Inc., de Mountain View, California. En determinados casos, en el bloque de ejemplo 308, la actividad se puede detectar en base, al menos en parte, a una predicción de que se espera o es probable que se produzca determinada actividad de al menos uno de los procesos en un momento subsiguiente.
[0031] En el bloque de ejemplo 304, se puede iniciar una comunicación para obtener al menos un parámetro de localización actualizado en un bus que conecta el primer procesador a un motor de posicionamiento externo al primer procesador. La comunicación se puede iniciar, por ejemplo, en respuesta a la detección de actividad de al menos uno de los procesos monitorizados. El parámetro de localización actualizado puede, por ejemplo, haberse determinado previamente por el motor de posicionamiento.
[0032] En el bloque de ejemplo 310, se puede recibir al menos un parámetro de localización actualizado en respuesta a una comunicación. A modo de ejemplo, en determinadas implementaciones, un segundo procesador y/u otros circuitos correspondientes pueden responder a una comunicación proporcionando uno o más parámetros de localización a un primer procesador por medio de un bus. A modo de ejemplo, en determinadas implementaciones, en respuesta a una comunicación, un segundo procesador puede proporcionar acceso a uno o más parámetros de localización que se pueden recuperar a través de un bus por un primer procesador y/u otros circuitos correspondientes. En determinadas implementaciones de ejemplo, una comunicación puede ser indicativa de uno o más parámetros de localización particulares. En determinadas implementaciones, como se describe en determinados pasos en el presente documento, uno o más parámetros de localización se pueden denominar "posición(es) de energía cero", o simplemente "ZPP" para indicar que los parámetros de localización se pueden obtener sin tener que gastar una cantidad significativa de recursos de energía eléctrica, por ejemplo, como se describe previamente como un beneficio potencial.
[0033] En el bloque de ejemplo 312, al menos un parámetro de posicionamiento almacenado localmente en caché se puede actualizar en base, al menos en parte, a al menos un parámetro de localización actualizado, por ejemplo, según se recibe en el bloque de ejemplo 310. Como se menciona, en determinados casos, un parámetro de localización recibido se puede almacenar en una caché local directamente como un parámetro de posicionamiento, mientras que en otros casos un parámetro de localización recibido se puede procesar de alguna manera para obtener un parámetro de posición que se puede almacenar en una caché local.
[0034] A continuación, se llama la atención sobre la FIG. 4, que es un diagrama esquemático que ilustra determinadas características de un sistema de ejemplo 400 que se puede implementar en un dispositivo móvil para proporcionar uno o más parámetros de localización y/o parámetros de posición correspondientes (por ejemplo, "posición(es) de energía cero") a una o más aplicaciones 402 y 404 proporcionadas y/o admitidas de otro modo, al menos en parte, por el dispositivo móvil, de acuerdo con determinadas implementaciones de ejemplo.
[0035] El sistema de ejemplo 400 comprende un servicio de gestor de localización 406 que comprende, por ejemplo, interfaces de programación de aplicaciones, a saber, una API de última localización conocida ("LastKnownLoc API") 408 que se puede usar para proporcionar una respuesta única, y una API de proveedor pasivo 410 que se puede usar para proporcionar una respuesta de seguimiento. Adicionalmente, en este ejemplo, el servicio de gestor de localización de ejemplo 406 puede comprender una o más cachés y/o similares, representadas en el presente documento por la caché de última localización conocida ("LastKnownLocation cache") 412, que puede servir "posiciones de energía cero" aplicables para uno o más proveedores, por ejemplo, a las aplicaciones 402 y 404, por ejemplo.
[0036] Determinadas características de ejemplo se pueden implementar, al menos en parte, en un aparato 104" ilustrado por la línea de recuadro discontinua que comprende la caché LastKnownLocation 412, un proveedor/servicio de localización fusionado 414 que comprende un receptor 416, un proveedor de localización pasivo ("PassiveLocProv") 428 y un proveedor de localización unificado 420. Las características adicionales del sistema no incluidas en este aparato de ejemplo 104" incluyen un proveedor de localización de GPS ("GPSLocationProvider") 426 y una capa de abstracción de hardware de localización (HAL) 418, que puede comprender un controlador de localización y/o similares.
[0037] Un delimitador de procesador 422 también se ilustra como un motor de posición separado 424 que se puede proporcionar usando un segundo procesador (por ejemplo, un procesador de módem) de las otras características del sistema en el sistema de ejemplo 400, que se puede implementar en un primer procesador (por ejemplo, un procesador de aplicaciones). El delimitador de procesador 422 puede comprender, por ejemplo, una o más conexiones, la totalidad o parte de uno o más buses, y/o diversos circuitos diferentes para acoplar operativamente el primer y el segundo procesadores para acomodar o admitir de otro modo las técnicas proporcionadas en el presente documento.
[0038] Por tanto, en determinadas implementaciones de ejemplo, el delimitador de procesador 422 puede comprender un bus que conecta diferentes dispositivos en un dispositivo móvil, tales como un procesador de aplicaciones y un procesador de módem. Por ejemplo, la aplicación 402 y la aplicación 404, que se pueden alojar en un procesador de aplicaciones, pueden obtener parámetros de localización almacenados o mantenidos por el servicio de gestor de localización 406, que también se puede alojar en el procesador de aplicaciones. El proveedor/servicio de localización fusionado 414, la HAL de localización 418 y el proveedor de localización unificado 420 también se pueden alojar en el procesador de aplicaciones. Los procesos en el procesador de aplicaciones se pueden comunicar con el motor de localización 424 (por ejemplo, alojarse en un procesador de módem) a través del delimitador de procesador 422.
[0039] En determinados casos, el servicio de gestor de localización 406 puede almacenar localmente en caché o almacenar los últimos parámetros de localización conocidos (por ejemplo, uno o más parámetros de posicionamiento 208, uno o más parámetros de localización 214, una o más "posiciones de energía cero"). En determinadas implementaciones de ejemplo, dichos parámetros de última localización conocida pueden ser indicativos de la totalidad o parte de una última localización estimada conocida del dispositivo móvil, y posiblemente de la(s) medida(s) correspondiente(s) de incertidumbre de la localización estimada. Uno o más parámetros de última localización conocida almacenados pueden comprender parámetros de localización obtenidos previamente del motor de posicionamiento 424. En una implementación particular, las aplicaciones 402 y 404, y posiblemente otros procesos alojados en el procesador de aplicaciones, pueden cambiar a un estado/modo inactivo y/o algún otro estado/modo de baja energía (por ejemplo, para posiblemente conservar los recursos de la batería que alimenta el procesador de aplicaciones). Mientras se encuentran en dicho estado/modo, en algunos escenarios, las entidades en el procesador de aplicaciones pueden no estar habilitadas para actualizar un almacenamiento local o caché de parámetros de última localización conocida en base a una corrección de posición obtenida más recientemente desde un motor de posicionamiento externo. Otros procesos alojados en el procesador de aplicaciones (por ejemplo, el proveedor/servicio de localización fusionado 414, la HAL de localización 418 y el proveedor de localización unificado 420) pueden permanecer activos.
[0040] En determinadas implementaciones de ejemplo, el proveedor/servicio de localización fusionado 414 puede detectar uno o más eventos o condiciones (actuales o predichos) indicativos de un estado operativo del procesador de aplicaciones y, en respuesta a dicha detección, proporcionar una señal de alerta de evento y/o similar al proveedor de localización unificado 420. En respuesta a la señal de alerta de evento, el proveedor de localización unificado 420 puede iniciar una comunicación, por ejemplo, un mensaje de llamada "getZeroPowerPositions", a través del delimitador de procesador 422 con el motor de posicionamiento 424 para obtener parámetros de posicionamiento que pueden ser más recientes que los parámetros de posicionamiento mantenidos por el servicio de gestor de localización 406 en una caché 412. En respuesta a la comunicación del proveedor de localización unificado 420, el motor de posicionamiento 424 puede proporcionar parámetros de localización actualizados, por ejemplo, una o más "posiciones de energía cero". La(s) posición(es) de energía cero pueden, por ejemplo, comprender y/o de otro modo ser indicativas de la totalidad o parte de una localización estimada del dispositivo móvil y de las medidas de incertidumbre de la localización estimada, un tiempo en el que se determinó/calculó la localización estimada, una o más fuentes para la estimación de la localización, etc., y/o similares o alguna combinación de las mismas, solo por nombrar algunos ejemplos. Como se menciona previamente, una localización estimada se puede determinar por el motor de posicionamiento 424 en base, al menos en parte, a la adquisición de señales de SPS o señales transmitidas desde transmisores terrestres, por ejemplo, usando una o más técnicas analizadas anteriormente y/o similares.
[0041] El proveedor de localización unificado 420 puede, por ejemplo, reenviar valores para posiciones de energía cero a través de la HAL de localización 418 al servicio de gestor de localización 406, que se puede usar entonces para actualizar, renovar, generar, etc., uno o más de los parámetros de posicionamiento almacenados o en caché para indicar una última localización conocida del dispositivo móvil. Las aplicaciones 402 y 404 pueden acceder/obtener y usar posteriormente la totalidad o parte de los parámetros de posicionamiento disponibles con respecto a la última localización conocida (actualizada con las posiciones de energía cero recibidas) sin tener que reactivar necesariamente y/o modificar de otro modo un estado/modo del procesador de aplicaciones y/o un estado/modo del motor de posición 424.
[0042] En determinadas implementaciones de ejemplo, los eventos o condiciones detectados en el proveedor/servicio de localización fusionado 414 (por ejemplo, y el receptor 416) pueden indicar que el procesador de aplicaciones está actualmente o se espera que esté en un estado/modo operativo, lo que puede permitir la recepción de parámetros de localización y/o el almacenamiento de los parámetros de posicionamiento de respuesta en posiciones de energía cero de manera que se actualice o renueve una última localización conocida sin consumir significativamente los recursos de la batería, por ejemplo, para iniciar o reactivar de otro modo un procesador de aplicaciones a un estado operativo superior (por ejemplo, para reactivar la aplicación 402 y/o 404).
[0043] En una implementación particular, como se menciona previamente, un procesador de aplicaciones puede alojar un sistema operativo Android™, partes del cual se pueden mantener en un estado operativo mientras el procesador de aplicaciones está en un estado operativo reducido (por ejemplo, estando inactivas las aplicaciones 402 y 404 en un estado de energía reducida). De acuerdo con un modo de realización, el proveedor/servicio de localización fusionado 414 también puede estar en un estado/modo operativo mientras el procesador de aplicaciones está en un estado/modo operativo reducido. Aquí, por ejemplo, el proveedor/servicio de localización fusionado 414 se puede registrar con el sistema operativo para recibir señales que alertan sobre la ocurrencia de condiciones o eventos particulares. Dichas condiciones o eventos pueden comprender, por ejemplo, eventos de activación de Android incluyendo cargador de batería enchufado (por ejemplo, carga de la batería), pantalla encendida, zona horaria, lugar, contexto operativo del teléfono, solo para proporcionar algunos ejemplos.
[0044] A continuación se llama la atención sobre la FIG. 5, que es un diagrama de flujo de información 500 que ilustra determinados aspectos de comunicación y/o procesamiento de ejemplo de un dispositivo móvil, por ejemplo, como la FIG. 4, configurado para proporcionar uno o más parámetros de localización y/o parámetros de posición correspondientes a uno o más procesos proporcionados y/o de otro modo admitidos, al menos en parte, por el dispositivo móvil, de acuerdo con determinada implementación de ejemplo.
[0045] Las características del sistema correspondientes al sistema de ejemplo 400 (FIG. 4) se ilustran a lo largo de la parte superior del diagrama 500 usando abreviaturas. Por tanto, por ejemplo, leyendo de izquierda a derecha, el primer rasgo característico "App" es representativo de una aplicación (por ejemplo, la aplicación 402, la aplicación 404), el segundo rasgo característico "LMS" es representativo del servicio de gestor de localización 406, el tercer rasgo característico "GLP "es representativo de GPSLocationProvider 426, el cuarto rasgo característico "FLP" es representativo del proveedor/servicio de localización fusionado 414, el quinto rasgo característico "PLP" es representativo de PassiveLocProv 428, el sexto rasgo característico "HAL" es representativo de la HAL de localización 418, el séptimo rasgo característico "ULP" es representativo del proveedor de localización unificado 420, y el octavo y último rasgo característico es representativo del motor de posición 424.
[0046] Además, en la FIG. 5, determinados flujos de mensajes de ejemplo se ilustran e identifican mediante números de referencia, al igual que determinados aspectos destacados del proceso. Por tanto, por ejemplo, una solicitud de localización para una respuesta de seguimiento correspondiente a la API del proveedor pasivo 410 puede comprender el mensaje 502 ("requestLocationUpdates") desde la App al LMS, que se puede pasar desde el LMS como un mensaje 504 a través de GLP y FLP al PLP. Como indica el flujo de mensajes 506, el PLP puede recibir actualizaciones de localización de todos los proveedores, por ejemplo, como soporte a una respuesta de seguimiento. Entre el LMS y el PLP, el flujo de mensajes 506 corresponde al procesamiento en el PLP.
[0047] En un segundo flujo de mensajes de ejemplo, en el proceso resaltado 508, etiquetado como "Eventos", el FLP puede detectar/determinar que se han producido determinadas actividades o puede predecir que es probable que se produzcan determinadas actividades en el momento subsiguiente, y enviar el mensaje 509 (por ejemplo, "ApplicationProcWakeUpEvents") a la HAL, que puede enviar un mensaje 510 correspondiente (por ejemplo, "WakeUpEvents") al ULP, que puede enviar un mensaje 511 correspondiente al motor de posición, por ejemplo, a través del delimitador de procesador 422 (FIG. 4). En el proceso resaltado 512, se puede realizar una determinación de si se puede permitir una solicitud de sesión. Si se determina que se permite una solicitud de sesión, el motor de posición puede enviar el mensaje 513 (por ejemplo, "posición de energía cero devuelta") al ULP, que puede enviar un mensaje correspondiente 514 (por ejemplo,"devolver ZPP") a la HAL, que puede enviar el mensaje 515 (por ejemplo, "devolver ZPP") al FLP, que puede enviar el mensaje 516 (por ejemplo, "informar de la posición de energía cero") a través del GLP al LMS. Posteriormente, el LMS puede almacenar en caché uno o más parámetros de localización y/o parámetros de posición correspondientes representados por el proceso resaltado 517. En determinados casos, el LMS puede enviar el mensaje 518 (por ejemplo, "incluir posición de energía cero") al PLP, que puede indicar o determinar de otro modo las posiciones de z Pp actualizadas en informes a uno o más clientes de proveedor pasivo (por ejemplo, representado por el proceso resaltado 520) y enviar el mensaje 522 (por ejemplo, "informar de posición de energía cero") al l Ms , que puede pasar el mensaje 522 a la App.
[0048] Un tercer flujo de mensajes de ejemplo, que comienza en el mensaje 524 (por ejemplo, "getLastKnownLocation(provider)") desde la App al LMS, incluye el proceso resaltado 526 en el LMS en el que los ZPP se pueden obtener/recuperar de una caché, y finaliza con el mensaje 528 (por ejemplo, "posición de energía cero devuelta") desde el LMS a la App. Por lo tanto, por ejemplo, este tercer flujo de mensajes de ejemplo se puede usar para obtener la última localización conocida, por ejemplo, como parte de una respuesta única por medio de la API LastKnownLoc 408.
[0049] A continuación, se llama la atención sobre la FIG. 6, que es un diagrama esquemático que ilustra determinadas características de una plataforma informática de ejemplo 600 que se puede proporcionar dentro de un dispositivo móvil 102, por ejemplo, como en la FIG. 1, de acuerdo con determinadas implementaciones de ejemplo.
[0050] Como se ilustra, la plataforma informática especial 600 puede comprender una o más unidades de procesamiento 602 (por ejemplo, que se pueden configurar para proporcionar un primer procesador, y un segundo proceso de acuerdo con determinadas técnicas proporcionadas en el presente documento) acopladas a la memoria 604 por medio de uno o más buses/conexiones 606 (por ejemplo, uno o más conductores eléctricos, una o más rutas conductoras de electricidad, uno o más buses, una o más rutas de fibra óptica, uno o más circuitos, uno o más búferes, uno o más transmisores, uno o más receptores, etc.). La(s) unidad(es) de procesamiento 602 puede(n), por ejemplo, implementarse en hardware o en una combinación de hardware y software. La(s) unidad(es) de procesamiento 602 puede(n) ser representativa(s) de uno o más circuitos configurables para realizar al menos una parte de un proceso o procedimiento de cálculo de datos. A modo de ejemplo, pero no de limitación, una unidad de procesamiento puede incluir uno o más procesadores, controladores, microprocesadores, microcontroladores, circuitos integrados específicos de la aplicación, procesadores de señales digitales, dispositivos lógicos programables, matrices de puertas programables por campo y similares, o cualquier combinación de los mismos. Como se menciona en determinados ejemplos, la totalidad o parte de una o más unidades de procesamiento se pueden configurar para servir como procesador de aplicaciones, y la totalidad o parte de una o más de otras unidades de procesamiento se pueden configurar para servir como un procesador de módem, y/o similares.
[0051] La memoria 604 puede ser representativa de cualquier mecanismo de almacenamiento de datos. La memoria 604 puede incluir, por ejemplo, una memoria principal 604-1 o una memoria secundaria 604-2. La memoria principal 604-1 puede comprender, por ejemplo, una memoria de acceso aleatorio, memoria de solo lectura, etc. Aunque en este ejemplo se ilustra como separada de las unidades de procesamiento, se debería entender que la totalidad o parte de una memoria principal se puede proporcionar dentro de, o de otro modo colocalizada y acoplada con la unidad de procesamiento 602, u otros circuitos similares dentro del dispositivo móvil 102. La memoria secundaria 604-2 puede comprender, por ejemplo, el mismo tipo de memoria o uno similar a la memoria principal y/o uno o más dispositivos o sistemas de almacenamiento de datos, tales como, por ejemplo, una unidad de disco, una unidad de disco óptico, una unidad de cinta, una unidad de memoria de estado sólido, etc.
[0052] En determinadas implementaciones, la memoria secundaria puede ser operativamente receptiva de, o configurable de otro modo para acoplarse a, un medio no transitorio legible por ordenador 620. La memoria 604 y/o el medio legible por ordenador no transitorio 620 pueden comprender instrucciones 622 para su uso en la realización del procesamiento de datos, por ejemplo, de acuerdo con las técnicas aplicables como se proporcionan en el presente documento.
[0053] La plataforma informática de propósito especial 600 puede, por ejemplo, comprender además una o más interfaces de comunicación 608. La interfaz de comunicación 608 puede comprender, por ejemplo, una o más unidades de interfaz de red cableadas y/o inalámbricas, radios, módems, etc., representados en el presente documento por uno o más receptores 610 y uno o más transmisores 612. Se debe entender que en determinadas implementaciones, la interfaz de comunicación 608 puede comprender uno o más transceptores y/o similares. Además, se debe entender que, aunque no se muestra, la interfaz de comunicación 608 puede comprender una o más antenas y/u otros circuitos según sea aplicable dada la capacidad de la interfaz de comunicación.
[0054] De acuerdo con determinadas implementaciones de ejemplo, la interfaz de comunicación 608 puede, por ejemplo, habilitarse para su uso con diversas redes de comunicación cableadas, por ejemplo, tales como un sistema telefónico, una red de área local, una red de área amplia, una red de área personal, una intranet, Internet, etc.
[0055] El dispositivo móvil 102 puede, por ejemplo, comprender además una o más unidades de entrada y/o salida 614. Las unidades de entrada y/o salida 614 pueden representar uno o más dispositivos u otros mecanismos similares que se pueden usar para obtener entradas de y/o proporcionar salidas a uno o más de otros dispositivos y/o un usuario. Por tanto, por ejemplo, las unidades de entrada y/o salida 614 pueden comprender diversos botones, conmutadores, un panel táctil, una bola de seguimiento, una palanca de mando, una pantalla táctil, un teclado, un micrófono, una cámara y/o similares, que se pueden usar para recibir una o más entradas de usuario. En determinados casos, las unidades de entrada y/o salida 614 pueden comprender diversos dispositivos que se pueden usar para producir una salida visual, una salida sonora y/o una salida táctil para un usuario. Por ejemplo, las unidades de entrada y/o salida 614 se pueden usar para presentar una pantalla de vídeo, una interfaz gráfica de usuario, información relacionada con el posicionamiento y/o la navegación, representaciones visuales de mapas electrónicos, direcciones de ruta, etc., por medio de un mecanismo de visualización y/o un mecanismo de audio.
[0056] El dispositivo móvil 102 puede comprender, por ejemplo, uno o más sensores 616. Por ejemplo, el/los sensor(es) 616 puede(n) representar uno o más sensores ambientales, tales como, por ejemplo, un magnetómetro o brújula, un barómetro o altímetro, etc., y que pueden ser útiles para el posicionamiento. Por ejemplo, el/los sensor(es) 616 pueden representar uno o más sensores inerciales, que pueden ser útiles para detectar determinados movimientos del dispositivo móvil 102. Por tanto, por ejemplo, el/los sensor(es) 616 pueden comprender uno o más acelerómetros, uno o uno o más giroscopios. Además, en determinados casos, el/los sensor(es) 616 puede(n) comprender y/o tomar la forma de uno o más dispositivos de entrada tales como un micrófono, una cámara, un sensor de luz, etc.
[0057] El receptor de SPS 618 puede ser capaz de adquirir señales inalámbricas 134 por medio de una o más antenas (no mostradas). El receptor de SPS 618 también puede procesar, total o parcialmente, las señales inalámbricas adquiridas 134 para estimar una posición y/o un movimiento del dispositivo móvil 102. En determinados casos, el receptor de SPS 618 puede comprender una o más unidades de procesamiento (no mostradas), por ejemplo, uno o más procesadores de propósito general, uno o más procesadores de señales digitales, DSP, uno o más procesadores especializados que también se pueden usar para procesar las señales de SPS adquiridas, en su totalidad o en parte, y/o para calcular una localización estimada del dispositivo móvil 102. En determinadas implementaciones, la totalidad o parte de dicho procesamiento de señales de SPS adquiridas se puede realizar por otras capacidades de procesamiento en el dispositivo móvil 102, por ejemplo, unidad(es) de procesamiento 602, memoria 604, etc., junto con el receptor de SPS 618. El almacenamiento de SPS u otras señales para uso en operaciones de posicionamiento puede realizarse en la memoria 604 o en los registros (no mostrados).
[0058] En determinados casos, el/los sensor(es) 616 puede(n) generar señales analógicas o digitales que se pueden almacenar en la memoria 604 y procesarse por el/los DSP (no mostrados) o la(s) unidad(es) de procesamiento 602 como soporte a una o más aplicaciones tales como, por ejemplo, aplicaciones dirigidas a operaciones de posicionamiento o navegación en base, al menos en parte, a una o más funciones de posicionamiento.
[0059] La(s) unidad(es) de procesamiento 602 pueden comprender un procesador de módem dedicado o similar que puede ser capaz de realizar el procesamiento de banda base de las señales adquiridas y reducidas en frecuencia en el/los receptor(es) 610 de la interfaz de comunicación 608 o el receptor de SPS 609. De forma similar, el procesador de módem o similares pueden realizar el procesamiento de banda de base de las señales que se deben aumentar en frecuencia para su transmisión por el/los transmisor(es) (inalámbrico(s)) 612. En implementaciones alternativas, en lugar de tener un procesador de módem dedicado, el procesamiento de banda de base se puede realizar por un procesador de propósito general o DSP (por ejemplo, procesador de propósito general y/o de aplicaciones). Se debería entender, sin embargo, que estos son meramente ejemplos de estructuras que pueden realizar el procesamiento de banda de base y que la materia objeto reivindicada no está limitada en este aspecto. Además, se debe entender que las técnicas de ejemplo proporcionadas en el presente documento se pueden adaptar para una variedad de diferentes dispositivos electrónicos, dispositivos móviles, dispositivos de transmisión, entornos, modos de corrección de la posición, etc.
[0060] De acuerdo con determinadas implementaciones de ejemplo, la interfaz de comunicación 608 puede, por ejemplo, habilitarse para su uso con diversas redes de comunicación cableadas, por ejemplo, tales como un sistema telefónico, una red de área local, una red de área amplia, una red de área personal, una intranet, Internet, etc.
[0061] De acuerdo con determinadas implementaciones de ejemplo, la interfaz de comunicación 608 puede, por ejemplo, habilitarse para el uso con diversas redes de comunicación inalámbrica, tales como una red inalámbrica de área amplia (WWAN), una red inalámbrica de área local (WLAN), una red inalámbrica de área personal (WPAN), y así sucesivamente. Los términos "red" y "sistema" se pueden usar de forma intercambiable en el presente documento. Una WWAN puede ser una red de acceso múltiple por división de código (CDMA), una red de acceso múltiple por división de tiempo (TDMA), una red de acceso múltiple por división de frecuencia (FDMA), una red de acceso múltiple por división ortogonal de frecuencia (OFDMA), una red de acceso múltiple por división de frecuencia de portadora única (SC-FDMA), etc. Una red de CDMA puede implementar una o más tecnologías de acceso por radio (RAT), tales como cdma2000, CDMA de banda ancha (W-CDMA), el acceso múltiple por división de código síncrono de división de tiempo, por nombrar solo unas pocas tecnologías de radio. Aquí, la cdma2000 puede incluir tecnologías implementadas de acuerdo con las normas IS-95, IS-2000 e IS-856. Una red de TDMA puede implementar el sistema global para comunicaciones móviles (GSM), el sistema de telefonía móvil avanzada digital (capacidad D-AMBP), o alguna otra RAT. GSM y W-CDMA se describen en documentos de un consorcio llamado "Proyecto de Colaboración de Tercera Generación" (3GPP). Cdma2000 se describe en documentos de un consorcio llamado "Segundo Proyecto de Colaboración de Tercera Generación" (3GPP2). Los documentos del 3GPP y del 3GPP2 están a disposición del público. Una WLAN puede comprender una red IEEE 802.11x, y una WPAN puede comprender una red Bluetooth, una red IEEE 802.15x, por ejemplo. Las redes de comunicación inalámbrica pueden incluir las denominadas tecnologías de próxima generación (por ejemplo, "4G"), tales como, por ejemplo, la Evolución a largo plazo (LTE), la LTE avanzada, WiMAX, Banda Ultra Ancha Móvil (UMB) y/o similares. Además, una o más interfaces de comunicación 408 pueden proporcionar además comunicaciones basadas en infrarrojos con uno o más de otros dispositivos. Una WLAN puede comprender, por ejemplo, una red IEEE 802.11x, y una WPAN puede comprender una red Bluetooth, una IEEE 802.15x, por ejemplo. Las implementaciones de comunicación inalámbrica descritas en el presente documento también se pueden usar en relación con cualquier combinación de WWAN, WLAN o WPAN.
[0062] De acuerdo con determinados aspectos adicionales, las técnicas descritas anteriormente se pueden adaptar/aplicar para analizar eventos del sistema operativo para predecir con un alto nivel de precisión si un procesador de aplicaciones puede permanecer activo durante un intervalo de tiempo significativamente mayor que el tiempo requerido para llevar a cabo la recuperación de la posición antigua, por ejemplo, desde un motor de posición externo dentro de un procesador de módem. Así pues, en determinados casos, se puede implementar un algoritmo para determinar cuándo comienza una exploración de Wifi y/o similar, cuyo conocimiento adicional puede estar disponible en las propiedades del sistema de cuánto tiempo puede tardar dicha exploración. Por tanto, por ejemplo, se puede determinar que dicha exploración WiFi y/o similar puede hacer que el procesador de aplicaciones permanezca activo y/o en un estado/modo particular durante un período de tiempo particular, por ejemplo, quizás cinco segundos. En consecuencia, puede ser posible recuperar determinados parámetros de localización actualizados para una posición antigua del motor de posición/procesador de módem sin un uso de energía incremental significativo, lo que puede mejorar el rendimiento y/o la experiencia de usuario de muchas aplicaciones de localización. Se debe reconocer que el ejemplo anterior no pretende limitar la materia objeto reivindicada, y que se pueden considerar diferentes decisiones y/o predicciones de eventos/actividades, incluyendo, por ejemplo, determinadas exploraciones de Bluetooth, determinada actividad del reproductor de audio, etc.
[0063] De acuerdo con determinadas implementaciones de ejemplo, se puede proporcionar/implementar una API de HAL y/o similar para informar a un proveedor de localización unificado nativo de que puede haberse producido y/o se predice que se producirá un evento de sistema de interés con respecto al sistema operativo. Una API de este tipo puede, por ejemplo, adoptar la forma de una API en la capa JNI (interfaz nativa de Java) que permite la comunicación entre un agente inteligente y/o similar que se puede implementar en una capa Java y una capa nativa. Por ejemplo, se puede implementar static jboolean system_update (JNIEnv* env, jobject obj, SysEvent systemEvent) y/o similares, donde SysEvent puede ser una estructura de datos que puede proporcionar información sobre determinados eventos útiles de la capa de sistema operativo (por ejemplo, Android y/o similares). En determinados casos, las técnicas y/o similares pueden ser particularmente útiles para ayudar a un motor nativo a determinar si un procesador de aplicaciones está fuera de un estado/modo particular (por ejemplo, un estado de suspensión), y/o a hacer predicciones significativas de cuándo el procesador de aplicaciones cambia de dicho estado/modo (de suspensión) en un momento posterior.
[0064] Las técnicas descritas en el presente documento se pueden implementar por diversos medios en función de las aplicaciones, de acuerdo con rasgos característicos y/o ejemplos particulares. Por ejemplo, dichas metodologías se pueden implementar en hardware, firmware y/o combinaciones de los mismos, junto con software. En una implementación en hardware, por ejemplo, se puede implementar una unidad de procesamiento dentro de uno o más circuitos integrados específicos de la aplicación (ASIC), procesadores de señales digitales (DSP), dispositivos de procesamiento de señales digitales (DSPD), dispositivos de lógica programable (PLD), matrices de puertas programables in situ (FPGA), procesadores, controladores, microcontroladores, microprocesadores, dispositivos electrónicos, otras unidades de dispositivos diseñadas para realizar las funciones descritas en el presente documento, y/o combinaciones de los mismos.
[0065] En la descripción detallada precedente, se han expuesto numerosos detalles específicos para permitir una plena comprensión de la materia objeto reivindicada. Sin embargo, los expertos en la técnica entenderán que la materia objeto reivindicada se puede llevar a la práctica sin estos detalles específicos. En otros casos, los procedimientos y aparatos que serían conocidos por los expertos en la técnica no se han descrito en detalle para no oscurecer la materia objeto reivindicada.
[0066] Algunas partes de la descripción detallada precedente se han presentado en términos de algoritmos o representaciones simbólicas de operaciones en señales electrónicas digitales binarias almacenadas dentro de una memoria de un aparato específico o un dispositivo o plataforma informática de propósito especial. En el contexto de esta memoria descriptiva en particular, el término aparato específico, o similar, incluye un ordenador de propósito general una vez que está programado para realizar funciones en particular de acuerdo con unas instrucciones de software de programa. Las descripciones algorítmicas o representaciones simbólicas son ejemplos de técnicas usadas por los expertos en la técnica en el procesamiento de señales o técnicas relacionadas para transmitir la esencia de su trabajo a otros expertos en la técnica. Un algoritmo es aquí, y en general, se considera una secuencia autoconsecuente de operaciones o un procesamiento de señales similar que conduce a un resultado deseado. En este contexto, las operaciones o el procesamiento implican la manipulación física de cantidades físicas. Típicamente, aunque no necesariamente, dichas cantidades pueden adoptar la forma de señales eléctricas o magnéticas que se pueden almacenar, transferir, combinar, comparar o manipular de otro modo como señales electrónicas que representan información. Ha resultado conveniente a veces, principalmente por razones de uso común, referirse a dichas señales como bits, datos, valores, elementos, símbolos, caracteres, términos, números, información o similares. Debería entenderse, sin embargo, que todos estos términos o similares se deben asociar con cantidades físicas adecuadas y que son meramente etiquetas convenientes. A menos que se indique específicamente lo contrario, como se desprende de la siguiente exposición, se aprecia que, a lo largo de esta memoria descriptiva, las exposiciones que usan términos tales como "procesamiento", "computación", "cálculo", "determinación", "generación", "obtención", "modificación", "selección", "identificación" y/o similares, se refieren a acciones o procesos de un aparato específico, tal como un ordenador de propósito especial o un dispositivo informático electrónico similar de propósito especial. En el contexto de la presente memoria descriptiva, por lo tanto, un ordenador de uso especial o un dispositivo electrónico informático de uso especial similar puede manipular o transformar señales, típicamente representadas como cantidades físicas electrónicas o magnéticas dentro de memorias, registros u otros dispositivos de almacenamiento de información, dispositivos de transmisión o dispositivos de visualización del ordenador de uso especial o el dispositivo electrónico informático de uso especial similar. En el contexto de la presente solicitud de patente en particular, el término "aparato específico" puede incluir un ordenador de propósito general una vez que está programado para realizar funciones en particular de acuerdo con unas instrucciones de software de programa.
[0067] Los términos "y", "o" e "y/o", como se usan en el presente documento, pueden incluir una variedad de significados de los que también se espera que dependan, al menos en parte, del contexto en el que se usan dichos términos. Típicamente, "o", si se usa para asociar una lista, tal como A, B o C, pretende significar A, B y C, que se usa aquí en el sentido incluyente, así como A, B o C, que se usa aquí en el sentido excluyente. Además, el término "uno o más", como se usa en el presente documento, puede usarse para describir cualquier característica, estructura o rasgo característico en singular, o puede usarse para describir una pluralidad o alguna otra combinación de características, estructuras o rasgos característicos. Sin embargo, se debería tener en cuenta que esto es simplemente un ejemplo ilustrativo y la materia objeto reivindicada no se limita a este ejemplo.

Claims (14)

REIVINDICACIONES
1. Un procedimiento que comprende, en un dispositivo móvil:
monitorizar uno o más primeros procesos alojados en un primer procesador (106-1) en dicho dispositivo móvil (102);
cambiar uno o más segundos procesos alojados en dicho primer procesador a un estado de energía reducida, usando dichos uno o más segundos procesos parámetros de localización (208);
iniciar una comunicación en un bus (210) que conecta dicho primer procesador a un motor de posicionamiento (212) externo a dicho primer procesador para obtener al menos un parámetro de localización actualizado (214);
sin activar dicho motor de posicionamiento, en respuesta a la detección de una transformación de modo operativo de al menos uno de dichos uno o más primeros procesos, habiéndose determinado previamente dicho al menos un parámetro de localización actualizado por dicho motor de posicionamiento; recibir dicho al menos un parámetro de localización actualizado en respuesta a dicha comunicación; y actualizar un parámetro de posicionamiento almacenado localmente (208) en base, al menos en parte, a dicho al menos un parámetro de localización actualizado mientras se mantienen dichos uno o más segundos procesos en dicho estado de energía reducida.
2. El procedimiento de acuerdo con la reivindicación 1, en el que dicho motor de posicionamiento se aloja en un segundo procesador conectado a dicho bus.
3. El procedimiento de acuerdo con la reivindicación 1, y que comprende además, en dicho dispositivo móvil:
detectar dicha transformación de modo operativo en base, al menos en parte, a una predicción de que dicha transformación de modo operativo de dicho al menos uno de dichos uno o más primeros procesos se producirá en un tiempo subsiguiente.
4. El procedimiento de acuerdo con la reivindicación 3, en el que dicha predicción se basa, al menos en parte, en un historial de actividad obtenido de monitorizar dichos uno o más primeros procesos.
5. El procedimiento de acuerdo con la reivindicación 3, en el que dicha predicción se basa, al menos en parte, en una medición de tiempo.
6. El procedimiento de acuerdo con la reivindicación 1, en el que dicha transformación de modo operativo de dicho al menos uno de dichos uno o más primeros procesos comprende la restauración de una aplicación a un estado de energía particular en dicho primer procesador.
7. El procedimiento de acuerdo con la reivindicación 1, en el que, en respuesta a dicha comunicación, dicho motor de posicionamiento mantiene un estado operativo actual.
8. El procedimiento de acuerdo con la reivindicación 1, en el que un evento indica dicha transformación de modo operativo y en el que dicho evento comprende uno de entre un evento de activación/desactivación de pantalla, un evento de zona horaria, un evento de lugar, un evento de contexto telefónico o una activación/desactivación de aplicación.
9. El procedimiento de acuerdo con la reivindicación 1, en el que un evento indica dicha transformación de modo operativo y en el que dicho evento comprende un envío a un sistema operativo del dispositivo móvil.
10. Un aparato para su uso en un dispositivo móvil, comprendiendo el aparato:
medios para monitorizar uno o más primeros procesos alojados en un primer procesador (106-1) en dicho dispositivo móvil (102);
medios para cambiar uno o más segundos procesos alojados en dicho primer procesador a un estado de energía reducida, usando dichos uno o más segundos procesos parámetros de localización; medios para iniciar una comunicación en un bus (210) que conecta dicho primer procesador a un motor de posicionamiento (212) externo a dicho primer procesador para obtener al menos un parámetro de localización actualizado (214); sin activar dicho motor de posicionamiento, en respuesta a la detección de una transformación de modo operativo de al menos uno de dichos uno o más primeros procesos, habiéndose determinado previamente dicho al menos un parámetro de localización actualizado por dicho motor de posicionamiento sin reactivar el motor de posicionamiento desde un modo de baja energía; y medios para recibir dicho al menos un parámetro de localización actualizado en respuesta a dicha comunicación; y
medios para actualizar un parámetro de posicionamiento almacenado localmente (208) en base, al menos en parte, a dicho al menos un parámetro de localización actualizado mientras se mantienen dichos uno o más segundos procesos en dicho estado de energía reducida.
11. El aparato de acuerdo con la reivindicación 10, en el que dicho motor de posicionamiento se aloja en un segundo procesador conectado a dicho bus.
12. El aparato de acuerdo con la reivindicación 10, y que comprende además:
medios para detectar dicha transformación de modo operativo en base, al menos en parte, a una predicción de que dicha transformación de modo operativo de dicho al menos uno de dichos uno o más primeros procesos se producirá en un tiempo subsiguiente.
13. El aparato de acuerdo con la reivindicación 12, en el que dicha predicción se basa, al menos en parte, en un historial de actividad obtenido de monitorizar dichos uno o más procesos.
14. Un artículo que comprende:
un medio legible por ordenador no transitorio que tiene almacenadas en el mismo instrucciones implementables por ordenador que, cuando se ejecutan por un procesador, hacen que el procesador implemente el procedimiento de acuerdo con las reivindicaciones 1 a 9 en un sistema de acuerdo con las reivindicaciones 10-13.
ES14748334T 2013-07-03 2014-07-02 Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles Active ES2842583T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361842916P 2013-07-03 2013-07-03
US14/135,061 US9942718B2 (en) 2013-07-03 2013-12-19 Methods and apparatuses for use in providing location parameters to mobile applications
PCT/US2014/045320 WO2015003096A1 (en) 2013-07-03 2014-07-02 Methods and apparatuses for use in providing location parameters to mobile applications

Publications (1)

Publication Number Publication Date
ES2842583T3 true ES2842583T3 (es) 2021-07-14

Family

ID=52133138

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14748334T Active ES2842583T3 (es) 2013-07-03 2014-07-02 Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles

Country Status (6)

Country Link
US (1) US9942718B2 (es)
EP (1) EP3017321B1 (es)
JP (1) JP2016530762A (es)
CN (1) CN105393141B (es)
ES (1) ES2842583T3 (es)
WO (1) WO2015003096A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140253371A1 (en) * 2013-03-08 2014-09-11 Qualcomm Incorporated Method and apparatus for enabling the use of global navigation satellite system (gnss) signals indoors
CN106171012B (zh) * 2013-12-20 2020-01-17 英特尔公司 用于低功率室内定位的Wi-Fi扫描调度和功率适应
CN104967770B (zh) * 2014-05-14 2018-07-10 腾讯科技(北京)有限公司 视频拍摄方法及装置
US9439043B2 (en) 2014-05-16 2016-09-06 Google Inc. Running location provider processes
US9720617B2 (en) * 2015-06-02 2017-08-01 Apple Inc. System and method for compaction of compressed and uncompressed virtual memory
US10386491B2 (en) * 2015-11-23 2019-08-20 Honeywell International Inc. Efficient covariance matrix update
US9648464B1 (en) * 2016-02-22 2017-05-09 Cisco Technology, Inc. Efficient zone based client count forecasting
US10200810B2 (en) * 2016-06-12 2019-02-05 Apple Inc. Proactive actions on mobile device using uniquely-identifiable and unlabeled locations
EP3482297B1 (en) * 2016-07-07 2021-05-19 Universität Zürich Method and computer program for monitoring touchscreen events of a handheld device
CN106131795A (zh) * 2016-08-30 2016-11-16 维沃移动通信有限公司 一种定位方法和移动终端
CN106658412B (zh) * 2016-12-14 2020-07-03 北京小米移动软件有限公司 定位方法及装置
US10638254B2 (en) * 2017-01-18 2020-04-28 Qualcomm Incorporated Handling an early position fix for LPP-type positioning sessions
WO2019009600A1 (ko) * 2017-07-04 2019-01-10 엘지전자 주식회사 360도 비디오에 대한 영상 코딩 시스템에서 프로젝션 타입 기반 양자화 파라미터를 사용한 영상 디코딩 방법 및 장치
US10488910B1 (en) * 2018-06-06 2019-11-26 General Electric Company Healthcare asset tracker apparatus and methods
US10945190B2 (en) 2019-01-04 2021-03-09 Apple Inc. Predictive routing based on microlocation
JP7352715B1 (ja) * 2022-12-07 2023-09-28 Kddi株式会社 情報処理装置及び情報処理方法
CN116644421A (zh) * 2023-07-19 2023-08-25 北京小米移动软件有限公司 一种定位引擎调用信息的获取方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367306A (en) 1993-06-04 1994-11-22 Hollon Blake D GPS integrated ELT system
US6141570A (en) * 1998-08-26 2000-10-31 Ericsson Inc. System and method for conserving battery energy in a wireless telephone with an integral global positioning system
US6388617B1 (en) 1998-10-02 2002-05-14 Acr Electronics, Inc. Radio beacon with a GPS interface for automatically activated EPIRBs
JP2000337889A (ja) * 1999-05-31 2000-12-08 Matsushita Electric Works Ltd Gpsセンサ装置
US6222484B1 (en) 1999-06-16 2001-04-24 Ronald L. Seiple Personal emergency location system
US7783423B2 (en) 2002-08-15 2010-08-24 Trimble Navigation Limited Position determination system and method
US7176833B2 (en) 2005-04-26 2007-02-13 Sony Ericsson Mobile Communications Ab Portable electronic devices, methods and computer program products using activity-triggered GPS updates
JP4984509B2 (ja) 2005-12-06 2012-07-25 ソニー株式会社 測位情報処理装置、測位情報処理方法、プログラム
CN101210963B (zh) 2006-12-29 2011-07-13 佛山市顺德区顺达电脑厂有限公司 定位系统及其控制方法
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US8214139B2 (en) * 2008-01-25 2012-07-03 Garmin Switzerland Gmbh Position source selection
US20090259865A1 (en) * 2008-04-11 2009-10-15 Qualcomm Incorporated Power Management Using At Least One Of A Special Purpose Processor And Motion Sensing
JP4709886B2 (ja) 2008-10-24 2011-06-29 株式会社エヌ・ティ・ティ・ドコモ 測位制御装置及び測位制御方法
US8125332B2 (en) * 2008-11-21 2012-02-28 Zoombak, Inc. Geo-fence with minimal false alarms
US20100240404A1 (en) 2009-03-20 2010-09-23 Mccrosky Rachael Marie Caire Personal location monitoring system and related devices and methods
JP2010272965A (ja) * 2009-05-19 2010-12-02 Ntt Docomo Inc 移動端末及び動作モード切替方法
JP2012108001A (ja) * 2010-11-17 2012-06-07 Sony Corp 情報処理装置、位置記録方法、及びプログラム
US8106819B1 (en) 2010-12-30 2012-01-31 Cellco Partnership Optimizing performance of multiple location based service applications that are running either alone or simultaneously on a wireless device
US8490177B2 (en) * 2011-03-15 2013-07-16 Lenovo (Singapore) Pte. Ltd. Apparatus and method for variable authentication requirements
US20130158860A1 (en) * 2011-12-14 2013-06-20 Qualcomm Incorporated Location and event triggered navigation dormancy and wakeup
KR101324604B1 (ko) * 2012-05-25 2013-11-01 전자부품연구원 다중 대기 상태 운용 방법 및 이를 적용한 방송수신장치
KR101947652B1 (ko) * 2012-09-28 2019-04-25 삼성전자 주식회사 휴대 단말기의 저전력 근거리 통신 기능 운용 방법 및 장치

Also Published As

Publication number Publication date
JP2016530762A (ja) 2016-09-29
EP3017321B1 (en) 2020-11-11
EP3017321A1 (en) 2016-05-11
CN105393141B (zh) 2019-01-04
WO2015003096A1 (en) 2015-01-08
US9942718B2 (en) 2018-04-10
CN105393141A (zh) 2016-03-09
US20150011196A1 (en) 2015-01-08

Similar Documents

Publication Publication Date Title
ES2842583T3 (es) Procedimientos y aparatos para su uso en proporcionar parámetros de localización a aplicaciones móviles
US20220099844A1 (en) On demand positioning
US8805423B2 (en) Adaptive passive scanning and/or active probing techniques for mobile device positioning
US9066295B2 (en) Power conservation techniques for use in devices with selectable power modes
US9544869B2 (en) Method for adapting to venue positioning capabilities
US9377519B2 (en) Server-based mobile device regional candidate position fix mode selection
US20160135005A1 (en) Scalability and reliability of hardware geo-fencing with failover support
US9247518B2 (en) Mobile device positioning responsive to externally generated regional candidate position fix mode selection
US9329036B2 (en) Mobile device positioning based on independently obtained barometric pressure measurements
KR20140104484A (ko) 위치 및 이벤트 트리거드 내비게이션 휴면 및 웨이크업
JP2015501422A (ja) 1つまたは複数のオンボードセンサーに基づいてモバイルデバイスのワイヤレス信号ベース測位能力に影響を及ぼすための技法
US9103901B2 (en) Position determination methodology selection
US20140235264A1 (en) Modifying navigation assistance parameters of a mobile-based positioning capability based on observations gathered by a network-based positioning capability
WO2019055204A1 (en) METHOD AND / OR SYSTEM FOR SIGNAL PROCESSING FROM A SATELLITE LOCATION SYSTEM TO A MOBILE DEVICE
WO2013008622A1 (ja) 移動端末、移動静止判定方法、及びプログラム