ES2628208T3 - Almacenamiento en caché basado en localización para dispositivos móviles - Google Patents

Almacenamiento en caché basado en localización para dispositivos móviles Download PDF

Info

Publication number
ES2628208T3
ES2628208T3 ES07750535.2T ES07750535T ES2628208T3 ES 2628208 T3 ES2628208 T3 ES 2628208T3 ES 07750535 T ES07750535 T ES 07750535T ES 2628208 T3 ES2628208 T3 ES 2628208T3
Authority
ES
Spain
Prior art keywords
mobile communication
communication device
content
location
map
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
ES07750535.2T
Other languages
English (en)
Inventor
Goetz P. Brasche
Robert Fesl
Wolfgang Manousek
Ivo W. Salmre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2628208T3 publication Critical patent/ES2628208T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Navigation (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un procedimiento para proporcionar dinámicamente un contenido relacionado con localización a un dispositivo (102) de comunicación móvil, comprendiendo el procedimiento rastrear una localización actual del dispositivo (302) de comunicación móvil; predecir una localización futura del dispositivo (306) de comunicación móvil estimando una dirección por la que se moverá el dispositivo de comunicación móvil, calculándose dicha estimación en función de: dicha localización actual del dispositivo de comunicación móvil, una dirección recorrida dentro de un período de tiempo anterior, dependiendo dicho período de una velocidad del dispositivo de comunicación móvil, y la información de contexto ambiental, extrapolándose la información de contexto ambiental en función de unas coordenadas de mapa y la velocidad del dispositivo de informatización móvil, determinar si el contenido relacionado con la localización futura está almacenado actualmente en el dispositivo (308) de comunicación móvil; recuperar el contenido de un almacén de contenido a través de una conexión de red tras una determinación de que el contenido no está almacenado actualmente en el dispositivo (314) de comunicación móvil; y gestionar el almacenamiento del contenido en el dispositivo de comunicación móvil: almacenando el contenido en el dispositivo de comunicación móvil cuando el contenido se recupera del almacén de contenido; y purgando el contenido del contenido irrelevante que está menos relacionado con la localización futura del dispositivo de comunicación móvil, si una memoria disponible en el dispositivo de comunicación móvil es insuficiente para almacenar el contenido.

Description

Almacenamiento en caché basado en localización para dispositivos móviles
En general, las aplicaciones de navegación para dispositivos móviles operan mediante la descarga de un mapa para el dispositivo correspondiente de una ruta precalculada o una zona estimada a la que el usuario del dispositivo móvil tiene la intención de viajar. Usando un servicio de cartografía, en general, ofrecido por un proveedor basado en web
o unos datos mantenidos en un ordenador personal o servidor, el usuario especifica un punto de partida, un destino y posibles destinos de parada y a continuación se calcula una ruta estática basada en estas localizaciones_ Un mapa completo de la rula se descarga al dispositivo móvil.
Existen limitaciones significativas a estas aplicaciones de navegación existentes. En primer lugar, la ruta de navegación es estática y enlazada a un punto de partida y un destino detenninados. No hay capacidad de cambiar dinámicamente la ruta almacenada en el dispositivo móvil si el usuario decide alterar el rumbo. En segundo lugar, en la mayoría de los casos, los datos de mapa están basados en vectores y solo se soporta un tipo de mapa, es decir, la resolución puede adaptarse, pero no es posible cambiar el tipo de mapa, por ejemplo, desde un mapa de calles a una vista aérea, una vista topográfica u otra vista posible. Además, tales aplicaciones de navegación no tienen en cuenta las limitaciones de las capacidades del dispositivo, pOf ejemplo, una memoria limitada para el almacenamiento de mapas y una asignación limitada del procesador. Además, en la mayoría de los casos, estas aplicaciones de navegación solo soportan datos de mapa en lugar de cualquier tipo de datos basados en localización que tal vez interesen al usuario del dispositivo móvil
El documento US 2006/030334 A1 desvela un sistema de gestión de información de posición en el que un terminal remoto portátil incluye una pluralidad de tipos de medios de posicionamiento para posicionar. Solo los datos de mapa de un distrito que se usa a menudo por el titular se almacenan en el terminal remoto portátil. A este respecto, cuando el titular se encuentra en un distrito no contenido en los datos de mapa conselVados, descarga los datos de mapa correspond ientes desde el sistema central y usa los datos de mapa descargados
El documento WO 01/28270 A1 desvela una estación móvil de un sistema de red de comunicaciones móviles, comprendiendo dicha estación móvil un módulo de localización de posición geográfica para localizar una posición geográfica de dicha estación móvil. La estación móvil carga los datos de acuerdo con las circunstancias específicas de la estación móvil, es decir, de acuerdo con un modo de viaje, velocidades de desplazamiento, etc., de la estación móvil.
El documento US 2004/132467 A1 desvela la recuperación de unos elementos de medios a un dispositivo móvil de un usuario que visita un espacio, donde el usuario está equipado con el dispositivo móvil en comunicación con un sistema de selVicio. Los elementos de medios mantenidos por el sistema de servicio están asociados con diversas localizaciones alrededor del espacio y a un usuario que llega a dicha localización se le presenta el elemento o los elementos correspondientes.
El documento US 2003/025615 A1 desvela un aparato y un procedimiento de visualización para un vehículo automóvil en el que está montada una pantalla de imagen. Un aparato de visualización de velocidad vehicular incluye una unidad de medición de posición actual, una antena GPS, un sensor giroscópico, un sensor de distancía, un controlador de pantalla y una pantalla. También se proporciona un sensor intennitenle para detectar un estado de accionamiento de un intermitente del vehiculo y un sensor de velocidad vehicular para detectar la velocidad del vehículo. Un controlador de pantalla compara la imagen de datos del mapa de carretera mostrada en la pantalla con la imagen de datos del mapa de carretera en un momento futuro T1 Cuando se hace girar el vehículo a una velocidad ordinaria, el controlador de pantalla detennina si una posición de la imagen de datos del mapa de carretera en la que la velocidad circunferencial correspondiente de la imagen de datos de mapa de carretera es mayor que el valor de referencia.
Por lo tanto, el objeto de la presente invención es proporcionar un procedimiento mejorado, un sistema de almacenamiento en caché basado en localización y un dispositivo de comunicación móvil para proporcionar un contenido relacionado con la localización. Este objeto se resuelve con el objeto de las reivindicaciones independientes Las realizaciones preferidas están definidas por las reivindicaciones dependientes.
Un sistema de almacenamiento en caché basado en localización proporciona la capacidad para que un dispositivo de comunicación móvil proporcione dinámicamente un contenido relacionado con la localización de un usuario. En una forma a modo de ejemplo, el contenido comprende una serie de segmentos de mapa que anticipan la ruta recorrida por un usuario del dispositivo móvil. También pueden proporcionarse otros contenidos relacionados, por ejemplo, infonnación de un punto de interés relacionada con la ruta recorrida. La infonnación de contenido puede seleccionarse contextualmente basándose, por ejemplo, en las preferencias de usuario, la información de movimiento y la información de estado de dispositivo
El dispositivo móvil puede componerse de varios componentes que facilitan el sistema de almacenamiento en caché basado en localización que incluye, un módulo de determinación de localización, un módulo estimador de dirección, un contenedOf de contenido, un módulo de gestión de conexión, y un módulo de almacenamiento en caché. El
ES 2 628 208 T3
módulo de determinación de localización determina una localización actual del dispositivo de comunicación móvil. El módulo estimador de dirección estima una localización futura del dispositivo de comunicación móvil. El contenedor de contenido almacena un contenido relacionado con la localización futura. El módulo de gestión de conexión proporciona conectividad de red al dispositivo de comunicación móvil. El módulo de almacenamiento en caché selecciona el contenido relacionado con la localización futura del contenedor de contenido o de una fuente de contenido alternativo externa al dispositivo de comunicación móvil a través del módulo de gestión de conexión. El sistema puede incluir además un servidor de contenido que proporciona el contenido relacionado con la localización futura al dispositivo de comunicación móvil a través de una red que conecta el dispositivo de comunicación móvil yel servidor de contenido. El sistema también puede incluir una fuente de información de localización actual sobre el dispositivo de comunicación móvil accesible por el dispositivo de comunicación móvil, por ejemplo, una información de posicionamiento global por satélite
El sistema de almacenamiento en caché basado en localización rastrea una localización actual del dispositivo de comunicación móvil y predice una localización futura del dispositivo de comunicación móvil. Basándose en la predicción de la localización futura, el módulo de almacenamiento en caché determina si el contenido relacionado con la localización futura se almacena actualmente en el dispositivo de comunicación móvil. Si el contenido adecuado no está en el dispositivo móvil, el módulo de almacenamiento en caché recupera el contenido de un servidor de contenido a través de la conexiórJ de red.
Este Sumario se proporciona para introducir una selección de conceptos de una forma simplificada que se describen más adelante en la Descripción detallada. El presente Sumario no tiene por objeto identificar las características clave
o las características esenciales del objeto reivindicado, ni está destinado a usarse para limitar el ámbito del objeto reivindicado. otras caracteristicas, detalles, utilidades y ventajas del objeto reivindicado serán evidentes a partir de la siguiente Descripción detallada más especificamente escrita de varias realizaciones e implementaciones como se ilustra adicionalmente en los dibujos adjuntos y se define en las reivindicaciones adjuntas.
Breve descripción de tos dibujos
La figura 1 es un diagrama esquemático de una relación de un dispositivo móvil con un servidor de contenido y unas fuentes de información de localización geográfica. La figura 2 es un diagrama esquemático de una operación de almacenamiento en caché basada en localización a modo de ejemplo en un dispositivo móvil La figura 3 es un diagrama de flujo de una serie de operaciooes rea lizadas por un sistema de almacenamiento en caché basado en localización para proporcionar dinámicamente un contenido a un dispositivo móvil. La figura 4 es un diagrama esquemático de un sistema de detección de localización que proporciona un contenido dentro de un sistema de almacenamiento en caché basado en localización. La figura 5 es un diagrama de estado esquemático de interacciones en el desarrollo de aplicaciones de detección de localización. La figura 6 es un diagrama de Hujo de unas operaciones de señalización y orientación que proporcionan un contenido dentro de un sistema de almacenamiento en caché basado en localización. La figura 7 es un diagrama de Hujo de unas operaciones de señalización y orientación que proporcionan detalles adicionales a la figura 6 La figura 8 es un diagrama esquemático de un dispositivo móvil de fin general que puede usarse en la implementación de un sistema de almacenamiento en caché basado en localización. La figura 9 es un diagrama esquemático de un sistema informático de fin general que puede usarse en la implementación de un sistema de almacenamiento en caché basado en localización
Descripción detallada
La tecnología desvelada en el presente documento está diseñada para proporcionar datos de mapa de dispositivo de comunicación móvil y otro contenido que es específico para la localización del usuario y su interés, pero independiente de una ruta calculada para el usuario. La provisión de datos de mapas se descarga inteligente y dinámicamente en el dispositivo de comunicación móvil como sea necesario. Esta tecnología se denomina en general en el presente documento como un sistema de almacenamiento en caché basado en localización.
Los datos de mapa pueden proporcionarse a un dispositivo móvil de acuerdo con múltiples parámetros incluyendo los siguientes: dirección de movimiento, velocidad (actual y promedio), y el contexto. El contexto puede comprenderse además en términos de un contexto global, es decir, el entomo o la localización geográfica del usuario, y un contexto local, es decir, un perfil de usuario que incluye preferencias, intereses, posición del usuario y capacidades y limitaciones de hardware y software del dispositivo móvil
La resolución de un mapa selecciooado puede depender de la velocidad de desplazamiento, el contexto (por ejemplo, la inclusión de puntos de interés), datos de mapa disponibles, y las limitaciones o tapones en el dispositivo de comunicación móvil (por ejemplo, memoria, tamaño y resolución de pantalla y velocidad del procesador). Los mapas seleccionados para su presentación en el dispositivo móvil se adaptan para coincidir de este modo coo los criterios pertinentes. El intervalo de descargas al dispositivo móvil puede depender también del contexto que incluye la velocidad de desplazamiento del usuario, las opciones y las velocidades de conexión y la asignación de memoria.
ES 2 628 208 T3
Sobre la base de un análisis de la información de posición y contextual, pueden calcularse los segmentos de datos de mapa basándose en, por ejemplo, el tamaño y la resolución y descargarse desde un servidor de contenido al dispositivo móvil. Los segmentos de mapa también pueden eliminarse del dispositivo móvil basándose en criterios similares. Los dalos de mapa también pueden enriquecerse mediante datos multimedia con información de localización. Los beneficios del sistema de almacenamiento en caché basado en localización pueden mejorarse mediante la combinación con tecnologías de gestión de localización y gestión de conexiones inteligentes
Un sistema 100 de almacenamiento en caché basado en localización se representa en la figura 1. El sistema 100 es en general un modelo cliente-servidor y está basado en tomo a un dispositivo 102 móvil. El dispositivo 102 móvil puede ser un teléfono móvil, un asistente digital personal, un dispositivo de almacenamiento móvil (por ejemplo, un reproductor de MP3 o una fototecafvideoteca portátil), un dispositivo de sistema de posicionamiento global, un centro de información automotriz (por ejemplo, ONSTAR de General Motors Corporation) o cualquier otro dispositivo portátil capaz de recibir datos de posición geográfica e interconectarse con una red 122 para recibir un contenido adiciona l. Un servidor 124 de contenido se conecta con el dispositivo 102 móvil a través de una red 122. El sistema 100 puede incluir también un servicio 116 de sistema de posicionamiento global (GPS), u otra metodología para determinar la localización geográfica del dispositivo 102 móvil, que interactúa con el dispositivo 102 móvil.
El dispositivo 102 móvil tiene diversos módulos o componentes para implementar las operaciones de almacenamiento en caché basadas en localización, como se indica en la figura 1 Estos módulos pueden incluir un módulo 104 gestor de localización, un módulo 106 estimador de dirección de movimiento, un módulo 108 de almacenamiento en caché y un módulo 114 gestor de conexión. El módulo 104 gestor de localización, el módulo 106 estimador de dirección de movimiento y el módulo 108 de almacenamiento en caché, implementan conjuntamente la selección inteligente y dinámica de datos de mapa para su presentación en el dispositivo 102 móvil. Además, el dispositivo 102 móvil puede incluir un contenedor 110 de contenido para almacenar datos de mapa y un contenedor 112 de contexto para almacenar preferencias de usuario u otra información contextual. El contenedor 110 de contenido y el contenedor 112 de contexto pueden adoptar la forma de estructuras de datos dentro de una memoria general del dispositivo 102 móvil
Como se muestra en la realización de la figura 1, el dispositivo 102 móvil puede comunicarse con el servidor 124 de contenido a través de una cooexión con una o más redes 122. La red 122 puede ser cualquier tipo de red, por ejemplo, una red de área local (LAN), una red de área local inalámbrica WLAN), una red de área extensa (WAN), Internet, una red de telefonia, una red de microondas (por ejemplo, WiMAX), una red de radio (por ejemplo, GPRS) o una red óptica o combinaciones de las mismas
El dispositivo 102 móvil puede tener la capacidad de conectarse con múltiples redes simultáneamente. Por ejemplo, si el dispositivo 102 móvil es un teléfono inalámbrico, puede cooectarse a una red de telefonia de voz usando el estándar sistema global para las comunicaciones móviles (GSM), el estándar acceso múltiple por división de código (CDMA), el sistema universal de telecomunicaciones móviles (UMTS) o cualquier otro estándar de telefonia de red. Los datos pueden transmitirse alternativa o simultáneamente usando los datos de conmutación de circuitos (CSO), el servicio general de radiocomunicaciones por paquetes (GPRS), el acceso de paquetes de enlace descendente de alta velocidad (HSDPA) o cualquier otro protocolo de transferencia de datos.
La conexión de red puede gestionarse por el gestor 114 de conexión. El gestor 114 de conexión es responsable de seleccionar la mejor conexión de red para descargar datos desde el servidor 124 de contenido al dispositivo 102 móvil basándose en el hardware disponible. Una implementación a modo de ejemplo de un módulo gestor de conexión adecuado está incorporada en la plataforma MICROSOFT WINOOWS MOBILE. Los tipos de cooexión a modo de ejemplo pueden incluir Bluetooth, GPRS, WLAN y UMTS. También es posible elegir más de un tipo de conexión si el dispositivo 102 móvil está equipado para manejar múltiples protocolos o tiene múltiples interfaces de comunicación. La selección de la opción de transferencia de datos más apropiada puede depender de una serie de factores que incluyen la cantidad de datos a transferir, los tipos de conexión disponibles, las operaciones que actualmente están realizándose por el dispositivo móvil y cualquiera de las preferencias de usuario definidas en el contenedor 112 de contexto. Por ejemplo, si el usuario está usando una aplicación de navegador web en el dispositivo 102 móvil y está actualmente descargando información usando el protocolo GPRS a través de una WLAN, el gestor 114 de conexión puede ordenar que los datos de mapa se descarguen a través de una interfaz Bluetooth disponible. Cuando la conexión WLAN está libre, el gestor 114 de conexión puede reordenar las operaciones de descarga a través de la interfaz WLAN debido a las velocidades de transferencia de datos más altas.
El servidor 124 de contenido incluye un almacén 126 de datos y un servicio de conexión para proporcionar una interfaz entre el servidor 124 de contenido y el dispositivo 102 móvil. El almacén 126 de datos almacena los datos de mapa a cargar bajo demanda al dispositivo 102 móvil. En una realización a modo de ejemplo, el servicio de conexión puede ser un servicio web. La función principal del servicio web es proporcionar los datos de mapa necesarios que responden a la dirección de movimiento estimada del dispositivo 102 móvil. El servicio web proporcionado por el servidor 124 de contenido puede seleccionar además los datos de mapa del almacén 126 de datos basándose en la información contextual proporcionada por el contenedor 112 de contexto en el dispositivo 102 móvil
Como se indica en la figura 1, el dispositivo móvil puede recibir dalos de posición geográfica directamente del servicio 116 de GPS o como alternativa de olras fuentes. Coo el fin de recibir dalos geográficos de posicionamiento
ES 2 628 208 T3
desde un servicio 116 de GPS, el dispositivo 102 móvil está en general equipado con un chip receptor de GPS o está conectado con un dispositivo GPS externo a través de cable o Bluetooth. Un receptor GPS de este tipo se sintoniza para recibir señales desde satélites de posicionamiento global y triangular la posición del dispositivo 102 móvil. En la realización de la figura 1, un dispositivo de GPS de este lipo se incorporaría en un módulo 104 gestor de localización descrito más adelante
Como alternativa, el dispositivo 102 móvil puede determinar una posición geográfica mediante la interconexión con una WLAN 118, una red de GPRS 120, o cualquier otro estándar de tecnologia de red inalámbrica usando una pluralidad de Iranspondedores. Si hayal menos tres fuentes de transmisión inalámbricas que dispongan la red dentro del rango del dispositivo 102 móvil, el gestor 104 de localización en el dispositivo 102 móvil puede triangular una posición geográfica basándose en las posiciones fijas de los transpondedores de red inalámbricos. El gestor 104 de localización puede consultar a los transpondedores para proporcionar dicha información de posición fija.
La posición geográfica puede determinarse además por la entrada directa de datos por el usuario del dispositivo 102 móvil o cualquier fuente de posición. El gestor 104 de localización puede estar equipado para usar cualquiera o todas las fuentes de información de localización, es decir, GPS, otras metodologías de triangulación, entrada directa,
o cualquier otra metodología, para determinar una posición geográfica. El dispositivo 102 móvil es agnóstico para la fuente de la información de localización cuando se determinan adicionalmente los datos de mapa apropiados para su presentación
El estimador 106 de dirección de movimiento recibe la posición geográfica actual del dispositivo 102 móvil desde el gestor 104 de localización y estima la dirección en que se moverá el usuario del dispositivo 102 móvil. Esta estimación puede calcularse basándose en esta información de posición real, la dirección recorrida por el usuario dentro de un período de tiempo anterior (por ejemplo, dentro de los últimos minutos o segundos, el periodo puede depender además de la velocidad del usuario), la información de contexto ambiental y la información de contexto de usuario. Por ejemplo, el usuario puede estar en un automóvil desplazándose a una velocidad constante por una carretera. Esta información de contexto ambiental puede extrapolarse basándose en las coordenadas de mapa y la velocidad. El estimador 106 de dirección de movimiento puede determinar de este modo a partir de este contexto que el usuario continuará desplazándose por la carretera. Como alternativa, si la velocidad del usuario disminuye durante un período de unos pocos segundos y los mapas de la zona indican una intersección con otra carretera, tal información puede sugerir un cambio potencial de dirección del usuario y el sistema 100 puede prepararse para adaptarse a un cambio de este tipo
El estimador 106 de dirección de movimiento puede calcular la posición estimada futura del usuario usando cualquiera de varios algoritmos diferentes. Algoritmos a modo de ejemplo incluyen cualquier extrapolación lineal o no lineal de la ruta rastreada. La extrapolación significa que el algoritmo debería ser capaz de estimar a partir de los puntos almacenados de la ruta rastreada una posición donde el usuario del dispositivo puede estar en una cantidad de tiempo con la mayor probabilidad posible. Puede elegirse un algoritmo específico para cualquiera de una variedad de razones, por ejemplo, la velocidad del procesador en el dispositivo 102 móvil, los requisitos de asignación de memoria o el número de variables deseadas para su consideración. El estimador 106 de dirección de movimiento también puede estar abierto para implementar los algoritmos especificos de aplicación.
Una vez determinada por el estimador 106 de direcciÓn de movimiento, la posición estimada se proporciona a continuación al módulo 108 de almacenamiento en caché para iniciar una precarga de todos los mapas relevantes y otros datos. El módulo 108 de almacenamiento en caché determina, en función de la posición del usuario y del contexto actual, si los datos deberían precargarse desde el servidor 124 de contenido y si pueden eliminarse los datos del contenedor 110 de contenido local. En el caso de una solicitud de datos (por ejemplo, mapas) del gestor 104 de localización, el módulo 108 de almacenamiento en caché recupera estos datos normalmente desde el contenedor 110 de contenido local. De lo contrario, si los datos no se almacenan localmente, los datos deben cargarse desde el servidor 124 de contenido inmediatamente. Además, si el dispositivo 102 móvil tiene poco almacenamiento disponible en su memoria, el módulo 108 de almacenamiento en caché purga los datos del contenedor 110 de contenido identificado como la mayor distancia desde la posición actual o la posición esperada del usuario. El módulo 108 de almacenamiento en caché también purga los datos del contenedor 112 de contexto que es menos aplicable a la posición actual o esperada del usuario.
El contenedor 110 de contenido es un almacén de datos para los datos basados en localizaciÓn. En una implementación, el contenedor 110 de contenido puede ser un archivo binario simple para minimizar los recursos necesarios del dispositivo 102 móvil. En otra implementación, el contenedor 110 de contenido puede ser una base de datos móvil. En una implementación que usa una estructura de datos orientada a objetos, los datos basados en localización pueden encapsularse dentro de una clase con las siguientes interfaces a modo de ejemplo'
a) cálculo de la distancia entre los datos y la posición dada actual del usuario;
b) tipo de datos basados en localización;
c) cantidad de los datos basados en localización;
d) prioridad de los datos basados en localización; y
el una función-Get para los datos basados en localización
ES 2 628 208 T3
Estas clases de datos pueden estructurarse en una clase cootenedor que contiene lodos estos objetos (en el caso de una base de datos esta clase contenedor es solo la intertaz)_ La clase conlenedOf puede proporcionar las siguientes interfaces a modo de ejemplo
al obtener una lista de objetos con una distancia mínima a un punto determinado;
b) obtener una lista de objetos con una distancia mínima a una línea determinada;
el obtener una lista de objetos con una distancia mínima a una zona determinada;
d) obtener una lisia de objetos dentro de una zona determinada;
el añadir un objeto(s); y
f) eliminar un objeto(s)
De esta manera, los mapas y otros contenidos almacenados en el contenedor 110 de contenido en el dispositivo 102 móvil (es decir, los "objetos· en memoria) pueden compararse con una posición actual del usuario permitiendo que el módulo 108 de almacenamiento en caché realice las siguientes selecciones de mapa y decisiones de asignación de memoria apropiadas. Por ejemplo, si el módulo 108 de almacenamiento en caché determina que la memoria disponible para almacenamiento de mapas y contenido se está agotando, pueden descartarse los mapas más alejados de la posición del usuario para proporcionar espacio de almacenamiento para agregar mapas y contenidos más relevantes para la posición actual del usuario.
El contenedor 112 de contexto es un almacén de datos para todos los datos de contexto y preferencias relevantes del usuario del dispositivo 102 móvil. Las preferencias a modo de ejemplo pueden incluir las siguientes
a) almacenamiento disponible en el dispositivo 102 móvil;
b) velocidad media de movimiento del usuario'
c) medio(s) preferido de transporte;
d) tipos disponibles/preferidos de datos dependientes de posición;
e) tipos de mapas disponibles/preferidos;
f) espacio de memoria disponible o asignación de procesador en el dispositivo 102 móvil;
g) tamaño y resolución de la pantalla en el dispositivo 102 móvil;
h) tipos de conexión disponibles en el dispositivo 102 móvil; y
i) tipos de conexión preferidos en función de los costes.
Estos datos pueden proporcionarse por una única clase/objeto y pueden configurarse a través de una interfaz de usuario en el dispositivo 102 móvil. Muchos de los parámetros pueden calcularse automáticamente, si es posible, para evitar la entrada del usuario
La finalidad de la recopilación y el uso de este tipo de datos contextuales es proporcionar al usuario un mapa más adecuado a las circunstancias. Por ejemplo, el módulo 108 de almacenamiento en caché puede seleccionar mapas alternativos basándose en el movimiento del usuario. Si resulta evidente que el usuario se mueve a velocidades solo alcanzables por un vehículo en movimiento, el módulo 108 de almacenamiento en caché seleccionará mapas de carreteras que cubran una gran zona (por ejemplo, escalado en millas o kilómetros) con un nivel de detalle muy bajo. Si la información de preferencia personal de un usuario indica que el usuario se desplaza normalmente en tren, el módulo 108 de almacenamiento en caché puede seleccionar mapas con las rutas de tren y estaciones identificadas. Como alternativa, si la velocidad del usuario sugiere que el usuario está caminando, el módulo 108 de almacenamiento en caché puede seleccionar mapas que cubren una zona pequeña (por ejemplo, escalada en pies o metros) con un alto nivel de detalle.
Diversos niveles de detalle contextual en los mapas pueden proporcionarse de manera inteligente al usuario en función de las preferencias conocidas del usuario tomadas en cuenta por el módulo 108 de almacenamiento en caché al seleccionar mapas específicos para descargar desde un servidor 124 de contenido. Si la información de preferencia personal del usuario indica que al usuario le encanta frecuentar cafeterías o cervecerías, pueden presentarse conocidas cafeterías o cervecerías locales como letreros señalizadores en los mapas. Si la información de preferencia de usuario indica que el usuario está de viaje de vacaciones, la información del letrero señalizador puede proporcionarse en un mapa que indique los sitios históricos o turisticos (por ejemplo, campos de batalla a lo largo de una carretera o museos de una ciudad) en la zona visible de los mapas. Una información de señalización adicional puede indicar la direcciÓn de ciertas atracciones fuera de la zona visible del mapa mostrado
Téngase en cuenta que no tiene que ser un servidor de contenido central, sino que en su lugar el contenido puede recuperarse a partir de una pluralidad de servidores de contenido distribuidos o incluso no relacionados. Además, el contenido puede no limitarse a simples mapas. Por ejemplo, si un usuario está visitando una atracción turística, el módulo 108 de almacenamiento en caché puede buscar contenido de un servidor identificado como punto proveedor de contenido de interés relacionado con la localización o atracción específica. Un museo, por ejemplo, puede proporcionar contenido multimedia que puede presentarse en el dispositivo 102 móvil para un usuario que recorre el museo. El contenido a modo de ejemplo puede incluir una visita guiada narrativa de audio o información descriptiva sobre las exposiciones. Como se describe con respecto a los mapas, este contenido contextual puede descargarse y almacenarse en caché según sea necesario para adaptarse a la memoria o a otras limitaciones. El sistema de almacenamiento en caché basado en localización puede soportar la descarga y la presentación de cualquier tipo de
ES 2 628 208 T3
datos junto con una infraestructura de detección de localización como se describe adicionalmente en el presente documento con el fin de proporcionar el contenido contextual apropiado. Los datos pueden proporcionarse también a cualquier otra aplicación en el dispositivo 102 móvil para su presentación, cálculo de posición o cualquier otro fin soportado.
El módulo 108 de almacenamiento en caché puede realizar detenninaciones de almacenamiento y presentaciones de contenidos basándose en la asignación de memoria, la demanda de procesador, y otra información de estado del dispositivo 102 móvil en cualquier momento dado. Por ejemplo, si la memoria disponible en un dispositivo 102 móvil es insuficiente para almacenar los mapas requeridos para toda una ruta planificada, el sistema 100 de almacenamiento en caché basado en localización es capaz de proporcionar dinámicamente al usuario los mapas apropiados para todo el viaje descartando los segmentos del mapa anterior de la memoria y descargando los segmentos de mapas futuros según sea necesario. El sistema 100 de almacenamiento en caché basado en localización proporciona por lo tanto una ventaja significativa sobre otras tecnologias que descargan y almacenan de manera estática los mapas basándose en una ruta predefinida antes de un viaje. El módulo 108 de almacenamiento en caché también puede tener en cuenta el tamaño y la resolución de la pantalla específica del dispositivo 102 móvil y presentar un contenido de mayor resolución a un dispositivo 102 móvil que pueda soportarlo.
El gestor 114 de conexión también puede usar la información de preferencia de usuario en el contenedor 112 de contexto, asi como la información de estado del dispositivo 102 móvil para tomar decisiones de conexión. Por ejemplo, basándose en un plan de datos asociado con el dispositivo 102 móvil de un usuario, pueden aplicarse estructuras de precios diferentes a la transferencia de datos a través de un servicio o protocolo en diferentes momentos del día. Como alternativa, un usuario puede suscribirse a un servicio WiFi de tarifa fija de un proveedor especifico. Si el usuario está en una localización específica atendida por múltiples proveedores WiFi, el gestor 114 de conexión seleccionaria el servicio de suscripción del usuario en oposición a otro servicio disponible. En otro ejemplo más, si el gestor 114 de conexión reconoce que el dispositivo 102 móvil está acoplado o conectado de otra manera a una red cableada, el gestor 114 de conexión puede elegir por usar dicha red cableada para la transferencia de datos frente a una opción inalámbrica debido a las mayores velocidades de transferencia de datos
Una implementación simple, a modo de ejemplo del sistema de almacenamiento en caché basado en localización para un dispositivo móvil se representa en la figura 2. En un primer periodo de tiempo, una pantalla 200 de dispositivo móvil representa un primer mapa 202 que indica la posición de un usuario en el contexto de la geografia indicada por el primer mapa 202. El primer mapa 202 se proporciona a la pantalla 200 por el módulo 210 de almacenamiento en caché El usuario se representa como desplazándose en un automóvil 204 a lo largo de una primera carretera 206 hacia una intersección con una segunda carretera 208.
Basándose en una información contextual ambiental y otra anterior, por ejemplo, la longitud de tiempo de desplazamiento del automóvil 204 en la primera carretera 206, los viajes anteriores por el usuario en la primera carretera 206, y otras consideraciones, el módulo 21 Ode almacenamiento en caché había anticipado que el usuario continuaria desplazándose por la primera carretera 206 más allá de la intersección con la segunda carretera 208 Por lo tanto, el módulo 210 de almacenamiento en caché había almacenado anteriormente un segundo mapa 202a como se muestra en la pantalla 200a propuesta durante un segundo periodo de tiempo. El segundo mapa 202a estima la posición del automóvil 2D4a del usuario a lo largo de la primera carretera 206 más allá de la intersección con la segunda carretera 208
Sin embargo, el gestor de localización y el estimador de dirección de movimiento proporcionan información actualizada al módulo 210 de almacenamiento en caché que indica que el usuario está desacelerando. A partir de la información posicional y contextual del primer mapa 202, el módulo 210 de almacenamiento en caché puede determinar que existe una posibilidad de que el usuario pueda girar hacia la segunda carretera 208 como se indica en el primer mapa 202 por las posiciones altemativas del automóvil 204', 204" en la segunda carretera 208. Por lo tanto, en lugar de mostrar el segundo mapa 202a, el módulo 210 de almacenamiento en caché contacta con el servidor 212 de contenido para recuperar unos mapas adicionales para cubrir la posibilidad de que el usuario pueda girar hacia la segunda carretera 208
Una vez que el gestor de localización determina que el usuario ha girado hacia una dirección específica, el módulo 210 de almacenamiento en caché presenta el tercer mapa 202b correspondiente en la pantalla 200b que muestra el automóvil 204 procediendo hacia la segunda carretera 204 y mostrando la geografía en la dirección de la segunda carretera 208. Como se indica con respecto al tercer mapa 202b de la pantalla 2001>, el tercer mapa 202b se descarga dinámicamente por el módulo 210 de almacenamiento en caché desde el servidor de contenido 212.
La figura 3 representa una serie de operaciones 300 a modo de ejemplo realizadas por el módulo 104 gestor de localización, el módulo 106 estimador de dirección de movimiento y el módulo 108 de almacenamiento en caché de la figura 1 para proporcionar la funcionalidad de almacenamiento en caché basada en localización en el dispositivo 102 móvil. En una operación 302 de búsqueda, el gestor 104 de localización determina la posición geográfica del dispositivo 102 móvil. Como se ha descrito anteriormente, esta operación 302 de búsqueda puede realizarse a través de GPS u otras metodologías de triangulación o simplemente basándose en la entrada de usuario. A continuación, en una operación 302 de determinación, el estimador 106 de dirección móvil determina la dirección del movimiento del dispositivo 102 móvil. A continuación, en una operación 306 de desarrollo, el módulo 108 de
ES 2 628 208 T3
almacenamiento en caché desarrolla una posición futura estimada del dispositivo 102 móvil. Como se ha descrito anteriormente, esta operación 306 de desarrollo puede tener en cuenta faclores contexluales adicionales tales como el enlomo específico del dispositivo 102 móvil y las preferencias de usuario almacenadas en el contenedor 112 de contexto.
Basándose en la información de posición, direccional, y contextual, el módulo 108 de almacenamiento en caché emprende una operación 308 de consulta para determinar si el siguiente mapa adecuado ya está almacenado en el dispositivo 102 móvil. Si ya existe un mapa apropiado, en una operación 310 de recuperación el módulo 108 de almacenamiento en caché recupera el siguiente mapa de contenedor 110 de contenido. Como alternativa, si en la operación 308 de consulta, el módulo 108 de almacenamiento en caché determina que el siguiente mapa apropiado no está ya almacenado en el dispositivo 102 móvil, en una operación 312 de conexión el módulo 108 de almacenamiento en caché se conecta con el servidor 124 de contenido a través de la red 122. A continuación, en una operación 314 de descarga el módulo 108 de almacenamiento en caché descarga el siguiente mapa apropiado del servidor 124 de contenido. Una vez que el módulo 108 de almacenamiento en caché ha recuperado o el siguiente mapa del contenedor 110 de contenido o ha descargado el mapa desde el servidor 124 de contenido, en una operación 316 de presentación, el siguiente mapa apropiado se presenta al usuario a través de una pantalla en el dispositivo 316 móvil
La figura 4 ilustra un sistema 400 de detección de localización que puede implementarse como parte del sistema de almacenamiento en caché basado en localización para proporcionar mapas apropiados al dispositivo móvil. El sistema 400 de detección de localización incluye un gestor 420 de localización, una aplicación 430 de detección de localización, y un gestor 440 de mapas. El gestor 420 de localización esté conectado con una o más fuentes 425(1-N) de localización. El gestor 440 de mapas está conectado con uno o más almacenes 442 de mapa, generadores 444 de mapas y servicios 446 web de mapas
El gestor 420 de localización está configurado para recibir información de localización de las una o más fuentes 425(1-N) de localización de dispositivos móviles y para resumir la información de localización en eventos de localización que se proporcionan a la aplicación 430 de detección de localización. Las fuentes 425(1-N)de localización de dispositivos móviles pueden ser cualquier cosa que proporcione una información de localización acerca de un elemento. Por ejemplo, una fuente de localización de dispositivos móviles puede ser un receptor GPS. Otra fuente de localización de dispositivos móviles puede ser una enlrada de usuario que indica la posición del usuario. Por ejemplo, un usuario puede indicar a través de una entrada de usuario en un dispositivo móvil que el usuario está en una localización determinada. El usuario puede introducir una localización en el dispositivo móvil a través de una interfaz de usuario, por ejemplo, un teclado, una pantalla táctil, o un reconocimiento de voz. Otra fuente de localización de dispositivos móviles puede ser una etiqueta RFID. Cada fuente425(1-N)de localización de dispositivos móviles puede proporcionar diferentes resoluciones de datos de localización. Por ejemplo, algunas fuentes de localización pueden ser muy precisas, mientras que otras fuentes de localización solo pueden tener una precisión dentro de una zona definida, por ejemplo, un barrio o un tramo de una carretera
Una fuente 425(1-N) de localización de dispositivos móviles puede corresponder a una fuente de localización próxima
o distante. Una fuente próxima corresponde a un hardware de generación de localización, que incluye, pero no limitado a, un receptor GPS o al propio dispositivo móvil que determina su localización a partir de la información de red. Una fuente de localización distante corresponde a la información de localización, o fomentada o extraída desde una fuente de red remota (por ejemplo, un mensaje del servicio de mensajes cortos (SMS) fomentado que llega con la localización de un automóvil, o la información de localización devuelta (extraída) a través de una solicitud de web). Tanto las fuentes de localización próximas como distantes se tratan como entidades lógicas abstractas. Esto hace el modelo de programación similar para muchos tipos diferentes de información de localización
Una vez que se reciben los datos de localización, el gestor 420 de localización determina si se activa cualquier caso de localización que se relaciona con la aplicación 430 de detección de localización. En lugar de simplemente proporcionar unos datos de localización en bruto de las fuentes de localización a la aplicación 430 de detección de localización, el gestor 420 de localización proporciona eventos de localización tras la aparición de un elemento que tiene una cierta relación lógica con una zona de interés, tal como entrar o salir de la zona de interés. Una zona de interés puede referirse a cualquier zona y puede ser interior o exterior. Por ejemplo, una localización interior podría usarse para mostrar la localización de un activo fijo (por ejemplo, una sala de conferencias) ylo un activo móvil (por ejemplo, personas, equipo de oficina, o el inventario). Una zona exterior de interés podrla ser un bloque de una ciudad, una zona alrededor de un edificio o alguna otra referencia, o alguna otra zona predefinida. Una zona al aire libre de interés también puede ser un activo móvil (por ejemplo, un automóvil o una persona)
En lugar de interpretar los datos de localización en bruto, la aplicación 430 de detección de localización registra los eventos de localización basándose en la relación del elemento con las zonas de interés. Tras producirse un evento de localización predefinida, el gestor 420 de localización se lo notifica a la aplicación 430 de detección de localización. En ese momento, la aplicación 430 de detección de localización ejecuta una rutina de código de activación de evento desarrollada para manejar el evento de localización. La aplicación 430 de detección de localización responde de este modo a los eventos de localización generados.
ES 2 628 208 T3
Tras producirse un evento de localización, la aplicación 430 de detección de localización suministra un conjunto de criterios ponderados al gestor 440 de mapas. Por ejemplo, los criterios ponderados pueden incluir una resolución de mapa propuesta junto con un conjunto de objetos que a la aplicación 430 de detección de localización le gustaría mostrar en el mapa dibujado por los generadores 444 de mapas. La aplicación 430 de detección de localización también puede suministrar unos objetos que a la aplicación 430 de detección de localización le gustaría reproducir en la parte superior de un mapa existente o generado_ Además de responder la aplicación 430 de detección de localización a eventos para accionar la reproducción de los mapas por el gestor 440 de mapas, la aplicación 430 de detección de localización también puede auto accionarse. Por ejemplo, la aplicación 430 de detección de localización puede tener un temporizador que periódicamente ~extrae" la información y solicita la reproducción de un nuevo mapa por el gestor 440 de mapas. Asi, además de las respuestas "fomentadas" por eventos, la aplicación 430 de detección de localización también puede "extraer" datos y tomar medidas
El gestor 440 de mapas resume la información de mapa a partir de la aplicación 430 de detección de localización de tal manera que no necesita conocer detalles sobre cómo manejar los mapas o la información de localización. En lugar de tener la aplicación 430 de detección de localización que incluir un código de mapa de reproducción de mapas complejo, la aplicación 430 de detección de localización proporciona al gestor 440 de mapas el nombre o el tipo de mapa que desearía que se muestre. El generador 444 de mapas no está vinculado a ninguna aplicación única, o motor de reproducción. Por ejemplo, un motor de reproducción puede estar basado en un vector, mientras que otro motor de reproducción puede estar basado en un mapa de bits. El gestor 440 de mapas proporciona de este modo a la aplicación 430 de detección de localización una interfaz para interactuar con el generador 444 de mapas.
El gestor 440 de mapas proporciona un rico conjunto de caracteristicas a la aplicación 430 de detección de localización sin tener que conocer la aplicación 430 de detección de localización los detalles de cómo implementar el código del mapa. Por ejemplo, supongamos que la aplicación 430 quiere permitir que un usuario seleccione una zona en un mapa y a continuación tener que traducir los datos a una latitud y longitud, o en el caso de un mapa de interiores en los sistemas de coordenadas interiores. El gestOf 440 de mapas proporciona la información a la aplicación 430 de detección de localización. El gestor 440 de mapas actúa como un intermediario entre la aplicación 430 de detección de localización y los generadores 444 de mapas y los servicios 446 web de mapas y suministra la funcionalidad a la aplicación 430 de detección de localización.
Algunas de las funcionalidades incluyen mapear las coordenadas XN de pantalla en el dispositivo móvil a las coordenadas de mapa de latitud/longitud/altitud en el mapa. Por ejemplo, un usuario puede hacer clic en la pantalla que está mostrando actualmente un mapa para introducir su localización. En respuesta a la entrada de usuario, el gestor 440 de mapas mapea la localización XN de pantalla a la localización de mapa de latitud/longitud/altitud. Del mismo modo, el gestor 440 de mapas mapea los datos de mapa de latitudflongitudfaltitud a las localizaciones XN de pantalla que permiten a la aplicación 430 de detección de localización reproducir de manera dinámica en la parte superior del mapa mostrado actualmente. La altitud en algunas reproducciones de mapa tal como un mapa de una zona de esqui, puede afectar significativamente a la localización XN
Hay muchas maneras de convertir una coordenada XN en una coordenada de latitudflongitud/altitud. En general, el gestor 440 de mapas recibe una coordenada XN de pantalla, hace coincidir la coOfdenada con un mapa, y a continuación, basándose en la escala del mapa y los límites del mapa, usa una tecnología de proyección que proporciona las coordenadas de latitudf1ongitudfaltitud. La aplicación 430 de detección de localización no necesita entender cómo se reproducen los propios mapas o lo que es la "tecnologia de proyección" Muchas diferentes tecnologias de proyección mapas son posibles, que incluyen, pero no se limitan a, las técnicas de proyección de mapas clásicos, tales como las proyecciones Mercator, las proyecciones cilíndricas, las proyecciones polares, las proyecciones de rejilla, y las tecnologias de proyección personalizadas (por ejemplo, un mapa de una zona de esquí
o un mapa de asientos de un estadio). La aplicación 430 de detección de localización puede moverse sin problemas entre diferentes técnicas de proyección.
El gestor 440 de mapas también suministra eventos de alto nivel sobre el conjunto de mapas disponibles a la aplicación 430 de detección de localización. Estos eventos proporcionan a la aplicación 430 de detección de localización una información importante tal como cuando varios mapas están disponibles que cumplen con los criterios solicitados por la aplicaciÓfl 430 de detección de localización. La aplicación 430 de detección de localización no se limita al uso de un solo mapa para su visualización. Por ejemplo, una aplicación puede usar un mapa de una calle durante un periodo de tiempo y a continuación usar un mapa del metro (por ejemplo, que muestra las rutas de autobús, túneles del metro, etc.) durante otro periodo de tiempo. El gestor 440 de mapas clasifica los mapas de acuerdo con su orden de idoneidad. Cuando no hay mapas disponibles que cumplan con los criterios proporcionados por la aplicación 430 de detecciÓfl de localización, el gestor 440 de mapas podrá localizar mapas que cumplan con algunos de los criterios pudiendo, a continuación, proporcionarse esos mapas
El gestor 440 de mapas también permite la provisión dinámica de nuevos mapas en el dispositivo móvil Los mapas pueden descargarse en el dispositivo móvil en cua lquier momento. Por ejemplo, un nuevo mapa puede descargarse para una aplicación de transporte público cuando se añade una nueva ruta de tránsito. De acuerdo con una realización, estos mapas se representan usando dos archivos, uno binario y opaco al gestor 440 de mapas y otro que entiende. De acuerdo con una realización, el mapa se representa usando un archivo XML. El gestor 440 de
ES 2 628 208 T3
mapas es capaz de leer el archivo XML y obtener la información necesaria para agregar el mapa al almacén local de dalos de mapas en el dispositivo móvil
La siguiente es una representación XML a modo de ejemplo de un archivo de mapa.
<MapData Version="I.Ol"
MapProjection="SimpleGrid"
MetersPerPixe 1="2. 80253449893166" Map[nfoClass="none"
CustornMapRender="none")
<SimpleLatLongRectangle MapF i I eName="dev ice_map_l _0. PNG">
<MapCoord inate Pos ¡ti on="NorthWestCorner" Lat i tude="50. 7867"
l ong i tude="6. 07814549019608" 1>
<MapCoordinate Pos ¡ti on="NorthEastCorner" Lat itude="50. 7867"
l ong itude="6. 09407106666667" 1>
<MapCoord i nate Position="SouthWestCorner"
lati tude="50. 7766295454545" long i tude"6. 07814726827094" f> <MapCoord inate Pos i t i on="SouthEastCorner" Lat i tude="50. 7766295454545" long i tude="6. 09406985757576" 1> </ SimplelatlonRectangle> </ MapOata>
MAPPROJECTION se refiere a la tecnología que se usa para mostrar el mapa. En este ejemplo específico, el tipo de proyección de mapa es una rejilla simple. METERSPERPIXEL se refiere a la resolución media del mapa. MaplnfoClass se refiere a si existe una clase personalizada que se necesita para responder a preguntas sobre este mapa. Este campo permite a los desarrolladores incluir una clase personalizada dentro del entorno de programación que puede llamarse cuando se muestra este mapa. Del mismo modo, CUSTOMMAPRENDERER se refiere a si es necesario un motor de reproducción personalizada para dibujar el mapa. El campo MAPFILENAME se refiere al nombre del archivo binario que contiene la información de qué motor de reproducción de mapas se usará para dibujar el mapa. El campo SIMPLELATLONGRECTANGLE identifica el mapa como un rectángulo definido por las coordenadas de latitud y longitud.
El siguiente ejemplo ilustra algunos de los campos personalizados que se utilizan.
<MapData Version="I. OI" MapProject i on="S imp IeGr id"
MetersPerPixel="2. 80253449893166" Map[nfoCI ass="Cust~aplnfol"
Cust~apRender="CustanMapRender I ">
<CustanMaplnfol MapF i I eName="dev i ce_map_l _0. PNG" classid="CustomMapEngine. MaplnfoParser"
1>
<CustornMapRenderl MapF i I eName="dev i ce_map_l _0. PNG"
c I ass i d="Cust~apEng ineoMapRenderEng i ne" 1> </MapData>
El gestor 440 de mapas puede tener múltiples mapas disponibles en el dispositivo en un almacén 442 de mapas que puede usarse por la aplicación 430. El gestor 440 de mapas examina a través del conjunto de mapas disponibles en el dispositivo en el almacén 442 de mapas y busca el mejor mapa a usarse. Después de seleccionarse, se selecciona y se reproduce el mapa de mejor ajuste.
La figura 5 representa un diagrama 500 de estado de la interacción para el desarrollo de aplicaciones de detección de localización Comenzando en el estado 510, se definen unas zonas geográficas de interés La selección de las
ES 2 628 208 T3
zonas de interés puede producirse antes o después de que se despliegue la aplicación de detección de localización. Además, esta información puede enviarse a los dispositivos móviles en cualquier momento. Una zona de interés es una región predefinida que se refiere a un mapa. La zona de interés puede ser de cualquier tamaño que pueda definirse. Por ejemplo, una zona de interes puede ser del tamaño de un metro cuadrado o un país entero. Las zooas de interés se definen en función de las necesidades de la aplicación de detección de localización
Por ejemplo, supóngase que la aplicación de detección de localización que se desarrolla determina cuando un niño deja la escuela y regresa a casa. En este ejemplo específico, las zonas de interés pueden ser una zona que incluye la escuela y otra zooa que incluye la casa del niño. Algunas zooas de interés pueden seleccionarse por el desarrollador, mientras que otras zonas de interés pueden seleccionarse por un usuario. Por ejemplo, muchas aplicaciones de detección de localización, tales como el ejemplo descrito anteriormente, se configuran después de que se proporcione la aplicación de detección de localización al usuario. En el ejemplo anterior, un padre puede seleccionar las zooas de interés.
El estado 520 muestra la selección de mapas y servidores de mapas. Un desarrollador puede seleccionar entre los mapas disponibles en el sistema o puede crear sus propios mapas. De acuerdo con una realización de la invención, los mapas disponibles se comparten a través de las aplicaciones de detección de localización de tal manera que las diferentes aplicaciones de detección de localización pueden usar el mismo mapa. De esta manera, no es necesario que cada aplicación de detección de localización desarrolle sus propios mapas. En la mayoría de los casos, los detalles del mapa que se reproduce se ocultan del desarrollador de la aplicación de detección de localización. Si el desarrollador desea incluir su propio software de reproducción, el desarrollador puede incorporar el software de reproducción en el entorno del estado 540 como se describe más adelante.
En el estado 530, el desarrollador programa el código de localización basado en los eventos que se ejecutan en respuesta a los eventos asociados con las zonas de interés dentro de la aplicación de detección de localización. Este código basado en eventos depende del tipo de aplicación de detección de localización que se desarrolla y puede incluir muchos tipos diferentes de datos. Por ejemplo, un programa puede realizar una acción cuando un usuario alcanza una localización predeterminada. En el rastreo del niño del ejemplo anterior, puede programarse una rutina de ejemplo para resaltar el hogar o la escuela basándose en la localización del niño en ese momento específico. El desarrollador también puede colocar elementos en el mapa en respuesta a los eventos.
En el estado 540, el desarrollador puede configurar también una preferencia para reproducir el mapa Por ejemplo, el desarrollador puede desear usar un motor de reproducción basado en vectores para una parte de la aplicación y un sistema basado en un mapa de bits para otra parte de la aplicación. Los molores de mapa pueden proporcionarse por muchas fuentes diferentes. Cualquier desarrollador que desee construir un motor puede suministrar un motor de mapas que se ajusta a la interfaz de programación. Cada motor de mapas está conectado en el sistema de desarrollo
En el estado 550, la aplicación de detección de localización puede probarse usando unas fuentes de localización reales y/o simuladas. El sistema proporciona un simulador de una fuente de localización de tal manera que la aplicación de detección de localización puede probarse antes de su puesta en el campo. Usar una fuente de datos simulados proporciona a un desarrollador un código de localización basado en eventos para probar la ocurrencia de un evento de localización. Otro uso de los datos de fuente de localización simulada es "reproducir" unos dalos de localización del mundo real grabados anteriormente. Esto es útil para el desarrollo, las pruebas y la depuración de aplicaciones
La figura 6 presenta un diagrama de flujo que muestra una implementación a modo de ejemplo de una infraestructura 600 de detección de localización para seleccionar mapas u otros contenidos basados en localización En un principio, en la operación 602 de adquisición se adquiere una imagen del mapa. La operación 604 indica que la imagen del mapa puede ser cualquier imagen arbitraria adquirida de cualquier fuente. Por ejemplo, la imagen del mapa puede obtenerse de una fuente pre-almacenada (por ejemplo, el módulo 108 de almacenamiento en caché de la figura 1) en el dispositivo móvil que muestra la imagen, o de una fuente externa, si es un dispositivo de memoria extema o descargando la imagen del mapa de una fuente de mapas (por ejemplo, el servidor 124 de contenido de la figura 1) o incluso de otro usuario. La imagen del mapa también puede reproducirse de manera dinámica mediante una imagen de reproducción anterior a su descarga en el dispositivo móvil. Los mapas que se muestran en el dispositivo móvil pueden tener diferentes resoluciones y almacenarse en diversos formatos. Siempre que la señalización y la información de orientación puedan superponerse sobre la imagen del mapa, cualquier mapa arbitrario es aceptable.
En la operación 606 de visualización, al menos una parte de la imagen del mapa adquirida o reproducida dinámicamente se muestra en el dispositivo móvil. Ya que los dispositivos móviles, tales como los teléfonos móviles, localizadores o asistentes digitales personales, tienen por lo general pequeñas pantallas de visualización, no puede mostrarse la imagen del mapa entero_ En algunos casos, si la pantalla es suficientemente grande o el mapa suficientemente pequeño, puede mostrarse toda la imagen del mapa o una parte sustancial de la misma. En el caso de que solo una parte del mapa pueda mostrarse, puede desearse superponer unos elementos de navegación adicionales, por ejemplo, la información direccional o las referencias (en adelante en el presente documento "referencias"), sobre la imagen del mapa. Como alternativa, tales referencias pueden mostrarse junto con cualquier
ES 2 628 208 T3
mapa independientemente de su tamaño, resolución, o exhaustividad.
En una segunda operación 608 de visualización, tales referencias, de hecho, se muestran sobre la imagen del mapa. En una implementación, las referencias pueden superponerse sobre la imagen del mapa, de tal manera que puede verse la relación de las señalizaciones de la geografia circundante. Pueden mostrarse múltiples referencias, o fijas o móviles acerca de la imagen del mapa. En otra implementación, una referencia puede considerarse un anclaje o un objeto de referencia con respecto a olras referencias sobre la imagen del mapa.
En la operación 610 de establecimiento, una vez que se muestra una referencia, puede establecerse un objeto de referencia para anclar esa referencia. Como altemativa, podría establecerse primero el objeto de anclaje y a continuación puede mostrarse la referencia (es decir, las operaciones 608 y 610 podrían cambiar de orden temporal). El objeto de anclaje puede localizarse en cualquier parte de la imagen del mapa, o dentro o fuera de la pantalla de visualización. Como alternativa, si el objeto de anclaje se mueve fuera de la pantalla de visualización, por ejemplo, en el caso de que el usuario cambie de localización o cambie la resolución de la pantalla, puede elegirse un nuevo objeto de anclaje dentro de la zona del mapa en la pantalla de visualización. Anclar la referencia al objeto de anclaje permite que se mantengan ciertas relaciones entre la referencia y el objeto de anclaje. Por ejemplo, pueden determinarse una relación de distancia y una relación direccional entre un objeto de anclaje y una referencia
La relación de anclaje puede mantenerse a pesar de que las referencias y el objeto de anclaje en sí se muevan alrededor, desaparezcan de, o vuelvan a aparecer en la pantalla de visualización. Por ejemplo, el objeto de anclaje puede mostrarse inicialmente en el cenlro de la imagen del mapa con olras referencias rodeando al objeto de anclaje. Cualquier referencia en una localización de la imagen del mapa que no encaja dentro de las dimensiones de la pantalla puede referenciarse por una señalización denlro de las dimensiones de pantalla indicando la localización relativa de la referencia en la parte no vista de la imagen del mapa. Las señalizaciones funcionan para remediar el problema de mantener un mapa a un cierto nivel de particularidad, mientras que se mantiene la información con respecto a las relaciones acerca de los elementos que no encajan en una pantalla a ese nivel de particularidad.
Una vez que el objeto de anclaje está en su lugar, se realiza una determinación en la operación 612 de consulta de si la referencia o el objeto de anclaje están en la pantalla de visualización del dispositivo móvil. Si la respuesta a la operación 612 de consulta es ~sí", es decir, que el objeto de anclaje o la referencia en efecto, encajan dentro de la zona de la pantalla de visualizaciÓfl, entonces el objeto de anclaje o la referencia se muestran en la pantalla en la operación 614 de visualización. El objeto de anclaje y las referencias se muestran siempre y cuando la localización del objeto de anclaje o una referencia específica permanezca dentro de la zona de la imagen del mapa en la pantalla de visualización. Obsérvese que un usuario de un dispositivo móvil puede cambiar la zona de imagen del mapa mostrada o por un acercamiento o por un alejamiento de la imagen del mapa o moviéndose de un lugar físico a otro Por ejemplo, supóngase que un usuario está viendo una imagen del mapa y decide hacer un acercamiento en una parte específica del mapa lejos de donde se muestra una referencia. Si el usuario se acerca lo suficiente, la referencia ya no encajará en la pantalla (es decir, la referencia todavia está localizada sobre la imagen del mapa en si, pero ya no puede mostrarse en una pantalla de dispositivo móvil)
Obsérvese que cuanto mayor sea la resolución de una imagen de mapa creada cuando el usuario del dispositivo móvil hace un acercamiento de la imagen del mapa, más posibilidades hay de que aparezcan señalizaciones adicionales. Además, si la localización del objeto de anclaje está fuera de la pantalla, puede usarse una señalización para apuntar también al objeto de anclaje. En estos escenarios, una operación 616 de mantenimiento mantiene una señalización de la referencia o del objeto de anclaje siempre y cuando esté fuera de la zona visible de la pantalla de visualización. La señalización se enciende o se apaga en función de si la referencia o el objeto de anclaje puede mostrarse o no. Por lo tanto, la infraestructura 600 de detección de localización altema los estados entre las operaciones 614 y 616 como se indica en la figura 6 a medida que cambia la resolución de la imagen del mapa o la localización o la localización del usuario
Además, cuando la infraestructura 600 está en la operación 616 de mantenimiento, puede implementarse una operación 618 de creación opcional. En la operación 618 de creación, se crea una marca de orientación para indicar al usuario la dirección, la distancia yfu otra información sobre las referencias representadas por las señalizaciones. Una marca de orientación puede crearse o de manera automática, tras una solicitud del usuario, o tras alguna otra condición. La marca de orientación puede incluir vectores de dirección correspondientes para ayudar a un usuario a orientarse a sí mismo con respecto a la imagen del mapa
La figura 7 proporciona un detalle adicional con respecto a la operación 616 de mantenimiento de la figura 6 anterior, que se renumera a la operación 702 en la figura 7. En una operación 704 de consulta, se toma una decisión en cuanto a cuál de varios tipos posibles de información disponible se mostrará como parte de la señalización.
Una primera posibilidad se indica en la operación 706, en la que el nombre de la referencia fuera de la pantalla se visualiza como la señalización. Un nombre es simplemente a modo de ejemplo, y otros símbolos de identificación podrían usarse en su lugar, por ejemplo, números o iconos gráficos. Una segunda posibilidad representada en la operación 708 es para indicar la distancia de la referencia al objeto de anclaje. Otras relaciones también podrían mostrarse, tal como una relación temporal entre el objeto de anclaje y la referencia. Una tercera posibilidad representada en la operación 710 es para desarrollar una referencia de orientación. La referencia de orientación
ES 2 628 208 T3
puede usarse para apuntar en la dirección con respecto al objeto de anclaje que el usuario debe mover con el fin de alcanzar la referencia. la referencia de orientación no necesita apuntar exactamente hacia la referencia , es decir, como lo haría un vector, pero puede apuntar sustancialmente en la dirección apropiada
Como alternativa, para una representación más exacta, podría proporcionarse una marca de orientación con vectores para las referencias. La creación de un vector de dirección entre un objeto de anclaje y una referencia se indica en la operación 712 de creación. También puede estar previsto que un vector de dirección permita a un usuario usar el vector para alinearse a si mismo con respecto a una marca de orientación no asociada con la imagen del mapa, por ejemplo, la posición del sol. También puede usarse un vector de dirección para ayudar a clarificar las relaciones especiales entre las referencias señalizadas, las marcas de orientación, y los objetos de anclaje_
Por último, en la operación 714 la actualización, alguna de las relaciones que pueden mostrarse en las señalizaciones pueden actualizarse de manera dinámica. Por lo tanto, las referencias podrian cambiar de nombres si, por ejemplo, una referencia corresponde a un usuario de un dispositivo móvil que proporciona a continuación ese dispositivo móvil a un segundo usuario que será rastreado a través del dispositivo móvil. Ciertamente las referencias de orientación, un vector o de otro modo, los cálculos de distancia necesitan actualizarse a medida que el usuario del dispositivo móvil se mueve sobre la zona definida por la imagen del mapa
Un dispositivo 800 móvi I a modo de ejemplo para su uso dentro del sistema de almacenamiento en caché basado en localización se representa en la figura 8. El dispositivo 800 móvil incluye un procesador 802 y una memoria 804 como en cualquier dispositivo informático convencional. El procesador 802, la memoria 804, y otros componentes que se describen más adelante en el presente documento pueden interconectarse a través de un bus 814 de sistema. El bus 814 de sistema puede ser cualquiera de varios tipos de estructuras de bus incluyendo un bus de memoria o controlador de memoria, un bus periférico, una estructura de conmutación, conexiones punto a punto, y un bus local. La memoria 804 incluye, en general, tanto una memoria volátil (por ejemplo, RAM) como una memoria no volátil (por ejemplo, ROM o una ta~eta PCMCIA). Un sistema 806 operativo puede residir en la memoria 804 y ejecutarse en el procesador 802. Un sistema operativo de ejemplo puede ser el sistema operativo WINDOWS CE de Microsoft Corporation.
Uno o más programas 806 de aplicación pueden cargarse en la memoria 804 para su ejecución por el procesador 802 junto con el sistema 806 operativo. Unas aplicaciones a modo de ejemplo pueden incluir programas de correo electrónico, programas de planificación, programas de gestión de información de personal, programas de procesamiento de textos, programas de hojas de cálculo, programas de navegador de Internet, programas de gestión de archivos de música, y programas de gestión de archivos de vídeo y fotografía. La memooa 804 puede incluir además un gestor 810 de notificaciones, que se ejecuta en el procesador 802. El gestor 810 de notificaciones maneja las solicitudes de notificación desde las aplicaciones 808 a uno o más dispositivos de notificación de usuario como se describe en mayOf detalle a continuación
El dispositivo 800 móvil también tiene una fuente 812 de alimentación, que puede implementarse usando una o más baterías. La fuente 812 de alimentación también puede ser una fuente de CA externa que usa un cable de alimentación o un cable de transferencia de datos alimentado conectado con el dispositivo 800 móvil que anula o recarga las baterías. La fuente 812 de alimentación está conectada a la mayoría, si no todos, de los componentes del dispositivo 800 móvil con el fin de que cada uno de los componentes pueda funcionar
En una realización, el dispositivo 800 móvil puede incluir capacidades de comunicaciones, por ejemplo, el dispositivo 800 móvil funciona como un teléfono inalámbrico. Un dispositivo 800 inalámbrico con capacidades telefónicas, en general, incluye una antena 816, un transmisor 818 y un receptor 820 para interconectarse con una red de telefonía inalámbrica. Además, el dispositivo 800 móvil puede incluir un micrófono 834 y un altavoz 836 con el fin de que un usuario pueda comunicarse telefónicamente. El altavoz 836 puede estar también en la forma de un puerto de salida cableado o inalámbrico para la conexión con un auricular o auriculares cableados o inalámbricos.
El dispositivo 800 móvil puede conectarse con numerosas olras redes, por ejemplo, una red LAN inalámbrica (WiFi), una LAN o WAN cableada, GPRS, Bluetooth, UMTS o cualquier otra red a través de una o más interfaces 822 de comunicaciones. La antena 816 o múltiples antenas pueden usarse para diferentes fines de comunicación, por ejemplo, una identificación por radiofrecuencia (RFID), transmisiones y recepciones de microondas, transmisiones y recepciones WiFi, y transmisiones y recepciones Bluetooth
El dispositivo 800 móvil incluye, además, en general, algún tipo de interfaz de usuario. Como se muestra en la figura
8, el dispositivo 800 móvil puede tener un teclado 824 y una pantalla 826. El teclado 824 puede ser un teclado numérico limitado, un teclado ~qwerty" completo, o una combinación de ambos. El teclado 824 también puede incluir botones especiales, ruedas, bolas de seguimiento, y olras opciones de interfaz, por ejemplo, selección de menú o teclas de navegación o teclas de función del teléfono. Además de representar información, la panta lla 826 puede ser también una pantalla táctil que permite la entrada de datos al tocar la panta lla con el dedo del usua rio o un lápiz táctil para hacer selecciones de enlrada a Iravés de una interfaz gráfica o escribir letras y números directamente en la pantalla 826.
ES 2 628 208 T3
El dispositivo 800 móvil también puede tener uno o más mecanismos de notificación externa. En la realización representada en la figura 8, el dispositivo 800 móvil incluye un generador 828 de audio, un diodo 830 emisor de luz (LEO), y un dispositivo 832 de vibración. Estos dispositivos pueden acoplarse directamente a la fuente 812 de alimerJlación de lal manera que cuando se activan, pueden permanecer alimentados durante elliempo dictado por el gestor 810 de notificaciones, a pesar de que el procesador 802 y otros componentes pueden apagarse para ahorrar energía de la batería
Un hardware a modo de ejemplo y un entorno operativo que puede usarse como el servidor de contenido se representan en la figura 9. Este hardware incluye un dispositivo informático de fin general en la forma de un ordenador 900, que incluye una unidad 902 de procesamiento, una memoria 904 de sistema, y un bus 918 de sistema, que acopla de manera operativa diversos componentes del sistema, incluyendo la memoria 904 de sistema a la unidad 902 de procesamiento. Puede haber solo una unidad 902 de procesamiento o puede haber más de una, de tal manera que el procesador del ordenador 900 comprende una única unidad central de procesamiento (CPU), o una pluralidad de unidades de procesamiento, comúnmente denominado como un entomo de procesamiento en paralelo. El ordenadOf 900 puede ser un ordenador convencional, un ordenadOf distribuido, o cualquier otro tipo de ordenador; la invención no está limitada de este modo.
El bus 918 de sistema puede ser cualquiera de varios tipos de estructuras de bus incluyendo un bus de memoria o un controlador de memOfia, un bus periférico, una estructura de conmutación, conexiones punto a punto, y un bus local que usa cualquiera de una variedad de arquitecturas de bus. La memoria 904 de sistema también puede denominarse simplemente como la memoria, e incluye una memoria 906 de solo lectura (ROM) y una memoria 905 de acceso aleatorio (RAM). Un sistema 908 de entradafsalida básico (BiaS), que contiene las rutinas básicas que ayudan a transferir información entre los elementos dentro del ordenador 900, tal como durante el arranque, se almacena en la ROM 906. El ordenador 900 puede incluir además, una unidad 930 de disco duro para leer de o escribir en un disco duro, no mostrado, una unidad 932 de disco magnético para leer de o escribir en un disco 936 magnético exlraible, y una unidad 934 de disco óptico para leer de o escribir en un disco óptico exlraible 938 tal como un CDROM u otros medios ópticos
La unidad 930 de disco duro, la unidad 932 de disco magnético, y la unidad 934 de disco óptico están conectadas al bus 918 de sistema mediante una interfaz 920 de unidad de disco duro, una interfaz 922 de unidad de disco magnético, y una interfaz 924 de unidad de disco óptico, respectivamente. Las unidades y sus medios legibles por ordenador asociados proporcionan un almacenamiento no volátil de las instrucciones legibles por ordenador, las estructuras de datos, los módulos de programa y otros datos para el ordenador 900. Debería apreciarse por los expertos en la materia que cualquier tipo de medio legible por ordenador que pueda almacenar datos que sean accesibles por un ordenador, por ejemplo, casetes magnéticos, ta~etas de memoria flash, discos de video digitales, memorias RAM y ROM, puede usarse en el entorno operativo a modo de ejemplo.
Un número de módulos de programa pueden almacenarse en el disco 930 duro, el disco 932 magnético, el disco 934 óptico, la ROM 906 o la RAM 90S, incluyendo un sistema 910 operativo, uno o más programas 912 de aplicación, otros módulos 91 4 de programa, y datos 916 de programa. En una implementación a modo de ejemplo, las operaciones de detección de localización y de gestión de mapas pueden incorporarse como parte del sistema 910 operativo, programas 912 de aplicación u otros módulos 914 de programa. Los archivos de descripción de estado, los valores de datos de objetos, y otros datos pueden almacenarse como datos 916 de programa
Un usuario puede introducir comandos e información en el ordenadOf 900 personal a través de dispositivos de entrada tales como un teclado 940 y un dispositivo 942 de señalización, por ejemplo, un ratón. Otros dispositivos de entrada (no mostrados) pueden incluir, por ejemplo, un micrófono, una palanca de mando, un mando para juegos, una tableta, un dispositivo de pantalla táctil, una antena parabólica, un escáner, una máquina de fax, y una cámara de video. Estos y otros dispositivos de entrada están a menudo conectados a la unidad 902 de procesamiento a través de una interfaz 926 de puerto serie que está acoplada al bus 918 de sistema , pero pueden conectarse mediante otras interfaces, tales como un puerto paralelo, un puerto de juegos o un bus serie universal (USB).
Un monitor 944 u otro tipo de dispositivo de visua lización también están conectado al bus 918 de sistema a través de una interfaz, tal como un adaptador 946 de vídeo. Además del monitor 944, los ordenadores incluyen normalmente otros dispositivos de salida periféricos, tales como una impresora 958 y unos altavoces (no mostrados). Estos y otros dispositivos de salida se conectan a menudo a la unidad 902 de procesamiento a través de la interfaz 926 de puerto serie que está acoplada al bus 918 de sistema, pero pueden conectarse mediante otras interfaces, tales como un puerto paralelo, un puerto de juegos o un bus serie universal (USB).
El ordenador 900 puede operar en un entorno de red usando unas conexiones lógicas a uno o más ordenadores remotos, tales como el ordenador 954 remoto. Estas conexiones lógicas pueden conseguirse mediante un dispositivo de comunicación acoplado a o integral con el ordenador 900; la invención no se limita a un tipo específico de dispositivo de comunicaciones. El ordenador 954 remoto puede ser otro ordenador, un servidor, un encaminador, un ordenador personal de red, un cliente, un dispositivo par u otro nodo de red común, y que normalmente incluye muchos o todos los elementos descritos anteriormente con respecto al ordenador 900, aunque solo se haya ilustrado en la figura 9 un dispositivo 956 de almacenamiento de memoria. Las conexiones lógicas representadas en la figura 9 incluyen una red 950 de área local (LAN) y una red 952 de área amplia (WAN). Tales entornos de red son
ES 2 628 208 T3
comunes en las redes de oficinas, las redes de ordenadores de empresa, intranets e Internet, que son todas tipos de redes
Cuando se usa en un entorno de LAN 950, el ordenador 900 puede estar conectado a la red 950 local a través de una interfaz de red o adaptador 928, que es un tipo de dispositivo de comunicaciones. Cuando se usa en un entorno de WAN 952, el ordenador 900 induye nonnalmenle un módem 948, un adaptador de red, o cualquier otro tipo de dispositivo de comunicaciones para establecer las comunicaciones a lo largo de la red 952 de área extensa. El módem 948, que puede ser interno o externo, está conectado al bus 918 del sistema a través de la inleriaz 926 de puerto serie. En un entorno de red, los módulos de programa representados con respecto al ordenador 900 personal, o partes del mismo, pueden almacenarse en un dispositivo de almacenamiento de memoria remoto. Se aprecia que las conexiones de red mostradas son a modo de ejemplo y pueden usarse otros medios y dispositivos de comunicaciones para establecer un enlace de comunicaciones entre los ordenadores.
La tecnologia descrita en el presente documento puede implementarse como operaciones y/o módulos lógicos en uno o más sistemas. Las operaciones lógicas pueden implementarse como una secuencia de etapas implementadas en procesador que se ejecutan en uno o más sistemas informáticos y, como módulos de máquina o circuitos interconectados dentro de uno o más sistemas informáticos. Del mismo modo, pueden proporcionarse las descripciones de diversos módulos de componentes en términos de operaciones ejecutadas o efectuadas por los módulos. La aplicación resultante es una cuestión de elección, en función de los requisitos de rendimiento del sistema subyacente que implementa la tecnologia descrita. Por consiguiente, las operaciones lógicas que componen las realizaciones de la tecnología descrita en el presente documento se denominan diversamente como operaciones, etapas, objetos o módulos. Además, debería entenderse que las operaciones lógicas pueden rea lizarse en cualquier orden, a menos que se reivindique explicitamente lo contrario o un orden especifico sea inherentemente necesario por el lenguaje de las reivindicaciones
La memoria descriptiva anterior, los ejemplos y los datos proporcionan una descripción completa de la estructura y el uso de realizaciones a modo de ejemplo de la invención. Aunque se han descrito anteriormente diversas realizaciones de la invención con un cierto grado de particularidad, o haciendo referencia a una o más realizaciones individuales, los expertos en la materia podrían rea lizar numerosas alteraciones a las realizaciones desveladas sin alejarse del ámbito de esta invención. En particular, debería entenderse que la tecnología descrita puede emplearse independientemente de un ordenador personal. Por lo tanto, se contemplan otras realizaciones de la misma. Se pretende que toda la materia contenida en la descripción anterior y mostrada en los dibujos adjuntos deba interpretarse como ilustrativa de las realizaciones específicas, y no como limitante. Pueden realizarse cambios en los detalles o en la estructura sin alejarse de los elementos básicos de la invención como se define en las siguientes reivindicaciones.
Lista de realizaciones:
1 Un procedimiento para proporcionar dinámicamente un contenido relacionado con localización a un dispositivo
(102) de comunicación móvil, comprendiendo el procedimiento rastrear una localización actual del dispositivo (302) de comunicaciórl móvil; predecir una localización futura del dispositivo (306) de comunicaciórl móvil; determinar si el contenido relacionado con la localización futura se almacena actualmente en el dispositivo (308) de comunicación móvil; y recuperar el contenido de un almacén de contenido a través de una conexión de red tras una determinación de que el contenido no se almacena actualmente en el dispositivo (314) de comunicación móvil.
2.
El procedimiento de la realización 1, que comprende además presentar el contenido a un usuario a través de una interfaz del dispositivo (316) de comunicación móvil
3.
El procedimiento de la realización 2, en el que la interfaz comprende una pantalla (826) de visualización
4.
El procedimiento de la rea lización 1, en el que el contenido comprende un mapa de una zona que contiene la localización (202b) futura del dispositivo (102) de comunicación móvil.
5.
El procedimiento de la realización 1, que comprende además gestionar el almacenamiento del contenido en el dispositivo de comunicación móvil almacenando el contenido en el dispositivo de comunicación móvil cuando el contenido se recupera del almacén de contenido; y purgando el contenido del contenido irrelevante que está menos relacionado con la localización futura del dispositivo de comunicación móvil.
6.
El procedimiento de la realización 1, que comprende además seleccionar el contenido basándose en la información contextual almacenada en el dispositivo de comunicación móvil
7.
El procedimiento de la realización 6, en el que la información contextual comprende una información de preferencia de un usuario del dispositivo de comunicación móvil
8.
El procedimiento de la realización 6, en el que la información contextual comprende una información de estado acerca del dispositivo de comunicación móvil
9.
El procedimiento de la realización 6, en el que la información cootextual comprende una información de movimiento del dispositivo de comunicación móvil
10.
Un medio legible por ordenador que tiene unas instrucciones ejecutables por ordenador para realizar un proced imiento informático que implementa el procedimiento de la realización 1
ES 2 628 208 T3
11 . Un sistema (100) de almacenamiento en caché basado en localización que comprende un dispositivo (102) de comunicación móvil que comprende además
un módulo (104) de determinación de localización que determina una localización actual del dispositivo (102) de comunicación móvil;
un módulo (106) estimador de dirección que estima una localización futura del dispositivo (102) de comunicación móvil;
un contenedor (110) de contenido que almacena el contenido relacionado con la localización futura;
un módulo (114) de gestión de conexión que proporciona conectividad de red al dispositivo (102) de comunicación móvil; y
un módulo (108) de almacenamiento en caché que selecciona el contenido relacionado con la localización futura del contenedor (110) de contenido o una fuente de contenido altemativo externa al dispositivo (102) de comunicación móvil a través del módulo (114) de gestión de conexión; y
un servidor (124) de contenido que proporciona el cootenido relacionado con la localización futura al dispositivo
(102) de comunicación móvil; una red (122) que conecta el dispositivo (102) de comunicación móvil y el servidor (124) de contenido; y una fuente de información (116) de localización actual acerca del dispositivo (102) de comunicación móvil accesible por el dispositivo (102) de comunicación móvil
12.
El sistema (100) de almacenamiento en caché basado en localización de la rea lización 11, en el que el dispositivo (102) de comunicación móvil comprende además una interiaz (824,826) de usuario; y la fuente de información de localización actual comprende unos datos introducidos en el dispositivo (102) de comunicación móvil a través de la interiaz (824, 826) de usuario por un usuario.
13.
El sistema (100) de almacenamiento en caché basado en localización de la rea lización 11, en el que el dispositivo (102) de comunicación móvil comprende además una interiaz (824, 826) de usuario; y el contenido relacionado con la local ización futura se presenta a un usuario a través de la interfaz (824,826) de usuario.
14.
El sistema (100) de almacenamiento en caché basado en localización de la realización 13, en el que el contenido es un mapa (202) y la interfaz de usuario es una panta lla (826) de visua lización.
15.
El sistema (100) de almacenamiento en caché basado en localización de la rea lización 11, en el que la fuente de información de localización actual comprende un servicio (116) de sistema de posicionamiento global; y el dispositivo (102) de comunicación móvil comprende además un receptor de sistema de posicionamiento global.
16.
El sistema (100) de almacenamiento en caché basado en localización de la realización 11, en el que la fuente comprende una recopilación de las señales (118 , 120) de comunicación; y el módulo (104) de determinación de localización en el dispositivo (102) de comunicación móvil está adaptado para triangular una localización actual del dispositivo (102) de comunicación móvil basándose en la recopilación de las sefiales (118, 120) de comunicación.
17.
Un dispositivo (102) de comunicación móvil que proporciona una funcionalidad de almacenamiento en caché basada en loca lización que comprende un módulo (104) de determinación de localización que determina una localización actual del dispositivo (102) de comunicación móvil; un módulo (106) estimador de dirección que estima una localización futura del dispositivo (102) de comunicación móvil; un contenedor (110) de contenido que almacena un contenido relacionado con la localización futura; un módulo (11 4) de gestión de conexión que proporciona conectividad de red al dispositivo (102) de comunicación móvil; y un módulo (108) de almacenam iento en caché que selecciona el contenido relacionado con la localización futura
ES 2 628 208 T3
del contenedor (11 0) de contenido o una fuente de contenido alternativo externa al dispositivo (102) de comunicación móvil a través del módulo (114) de gestión de conexión
18.
El dispositivo (102) de comunicación móvil de la realización 17, que comprende además una interfaz (824, 826) de usuario que presenta el contenido relacionado con la localización futura a un usuario
19.
El dispositivo de comunicación móvil de la realización 18, en el que la interfaz de usuario comprende una pantalla (826) de visualización.
20.
El dispositivo (102) de comunicación móvil de la realización 17, en el que el módulo (104) de determinación de localización está adaptado para triangular la localización actual del dispositivo (102) de comunicación móvil basándose en una recopilación de las señales (118, 120) de comunicación.

Claims (11)

  1. REIVINDICACIONES
    1. Un procedimiento para proporcionar dinámicamente un contenido relacionado con localización a un dispositivo
    (102) de comunicación móvil, comprendiendo el procedimiento rastrear una localización actual del dispositivo (302) de comunicación móvil; predecir una localización futura del dispositivo (306) de comunicación móvil estimando una dirección pOI" la que se moverá el dispositivo de comunicación móvil, calculándose dicha estimación en función de:
    dicha localización actual del dispositivo de comunicación móvil, una dirección recorrida dentro de un período de tiempo anterior, dependiendo dicho período de una velocidad del dispositivo de comunicación móvil, y la información de contexto ambiental, extrapolándose la información de contexto ambiental en función de unas coordenadas de mapa y la velocidad del dispositivo de informatización móvil,
    determinar si el contenido relacionado con la localización futura está almacenado actualmente en el dispositivo (308) de comunicaciórJ móvil; recuperar el contenido de un almacén de contenido a través de una conexión de red tras una determinación de que el contenido no está almacenado actualmente en el dispositivo (314) de comunicación móvil; y gestionar el almacenamiento del contenido en el dispositivo de comunicación móvil·
    almacenando el contenido en el dispositivo de comunicación móvil cuando el contenido se recupera del almacén de contenido; y purgando el contenido del contenido irrelevante que está menos relacionado con la localización futura del dispositivo de comunicación móvil, si una memoria disponible en el dispositivo de comunicación móvil es insuficiente para almacenar el contenido.
    2 El procedimiento de la reivindicación 1, que comprende además presentar el contenido a un usuario a través de una interfaz del dispositivo (316) de comunicación móvil; y en el que la interfaz comprende una pantalla (826) de visua lización.
  2. 3.
    El procedimiento de la reivindicación 1 o 2, en el que el contenido comprende un mapa de una zona que contiene la localización (202b) futura del dispositivo (102) de comunicación móvil.
  3. 4.
    El procedimiento de una cualquiera de las reivindicaciones 1 a 3, que comprende además seleccionar el contenido basándose en la información contextual almacenada en el dispositivo de comunicación móvil
  4. 5.
    El procedimiento de la reivindicación 4, en el que la información contextual comprende al menos una de entre:
    una información de preferencia de un usuario del dispositivo de comunicaciórJ móvil; una información de estado acerca del dispositivo de comunicación móvil; y una información de movimiento del dispositivo de comunicación móvil
  5. 6.
    Un medio legible por ordenador que tiene instrucciones ejecutables por ordenador para realizar un procedimiento informático que implementa el procedimiento de una cualquiera de las reivindicaciones 1 a 5
  6. 7.
    Un sistema (100) de almacenamiento en caché basado en localización que comprende un dispositivo (102) de comunicación móvil que comprende además
    un módulo (104) de determinación de localización adaptado para determinar una localización actual del dispositivo (102) de comunicación móvil; un módulo (106) estimador de dirección adaptado para estimar una localización futura del dispositivo (102) de comunicación móvil estimando una dirección por la que se moverá el dispositivo de comunicación móvil, calculándose dicha estimación en función de:
    dicha localización actual del dispositivo de comunicación móvil, una dirección recorrida dentro de un periodo de tiempo anterior, dependiendo dicho período de una velocidad del dispositivo de comunicación móvil, en el que la información de contexto ambiental, extrapolándose la información de contexto ambiental en función de unas coordenadas de mapa y la velocidad del dispositivo de informatización móvil,
    un contenedor (110) de contenido adaptado para almacenar el contenido relacionado con la localización futura; un módulo (114) de gestión de conexión adaptado para proporcionar conectividad de red al dispositivo (102) de comunicación móvil; un módulo (108) de almacenamiento en caché adaptado para seleccionar el contenido relacionado con la localización futura del contenedor (110) de contenido o una fuente de contenido alternativo externa al dispositivo
    (102) de comunicación móvil a través del módulo (114) de gestión de conexión, estando el módulo de almacenamiento en caché adaptado para gestionar el almacenamiento del contenido en el dispositivo de comunicación móvil·
    18
    ES 2 628 208 T3
    almacenando el contenido en el dispositivo de comunicación móvil cuando se recupera el contenido; y purgando el contenido del contenido irrelevante que está menos relacionado con la localización futura del dispositivo de comunicación móvil, si una memoria disponible en el dispositivo de comunicación móvil es insuficiente para almacenar el contenido y
    un servidor (124) de contenido adaptado para proporcionar el contenido relacionado con la localización futura al dispositivo (102) de comunicación móvil; una red (122) que conecta el dispositivo (102) de comunicación móvil y el servidor (124) de contenido; y una fuente de información (116) de loca lización actual acerca del dispositivo (102) de comunicación móvil accesible por el dispositivo (102) de comunicación móvil
  7. 8.
    El sistema (100) de almacenamiento en caché basado en localización de la reivindicación 7, en el que el dispositivo (102) de comunicación mó..... il comprende además una interfaz (824, 826) de usuario; y la fuente de información de localización actual comprende los datos introducidos en el dispositivo (102) de comunicación móvil a través de la interfaz (824, 826) de usuario por un usuario.
  8. 9.
    El sistema (100) de almacenamiento en caché basado en localización de la reivindicación 7 u 8, en el que el dispositivo (102) de comunicación móvil comprende además una interfaz (824, 826) de usuario; y el contenido relacionado con la localización futura se presenta a un usuario a través de la interfaz (824, 826) de usuario .
  9. 10.
    El sistema (100) de almacenamiento en caché basado en localización de una cualquiera de las reivindicaciones 7 a 9, en el que la fuente de información de localización actual comprende un servicio (116) de sistema de posicionamiento global; y el dispositivo (102) de comunicación móvil comprende además un receptor de sistema de posicionamiento global.
    11 El sistema (100) de almacenamiento en caché basado en localización de una cualquiera de las reivindicaciones 7a 10, en el que la fuente comprende una recopilación de las señales (118, 120) de comunicación; y el módulo (104) de determinación de localización en el dispositivo (102) de comunicación móvil está adaptado para triangular una localización actual del dispositivo (102) de comunicación móvil basándose en la recopilación de las señales (118, 120) de comunicación
  10. 12. Un dispositivo (102) de comunicación móvil que proporciona una funcionalidad de almacenamiento en caché basada en localización que comprende un módulo (104) de determinación de localización adaptado para determinar una localización actual del dispositivo
    (102) de comunicación móvil; un módulo (106) estimador de dirección adaptado para estimar una localización futura del dispositivo (102) de comunicación móvil estimando una dirección por la que se moverá el dispositivo de comunicación móvil, ca lcu lándose dicha estimación en función de·
    dicha localización actual del dispositivo de comunicaciórJ móvil, una dirección recorrida dentro de un periodo de tiempo anterior, dependiendo dicho periodo de una velocidad del dispositivo de comunicación móvil, una información de contexto ambiental, extrapolándose la información de contexto ambiental en función de las coordenadas del mapa y la velocidad del dispositivo de informatización móvil, un contenedor (110) de contenido adaptado para almacenar el contenido relacionado con la localización futura; un módulo (114) de gestión de conexión adaptado para proporcionar conectividad de red al dispositivo (102) de comunicación móvil; un módulo (108) de almacenamiento en caché adaptado para seleccionar el contenido relacionado con la localización futura del contenedor (110) de contenido o una fuente de contenido alternativo externa al dispositivo
    (102) de comunicación móvil a través del módulo (114) de gestión de conexión, yen el que el módulo de almacenamiento en caché está configurado para gestionar el almacenamiento del contenido en el dispositivo de comunicación móvil
    almacenando el contenido en el dispositivo de comunicación móvil cuando el contenido se recupera del almacén de contenido; y purgando el contenido del contenido irrelevante que está menos relacionado con la localización futura del dispositivo de comunicación móvil, si una memoria disponible en el dispositivo de comunicación móvil es insuficiente para almacenar el contenido.
    13 El dispositivo (102) de comunicación móvil de la reivindicación 12, que comprende además una interfaz (824, 826) de usuario que presenta el contenido relacionado con la localización futura a un usuario, y en el que la interfaz de usuario comprende una pantalla (826) de visualización.
  11. 14. El dispositivo (102) de comunicación móvil de la reivindicación 12 o 13, en el que el módulo (104) de determinación de localización está adaptado para triangular la localización actual del dispositivo (102) de comunicación móvil basándose en una recopilación de las señales (118, 120) de comunicación
    19
ES07750535.2T 2006-03-15 2007-02-13 Almacenamiento en caché basado en localización para dispositivos móviles Active ES2628208T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US375995 2006-03-15
US11/375,995 US7519470B2 (en) 2006-03-15 2006-03-15 Location-based caching for mobile devices
PCT/US2007/003704 WO2007108869A1 (en) 2006-03-15 2007-02-13 Location-based caching for mobile devices

Publications (1)

Publication Number Publication Date
ES2628208T3 true ES2628208T3 (es) 2017-08-02

Family

ID=38518965

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07750535.2T Active ES2628208T3 (es) 2006-03-15 2007-02-13 Almacenamiento en caché basado en localización para dispositivos móviles

Country Status (6)

Country Link
US (1) US7519470B2 (es)
EP (1) EP1999977B1 (es)
KR (1) KR101429298B1 (es)
CN (1) CN101405572B (es)
ES (1) ES2628208T3 (es)
WO (1) WO2007108869A1 (es)

Families Citing this family (265)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
WO2006068003A1 (ja) * 2004-12-24 2006-06-29 Masahiro Izutsu 携帯情報通信装置、携帯情報通信装置用接続ユニット及び携帯情報通信装置用外部入出力ユニット
US20060143080A1 (en) * 2004-12-29 2006-06-29 Ashutosh Garg Generating and/or serving dynamic promotional offers such as coupons and advertisements
US9041744B2 (en) * 2005-07-14 2015-05-26 Telecommunication Systems, Inc. Tiled map display on a wireless device
US7634354B2 (en) * 2005-08-31 2009-12-15 Microsoft Corporation Location signposting and orientation
US7649534B2 (en) * 2006-02-01 2010-01-19 Microsoft Corporation Design of arbitrary linear and non-linear maps
ATE498109T1 (de) * 2006-03-31 2011-02-15 Research In Motion Ltd Verfahren und system zur verteilung von kartographischen inhalt an mobile kommunikationsvorrichtungen
EP2013760A4 (en) * 2006-05-02 2010-08-25 1020 Inc COMMUNICATION SYSTEM FOR LOCATION-SPECIFIC CONTENT
US9507778B2 (en) 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
US9198084B2 (en) * 2006-05-26 2015-11-24 Qualcomm Incorporated Wireless architecture for a traditional wire-based protocol
US8185129B2 (en) 2006-07-07 2012-05-22 Skyhook Wireless, Inc. System and method of passive and active scanning of WLAN-enabled access points to estimate position of a WLAN positioning device
US8577328B2 (en) 2006-08-21 2013-11-05 Telecommunication Systems, Inc. Associating metro street address guide (MSAG) validated addresses with geographic map data
US20080059424A1 (en) * 2006-08-28 2008-03-06 Assimakis Tzamaloukas System and method for locating-based searches and advertising
US8280395B2 (en) * 2006-08-28 2012-10-02 Dash Navigation, Inc. System and method for updating information using limited bandwidth
US8612437B2 (en) * 2006-08-28 2013-12-17 Blackberry Limited System and method for location-based searches and advertising
US8594702B2 (en) 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
US7856234B2 (en) 2006-11-07 2010-12-21 Skyhook Wireless, Inc. System and method for estimating positioning error within a WLAN-based positioning system
US9110903B2 (en) 2006-11-22 2015-08-18 Yahoo! Inc. Method, system and apparatus for using user profile electronic device data in media delivery
US8402356B2 (en) 2006-11-22 2013-03-19 Yahoo! Inc. Methods, systems and apparatus for delivery of media
US11496598B2 (en) * 2006-12-11 2022-11-08 International Business Machines Corporation Caching data at network processing nodes based on device location
US8769099B2 (en) * 2006-12-28 2014-07-01 Yahoo! Inc. Methods and systems for pre-caching information on a mobile computing device
JP5305598B2 (ja) * 2007-02-13 2013-10-02 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
US9222797B2 (en) * 2007-04-17 2015-12-29 Esther Abramovich Ettinger Device, system and method of contact-based routing and guidance
WO2008131448A1 (en) * 2007-04-23 2008-10-30 1020, Inc. Content allocation
US8645143B2 (en) * 2007-05-01 2014-02-04 Sensory, Inc. Systems and methods of performing speech recognition using global positioning (GPS) information
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8385946B2 (en) 2007-06-28 2013-02-26 Apple Inc. Disfavored route progressions or locations
US8108144B2 (en) 2007-06-28 2012-01-31 Apple Inc. Location based tracking
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
KR101373008B1 (ko) * 2007-07-02 2014-03-14 삼성전자주식회사 콘텐츠를 공유하기 위한 무선 단말 장치, 서버 및 그 방법
US8667144B2 (en) * 2007-07-25 2014-03-04 Qualcomm Incorporated Wireless architecture for traditional wire based protocol
US8555282B1 (en) 2007-07-27 2013-10-08 Dp Technologies, Inc. Optimizing preemptive operating system with motion sensing
ITMI20071607A1 (it) * 2007-08-03 2009-02-04 Incard Sa Metodo per accedere a contenuti multimediali associati a un' area geografica.
KR20090020387A (ko) * 2007-08-23 2009-02-26 삼성전자주식회사 네비게이션 장치에서 이동체의 최적경로를 표시하는 방법및 장치
US8234677B2 (en) * 2007-09-04 2012-07-31 International Business Machines Corporation Method and system for selecting and broadcasting audio/video content based on location
US8862710B2 (en) 2007-09-11 2014-10-14 Telecommunication Systems, Inc. Dynamic configuration of mobile station location services
DE102007046284A1 (de) * 2007-09-27 2009-04-09 Siemens Ag Verfahren zur Darstellung eines Plans auf einem mobilen Endgerät zu Navigationszwecken
US9031939B2 (en) * 2007-10-03 2015-05-12 Peter Neal Nissen Media sequencing method to provide location-relevant entertainment
US8099238B2 (en) 2007-11-14 2012-01-17 Telecommunication Systems, Inc. Stateful, double-buffered dynamic navigation voice prompting
US9002344B2 (en) * 2007-12-05 2015-04-07 Microsoft Technology Licensing, Llc Phone content service
US8069142B2 (en) 2007-12-06 2011-11-29 Yahoo! Inc. System and method for synchronizing data on a network
US8671154B2 (en) 2007-12-10 2014-03-11 Yahoo! Inc. System and method for contextual addressing of communications on a network
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US8166168B2 (en) 2007-12-17 2012-04-24 Yahoo! Inc. System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels
WO2009080065A1 (en) * 2007-12-20 2009-07-02 Tom Tom International B.V. Improved navigation device and method
KR100907613B1 (ko) * 2007-12-26 2009-07-14 에스케이 텔레콤주식회사 부가콘텐츠를 제공하는 콘텐츠 제공 서버, 시스템 및 방법
US8521430B2 (en) 2007-12-28 2013-08-27 Navteq B.V. Managing differences between geographic database versions
US9706345B2 (en) 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
US9626685B2 (en) 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US8762285B2 (en) 2008-01-06 2014-06-24 Yahoo! Inc. System and method for message clustering
US20090177393A1 (en) * 2008-01-07 2009-07-09 Simone Francine Tertoolen Navigation device and method
US20090182618A1 (en) 2008-01-16 2009-07-16 Yahoo! Inc. System and Method for Word-of-Mouth Advertising
US8206222B2 (en) * 2008-01-29 2012-06-26 Gary Stephen Shuster Entertainment system for performing human intelligence tasks
US8560390B2 (en) 2008-03-03 2013-10-15 Yahoo! Inc. Method and apparatus for social network marketing with brand referral
US8554623B2 (en) 2008-03-03 2013-10-08 Yahoo! Inc. Method and apparatus for social network marketing with consumer referral
US8538811B2 (en) 2008-03-03 2013-09-17 Yahoo! Inc. Method and apparatus for social network marketing with advocate referral
US8745133B2 (en) 2008-03-28 2014-06-03 Yahoo! Inc. System and method for optimizing the storage of data
US8589486B2 (en) 2008-03-28 2013-11-19 Yahoo! Inc. System and method for addressing communications
US8271506B2 (en) 2008-03-31 2012-09-18 Yahoo! Inc. System and method for modeling relationships between entities
US8811294B2 (en) * 2008-04-04 2014-08-19 Qualcomm Incorporated Apparatus and methods for establishing client-host associations within a wireless network
US8428869B2 (en) * 2008-04-07 2013-04-23 Telecommunication Systems, Inc. Context enabled address selection
EP2439493A1 (en) * 2008-05-09 2012-04-11 Research in Motion Limited Predictive downloading of map data
US9250092B2 (en) * 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US9200901B2 (en) 2008-06-19 2015-12-01 Microsoft Technology Licensing, Llc Predictive services for devices supporting dynamic direction information
US8700301B2 (en) 2008-06-19 2014-04-15 Microsoft Corporation Mobile computing devices, architecture and user interfaces based on dynamic direction information
US8467991B2 (en) 2008-06-20 2013-06-18 Microsoft Corporation Data services based on gesture and location information of device
US8996332B2 (en) 2008-06-24 2015-03-31 Dp Technologies, Inc. Program setting adjustments based on activity identification
US8103441B2 (en) 2008-06-26 2012-01-24 Microsoft Corporation Caching navigation content for intermittently connected devices
US8452855B2 (en) 2008-06-27 2013-05-28 Yahoo! Inc. System and method for presentation of media related to a context
US8706406B2 (en) 2008-06-27 2014-04-22 Yahoo! Inc. System and method for determination and display of personalized distance
US8813107B2 (en) 2008-06-27 2014-08-19 Yahoo! Inc. System and method for location based media delivery
US8086700B2 (en) 2008-07-29 2011-12-27 Yahoo! Inc. Region and duration uniform resource identifiers (URI) for media objects
US8583668B2 (en) 2008-07-30 2013-11-12 Yahoo! Inc. System and method for context enhanced mapping
US10230803B2 (en) 2008-07-30 2019-03-12 Excalibur Ip, Llc System and method for improved mapping and routing
US8386506B2 (en) 2008-08-21 2013-02-26 Yahoo! Inc. System and method for context enhanced messaging
US8281027B2 (en) 2008-09-19 2012-10-02 Yahoo! Inc. System and method for distributing media related to a location
US20100076680A1 (en) * 2008-09-24 2010-03-25 Xanavi Informatics Corporation Vehicle navigation system with intersection database
US9600484B2 (en) 2008-09-30 2017-03-21 Excalibur Ip, Llc System and method for reporting and analysis of media consumption data
US8108778B2 (en) 2008-09-30 2012-01-31 Yahoo! Inc. System and method for context enhanced mapping within a user interface
US9159238B2 (en) * 2008-10-02 2015-10-13 Microsoft Technology Licensing, LLP Location-aware selection of public transportation
US8594627B2 (en) 2008-10-06 2013-11-26 Telecommunications Systems, Inc. Remotely provisioned wirelessly proxy
EP2338028A4 (en) 2008-10-06 2012-11-14 Telecomm Systems Inc PROBABILISTIC REVERSE GEOCODING
US9285239B2 (en) * 2008-10-07 2016-03-15 Telecommunication Systems, Inc. User interface for content channel HUD (heads-up display) and channel sets for location-based maps
US9200913B2 (en) * 2008-10-07 2015-12-01 Telecommunication Systems, Inc. User interface for predictive traffic
WO2010042173A1 (en) * 2008-10-07 2010-04-15 Telecommunication Systems, Inc. User interface for dynamic user-defined stopovers during guided navigation ("side trips")
US20100088018A1 (en) * 2008-10-08 2010-04-08 Kevin Tsurutome Glance ahead navigation
CN101726304A (zh) * 2008-10-10 2010-06-09 深圳富泰宏精密工业有限公司 导航图资下载系统及方法
US20100121563A1 (en) * 2008-11-07 2010-05-13 International Business Machines Corporation Real-time personal device transit information presentment
US8156068B2 (en) * 2008-11-13 2012-04-10 Telecommunication Systems, Inc. Predictive ephemeral points-of-interest (PEPOI)
US8060492B2 (en) 2008-11-18 2011-11-15 Yahoo! Inc. System and method for generation of URL based context queries
US8032508B2 (en) 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US8024317B2 (en) 2008-11-18 2011-09-20 Yahoo! Inc. System and method for deriving income from URL based context queries
US9805123B2 (en) 2008-11-18 2017-10-31 Excalibur Ip, Llc System and method for data privacy in URL based context queries
US9224172B2 (en) 2008-12-02 2015-12-29 Yahoo! Inc. Customizable content for distribution in social networks
US8055675B2 (en) 2008-12-05 2011-11-08 Yahoo! Inc. System and method for context based query augmentation
US9398089B2 (en) 2008-12-11 2016-07-19 Qualcomm Incorporated Dynamic resource sharing among multiple wireless devices
GB2466225B (en) 2008-12-15 2013-10-02 King S College London Inter-access network handover
US8166016B2 (en) 2008-12-19 2012-04-24 Yahoo! Inc. System and method for automated service recommendations
TW201024675A (en) * 2008-12-23 2010-07-01 Mitac Int Corp Electronic map update system and method thereof
US8391895B2 (en) * 2008-12-23 2013-03-05 Motorola Mobility Llc Method and apparatus for providing location-based information
US20100185518A1 (en) * 2009-01-21 2010-07-22 Yahoo! Inc. Interest-based activity marketing
US20100205321A1 (en) * 2009-02-12 2010-08-12 Qualcomm Incorporated Negotiable and adaptable periodic link status monitoring
US8102849B2 (en) 2009-02-12 2012-01-24 Qualcomm, Incorporated Association procedure to enable multiple multicast streams
US20110307576A1 (en) * 2009-02-23 2011-12-15 Pioneer Corporation Content transmitting apparatus, content output system, transmission control method, transmission control program, and recording medium
US8849570B2 (en) * 2009-03-19 2014-09-30 Microsoft Corporation Projected way-finding
US20100241987A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Tear-Drop Way-Finding User Interfaces
US20100241999A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Canvas Manipulation Using 3D Spatial Gestures
US8121640B2 (en) 2009-03-19 2012-02-21 Microsoft Corporation Dual module portable devices
US8150967B2 (en) 2009-03-24 2012-04-03 Yahoo! Inc. System and method for verified presence tracking
US8433296B2 (en) 2009-05-01 2013-04-30 Ryan Hardin Exclusive delivery of content within geographic areas
US8903653B2 (en) * 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes
US9264248B2 (en) * 2009-07-02 2016-02-16 Qualcomm Incorporated System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment
US8872767B2 (en) 2009-07-07 2014-10-28 Microsoft Corporation System and method for converting gestures into digital graffiti
US8022877B2 (en) 2009-07-16 2011-09-20 Skyhook Wireless, Inc. Systems and methods for using a satellite positioning system to detect moved WLAN access points
US8838080B2 (en) * 2009-07-23 2014-09-16 Qualcomm Incorporated Methods and apparatus for context-based communications through visualization
JP5408256B2 (ja) * 2009-07-23 2014-02-05 日本電気株式会社 ソフトウェア出力先処理端末、ソフトウェア出力先処理方法、プログラム及びソフトウェア出力先処理システム
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
US20110029670A1 (en) * 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US10223701B2 (en) 2009-08-06 2019-03-05 Excalibur Ip, Llc System and method for verified monetization of commercial campaigns
US8914342B2 (en) 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
US8364611B2 (en) 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US8831624B2 (en) * 2009-10-30 2014-09-09 Unwired Planet, Llc Back-channeled packeted data
KR101055665B1 (ko) * 2009-11-06 2011-08-09 국방과학연구소 네트워크 기반 훈련을 위한 함정전투체계의 훈련시스템 및 그 운용방법
US9582238B2 (en) * 2009-12-14 2017-02-28 Qualcomm Incorporated Decomposed multi-stream (DMS) techniques for video display systems
US8564596B2 (en) * 2010-01-12 2013-10-22 Palantir Technologies, Inc. Techniques for density mapping
US9157745B2 (en) * 2010-01-14 2015-10-13 Qualcomm Incorporated Scalable routing for mobile station navigation with location context identifier
US8356049B2 (en) * 2010-02-26 2013-01-15 Panasonic Corporation Landmark search apparatus, electronic apparatus and imaging apparatus having the same, and landmark search method
US20120317066A1 (en) * 2010-03-16 2012-12-13 Nec Corporation Interest level measurement system, interest level measurement device, interest level measurement method, and interest level measurement program
DE102010012153A1 (de) * 2010-03-20 2011-09-22 Audi Ag Fahrzeug mit zumindest zwei Einzelradantriebseinheit
US8606297B1 (en) 2010-03-24 2013-12-10 Grindr LLC Systems and methods for providing location-based cascading displays
EP2388746A1 (en) * 2010-05-20 2011-11-23 Research In Motion Limited Pre-caching location based advertising for repeated out of coverage scenarios based on commuter or regular travel patterns
US20110288936A1 (en) * 2010-05-20 2011-11-24 Research In Motion Limited Pre-Caching Location Based Advertising for Repeated Out Of Coverage Scenarios Based On Commuter or Regular Travel Patterns
US8694252B2 (en) * 2010-06-02 2014-04-08 Mitac International Corp. Personal navigation device which provides portable electronic map and related navigating method
CN101895574B (zh) * 2010-07-09 2012-12-19 苏州市数字城市工程研究中心有限公司 一种空间信息网络动态自主加载技术方案和系统
US9275542B2 (en) * 2010-07-30 2016-03-01 Hewlett Packard Enterprise Development Lp Location-indexed audio content
CN102346822B (zh) * 2010-08-06 2015-02-25 爱国者电子科技有限公司 可追踪的移动存储装置、系统和追踪方法
US8498817B1 (en) 2010-09-17 2013-07-30 Amazon Technologies, Inc. Predicting location of a mobile user
FR2965065A1 (fr) * 2010-09-21 2012-03-23 Third Millennium Marketing Systeme et procede de localisation geographique en zone d'ombre
US8788762B2 (en) * 2010-09-30 2014-07-22 Nokia Corporation Methods and apparatuses for data resource provision
WO2012072115A1 (en) * 2010-11-30 2012-06-07 Tomtom International B.V. Navigation methods and systems
US8319679B2 (en) * 2010-12-16 2012-11-27 Honeywell International Inc. Systems and methods for predicting locations of weather relative to an aircraft
US9065876B2 (en) 2011-01-21 2015-06-23 Qualcomm Incorporated User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays
US8964783B2 (en) 2011-01-21 2015-02-24 Qualcomm Incorporated User input back channel for wireless displays
US20130013318A1 (en) 2011-01-21 2013-01-10 Qualcomm Incorporated User input back channel for wireless displays
US9787725B2 (en) 2011-01-21 2017-10-10 Qualcomm Incorporated User input back channel for wireless displays
US9413803B2 (en) 2011-01-21 2016-08-09 Qualcomm Incorporated User input back channel for wireless displays
US10135900B2 (en) 2011-01-21 2018-11-20 Qualcomm Incorporated User input back channel for wireless displays
JP6032692B2 (ja) * 2011-01-26 2016-11-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、情報処理システムの制御方法、プログラム及び情報記憶媒体
US9503771B2 (en) 2011-02-04 2016-11-22 Qualcomm Incorporated Low latency wireless display for graphics
US10108386B2 (en) 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US8674957B2 (en) 2011-02-04 2014-03-18 Qualcomm Incorporated User input device for wireless back channel
ES2401228B1 (es) * 2011-03-01 2014-05-05 Telefónica, S.A. Método para localización móvil en una red inalámbrica que ofrece servicios basados en localización
KR20120105606A (ko) * 2011-03-11 2012-09-26 경희대학교 산학협력단 사용자 검색 포트폴리오와 현실공간 위치에 기반한 서비스/재화 모니터링 및 푸쉬 서비스 시스템과 그 방법
US8948794B2 (en) 2011-03-14 2015-02-03 Nokia Corporation Methods and apparatuses for facilitating provision of a map resource
JP5821239B2 (ja) * 2011-03-31 2015-11-24 日本電気株式会社 携帯装置、アプリケーション起動方法、およびプログラム
US20140032702A1 (en) * 2011-04-22 2014-01-30 Nec Corporation Content distribution system, control apparatus, and content distribution method
US20120295632A1 (en) * 2011-05-18 2012-11-22 Sony Ericsson Mobile Communications Ab Indoor map distribution
US8886743B2 (en) 2011-08-30 2014-11-11 Open Text S.A. System and method of browsing offline and queried content
US8280414B1 (en) * 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US10341693B2 (en) 2011-10-04 2019-07-02 International Business Machines Corporation Pre-emptive content caching in mobile networks
US11252690B2 (en) 2011-10-11 2022-02-15 Match Group, Llc System and method for matching using location information
US8706413B2 (en) * 2011-10-17 2014-04-22 Qualcomm Incorporated Determining a likelihood of a directional transition at a junction in an encoded routability graph description
US10637820B2 (en) 2011-10-21 2020-04-28 Uniloc 2017 Llc Local area social networking
US9063951B1 (en) * 2011-11-16 2015-06-23 Google Inc. Pre-fetching map data based on a tile budget
KR101822622B1 (ko) * 2011-12-12 2018-01-26 현대엠엔소프트 주식회사 실내외 경로가 연계된 목적지 탐색 방법 및 사용자 단말
TWI426236B (zh) * 2011-12-16 2014-02-11 Univ Nat Chiao Tung 高複雜度運輸地圖在有限空間中之顯像方法
ITTO20111243A1 (it) * 2011-12-30 2013-07-01 Magneti Marelli Spa Sistema e procedimento per la stima del percorso stradale piu'probabile per un veicolo in marcia
US9525998B2 (en) 2012-01-06 2016-12-20 Qualcomm Incorporated Wireless display with multiscreen service
US9144008B2 (en) 2012-01-15 2015-09-22 Google Inc. Providing hotspots to user devices within server-controlled zones
JP2015509630A (ja) * 2012-02-24 2015-03-30 エルジー エレクトロニクス インコーポレイティド 位置ベースの無要求ダウンロード方法、装置及びシステム
CN103843384B (zh) 2012-02-24 2017-10-10 英派尔科技开发有限公司 基于地理定位的负载平衡
US20130252636A1 (en) * 2012-03-21 2013-09-26 John Chang Hot Spot Detection
US9369845B2 (en) 2012-03-23 2016-06-14 Skyhook Wireless, Inc. Methods and systems of assigning estimated positions and attributes to wireless access points in a positioning system
US9081079B2 (en) 2012-05-02 2015-07-14 Qualcomm Incorporated Adaptive updating of indoor navigation assistance data for use by a mobile device
US20130318182A1 (en) * 2012-05-25 2013-11-28 Prasasth Reddy Palnati Targeted location-based messaging
US9769604B2 (en) * 2012-08-22 2017-09-19 Ebay Inc. Passive dynamic geofencing for mobile devices
US9691088B2 (en) 2012-08-24 2017-06-27 Google Inc. Ordering ahead with a mobile device
US9058324B2 (en) * 2012-09-28 2015-06-16 Intel Corporation Predictive precaching of data based on context
US9124795B2 (en) * 2012-10-26 2015-09-01 Nokia Technologies Oy Method and apparatus for obtaining an image associated with a location of a mobile terminal
US9104838B2 (en) 2012-11-14 2015-08-11 Google Inc. Client token storage for cross-site request forgery protection
JP5276746B1 (ja) * 2012-11-21 2013-08-28 オーシャンズ株式会社 地図を利用した情報共有システム
US20140172571A1 (en) * 2012-12-19 2014-06-19 Google Inc. Selecting content items based on geopositioning samples
US9501507B1 (en) 2012-12-27 2016-11-22 Palantir Technologies Inc. Geo-temporal indexing and searching
AU2013100243B4 (en) 2012-12-28 2013-09-26 Uniloc Usa, Inc. Pedestrian traffic monitoring and analysis
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US9330471B2 (en) * 2013-02-14 2016-05-03 Qualcomm Incorporated Camera aided motion direction and speed estimation
US20140248908A1 (en) 2013-03-01 2014-09-04 Uniloc Luxembourg S.A. Pedestrian traffic monitoring and analysis
US9341479B2 (en) 2013-03-05 2016-05-17 Google Inc. Configurable point of interest alerts
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US9121719B2 (en) * 2013-03-15 2015-09-01 Abalta Technologies, Inc. Vehicle range projection
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9906608B2 (en) 2013-04-30 2018-02-27 International Business Machines Corporation Intelligent adaptation of mobile applications based on constraints and contexts
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US8755824B1 (en) 2013-06-28 2014-06-17 Google Inc. Clustering geofence-based alerts for mobile devices
US20150019625A1 (en) * 2013-07-09 2015-01-15 Google Inc. Providing indoor map data to a client computing device
US10116697B2 (en) * 2013-09-20 2018-10-30 Open Text Sa Ulc System and method for geofencing
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US9021384B1 (en) 2013-11-04 2015-04-28 Palantir Technologies Inc. Interactive vehicle information map
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9432478B2 (en) 2013-11-27 2016-08-30 At&T Intellectual Property I, L.P. Client-side location aware network selection
CN104811423B (zh) * 2014-01-24 2019-03-01 腾讯科技(深圳)有限公司 位置信息的共享方法和装置
US9986375B2 (en) 2014-02-12 2018-05-29 Google Llc Energy-efficient location determination
US10113879B2 (en) 2014-03-03 2018-10-30 Apple Inc. Hierarchy of tools for navigation
DE102015203261A1 (de) * 2014-03-03 2015-09-03 Apple Inc. Kartenanwendung mit verbesserten Navigationswerkzeugen
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US9436584B2 (en) * 2014-03-13 2016-09-06 Ronnie Guha Guha SaaS platform for geo-location simulation
US9078098B1 (en) 2014-06-04 2015-07-07 Grandios Technologies, Llc Geo-fencing based functions
US9516467B1 (en) * 2014-06-04 2016-12-06 Grandios Technologies, Llc Mobile device applications associated with geo-locations
US20150370903A1 (en) * 2014-06-23 2015-12-24 Google Inc. Delivering Personalized Information
US9129219B1 (en) 2014-06-30 2015-09-08 Palantir Technologies, Inc. Crime risk forecasting
KR102428319B1 (ko) * 2014-12-24 2022-08-02 주식회사 케이티 고객 정보 제공 방법, 장치 및 컴퓨터 프로그램
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9331712B1 (en) * 2015-05-11 2016-05-03 Qualcomm Incorporated Compressed caching in a virtual memory system
US9460175B1 (en) 2015-06-03 2016-10-04 Palantir Technologies Inc. Server implemented geographic information system with graphical interface
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9639580B1 (en) 2015-09-04 2017-05-02 Palantir Technologies, Inc. Computer-implemented systems and methods for data management and visualization
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US9930134B2 (en) 2015-11-25 2018-03-27 International Business Machines Corporation File replication on location-aware devices
US10109094B2 (en) 2015-12-21 2018-10-23 Palantir Technologies Inc. Interface to index and display geospatial data
EP3411843A1 (en) * 2016-02-01 2018-12-12 Piksel, Inc. Monitoring streaming related to connectivity
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US9992628B2 (en) 2016-04-21 2018-06-05 Microsoft Technology Licensing, Llc Map downloading based on user's future location
US10299074B2 (en) 2016-05-09 2019-05-21 Microsoft Technology Licensing, Llc Offline map download
US10068199B1 (en) 2016-05-13 2018-09-04 Palantir Technologies Inc. System to catalogue tracking data
US10051426B2 (en) * 2016-07-27 2018-08-14 International Business Machines Corporation Proactive caching
US20180164109A1 (en) * 2016-07-29 2018-06-14 Faraday&Future Inc. Dynamic map pre-loading in vehicles
DE102016214156A1 (de) * 2016-08-01 2018-02-01 Continental Teves Ag & Co. Ohg Verfahren zum Senden von Daten von einem Fahrzeug an einen Server und Verfahren zum Aktualisieren einer Karte
US9686357B1 (en) 2016-08-02 2017-06-20 Palantir Technologies Inc. Mapping content delivery
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
JP6343316B2 (ja) * 2016-09-16 2018-06-13 パナソニック株式会社 端末装置、通信システム、および通信制御方法
US10515433B1 (en) 2016-12-13 2019-12-24 Palantir Technologies Inc. Zoom-adaptive data granularity to achieve a flexible high-performance interface for a geospatial mapping system
US10270727B2 (en) 2016-12-20 2019-04-23 Palantir Technologies, Inc. Short message communication within a mobile graphical map
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10579239B1 (en) 2017-03-23 2020-03-03 Palantir Technologies Inc. Systems and methods for production and display of dynamically linked slide presentations
US11334216B2 (en) 2017-05-30 2022-05-17 Palantir Technologies Inc. Systems and methods for visually presenting geospatial information
US10895946B2 (en) 2017-05-30 2021-01-19 Palantir Technologies Inc. Systems and methods for using tiled data
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
CN107450860B (zh) * 2017-08-15 2020-05-08 湖南安存科技有限公司 一种基于分布式存储的地图文件预读方法
CN110692075A (zh) * 2017-11-09 2020-01-14 谷歌有限责任公司 按需位置访问转换度量
CN107889053B (zh) * 2017-11-10 2019-10-11 南京大学 一种基于网络环境预测的视频预加载方法
US10371537B1 (en) 2017-11-29 2019-08-06 Palantir Technologies Inc. Systems and methods for flexible route planning
US11599706B1 (en) 2017-12-06 2023-03-07 Palantir Technologies Inc. Systems and methods for providing a view of geospatial information
US10698756B1 (en) 2017-12-15 2020-06-30 Palantir Technologies Inc. Linking related events for various devices and services in computer log files on a centralized server
US10896234B2 (en) 2018-03-29 2021-01-19 Palantir Technologies Inc. Interactive geographical map
US10830599B2 (en) 2018-04-03 2020-11-10 Palantir Technologies Inc. Systems and methods for alternative projections of geographical information
US11585672B1 (en) 2018-04-11 2023-02-21 Palantir Technologies Inc. Three-dimensional representations of routes
US10429197B1 (en) 2018-05-29 2019-10-01 Palantir Technologies Inc. Terrain analysis for automatic route determination
US11044078B2 (en) 2018-09-20 2021-06-22 International Business Machines Corporation Transient management of data encryption and authentication
US10467435B1 (en) 2018-10-24 2019-11-05 Palantir Technologies Inc. Approaches for managing restrictions for middleware applications
US11025672B2 (en) 2018-10-25 2021-06-01 Palantir Technologies Inc. Approaches for securing middleware data access
US12207157B2 (en) 2019-05-28 2025-01-21 Gotham Studios, Inc. System and method for providing content
US11619511B2 (en) * 2019-07-30 2023-04-04 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for local storage based mapping
US11146656B2 (en) * 2019-12-20 2021-10-12 Tealium Inc. Feature activation control and data prefetching with network-connected mobile devices
KR102834927B1 (ko) * 2020-02-28 2025-07-16 매치 그룹 엘엘씨 로케이션 정보를 사용하여 매칭하는 시스템 및 방법
CN111835833A (zh) * 2020-06-23 2020-10-27 武汉菲奥达物联科技有限公司 一种基于lpwan的场景快速切换方法及装置
US20230262477A1 (en) * 2022-02-16 2023-08-17 Verizon Patent And Licensing Inc. Simulating wireless networks using multilayer radio frequency resolution maps
KR102753529B1 (ko) * 2022-04-14 2025-01-21 주식회사 베스텔라랩 벡터기반 동적지도에 의한 자율주행차량의 길 및 위험요소 안내
EP4726328A1 (en) * 2024-10-11 2026-04-15 TomTom Navigation B.V. Methods and systems for prefetching online map data during a drive of a vehicle

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999779B1 (en) * 1997-02-06 2006-02-14 Fujitsu Limited Position information management system
EP1102510A1 (en) 1999-10-12 2001-05-23 Taskin Sakarya Location system for mobile telephones
US6405123B1 (en) * 1999-12-21 2002-06-11 Televigation, Inc. Method and system for an efficient operating environment in a real-time navigation system
US6615131B1 (en) * 1999-12-21 2003-09-02 Televigation, Inc. Method and system for an efficient operating environment in a real-time navigation system
US6680919B1 (en) * 2000-02-04 2004-01-20 Nokia Corporation Downloading of maps and location specific configuration information to GPS-capable mobile communication terminal
JP3695315B2 (ja) 2000-11-14 2005-09-14 日産自動車株式会社 車両用表示装置
US7096007B2 (en) 2001-01-09 2006-08-22 Thomson Licensing Mobile communication system having a direct and broadcast link
US6704645B1 (en) * 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
JP4030366B2 (ja) * 2002-07-01 2008-01-09 シャープ株式会社 携帯電話装置
US7668536B2 (en) * 2002-08-06 2010-02-23 Hewlett-Packard Development Company, L.P. Retrieving media items to a mobile device
JP3698716B2 (ja) * 2003-02-25 2005-09-21 松下電器産業株式会社 アプリケーションプログラムの予測方法及び移動体端末
JP3669702B2 (ja) * 2003-02-25 2005-07-13 松下電器産業株式会社 アプリケーションプログラムの予測方法及び移動体端末
US6943729B2 (en) 2003-10-01 2005-09-13 S5 Wireless, Inc. Method and system for time difference of arrival (TDOA) location services
KR100625217B1 (ko) 2004-07-23 2006-09-20 권용진 모바일 기반의 지리정보 검색 및 조회 시스템
US20060080032A1 (en) * 2004-09-07 2006-04-13 Cooper Clive W System and method of wireless downloads of map and geographic based data to portable computing devices
US7480567B2 (en) * 2004-09-24 2009-01-20 Nokia Corporation Displaying a map having a close known location
US7627425B2 (en) * 2004-11-26 2009-12-01 Microsoft Corporation Location aware mobile-device software development
US20060271286A1 (en) * 2005-05-27 2006-11-30 Outland Research, Llc Image-enhanced vehicle navigation systems and methods

Also Published As

Publication number Publication date
CN101405572B (zh) 2015-11-25
US20070219708A1 (en) 2007-09-20
CN101405572A (zh) 2009-04-08
EP1999977B1 (en) 2017-03-22
KR101429298B1 (ko) 2014-08-11
US7519470B2 (en) 2009-04-14
EP1999977A1 (en) 2008-12-10
EP1999977A4 (en) 2013-08-07
KR20080110593A (ko) 2008-12-18
WO2007108869A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
ES2628208T3 (es) Almacenamiento en caché basado en localización para dispositivos móviles
Steiniger et al. Foundations of location based services
US11725948B2 (en) Navigating an indoor transit system using a mobile device
US8423291B2 (en) Personal GPS navigation device
ES2430848T3 (es) Interfaz gráfica de usuario para presentar información de ubicación
Huang Location based services
CN105229417A (zh) 具有动态更新机制的导航系统及其操作的方法
CN104135716A (zh) 一种兴趣点信息的推送方法及系统
KR20060059167A (ko) 위치 인지 모바일 디바이스 소프트웨어 개발
US20240405900A1 (en) Waypoints for last known network connectivity
CN109067915A (zh) 提供基于位置的服务的方法、装置和系统
CN101603835A (zh) 基于无线通信技术的层次导航系统及其导航方法
JP2007304976A (ja) 位置情報に基づく情報配信方法およびシステム
Kramer et al. Context-aware adaptation in a mobile tour guide
Jana et al. An event-driven university campus navigation system on android platform
Steiniger et al. Foundations of LBS
Tiwari et al. A survey on LBS: System architecture, trends and broad research areas
JP2018064197A (ja) 情報提供システムおよび情報提供方法
ES2168651T5 (es) Dispositivo para la recepcion y visualizacion de datos cartograficos.
Shahzada et al. Dynamic vehicle navigation: An A* algorithm based approach using traffic and road information
Chang et al. Location-aware mobile transportation information service
Prashanth et al. Augmented reality-based campus navigation
WO2024254196A1 (en) Waypoints for last known network connectivity
JP2002207921A (ja) 情報提供システム、情報提供サーバ、情報提供方法およびその処理プログラムを記録した記録媒体
Joy et al. Location Based Services-Enterprise Mobility