ES2751111T3 - Método y aparato para capa de mapa personal compartida segura - Google Patents

Método y aparato para capa de mapa personal compartida segura Download PDF

Info

Publication number
ES2751111T3
ES2751111T3 ES10855786T ES10855786T ES2751111T3 ES 2751111 T3 ES2751111 T3 ES 2751111T3 ES 10855786 T ES10855786 T ES 10855786T ES 10855786 T ES10855786 T ES 10855786T ES 2751111 T3 ES2751111 T3 ES 2751111T3
Authority
ES
Spain
Prior art keywords
user
level
privacy
determining
indication
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
ES10855786T
Other languages
English (en)
Inventor
Sailesh Kumar Sathish
Jilei Tian
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Application granted granted Critical
Publication of ES2751111T3 publication Critical patent/ES2751111T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • H04W4/185Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals by embedding added-value information into content, e.g. geo-tagging

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un aparato que comprende: medios para determinar una ubicación geográfica asociada al menos al funcionamiento de un dispositivo; medios para determinar una indicación que describe una relación entre al menos la ubicación geográfica y al menos un primer usuario del dispositivo, en donde la relación se deriva a partir de historial de visitas rastreado del primer usuario a la ubicación geográfica que indica uno o más de: frecuencia de estancias; tiempo de permanencia; posición de permanencia; trayectoria seguida; o tiempo de estancia; medios para determinar al menos un nivel de privacidad para la indicación; y medios para asociar al menos el primer usuario del dispositivo a la indicación y la ubicación geográfica y el al menos un nivel de privacidad.

Description

DESCRIPCIÓN
Método y aparato para capa de mapa personal compartida segura
Antecedentes
Proveedores de servicios y fabricantes de dispositivos (por ejemplo, inalámbricos, celulares, etc.) son continuamente retados para distribuir valor y comodidad a clientes, por ejemplo, proporcionando servicios de red atractivos. Servicios de red ampliamente populares incluyen servicios de mapas que proporcionan servicios basándose en artículos indexados a un mapa, tal como carreteras, vías férreas, edificios, establecimientos comerciales, servidumbres de paso, servicios públicos e instalaciones públicas tales como parques. Servicios de mapas de ejemplo incluyen servicios de dirección y navegación basándose en la posición pasada, actual o futura propuesta de un usuario, por ejemplo, según se introduce en un teclado o se deduce de un sistema de posicionamiento incluido en o de otra manera situado junto con un dispositivo del usuario. Otro ejemplo servicios de mapas incluyen almacenamiento y recuperación de información basándose en ubicaciones, tal como sistemas de información geográfica. Algunos servicios de mapas permiten que un usuario publique comentarios acerca de una ubicación, tal como reseñas de un concierto en un local particular o comida servida en un restaurante particular, para visualizarse en una red pública o dentro de un círculo de contactos de redes sociales. Los servicios de mapas que pueden proporcionarse, sin embargo, están limitados por falta de información acerca del contexto personal de artículos cartografiados con respecto a un usuario particular. Por ejemplo, mientras que el servicio de mapas sabe que la dirección de un edificio particular es un colegio, el hecho de que el edificio es el colegio de un hijo de un usuario habitualmente no es conocido por el servidor de mapas.
El documento US 2008/070593 A1 se refiere a un proceso de gestión de red de compartición de ubicación. El proceso determina la ubicación geográfica de un dispositivo y visualiza una representación de mapa del área alrededor del dispositivo en una interfaz gráfica de usuario del dispositivo. Superpone en el mapa las ubicaciones respectivas de uno o más otros usuarios confiables en la red. Un componente de seguridad permite que usuarios establezcan relaciones confiables requiriendo un consentimiento mutuo. Información de ubicación puede bloquearse entre usuarios confiables.
El documento US 2009/047972 A1 se refiere a un método para proporcionar un estado de presencia basado en ubicación y mejorar gestión de privacidad de ubicación en un entorno móvil o de red social. Un usuario especifica sus ubicaciones favoritas y especifica nombres/categorías a compartir por cada ubicación especificada por usuario.
Algunas realizaciones de ejemplo
Por lo tanto, existe una necesidad de un enfoque para proporcionar una capa de mapa personal que indica el contexto personal de uno o más artículos cartografiados para cada uno de uno o más usuarios. Alguna de esta información personal debería compartirse, tal como la ubicación de la oficina del usuario, mientras otra información, tal como la ubicación de un colegio de un hijo del usuario no debería compartirse, o compartirse únicamente con un círculo muy cercano de personas de confianza. Por lo tanto, existe una necesidad de un enfoque para alguna combinación de una capa de mapa personal compartida segura.
La invención se define mediante las reivindicaciones independientes.
De acuerdo con una realización, un método comprende determinar una ubicación geográfica. La ubicación geográfica se asocia al funcionamiento de un dispositivo. El método también comprende determinar una indicación, tal como texto, que describe una relación entre la ubicación geográfica y un primer usuario del dispositivo. El método comprende adicionalmente determinar un nivel de privacidad para la indicación. A continuación, el primer usuario del dispositivo se asocia a la indicación y la ubicación geográfica y el nivel de privacidad.
De acuerdo con otra realización, un aparato comprende al menos un procesador, y al menos una memoria que incluye, la al menos una memoria y el código de programa informático configurado para provocar, con el al menos un procesador, al menos en parte, que el aparato determine una ubicación geográfica. La ubicación geográfica se indica mediante el funcionamiento de un segundo aparato, que puede ser el mismo aparato o uno diferente. También se provoca que el aparato determine una indicación que describe una relación entre la ubicación geográfica y un primer usuario del segundo aparato. Adicionalmente se provoca que el aparato determine un nivel de privacidad para la indicación. También se provoca que el aparato asocie el primer usuario del dispositivo con la indicación y la ubicación geográfica y el nivel de privacidad, tal como en una estructura de datos.
De acuerdo con otra realización, un medio de almacenamiento legible por ordenador transporta una o más secuencias de una o más instrucciones que, cuando se ejecutan por uno o más procesadores, provocan, al menos en parte, que un aparato realice al menos las etapas del método anterior.
De acuerdo con otra realización, un aparato comprende al menos medios para realizar etapas del método anterior.
De acuerdo con otra realización, un producto de programa informático que incluye una o más secuencias de una o más instrucciones que, cuando se ejecutan por uno o más procesadores, provocan que un aparato al menos realice las etapas del método anterior.
Aún otros aspectos, características y ventajas de la invención son fácilmente evidentes a partir de la siguiente descripción detallada, simplemente ilustrando un número de realizaciones particulares e implementaciones, incluyendo el mejor modo contemplado para efectuar la invención. La invención también es capaz de otras y diferentes realizaciones, y sus varios detalles pueden modificarse en diversos aspectos obvios, todos sin alejarse del espíritu y alcance de la invención. Por consiguiente, se ha de considerar que los dibujos y la descripción tienen una naturaleza ilustrativa, y no restrictiva.
Breve descripción de los dibujos
Las realizaciones de la invención se ilustran a modo de ejemplo, y no a modo de limitación, en las figuras de los dibujos adjuntos:
la Figura 1 es un diagrama de un sistema capaz de proporcionar una capa de mapa personal compartida segura, de acuerdo con una realización;
la Figura 2A es un diagrama de componentes de un cliente de capa de mapa personal, de acuerdo con una realización;
la Figura 2B es un diagrama de componentes de un servidor de capa de mapa personal, de acuerdo con una realización;
la Figura 3A es un diagrama de una estructura de datos de vocabulario de descripción personal, de acuerdo con una realización;
la Figura 3B es un diagrama de una estructura de datos de capa de mapa personal, de acuerdo con una realización;
la Figura 3C es un diagrama de un mensaje de petición de capa de mapa personal, de acuerdo con una realización;
la Figura 4 es un diagrama de flujo de un proceso para un cliente del proceso de cliente de capa de mapa personal, de acuerdo con una realización;
las Figuras 5A-5D son diagramas de interfaces de usuario utilizadas en los procesos de la Figura 4, de acuerdo con diversas realizaciones;
la Figura 6 es un diagrama de flujo de un proceso para un proceso de servicio de capa de mapa personal, de acuerdo con una realización;
la Figura 7 es un diagrama de secuencia de tiempo que muestra interacciones entre procesos para una capa de mapa personal compartida segura, de acuerdo con una realización;
la Figura 8 es un diagrama de hardware que puede usarse para implementar una realización de la invención;
la Figura 9 es un diagrama de un conjunto de chips que puede usarse para implementar una realización de la invención; y
la Figura 10 es un diagrama de un terminal móvil (por ejemplo, microteléfono) que puede usarse para implementar una realización de la invención.
Descripción de algunas realizaciones
Se divulgan ejemplos de un método, aparato y programa informático para proporcionar una capa de mapa personal compartida segura. En la siguiente descripción, para fines de explicación, se exponen numerosos detalles específicos con el fin de proporcionar una comprensión completa de las realizaciones de la invención. Es evidente, sin embargo, para un experto en la materia que las realizaciones de la invención pueden practicarse sin estos detalles específicos o con una disposición equivalente. En otros casos, estructuras bien conocidas y dispositivos se muestran en forma de diagrama de bloques para evitar la obstaculización innecesaria las realizaciones de la invención.
Aunque se describen diversas realizaciones con respecto a aplicaciones de mapas en un terminal móvil, se contempla que el enfoque descrito en este documento puede usarse con otro equipo de usuario y otras aplicaciones, tal como aplicaciones de mensajería y aplicaciones de redes sociales.
La Figura 1 es un diagrama de un sistema 100 capaz de proporcionar una capa de mapa personal compartida segura, de acuerdo con una realización. El equipo de usuario (UE) 101 es capaz de acceder a uno o más servicios de red, tal como el servicio de suscripción 110a y el servicio 110n entre otros como se indica mediante puntos suspensivos (referenciados en lo sucesivo como servicios de red no de mapas 110) y uno o más servicios de mapas de red 120 a través de una red de comunicaciones 105. Los servicios de suscripción habitualmente incluyen una o más estructura de datos de perfiles de abonados 112 que mantienen información acerca de los abonados. Por ejemplo, en un servicio de suscripción de redes sociales de pago o gratis, la estructura de datos de perfiles de abonados 112 incluye datos que indican información acerca del usuario, tal como uno o más credenciales para identificar al usuario (como un nombre de usuario y contraseña) y uno o más contactos del usuario. Una o más funciones de los servicios no de mapas pueden utilizarse a través de una interfaz de programación de aplicación (API) tal como la API 114a y API 114n. Las API se conocen bien y utilizan ampliamente en la técnica.
Uno o más servicios de mapas 120 están disponibles, tal como un servicio de direcciones de navegación, un servicio de presentación de mapas, un servicio de búsqueda comercial o un servicio de sistemas de información geográfica (GIS), solos o en alguna combinación. Los servicios de mapas 120 incluyen artículos de mapa tal como datos de ubicación para fronteras tal como costas y fronteras de estado o de país, datos de ubicación para servidumbres de paso tal como carreteras y vías férreas y ferris, o datos de ubicación de puntos de interés (POI) tal como parques y lugares de negocios y edificios gubernamentales, o alguna combinación, en una o más estructuras de datos, tal como la estructura de datos de POI 122 ilustrada. Uno o más de los servicios de red, tal como los servicios de red no de mapas 110, pueden utilizar los servicios de mapas 120 a través de una API 124 para una o más funciones relacionadas con mapas.
Sin embargo, los servicios de mapas 120 habitualmente no son conscientes de una o más relaciones entre los artículos de mapa en la una o más estructuras de datos y uno o más usuarios, tal como un usuario de UE 101. Por lo tanto, por ejemplo, mientras los servicios de mapas 120 incluyen datos que indican las ubicaciones de múltiples bancos en una región, los servicios de mapas 120 no son conscientes de qué banco es el banco y sucursal personales del usuario de UE 101. Por lo tanto, el usuario se inhibe de operar el UE 101 para indicar tales conceptos simples como: recibir direcciones a "mi banco"; o buscar un número de teléfono de "mi banco"; o enviar datos que indican "mi banco" a un contacto del usuario. En su lugar, a menudo se fuerza al usuario a identificar el banco a los servicios de mapas 120 usando identificadores objetivos, tal como nombre del banco y calle y ciudad y estado y país, o alguna combinación cada vez que el usuario desea indicar el banco del usuario. Esto es una pérdida de tiempo y recursos de cálculo en el UE 101 o ancho de banda en la red de comunicaciones 105 o recursos de cálculo en un anfitrión de los servicios de mapas 120, o alguna combinación. En algunos servicios, el usuario puede etiquetar o comentar en un artículo de mapa; sin embargo, la publicación es pública, al menos a abonados de un servicio de suscripciones tal como el servicio de suscripción 110a. Por lo tanto, el usuario se inhibe de etiquetar un banco como el banco o sucursal bancaria propia del usuario para evitar exponer tal información confidencial a un gran segmento de los abonados o al público general.
Para abordar este problema, un sistema 100 de la Figura 1 introduce la capacidad de proporcionar una capa de mapa personal segura. El sistema introduce un cliente de capa de mapa personal 152 en el Ue 101 o una capa de mapa personal servicio 150 en un dispositivo remoto, o ambos, para determinar de forma segura artículos de mapa con los que el usuario de UE 101 tiene una relación personal. La relación se almacena para su uso seguro futuro en una o más estructuras de datos, tal como la estructura de datos de capa de mapa personal 154. El servicio de capa de mapa personal 150 o cliente 152, o ambos, se configuran adicionalmente para permitir que el usuario comparta la información de relación personal con el mismo o diferentes servicios de uno o más otros usuarios que tienen permiso para compartir esa información de relación personal. Adicionalmente, relacionando la red social de un usuario descrita mediante ontología de personas, y relacionando ubicación con representación semántica, uno puede construir sistemas altamente inteligentes con conocimiento amplio a través de razonamiento.
Como se muestra en la Figura 1, el sistema 100 comprende el equipo de usuario (UE) 101 que tiene conectividad a servicios de red no de mapas 110, servicios de mapas 120 y servicio de capa de mapa personal (PML) 150 a través de una red de comunicación 105. A modo de ejemplo, la red de comunicación 105 del sistema 100 incluye una o más redes tal como una red de datos (no mostrada), una red inalámbrica (no mostrada), una red de telefonía (no mostrada) o cualquier combinación de las mismas. Se contempla que la red de datos puede ser cualquier red de área local (LAN), red de área metropolitana (MAN), red de área extensa (WAN), una red de datos pública (por ejemplo, la Internet), red inalámbrica de corto alcance, o cualquier otra red con conmutación de paquetes adecuada, tal como una red con conmutación de paquetes comercial y propietaria, por ejemplo, una red de fibra óptica o cable propietaria o cualquier combinación de las mismas. Además, la red inalámbrica puede ser, por ejemplo, una red celular y puede emplear diversas tecnologías incluyendo velocidades de datos mejoradas para evolución global (EDGE), servicio general de paquetes de radio (GPRS), sistema global para comunicaciones móviles (GSM), subsistema multimedia de protocolo de internet (IMS), sistema universal de telecomunicaciones móviles (UMTS), etc., así como cualquier otro medio inalámbrico adecuado, por ejemplo, interoperabilidad mundial para acceso por microondas (WiMAX), redes de evolución a largo plazo (LTE), acceso múltiple por división de código (CDMA), acceso múltiple por división de código de banda ancha (WCd Ma ), fidelidad inalámbrica (WiFi), LAN inalámbrica (WLAN), Bluetooth®, difusión de datos de Protocolo de Internet (IP), satélite, red ad-hoc móvil (MANET) y similares o cualquier combinación de los mismos.
El UE 101 es cualquier tipo de terminal móvil, terminal fijo o terminal portátil que incluye un microteléfono móvil, estación, unidad, dispositivo, ordenador multimedia, tableta multimedia, nodo de Internet, comunicador, ordenador de sobremesa, ordenador portátil, ordenador de mano, microordenador, ordenador de tableta, Asistentes Digitales Personales (PDA), reproductor de audio/video, cámara digital/videocámara, dispositivo de posicionamiento, receptor de televisión, receptor de difusión de radio, dispositivo de libro electrónico, dispositivo de juegos o cualquier combinación de los mismos, incluyendo los accesorios y periféricos de estos dispositivos o cualquier combinación de los mismos. También se contempla que el UE 101 puede soportar cualquier tipo de interfaz para el usuario (tal como circuitería "ponible", etc.).
A modo de ejemplo, el UE 101 y servicios de red 110, 120 y 150 se comunican entre sí y otros componentes de la red de comunicación 105 usando protocolos bien conocidos, nuevos o aún en desarrollo. En este contexto, un protocolo incluye un conjunto de reglas que definen cómo interactúan entre sí los nodos de red dentro de la red de comunicación 105 basándose en información enviada a través de los enlaces de comunicación. Los protocolos son efectivos en diferentes capas de operación dentro de cada nodo, desde generar y recibir señales físicas de diversos tipos, hasta seleccionar un enlace para transferir esas señales, al formato de información indicado por esas señales, hasta identificar qué aplicación de software que se ejecuta en un sistema informático envía o recibe la información. Las conceptualmente diferentes capas de protocolos para intercambiar información a través de una red se describen en el Modelo de Referencia de Interconexión de Sistemas Abiertos (OSI).
Comunicaciones entre los nodos de red habitualmente se ven afectadas por el intercambio de paquetes de datos discretos. Cada paquete habitualmente comprende (1) información de encabezamiento asociada a un protocolo particular, y (2) información de carga útil que sigue a la información de encabezamiento y contiene información que puede procesarse independientemente de ese protocolo particular. En algunos protocolos, el paquete incluye (3) información de cola que sigue a la carga útil y que indica el final de la información de carga útil. El encabezamiento incluye información tal como el origen del paquete, su destino, la longitud de la carga útil y otras propiedades usadas por el protocolo. A menudo, los datos en la carga útil para el protocolo particular incluyen un encabezamiento y carga útil para un protocolo diferente asociado a una capa superior diferente del Modelo de Referencia de OSI. El encabezamiento para un protocolo particular habitualmente indica un tipo para el siguiente protocolo contenido en su carga útil. Se dice que el protocolo de capa superior está encapsulado en un protocolo de capa inferior. Los encabezamientos incluidos en un paquete que atraviesa múltiples redes heterogéneas, tal como internet, habitualmente incluyen un encabezamiento (capa 1) físico, un encabezamiento (capa 2) de enlace de datos, un encabezamiento (capa 3) de interredes y un encabezamiento (capa 4) de transporte, y diversos encabezamientos de aplicación (capa 5, capa 6 y capa 7) según se definen mediante el Modelo de Referencia de OSI.
Procesos que se ejecutan en varios dispositivos, a menudo se comunican usando el modelo de servidor de cliente de comunicaciones de red, ampliamente conocido y usado. De acuerdo con el modelo de servidor de cliente, un proceso de cliente envía un mensaje que incluye una petición para un proceso de servidor, y el proceso de servidor responde proporcionando un servicio. El proceso de servidor también puede devolver un mensaje con una respuesta para el proceso de cliente. A menudo el proceso de cliente y proceso de servidor se ejecutan en diferentes dispositivos informáticos, llamados anfitriones, y se comunican a través de una red usando uno o más protocolos para comunicaciones de red. El término "servidor" se usa convencionalmente para referirse al proceso que proporciona el servicio, o el anfitrión en el que opera el proceso. De manera similar, el término "cliente" se usa convencionalmente para referirse al proceso que hace la petición, o el anfitrión en el que opera el proceso. Como se usa en este documento, los términos "cliente" y "servidor" se refieren a los procesos, en lugar de los anfitriones, a no ser que quede claro de otra manera a partir del contexto. Además, el proceso realizado por un servidor puede dividirse para ejecutarse como múltiples procesos en múltiples anfitriones (en ocasiones llamados niveles) por razones que incluyen fiabilidad, escalabilidad y redundancia, entre otros. De manera similar, un proceso de cliente puede descargarse y ejecutarse en pequeñas porciones de una nube de porciones de cliente distribuidas a través de la red 105. Un proceso de cliente bien conocido disponible en la mayoría de nodos conectados a una red de comunicaciones es un cliente de Red Informática Mundial (llamado un "navegador web", o simplemente "navegador") que interactúa a través de mensajes formateados de acuerdo con el Protocolo de Transferencia de Hipertexto (HTTP) con cualquiera de un gran número de servidores llamados servidores de Red Informática Mundial (WWW) que proporcionan páginas web.
En la realización ilustrada, el UE 101 incluye un navegador 107 y una aplicación 116 y un motor de contexto 103 además del cliente de capa de mapa personal 152. El motor de contexto 103 determina el contexto local del UE 101 y cualquier usuario del mismo, tal como hora local, posición geográfica desde un sistema de posicionamiento, temperatura ambiente, presiones, sonido y luz, y aplicaciones ejecutándose en la actualidad en el UE 101, contenido presentándose en la actualidad en el UE 101, y entrada de usuario a través de una interfaz de usuario (UI), solos o en alguna combinación. En algunas realizaciones, la aplicación 116 es un cliente para al menos uno de los servicios de red 110 o 120. En algunas realizaciones, la aplicación 116 es una rutina distribuida a través del navegador 107.
Aunque procesos y estructuras de datos se representan en la Figura 1 como bloques integrales dispuestos en nodos particulares conectados a la red de comunicaciones 105 para propósitos de ilustración, en otras realizaciones, uno o más procesos o estructuras de datos o porciones de los mismos se disponen en un orden diferente en el mismo o diferentes nodos o estructuras de datos, incluyendo una o más bases de datos, conectadas a la red de comunicaciones 105. Por ejemplo, en diversas otras realizaciones que incluyen realizaciones de informática en la nube, uno o más de los procesos del motor de contexto 103, navegador 107, cliente de capa de mapa personal 152 y cliente de aplicación 116, o porciones de los mismos, se ejecutan en su totalidad o en parte en uno o más nodos de la red de comunicaciones 105 remota del UE 101.
La Figura 2A es un diagrama de componentes de un cliente de capa de mapa personal, 200 de acuerdo con una realización. El cliente de PML 200 es una realización particular del cliente de PML 152. A modo de ejemplo, el cliente de PML 200 incluye uno o más componentes para proporcionar una capa de mapa personal compartida y segura. Se contempla que las funciones de estos componentes pueden combinarse en uno o más componentes o realizarse por otros componentes de funcionalidad equivalente en el UE 101 o algún otro nodo conectado a la red 105. En esta realización, el cliente de PML 200 incluye un módulo de interfaz de usuario 201, un motor de capa personal 203 con una estructura de datos 205 de capa de mapa personal (PML), un módulo de interfaz de vocabulario de descripción personal (PDV) 207 con una estructura de datos 209 de vocabulario de descripción personal (PDV), un módulo de API 211, un módulo de interfaz de mapa 213, y un módulo de analizador de contexto 215 con una estructura de datos de vocabulario de contexto 217.
El módulo de interfaz de usuario 201 presenta datos, tal como avisos, a un usuario del dispositivo, tal como UE 101. En algunas realizaciones el módulo de interfaz de usuario 201 es un generador de sentencias de HTML y formas que se presentan al usuario a través de navegador 107. En algunas realizaciones el módulo de interfaz de usuario 201 interactúa con una interfaz de usuario de otra aplicación en el UE 101, tal como una interfaz de usuario de la aplicación 116. En algunas realizaciones, el módulo de U i 201 opera en una porción de la interfaz de usuario a través de un sistema operativo en el UE 101.
El motor de capa personal (PLE) 203 controla información de diversas fuentes para construir, mantener y usar la estructura de datos de capa de mapa personal (PML) 205 que se describe en más detalle a continuación con referencia a la Figura 3B. La PML asocia un artículo de mapa, tal como coordenadas de una posición o una trayectoria de múltiples posiciones o un punto de interés (POI), con una descripción determinada por un usuario, por ejemplo, un usuario de UE 101.
En algunas realizaciones, el PLE 203 también usa la estructura de datos de PML 205 para asociar un nivel de privacidad con la descripción determinada de usuario. Por ejemplo, el PLE 203 crea primero diferentes capas que varían en detalles de descripción determinada por usuario (por ejemplo, basándose en el vocabulario de descripción personal, PDV, descrito a continuación) y asocia un nivel de privacidad que indica una o más clases de ofuscación de información. El nivel de privacidad máximo describe una vista global general de espacio personal de usuario tal como "Mi casa", "Mi oficina" etc. mientras la siguiente capa contendrá más información confidencial tal como "El colegio de mi hijo", "Mi Hospital", "Mi zona comercial", "Restaurante favorito de mi mujer", "Casa de mis padres" etc. Ya que existen semánticas fijadas a las descripciones de PDV, el PLE 203 puede asociar un nivel de privacidad más confidencial a ciertos contactos altamente personales. Por ejemplo, un nivel de privacidad de máxima confidencialidad se asocia automáticamente a los términos de contacto de p Dv "Mi mujer" y "Mi hija" en comparación con otros niveles de privacidad confidenciales asociados automáticamente a otros contactos, tal como "Mi colega". En algunas realizaciones, el nivel de privacidad se asocia a un círculo de contactos en un servicio de redes sociales. Los diferentes niveles de privacidad son útiles para preservar la privacidad cuando información de PML se comparte entre diferentes usuarios y diferentes aplicaciones.
En la realización ilustrada, la estructura de datos de PML 205 es un almacenamiento de datos común local al dispositivo. El almacenamiento de datos puede sincronizarse a sí mismo basándose en información de cuenta de usuario con un servicio de PML remoto 150 con la estructura de datos de PML remota 154. Tener un almacenamiento común también permite que otras aplicaciones accedan a los datos y usen los mismos (con permiso del usuario).
El módulo de interfaz de PDV 207 utiliza información en la estructura de datos 209 de vocabulario de descripción personal (PDV) que se describe en más detalle a continuación con referencia a la Figura 3A. La estructura de datos de PDV 209 contiene descripciones de artículos de mapa en vocabulario personal y entendible por el usuario. Por ejemplo, un hospital puede tener una entrada en PDV como "Mi hospital cercano". En algunas realizaciones, los términos de vocabularios apropiados para presentar en asociación con una ubicación de mapa se infieren basándose en una inferencia primaria, tal como la ubicación de la casa del usuario, después de que se determina esa ubicación de referencia primaria. Una vez que se ha obtenido una descripción a partir de la estructura de datos de PDV 209 por la interfaz de PDV 207, la descripción se muestra a continuación al usuario a través de la interfaz de UI 201. El usuario puede seleccionar una de las descripciones sugeridas para ese lugar tal como Mi hospital cercano, Mi lugar de trabajo, Mi casa, Mi zona comercial, El colegio de mi hijo etc. Como alternativa, o además, el usuario también puede proporcionar una descripción propia, tal como añadir "para mi suegro" al PDV para "Mi hospital cercano". Usar los términos proporcionados por el sistema del PDV también ayuda con la fijación de significado semántico a esas descripciones como se entiende por el sistema. Esto ayuda en correlacionar descripciones en capas de mapa personales para múltiples usuarios o múltiples aplicaciones o ambos. El PDV también incluye términos para personas en las listas de contactos del usuario (con semánticas fijadas) como "Mi padre", "Mi mujer", "Mi hija", "Mi colega de trabajo" etc.
El módulo de API 211 procesa peticiones de información de otros procesos en el mismo UE 101 u otro dispositivo en comunicación con la red de comunicaciones 105. El módulo de interfaz de mapa 213 interactúa con uno o más servicios de mapas 120, por ejemplo, intercambiando mensajes con los servicios de mapas API 124.
El analizador de contexto 215 interactúa con el motor de contexto 103 para obtener el contexto en el UE 101 y expresa el contexto usando el vocabulario de contexto en la estructura de datos de vocabulario de contexto 217. En diversas realizaciones, se desarrolla un vocabulario de contexto que identifica palabras y temas relacionados con contextos de consumidores. Puede usarse cualquier método conocido en la técnica para generar el vocabulario de contexto y topología. En algunas realizaciones, se define vocabulario de contexto basándose en salida desde el motor de contexto 103, que refleja todo contexto que puede inferirse a partir del lado de dispositivo, tal como ubicación de usuario, actividad actual, modo de transporte (en coche, en autobús, conduciendo, etc.), relaciones (contactos sociales). Por ejemplo, basándose en inferencias espaciales, tal como determinar posiciones de usuario en las que se han observado concentración de movimientos de usuario, el analizador recupera datos de la estructura de datos de POI de mapa 122. En algunas realizaciones, registros de llamada o servicios de red social se extraen para información de contexto. Por ejemplo, basándose en registros de llamada, pueden determinarse ciertas relaciones sociales que existen entre el usuario y algunos contactos en la lista de contactos del usuario. Por ejemplo, puede pedirse al usuario a través del módulo de interfaz de usuario 201 que anote ciertas personas en la base de datos de contactos basándose en términos en el PDV como "Mi padre", etc. De manera similar, basándose en tiempos de permanencia, pueden determinarse ciertas relaciones que existen entre el abonado y algunas ubicaciones, tal como una ubicación de pernoctación particular frecuente tiene una cierta probabilidad de ser la casa del abonado.
La Figura 2B es un diagrama de componentes de un servidor de capa de mapa personal 250, de acuerdo con una realización. El servidor de PML 250 es una realización de ejemplo del servicio de PML 150. A modo de ejemplo, el servidor de PML 250 incluye uno o más componentes para proporcionar una capa de mapa personal compartida y segura. Se contempla que las funciones de estos componentes pueden combinarse en uno o más componentes o realizarse por otros componentes de funcionalidad equivalente en el anfitrión de servidor 150 o algún otro nodo conectado a la red 105. En esta realización, el servidor de PML 250 incluye un servicio de Autenticación, Autorización y Contabilidad (AAA) 251, un módulo de gestión de acceso a capa personal 253 que mantiene una estructura de datos 255 de capas de mapa personales combinadas, y una API 257. La realización ilustrada del servidor de PML 250 también incluye la estructura de datos de vocabulario de contexto 217 y estructura de datos de PDV 209 descritas anteriormente para el cliente de PML 200.
El servicio de AAA 251 se usa para identificar un usuario para determinar si se permite que ese usuario vea la capa de mapa personal de otro usuario. Puede usarse cualquier servicio de AAA conocido en la técnica. En una realización ilustrada, se usa un servicio de suscripción 110a, tal como un servicio de redes sociales, para identificar a un usuario. Por ejemplo, credenciales de usuario, tal como un nombre de usuario y contraseña se pasan al servicio de suscripción API 114a y se recibe un mensaje de resultados que indica si ese usuario se autentica, es decir, si ese usuario realmente es la entidad indicada. De manera similar, en algunas realizaciones, se determinan niveles de permisos de otros usuarios a partir del servicio de AAA 251, tal como los contactos del usuario en diversos círculos de amigos del servicio de redes sociales.
El gestor de acceso a capa personal 253 controla la interacción entre diversos componentes del servidor de PML 250. Por ejemplo, el gestor de acceso a capa personal 253 añade y recupera entradas para la capa de mapa personal a la estructura de datos de PML conminada 255, identifica un usuario y un solicitante usando el servicio de AAA 251, y proporciona el cliente de PML 200 y estructura de datos de vocabulario de contexto 217 y estructura de datos de PDV 209 al UE 101. Las funciones del gestor de acceso a capa personal 253 se acceden por otras aplicaciones, tal como otros servicios de red 110, a través del módulo de API 257.
Los datos de capa de mapa personal de múltiples usuarios se introducen en un almacenamiento de datos común. La estructura de datos de PML combinada 255 mantiene entradas para las PML de múltiples usuarios, de modo que la información de PML puede compartirse a través de múltiples aplicaciones y servicios de red.
El módulo de API 257 procesa peticiones de información de otros procesos en el mismo UE 101 u otro dispositivo en comunicación con la red de comunicaciones 105, tal como otros dispositivos de usuario y otros servicios de red 110 o servicio de mapas 120.
La Figura 3A es un diagrama de una estructura de datos de vocabulario de descripción personal 300, de acuerdo con una realización. Mientras estructuras de datos, campos y mensajes se representan en la Figura 3A, la Figura 3B y la Figura 3C como bloques integrales dispuestos en un orden particular para propósitos de ilustración, en otras realizaciones, una o más estructuras de datos o campos o mensajes, o porciones de los mismos, se dividen en varios mensajes o en varias estructuras de datos o bases de datos en uno o más nodos conectados a la red 105, o alguna combinación.
La estructura de datos de PDV 300 comprende una o más entradas de vocabulario tal como entrada de vocabulario 301 y otros indicados mediante puntos suspensivos. Cada entrada de vocabulario 301 incluye un campo de testigo semántico 303 y un campo de testigo de contexto 311.
El campo de testigo semántico 303 mantiene datos que representan un concepto de lenguaje estándar útil para etiquetar ubicaciones en aplicaciones de mapas. Como se usa en este documento un testigo es una estructura de datos que es capaz de mantener la información deseada, tal como un vector de conceptos semánticos. Por ejemplo, en algunas realizaciones, las etiquetas estándar incluyen tales términos como casa, trabajo, colegio, banco, tienda de comestibles, restaurante, tienda de ropa. En algunas realizaciones, los conceptos incluyen relaciones personales, tal como yo mismo, esposa, amigo, colega, pariente conocido, familia política, madre, padre, progenitor, hijo, hija, hijo, etc. Tales testigos semánticos se conocen bien en la técnica y, en algunas realizaciones, incluyen relaciones jerárquicas entre conceptos. Por ejemplo un concepto relativo está en un alto nivel de la jerarquía e incluye conceptos tal como progenitor, hijo, tío, tía, hermano, sobrino, etc. Uno o más de estos a su vez incluye uno o más otros conceptos en niveles inferiores de la jerarquía. Por ejemplo, el concepto de hijo incluye hijo, hija, nieto, nieta, etc. De manera similar, los conceptos de mapa también pueden ser jerárquicos en algunas realizaciones. Por ejemplo, el concepto de banco incluye el concepto de sucursal bancaria. En algunas realizaciones, cada testigo incluye sinónimos para el concepto (tal como los términos "tienda" y "comercio" para el mismo concepto), incluyendo palabras en diferentes idiomas que representan el mismo concepto.
El campo de testigo de contexto 311 mantiene datos que indican un contexto asociado al testigo semántico. El contexto incluye ubicación, puntos de interés cercanos, tiempo y duración de estancia y aplicaciones en proceso en el UE 101. El testigo de contexto 311 se usa para sugerir una o más etiquetas de testigo semánticas para un artículo de mapa a un usuario. Por ejemplo, el concepto de "casa" se asocia a direcciones residenciales y tiempos nocturnos en la mayoría de días del mes o año y tales aplicaciones como juegos y videos. El concepto de "trabajo" se asocia a ubicaciones no residenciales y no recreativas, horas de trabajo en días laborales, y aplicaciones tales como correo electrónico y telellamadas telefónicas a colegas de trabajo o procesadores de texto u hojas de cálculo. Un testigo de contexto es una matriz de valores que corresponden a parámetros de contexto. Por consiguiente, en la realización ilustrada, el campo de testigo de contexto 311 incluye un campo de tipo de punto de interés (POI) de mapa 313, un campo de tiempo y duración 315 y un campo de ejecución de tipos de aplicación 317.
El campo de tipo de POI 313 mantiene datos que indican los tipos de POI de mapa que están en o cerca de la ubicación que se etiqueta como en el campo de testigo semántico 303, tal como centro comercial, parque, estación de tren, etc. Para testigos semánticos relacionados con relaciones personales, tal como yo mismo, madre, padre etc., el campo de tipo de POI puede estar vacío. El campo de tiempo y duración 315 mantiene datos que indican qué días del año o día de la semana o duraciones o número de ocurrencias se asocian a la etiqueta en el campo de testigo semántico 303. El campo de ejecución de tipo de aplicaciones 317 mantiene datos que indican tipos de aplicaciones (tal como correo electrónico, llamada de voz, texto, video, audio, juego, sitio web de red social, sitio web de noticias, procesadores de texto y hojas de cálculo, entre otros) que se asocian a la etiqueta en el campo de testigo semántico 303. En algunas realizaciones, el campo de ejecución de tipo de aplicaciones 317 también incluye datos que indican el círculo de amigos en un servicio de redes sociales que se asocia a la etiqueta.
La Figura 3B es un diagrama de una estructura de datos de capa de mapa personal 320, de acuerdo con una realización. La estructura de datos de PML 320 comprende una o más entradas de usuario tal como la entrada de usuario 321 y otras indicadas mediante puntos suspensivos. Cada entrada de usuario 321 incluye un campo de identificador de usuario (ID) 323, y uno o más campos de artículo de mapa personal 330 y otros indicados mediante puntos suspensivos, denominados colectivamente en lo sucesivo como campos de artículo de mapa personal 330.
Cada campo de artículo de mapa personal 330 incluye un campo de datos de mapa 331, un campo de PDV 333, un campo de texto de usuario 335, un campo de nivel de privacidad 337 y un campo de historial de usuario 339. En diversos momentos uno o más de los campos de un campo de artículo de mapa personal 330 puede estar vacío u omitirse.
El campo de datos de mapa 331 mantiene datos que indican una característica de mapa en el servicio de mapas 120, tal como una ubicación, una trayectoria de múltiples ubicaciones (por ejemplo una ruta desde casa al trabajo), o un identificador de POI (ID).
El campo de PDV 333 mantiene datos que indican uno de los términos de vocabulario de descripción personal, tal como un testigo semántico 303 del PDV 300. El campo de PDV 333 es un medio de ejemplo de consecución de la ventaja de usar un vocabulario estándar para etiquetar un artículo de mapa personal, de modo que aplicaciones pueden recuperar información de mapa basándose en el vocabulario estándar, tal como casa, trabajo o colegio de un usuario particular. El campo de texto de usuario 335 mantiene texto proporcionado por un usuario en respuesta a un aviso, como se describe en más detalle a continuación. El campo de texto 335 es un medio de ejemplo para conseguir la ventaja de personalización de una etiqueta a los deseos específicos de un usuario. Juntos, los datos en el campo de PDV 333 y el campo de texto de usuario 335 constituyen un campo de etiqueta de mapa personal 334. Los campos de etiqueta de mapa personal 334 son un medio de ejemplo para conseguir la ventaja de permitir que un usuario o contacto del usuario identifique un artículo de mapa por su relación con el usuario o contacto. Por lo tanto, un usuario puede referirse a la casa de otro usuario (por ejemplo, un contacto) sin conocer más acerca de la ubicación de la casa.
El campo de nivel de privacidad 337 mantiene datos que indican un nivel de privacidad. Puede usarse cualquier escala de privacidad. Por ejemplo, un nivel de privacidad 1 indica que únicamente el usuario puede recuperar los datos asociados al artículo de mapa personal 330, un nivel 2 indica que un miembro de la familia inmediato (progenitor, esposa, hijo) puede recuperar la información, un nivel 3 indica cualquier miembro de la familia, un nivel 4 indica cualquier amigo en un servicio de redes sociales, un nivel 5 indica cualquier contacto en un teléfono o registro de correo electrónico y un nivel 6 indica el público general. En algunas realizaciones, se supone un nivel por defecto, por ejemplo, el nivel 3 para cualquier artículo de mapa personal 330, a no ser que se anule por el usuario identificado en campo de ID de usuario 323, por ejemplo, usando una interfaz de usuario descrita a continuación con referencia a la Figura 5B. Un nivel de privacidad N permite que todas las personas asociadas a niveles de privacidad desde 1 a N accedan al artículo de mapa personal 330 asociado. El campo de nivel de privacidad 337 es un medio de ejemplo de consecución de la ventaja de compartir información de capa de mapa personal de forma segura.
El campo de historial de usuario 339 mantiene datos que indican el contexto de usuario cuando el usuario estaba en la ubicación indicada por el campo de datos de mapa 331, incluyendo la hora, duración, frecuencia, y aplicaciones en ejecución. Esta información ayuda al sistema a recomendar una etiqueta de PDV basándose en el historial de usuario cuando se pide al usuario que proporcione información para el campo 333 y campo 335, como se describe a continuación con referencia a la Figura 4. Por lo tanto, el campo de historial de usuario 339 y el campo de testigo de contexto 311 son medios de ejemplo para proporcionar la ventaja de sugerir una etiqueta de PDV a un usuario cuando se pide al usuario una etiqueta de mapa personal 334 para asociar a datos de mapa 331. En algunas realizaciones, el campo de historial de usuario 339 mantiene datos que indican uno o más testigos de contexto 311 que describen el contexto de usuario o de UE cuando está en, o en la vecindad de, el artículo de mapa indicado en el campo 331.
Por lo tanto, el campo de entrada de usuario 321 asocia el primer usuario del dispositivo identificado en el campo 323 con el texto y la ubicación geográfica y el nivel de privacidad incluidos en el campo de artículo de mapa personal 330. El campo de entrada de usuario 321 es un medio de ejemplo de consecución de la ventaja de asociar una capa de mapa personal a una o más ubicaciones o POI o trayectorias de un servicio de mapas.
La Figura 3C es un diagrama de un mensaje de petición de capa de mapa personal 350, de acuerdo con una realización. El mensaje 350 incluye un campo de identificador (ID) de solicitante, un campo de ID de usuario 353, un campo de PDV 355 y un campo de texto de usuario 357. Dependiendo del tipo de la petición, uno o más de los campos de mensaje de petición 350 pueden estar vacíos u omitirse. El campo de ID de solicitante 351 mantiene datos que indican una entidad conocida para el servicio de AAA 251, incluyendo cualquier credencial útil para autenticar la entidad, tal como nombre de usuario y contraseña de un abonado al servicio de suscripción 110a.
El campo de ID de usuario 353 mantiene datos que indican un usuario cuya estructura de datos de PML 205 (o 255) tiene que examinarse. En algunas realizaciones, los campos 351 y 353 soportan una petición de una lista de todas las etiquetas en la PML para el usuario identificado en el campo 353. Se proporciona una lista basándose en el nivel de permiso del solicitante y el nivel de privacidad del artículo de mapa personal. Basándose en la lista, uno de los artículos de mapa etiquetados puede seleccionarse y solicitarse por su etiqueta usando los campos 355 o 357 o ambos.
El campo de PDV 355 y campo de texto de usuario 357 mantienen datos que indican una etiqueta de mapa personal particular 334 que se está solicitando. Los datos de mapa asociados a esa etiqueta se devuelven al solicitante, si el solicitante tiene permiso para ver artículos de mapa personal del nivel de privacidad del artículo de mapa solicitado.
La Figura 4 es un diagrama de flujo de un proceso 400 para un cliente del proceso de cliente de capa de mapa personal, de acuerdo con una realización. En una realización, el motor de capa personal 203 del cliente de capa de mapa personal 200 realiza el proceso 400 y se implementa en, por ejemplo, un conjunto de chips que incluye un procesador y una memoria como se muestra en la Figura 9 o en un terminal móvil como se representa en la Figura 10. En algunas realizaciones, una o más etapas o porciones de las mismas se realizan mediante otros componentes del cliente 200 o mediante nodos en comunicación con la red 105. Aunque se representan etapas en la Figura 4 y en la Figura 6 como bloques integrales en un orden particular para propósitos de ilustración, en otras realizaciones, una o más etapas, o porciones de las mismas, se realizan en un orden diferente, o solapándose en tiempo, en serie o en paralelo, o una o más etapas o porciones de las mismas se omiten, o una o más etapas se añaden, o el método se cambia en alguna combinación de formas.
En la etapa 401, se determinan la identificación (ID) de usuario y contactos de usuario. Cualquier método puede usarse para determinar la ID de usuario y contactos de usuario. Por ejemplo, en algunas realizaciones, se pide al usuario esta información y las respuestas de usuario se graban. En algunas realizaciones, la ID de usuario o contactos o ambos se proporcionan por un servicio remoto, o bien en respuesta a una consulta o bien sin solicitarse. En algunas realizaciones, el cliente de capa de mapa personal 152 se instala desde el servicio de capa de mapa personal 150 en respuesta a una orden por un servicio de suscripción 110a que proporciona la ID de usuario y contactos desde la estructura de datos de perfiles de abonados 112. En algunas realizaciones, el cliente 152 supervisa la actividad de usuario en el UE 101 y detecta inicio de sesión en un servicio de redes sociales, tal como el servicio de suscripción 110a. En respuesta a la detección del inicio de sesión, el cliente 152 graba la ID de usuario para el servicio de redes sociales, y cualquier credencial usada. El cliente 152 a continuación solicita los contactos del usuario del servicio de redes sociales a través de la API 114, o bien directamente, o bien indirectamente a través del servicio de capa de mapa personal 150. En algunas realizaciones, se pide al usuario que asocie los contactos con una relación testigo semántico, tal como madre, hermano, hija, esposa, colega, compañero de clase, etc.
En la etapa 403, se determinan las ubicaciones de dispositivo, tiempos, duraciones de permanencia y trayectorias. Por ejemplo, un usuario teclea una dirección de ubicación o coordenadas y tiempo o duración asociados. En algunas realizaciones, se rastrea un sistema de posicionamiento global situado conjuntamente cerca o dentro del UE 101 para determinar historial de posición. Por lo tanto, determinar la ubicación geográfica indicada mediante el funcionamiento del dispositivo comprende además determinar el tiempo y duración de pausa en una vecindad de la ubicación geográfica basándose en un sistema de posicionamiento situado junto con el dispositivo. En algunas realizaciones, el motor de contexto realiza parte o toda la etapa 403. En algunas realizaciones, el cliente de PML 152 interroga al motor de contexto 103 para posición actual y deriva tiempos de permanencia y trayectorias a partir de las posiciones devueltas y el tiempo actual. En algunas realizaciones, la etapa 403 incluye deducir el contexto de casa o contexto de oficina para una posición basándose en duración y temporización de tiempos de permanencia. Un tiempo de permanencia es un intervalo de tiempo durante el cual el UE 101 está relativamente estacionario, por ejemplo, se mueve menos de aproximadamente 100 metros durante más de unos pocos minutos. Una posición media durante el tiempo de permanencia se llama una posición de permanencia. Por lo tanto, la etapa 403 incluye determinar una ubicación geográfica indicada por el funcionamiento de un dispositivo (por ejemplo, UE 101).
En la etapa 405, se determina un POI asociado a una posición durante un tiempo de permanencia, si hubiera alguno, por ejemplo, enviando una consulta con la posición de permanencia a servicio de mapas 120.
En la etapa 407, se determina el resto del contexto para el dispositivo de usuario, por ejemplo, solicitando un testigo de contexto desde el motor de contexto 103. La etapa 407 incluye determinar las aplicaciones ejecutándose en la actualidad en el dispositivo de usuario (por ejemplo, UE 101) y contactos en comunicación en la actualidad con el usuario a través del dispositivo de usuario. En la etapa 409, parte o todo el testigo de contexto se almacena en el campo de historial de usuario 339 de la PML.
En la etapa 411, se determina si el usuario está anotando una posición. Por ejemplo, se determina si el usuario ha seleccionado una posición en un visualizador proporcionado por un servicio de mapas e indicada a través de una interfaz de usuario que tiene que fijarse una etiqueta, como se describe en más detalle a continuación con referencia a la Figura 5A y la Figura 5B. Si es así, a continuación en la etapa 417 se pide al usuario que etiquete la ubicación con un término de PDV y texto subjetivo, como se describe en más detalle a continuación. Si no, a continuación en la etapa 413, se determina si se han acumulado suficientes estadísticas en el historial de usuario para deducir una ubicación de interés evidente para el usuario. Por ejemplo, después de un mes pasando las tardes predominantemente en un sitio y días laborales predominantemente en otro, los dos lugares son probablemente casa y trabajo y debería pedirse al usuario que etiquete los mismos si no los ha etiquetado ya, de forma que el control pasa a la etapa 415. Si no hay disponibles suficientes estadísticas, por ejemplo, durante las primeras dos semanas de funcionamiento del dispositivo de usuario (por ejemplo, UE 101), cuando el usuario podría estar de vacaciones, el control vuelve a la etapa 403 y siguientes etapas para continuar rastreando las posiciones de dispositivo y contextos asociados.
Las Figuras 5A-5D son diagramas de interfaces de usuario utilizadas en los procesos de la Figura 4, de acuerdo con diversas realizaciones. La Figura 5A es un diagrama que ilustra una interfaz gráfica de usuario (GUI) de cliente 501 para una aplicación de mapas, por ejemplo, la aplicación 116 en el UE 101 o navegador 107 que interactúa con el servicio de mapas 120, de acuerdo con una realización. La GUI 501 incluye una o más áreas activas en las que se detecta una selección de usuario para determinar entrada de usuario, como es bien conocido en la técnica. Por ejemplo, entrada de usuario se determina basándose en el posicionamiento de un dispositivo apuntador, tal como un controlador para un cursor y una tecla para indicar una selección, o una pantalla táctil. La GUI 501 incluye un área de porción de mapa 520 que representa una porción de un mapa. La porción de mapa incluye carreteras 522, puntos de interés (POI) 534a, 524b, 524c, entre otros, denominados colectivamente en lo sucesivo como POI 524. Un puntero 511 indica una posición seleccionada en el área de porción de mapa 520. La GUI también incluye botones 513a y 513b (denominados colectivamente en lo sucesivo como botones 513) que son áreas activas que realizan una función particular indicada por una etiqueta de botón tras selección por un usuario. Por ejemplo, en respuesta a una detección de un toque en el botón 513a, la porción de mapa en el área de mapa se amplía para expandir distancias. De manera similar, en respuesta a una detección de un toque en el botón 513b, la porción de mapa en el área de mapa se reduce para reducir distancias.
En la etapa 415, se sugieren un PDV y nivel de privacidad para una o más posiciones de interés evidente deducidas a partir del historial de usuario. Por ejemplo, basándose en un mes de rastreo de posición y otra información de contexto, se deduce que la ubicación A es una casa o dormitorio del usuario, posición B es un lugar de trabajo o biblioteca, y posición C es un colegio del hijo o hermano del usuario, y posiciones D, E y F son centros comerciales para el usuario. Un nivel de privacidad se basa en reglas por defecto, tal como un nivel de 5 para la casa y trabajo del usuario, 4 para los centros comerciales y 3 para el colegio. Por lo tanto, la etapa 415 incluye determinar un término de vocabulario de descripción personal (PDV) basándose, al menos en parte, en la ubicación geográfica y un contexto para el dispositivo. Como alternativa o además, la etapa 415 incluye determinar una palabra de vocabulario de descripción personal basándose, al menos en parte, en un tipo de un punto de interés asociado a la ubicación geográfica en una base de datos de mapas.
En la etapa 417, se pide al usuario que etiquete la una o más posiciones seleccionadas. La una o más posiciones se seleccionan por el usuario en la etapa 411, por ejemplo, tocando el área de porción de mapa 520 en la posición del puntero 511, o por el sistema basándose en estadísticas de historial de usuario en la etapa 413. Por ejemplo, se presenta una interfaz de usuario que representa una sección de mapa con una o más posiciones seleccionadas destacadas. El usuario se presenta con un menú desplegable de los términos de PDV, o bien la lista entera o una porción considerada relevante basándose en las sugerencias determinadas en la etapa 415. Por lo tanto, la etapa 417 incluye determinar presentar el término de vocabulario de descripción personal. En la etapa 419, se pide al usuario un nivel de privacidad, por ejemplo confirmando o anulando el nivel de privacidad automáticamente sugerido por defecto. Por ejemplo, el usuario se presenta con la GUI de la Figura 5B.
La Figura 5B es un diagrama que ilustra una interfaz gráfica de usuario (GUI) de cliente 502 para etiquetar una posición seleccionada, de acuerdo con una realización. La GUI 502 incluye el área de porción de mapa 520 y botón 513 como se describe anteriormente. La posición seleccionada se indica en el área de porción de mapa 520 mediante el apuntador 511. Como se indica anteriormente, la posición seleccionada se selecciona directamente por el usuario en la etapa 411 o sugiere por el cliente de PML 152 basándose en historial de usuario en la etapa 415. Se pide al usuario que etiquete la posición seleccionada presentado la ventana 530 que incluye texto que pide al usuario que etiquete la posición para la capa de mapa personal. Por ejemplo, en la realización ilustrada, el texto en la ventana 530 recita las palabras "etiqueta ubicación según sea especial para ti". La ventana 530 se presenta de cualquier manera conocida en la técnica. Por ejemplo, la ventana 530 se presenta por el módulo de interfaz de usuario 201 a través de la aplicación 116, el navegador 107 o directamente usando el UE sistema operativo, o alguna combinación.
La ventana 530 incluye un menú desplegable de PDV 531, una caja de texto personal 533 y un menú desplegable de nivel de privacidad. Los menús desplegables son áreas activas que se conocen bien en la técnica de interfaces gráficas de usuario. El menú desplegable de PDV incluirá al menos los términos de PDV sugeridos determinados en la etapa 415, o un conjunto más completo si se salta la etapa 415. Por ejemplo, seleccionando el triángulo que apunta hacia abajo, se presenta una lista de términos de PDV al usuario, tal como alguno o todos de: Mi casa, casa de familiar, casa de amigo, mi trabajo, trabajo de familiar, trabajo de amigo, mi hospital, hospital de familiar, hospital de amigo, mi colegio, colegio de familiar, colegio de amigo, mi centro comercial, centro comercial de familiar, centro comercial de amigo, mi banco, banco de familiar, banco de amigo, entre otros. Estos términos pueden ordenarse entre niveles de probabilidad determinados por el motor de contexto. En algunas realizaciones, después de hacer una selección desde el menú desplegable de PDV, se presenta un segundo menú, por ejemplo, para identificar al amigo o familiar. Dependiendo de historial de usuario y listas de contactos determinados en la etapa 401, por ejemplo, contacto abc123 = madre o alice246 = hijo, los términos secundarios de PDV pueden ser más específicos, por ejemplo, casa de madre, casa de hermano, casa de suegros, etc., hospital de hijo, colegio de hijo, en respuesta a seleccionar casa de familiar. Por lo tanto, el área activa 531 es un medio de ejemplo para conseguir la ventaja de proporcionar concepto semántico reconocido estándar personalizado a una ubicación de mapa.
Se pide al usuario que añada texto subjetivo en la caja de texto personal 533. Por ejemplo, una ubicación etiquetada "casa de madre" usando los términos de PDV puede caracterizarse adicionalmente mediante texto de usuario como "condominio de la ciudad" o alguna otra descripción específica y subjetiva. Por lo tanto, el área activa 533 es un medio de ejemplo para conseguir la ventaja de proporcionar una etiqueta subjetiva personalizada a una ubicación de mapa. Por lo tanto, la etapa 417 incluye determinar texto que describe una relación entre la ubicación geográfica y un primer usuario del dispositivo. El texto es alguna combinación del PDV y el texto subjetivo. La etapa 417 incluye determinar el texto determinando presentar un aviso que solicita el texto del primer usuario (usuario de UE 101).
En la etapa 419, se pide al usuario que indique el nivel de privacidad usando el menú desplegable de nivel de privacidad 535. Por ejemplo, el nivel de privacidad se muestra como por defecto, por ejemplo, Familia (nivel 3) pero el menú desplegable hace disponibles las otras opciones: Solo para ti (nivel 1), Familia cercana (nivel 2), Amigos (nivel 4), Contactos (nivel 5) o Público (nivel 6). Por lo tanto, el área activa 535 es medio de ejemplo para conseguir la ventaja de proporcionar un método seguro de compartir información de mapa personal. La etapa 419, por lo tanto, incluye determinar un nivel de privacidad para el texto. En algunas realizaciones, el nivel de privacidad presentado en el aviso se basa en la ubicación y contexto, por ejemplo, colegio o centro comercial en ciertas horas del día. Por lo tanto, determinar el nivel de privacidad comprende además determinar a nivel de privacidad sugerido basándose en la ubicación geográfica y un contexto para el dispositivo. En la realización ilustrada, determinar el nivel de privacidad comprende además determinar presentar el nivel de privacidad sugerido en el aviso, por ejemplo, en el área activa 535.
En la etapa 421, la entrada de usuario se actualiza en la estructura de datos 205 de capa de mapa personal basándose en las respuestas de usuario a los avisos. Por ejemplo, el campo de entrada de usuario 321 para el usuario se actualiza con un nuevo campo de artículo de mapa personal 330; o se actualiza un campo de artículo de mapa personal 330 existente. En algunas realizaciones, la etapa 421 incluye enviar la actualización, sola o en combinación con una o más otras actualizaciones, al servidor de PML 250 para añadir a la estructura de datos de PML combinada 255. Por lo tanto, la etapa 421 incluye asociar el primer usuario del dispositivo al texto y la ubicación geográfica y el nivel de privacidad. Adicionalmente, en la realización ilustrada, asociar el primer usuario del dispositivo con el texto y la ubicación geográfica y el nivel de privacidad se basa al menos en parte en una respuesta recibida en respuesta a presentar el aviso. Ya que el campo 330 incluye el término de PDV en campo 333, al menos en algunas realizaciones, asociar el primer usuario al texto y la ubicación geográfica y el nivel de privacidad basándose en la respuesta comprende además asociar el primer usuario y el texto y la ubicación geográfica y el nivel de privacidad al término de vocabulario de descripción personal (PDV). La etapa 421 incluye determinar almacenar la asociación del primer usuario con el texto y la ubicación geográfica y el nivel de privacidad en una estructura de datos común (ya sea PML 205 o PML combinada 255) para acceso por una pluralidad de dispositivos de usuario.
Por ejemplo, para actualizar la PML, el usuario se presenta con la GUI representada en la Figura 5C. La Figura 5C es un diagrama que ilustra una interfaz gráfica de usuario (GUI) de cliente 503 para etiquetar una posición seleccionada, de acuerdo con una realización. La GUI 503 incluye el área de porción de mapa 520 y botones 513 como se describe anteriormente. La posición seleccionada se indica en el área de porción de mapa 520 mediante el apuntador 511. Como se indica anteriormente, la posición seleccionada se selecciona directamente por el usuario en la etapa 411 o sugiere por el cliente de PML 152 basándose en historial de usuario en la etapa 415. Se pide al usuario que acepte, edite o cancele el nivel de privacidad de etiqueta para la posición seleccionada presentando la ventana de resumen de ubicaciones 540. La ventana 540 se presenta a través del módulo de interfaz de usuario de cliente 201, como se describe anteriormente. La ventana 540 incluye texto que presenta las etiquetas actuales y nivel de privacidad para la posición seleccionada. La ventana 540 también incluye tres áreas activas para aceptar, editar o cancelar la etiqueta y nivel para la posición seleccionada, por ejemplo, como los botones 541a, 541b y 541c, respectivamente. Tras la activación del botón de cancelar 541c, se cierra la ventana 540 y la etiqueta de posición no se actualiza. Tras la activación del botón de editar 541b, se cierra la ventana 540 y se abre de nuevo la ventana 530 para permitir que se cambien la etiqueta y nivel. Tras la activación del botón de aceptar 541a, se cierra la ventana 540 y la entrada de usuario se actualiza en la estructura de datos de PML, tal como las estructuras de datos 205 o 255 o ambas.
Las etapas anteriores se refieren a la formación de la PML. Las siguientes etapas se relacionan con el uso de la PML en una o más aplicaciones, incluyendo uno o más aplicaciones no de mapas.
En la etapa 423 se recibe una petición para un campo de entrada de usuario desde la PML del usuario. Por ejemplo, se recibe una petición desde una aplicación de mensajería 116 en el UE 101, o desde una aplicación es un dispositivo de usuario diferente, para uno o más artículos de mapa personal de la estructura de datos de PML 205. Por ejemplo, se recibe un mensaje de petición 350 desde una aplicación de mensajería 116 en el UE 101, o desde una aplicación en un dispositivo de usuario diferente, o desde un servicio de red 110 o servicio de mapas 120, para uno o más artículos de mapa personal de la estructura de datos de PML 205. El mensaje de petición 350 identifica el solicitante en el campo de ID de solicitante 351, tal como un campo de fuente en un encabezamiento de Protocolo de Internet. El mensaje de petición 350 identifica el usuario en el campo de ID de usuario 353. Por lo tanto, la petición indica el primer usuario del UE 101. Si el campo de PDV 355 y campo de texto de usuario 357 están en blanco, la petición 350 es para una lista de las etiquetas para artículos de mapa personal que se permiten que vea el solicitante. Basándose en la selección de uno o más elementos de esa lista, un mensaje de petición 350 posterior indica el PDV y texto de usuario de la etiqueta en los campos 355 y 357, respectivamente. Por lo tanto, en algunas realizaciones, la petición indica el texto; y en algunas realizaciones, la petición indica un término de vocabulario de descripción personal asociado al texto. Por lo tanto, la etapa 423 incluye recibir una petición para una asociación entre el texto y la ubicación geográfica para el primer usuario.
Si se recibe un mensaje de petición de este tipo, a continuación en la etapa 425 se autentica la entidad solicitante. Por ejemplo, credenciales para el solicitante se envían al servicio de AAA 251, por ejemplo, enviando un mensaje al servidor de PML 250 o a través de la API de servidor de PML 257. En la etapa 427, se determina si se permite que el solicitante acceda a los artículos de mapa personal solicitados del usuario en los campos 330. Por ejemplo, se determina si el solicitante es un contacto etiquetado como el usuario, la familia cercana, familia, amigo, otro contacto o no etiquetado (por lo tanto, un miembro del público general) y el nivel de privacidad del artículo solicitado. Por lo tanto, se determina si se permite que el solicitante vea el artículo de mapa personal. La etapa 427 determina de forma efectiva si un segundo usuario asociado a la petición tiene permiso para el nivel de privacidad asociada al texto. Si es así, a continuación en la etapa 431, los artículos de mapa personal solicitados o artículos se devuelven al solicitante, por ejemplo, la aplicación 116. Por lo tanto, la etapa 429 incluye determinar enviar la asociación entre el texto y la ubicación geográfica, si el segundo usuario sí tiene permiso para el nivel de privacidad. Si no, a continuación en la etapa 429 se solicita al usuario que añada al solicitante a una categoría diferente de contacto, o cambie el nivel de privacidad del artículo, o de otra manera permita que el solicitante reciba el artículo de mapa personal solicitado. Si no se cambia nada, se deniega al solicitante el artículo de mapa personal. Por lo tanto, la etapa 429 incluye determinar no enviar la asociación entre el texto y la ubicación geográfica, si el segundo usuario no tiene permiso para el nivel de privacidad. Si se hace un cambio para permitir al solicitante, a continuación el artículo de mapa personal solicitado o artículos se devuelven al solicitante. En algunas realizaciones, cuando se busca la capa personal de otro usuario, la UI también proporciona medios para preguntar por un artículo específico de la capa personal y en un nivel de privacidad solicitado. Por ejemplo, el usuario A podría buscar únicamente "guardería de hijas de usuario B" incluso aunque el usuario A puede ser un amigo que por defecto puede ser un permiso de tipo C. El usuario B, tras ver la petición puede conceder permiso para la misma.
La Figura 5D es un diagrama que ilustra una GUI de aplicación 504 para recuperar una posición mediante etiqueta semántica o subjetiva, de acuerdo con una realización. Por ejemplo, se supone que la aplicación 116 es una aplicación de mensajería, tal como una aplicación de correo electrónico (correo electrónico). Se pide al usuario de la aplicación que forme un mensaje en GUI de solicitud 550. La GUI de solicitud 550 incluye un área activa de inserción, tal como el botón de inserción 551. En respuesta, se presenta un menú desplegable de inserción 560 al usuario de la aplicación para seleccionar el objeto a insertarse en el mensaje. Pueden insertarse en un mensaje muchos objetos bien conocidos, tal como texto, instantáneas, videos, archivos y contactos -- como se indica mediante puntos suspensivos y área activa de archivo 561a y área activa de contacto 561b.
De acuerdo con algunas realizaciones, artículos de mapa personal también pueden insertarse en un mensaje, como se indica por el área activa 561c de "Mi artículo de mapa" y área activa 561d de "artículo de mapa de contacto". Cuando se selecciona el área activa 561c el usuario de la aplicación 116 intenta insertar un artículo de mapa personal de la propia PML del usuario. Cuando se detecta el área activa 561d, el usuario de la aplicación 116 intenta insertar un artículo de mapa personal de la PML de un usuario diferente, por ejemplo, de la p Ml combinada 255 desde un servidor de PML 250 o desde una PML 205 de un usuario diferente del UE 101. En algunas realizaciones las áreas activas 561c y 561d se presentan en la interfaz de usuario 201 en respuesta a una petición enviada al cliente API 211 por la aplicación 116. Por lo tanto, las áreas activas 561c y 561d se presentan a través del módulo de interfaz de usuario de cliente 201, como se describe anteriormente.
Para propósitos de ilustración se supone que se detecta área activa 561d. En respuesta, se abre la ventana 570. La ventana 570 se presenta a través del módulo de interfaz de usuario de cliente 201, como se describe anteriormente. En algunas realizaciones la ventana 570 se presenta en la interfaz de usuario 201 en respuesta a una petición enviada al cliente API 211 por la aplicación 116. La ventana 570 incluye un menú desplegable de contactos 571, un menú desplegable de permisos 572 y un menú desplegable 573 de lista de artículos de mapa personal. El menú desplegable de contactos 571 se opera para seleccionar un contacto cuyo artículo de mapa personal tiene que insertarse.
Una vez que se inserta un contacto de este tipo, el menú desplegable de permisos 572 se opera para cambiar un nivel de permisos para el contacto en caso de que el contacto solicite alguna vez la PML del solicitante. El nivel de permiso por defecto o anteriormente asignado (por ejemplo, amigo, nivel 4) se presenta en el área activa 572. El menú desplegable se opera para cambiar el nivel de permiso, por ejemplo, a Solo para ti (nivel 1), Familia cercana (nivel 2), Familia (nivel 3), Contactos (nivel 5) o Público (nivel 6). En otras realizaciones, el menú desplegable 572 se presenta en otras aplicaciones, tal como una interfaz de usuario de redes sociales cuando se añade o edita un contacto. Es conveniente representar el área activa 572 en la ventana 570 para reducir el número de diferentes interfaces de usuario a describir. De manera similar, en algunas realizaciones, se proporcionan ciertos niveles de permiso para artículos individuales en capa personal mientras mantiene el resto de artículos como por defecto.
Una vez que se inserta un contacto de este tipo y se determina el permiso del solicitante para acceder los artículos de ese contacto, la lista menú desplegable 573 se rellena con las etiquetas de los artículos permitidos. Puede seleccionarse a continuación una de las etiquetas para insertar un objeto que representa esa posición en el mensaje. Por ejemplo, si se detecta el artículo de colegio de hijo Alice, un objeto etiquetado "colegio de hijo Alice" se inserta en el mensaje. El objeto incluye los datos de mapa asociados al colegio del hijo Alice en la PML, tal como la posición o POI o trayectoria. Se supone que "Alice246" estaba asociado al hijo usando los avisos de contactos descritos anteriormente. Porque una persona puede tener múltiples hijos, la relación de PDV "hijo" se modifica por la información de contacto asociada a esa categoría. Como alternativa, el modificador "Alice" puede insertarse como texto subjetivo asociado al término de PDV "hijo". Por lo tanto, se puede distinguir hijo Alice de hijo Betty.
En la etapa 433, se determina si se cumplen las condiciones finales. En caso afirmativo, el proceso 400 finaliza. De otra manera, control vuelve a la etapa 403 y siguientes para continuar rastreando las ubicaciones de dispositivo y contexto para aprender otras ubicaciones de importancia.
La Figura 6 es un diagrama de flujo de un proceso 600 para un proceso de servicio de capa de mapa personal, de acuerdo con una realización. En una realización, el gestor de acceso a capa personal 253 del servidor de capa de mapa personal 250 realiza el proceso 600 y se implementa en, por ejemplo, un conjunto de chips que incluye un procesador y una memoria como se muestra en la Figura 9 o en ordenador de fin general como se representa en la Figura. 8. En algunas realizaciones, una o más etapas o porciones de las mismas se realizan por otros componentes de servidor 250 u otros nodos en comunicación con la red 105.
En la etapa 601, se determina y almacena el vocabulario de descripción personal (PDV) para artículos de mapa, por ejemplo, en la estructura de datos de PDV 209. Puede usarse cualquier método para determinar el PDV. Por ejemplo, el PDV se basa en tipos de POI, si hubiera alguno, tal como colegio, hospital, etc. y el contexto, tal como tiempo y duración de permanencia y aplicaciones que se ejecutan, para sujetos de prueba mientras en sus correspondientes puntos de interés o direcciones no de POI. En algunas realizaciones, se determinan valores para una o más entradas o campos de las mismas basándose en entrada manual por uno o más expertos. Por lo tanto, las entradas de vocabulario 301 se añaden a una estructura de datos 300.
En la etapa 603, se determina y almacena un vocabulario de contexto, por ejemplo, en la estructura de datos de vocabulario de contexto 217. En diversas realizaciones, se desarrolla un vocabulario de contexto y topología que identifica palabras y temas relacionados con contextos de consumidores. Puede usarse cualquier método conocido en la técnica para generar el vocabulario de contexto y topología. Por ejemplo, se recogen varios documentos que analizan y describen contexto de consumidor, tal como documentos que describen la importancia de si el consumidor está trabajando para pagar o realizar otras tareas o está ocioso, si el tiempo actual es una noche de semana o fin de semana, si la estación actual es verano o invierno, si el consumidor está en casa o fuera, o si el consumidor está en un destino o en ruta, si un documento está recurriendo a un nombre de lugar o un nombre de persona, si el consumidor está estacionario o en movimiento y a qué velocidades y direcciones, si es de día o de noche, y qué aplicaciones están disponibles en un equipo de usuario que pertenece al consumidor. Estos documentos se extraen para determinar palabras relacionadas con contexto de consumidor, colecciones de palabras relacionadas con contexto, o uso relativo de esas palabras, o alguna combinación. En algunas realizaciones, la topología de vocabulario incluye temas impuestos en o deducidos a partir de ocurrencias relativas de palabras dentro de los documentos. Por ejemplo, en diversas realizaciones, se usa indexación semántica latente probabilística (pLSI) o asignación latente de Dirichlet (LDA), bien conocidas en la técnica, para deducir temas a partir de palabras en un conjunto de documentos. Tales métodos pueden usarse para derivar palabras de contexto y temas de contexto a partir de un conjunto de documentos que se dirigen a las circunstancias de consumidores de servicios de red. Porque cada tema se asocia a un grupo de palabras en ciertas abundancias relativas, existe una topología que relaciona temas con palabras y subtemas con temas de nivel superior. En algunas realizaciones un vocabulario de contexto se construye manualmente o confiando en o extendiendo alguna topología estándar tal como vocabulario de Proyecto de Directorio Abierto (ODP). En estas realizaciones, no se usa LDA en la construcción del vocabulario de contexto en sí; sino que, una vez que se establece un vocabulario, pueden extraerse documentos usando LDA para ver qué temas/contexto se contiene dentro del documento. La topología de vocabulario de contexto se usa en diversas realizaciones descritas en este documento para determinar contexto para UE 101 y para artículos de mapa.
En algunas realizaciones, existen únicamente dos niveles de categorías, por ejemplo, temas y palabras, por debajo del vocabulario de contexto de nivel raíz. Cada tema se define mediante un conjunto de palabras, cada una con un intervalo particular de porcentajes de ocurrencia. En algunas de estas realizaciones, un vocabulario de V palabras se representa mediante un vector de V dimensiones; y cada palabra se representa mediante un vector de V dimensiones con ceros en todas las posiciones menos la posición que corresponde a esa palabra particular. Habitualmente se ignoran palabras de significado bajo, tal como artículos, preposiciones, pronombres y palabras comúnmente usadas. Cada uno de T temas se representa mediante un vector de V dimensiones con ocurrencias relativas de cada palabra en el tema representado por un porcentaje en las correspondientes posiciones de palabra. Todos los temas se representan mediante una matriz de V x T.
Cuando una palabra del vocabulario de contexto se encuentra en un documento (por ejemplo, un mensaje desde un usuario o una descripción de producto, por ejemplo, en el campo 207), esa palabra se considera una mezcla de los diferentes temas que incluyen esa palabra, con una probabilidad porcentual asignada a cada tema basándose en el porcentaje de palabras en el documento, por ejemplo usando los métodos bien conocidos de LDA. Como resultado, todo el documento puede representarse mediante un conjunto de temas encontrados en el documento con una métrica de probabilidad asignada a cada tema, por ejemplo, un vector de T dimensiones con probabilidades variables en cada posición del vector. Un vector de este tipo es un ejemplo de un testigo de contexto en este documento. Pueden compararse dos documentos (tal como una descripción de un producto y una descripción del estado actual de un UE 101) calculando una similitud de los dos vectores de T dimensiones (testigos) que representan esos documentos, tal como una suma de productos de correspondientes términos. Como alternativa, o además, puede calcularse una métrica de distancia entre los dos documentos, que aumenta a medida que los dos testigos se vuelven menos similares. Puede usarse cualquier métrica de distancia, tal como una distancia de orden cero (valor absoluto de la coordenada con la mayor diferencia), una distancia de orden 1 (una suma de los valores absolutos de las T diferencias), una distancia de orden dos (una suma de los cuadrados de las T diferencias -- equivalente a la distancia euclídea), una distancia de orden tres (una suma de cubos de valores absolutos), etc. Los más similares son testigos de dos documentos, o cuanto menor sea la distancia entre esos testigos, más relevantes son los documentos entre sí. En la siguiente descripción, se supone que un vocabulario de contexto se ha definido y se almacena en un vocabulario de contexto estructura de datos. El contexto de un documento o recurso se representa mediante un testigo de contexto. Cuanto más similares sean los testigos de contexto de dos documentos, por ejemplo, cuanto más pequeña sea la medida de distancia entre los mismos, más relevante será un documento para el contexto de consumidor indicado por el otro documento.
Vocabulario de contexto y testigos no se obtienen únicamente a partir de la extracción de una base de texto de usuario, sino más a menudo directamente en datos de contexto del dispositivo. Por lo tanto, en algunas realizaciones, vocabulario de contexto se define basándose en salida desde el motor de contexto 103, que refleja todo el contexto que puede inferirse a partir del lado de dispositivo, por ejemplo, como ubicación de usuario, actividad actual, modo de transporte (en coche, en autobús, conduciendo, etc.), relaciones (contactos sociales) y ejecución de aplicaciones (por ejemplo, mensajería, audio, video, juegos, procesador de texto, hoja de cálculo, etc.).
En la etapa 611 se registra un usuario para el servicio de capa de mapa personal. Por ejemplo, un abonado a un servicio de suscripción 110a, tal como un servicio de redes sociales, selecciona un icono para añadir una aplicación de capa de mapa personal al dispositivo del usuario. La información de usuario se envía por el servicio de suscripción 110a al servidor de PML 250 a través del servidor API 257. En otra realización, un usuario opera un navegador 107 para contactar el servidor de PML 150. Durante la etapa 611 se presentan una o más páginas web para registrar a un usuario al usuario de UE 101 a través del navegador 107. El usuario se registra, o no, basándose en esas respuestas.
En la etapa 613, en respuesta a un registro satisfactorio, el proceso de cliente 152, incluyendo copias de la estructura de datos de PDV 209 y estructura de datos de vocabulario de contexto 217 se hacen disponibles al cliente 152, por ejemplo, se envían a e instalan en el dispositivo del usuario, por ejemplo, el UE 101 como los módulos 201,203, 207, 211, 213 y 215 y como la estructura de datos de PDV 209 y estructura de datos de vocabulario de contexto 217. Por lo tanto, la etapa 613 para proporcionar el proceso de cliente 152 en el UE 101 es un medio para hacer cualquiera o todas las etapas del cliente 200 descritas anteriormente. Por lo tanto, la etapa 613 incluye determinar una ubicación geográfica indicada por el funcionamiento de un dispositivo (UE 101), y determinar texto que describe una relación entre la ubicación geográfica y un primer usuario del dispositivo (UE 101), y determinar un nivel de privacidad para el texto.
En la etapa 615, se determinan los contactos de usuario y niveles de permisos. Por ejemplo, los contactos de usuario se envían por el servicio de suscripción 110a al servidor de PML 250 a través del servidor API 257. Basándose en círculos de amigos en un servicio de redes sociales o respuestas al área activa 572 en ventana 570 enviadas por el cliente de PML, se determina el nivel de permiso de cada contacto. En algunas realizaciones una persona no listada entre los contactos del usuario se considera un miembro del público y se permite que vea únicamente artículos de mapa con el nivel de privacidad público, por ejemplo, nivel 6.
En la etapa 617, se determina si se recibe una actualización de entrada de usuario, por ejemplo, si se recibe un mensaje con uno o más campos de estructura de datos 321. Por ejemplo, un mensaje de este tipo se envía por el cliente de PML 152 en la etapa 421, descrita anteriormente. Si es así, a continuación en la etapa 619 la entrada actualizada se almacena en estructura de datos de capa de mapa personal combinada 255. La información actualizada o bien sustituye datos en uno o más campos de un campo de artículo de mapa personal 330 ya asociado al usuario que envía el mensaje como se indica en el campo 323, o bien se añade como un nuevo campo de artículo de mapa personal 330. Por lo tanto, la etapa 617 incluye asociar el primer usuario del dispositivo (UE 101) al texto y la ubicación geográfica y el nivel de privacidad en la estructura de datos de PML combinada 255. La etapa 619 incluye determinar almacenar la asociación del primer usuario con el texto y la ubicación geográfica y el nivel de privacidad una estructura de datos común para acceso por una pluralidad de dispositivos de usuario.
Las etapas anteriores 611 a 619 se relacionan con la formación de la estructura de datos de PML combinada 255 para múltiples usuarios. Las siguientes etapas se relacionan con el uso de la PML en una o más aplicaciones, incluyendo uno o más aplicaciones no de mapas.
En la etapa 621, se recibe una petición para una entrada de usuario desde la estructura de datos de PML combinada 255. Por ejemplo, se recibe el mensaje de petición 350, descrito anteriormente. Por lo tanto, la etapa 621 incluye recibir una petición para una asociación entre el texto y la ubicación geográfica para el primer usuario.
Si se recibe una petición de este tipo, a continuación en la etapa 623 se autentica la entidad solicitante. Por ejemplo, se envían credenciales para el solicitante al servicio de AAA 251. En la etapa 625, se determina si se permite que el solicitante acceda a los artículos de mapa personal solicitados en campos 330 del usuario indicados en el campo 323. Por ejemplo, se determina si el solicitante es un contacto etiquetado como el usuario, la familia cercana, familia, amigo, otro contacto o no etiquetado (por lo tanto, un miembro del público general) y el nivel de privacidad del artículo solicitado. Por lo tanto, se determina si se permite que el solicitante vea el artículo de mapa personal; por ejemplo, se determina si un segundo usuario asociado a la petición tiene permiso para el nivel de privacidad asociado al texto. Si es así, a continuación en la etapa 627, los artículos de mapa personal solicitados o artículos se devuelven al solicitante, por ejemplo, a la aplicación 116. Por ejemplo, se devuelve una lista de etiquetas a presentarse, por ejemplo en el área 573, si el campo 355 o campo 357 está en blanco en la petición. Como alternativa, por ejemplo, los datos de mapa del campo 331 asociado a la etiqueta especificada en la petición se devuelven si el campo 355 y campo 357 mantienen información que indica la etiqueta personal. Por lo tanto, la etapa 627 incluye determinar enviar la asociación entre el texto y la ubicación geográfica, si el segundo usuario sí tiene permiso para el nivel de privacidad.
Si no se permite que el solicitante acceda al artículo de mapa personal solicitado, a continuación en la etapa 629 se solicita al usuario que añada al solicitante a una categoría diferente de contacto (por ejemplo, en el área activa 572), o cambie el nivel de privacidad del artículo (por ejemplo, en el área activa 535), o de otra manera permita que el solicitante reciba el artículo de mapa personal solicitado. Si no se cambia nada, se deniega al solicitante el artículo de mapa personal. Por lo tanto, la etapa 629 incluye determinar no enviar la asociación entre el texto y la ubicación geográfica, si el segundo usuario no tiene permiso para el nivel de privacidad. Si se hace un cambio para permitir al solicitante, a continuación el artículo de mapa personal solicitado o artículos se devuelven al solicitante.
En la etapa 631, se determina si tiene que registrarse otro usuario. Si es así, el control vuelve a la etapa 611 y siguientes para registrar ese usuario. En la etapa 633, se determina si se cumplen las condiciones finales para finalizar el servicio de PML, por ejemplo, para mantenimiento o cambio de equipo. Si es así, el proceso finaliza. De otra manera, el control vuelve a la etapa 617 y siguientes para procesar cualquier actualización o peticiones para información capa de mapa personal, como se describe anteriormente.
La Figura 7 es un diagrama de secuencia de tiempo 700 que muestra interacciones entre procesos para una capa de mapa personal compartida segura, de acuerdo a una realización. El tiempo aumenta hacia abajo en este diagrama. Cada uno de varios procesos se representa mediante una barra vertical etiquetada mediante una caja en la parte superior de la barra. Un mensaje enviado desde un proceso a otro se representa como una flecha horizontal desde el proceso de envío al proceso de recepción. Una etapa realizada dentro de un proceso se indica mediante una flecha que empieza y finaliza en la misma barra en una posición vertical que indica su secuencia temporal. Los procesos implicados en la secuencia 700 incluyen proceso 701 representan alguna combinación de un navegador 107 o la aplicación 116 en el UE 101, o un servicio de red no de mapas 110. Los otros procesos incluyen el cliente de PML 152 (tal como el cliente 200), el servicio de PML 150 (tal como el servidor 250), un servicio de AAA (tal como una red social u otro servicio de suscripción 110a) y el servicio de mapas 120.
Uno o más mensajes de usuario de registro 711 se envían desde el proceso 701 al servicio de PML, por ejemplo, en la etapa 611. En algunas realizaciones, los mensajes de usuario de registro se envían desde el servicio de AAA o un servicio de redes sociales 110a. En respuesta, uno o más mensajes 713 se envían al UE 101 para instalar el cliente de PML 152, por ejemplo, en la etapa 613 descrita anteriormente.
En el proceso 721, el cliente de PML 152 rastrea la posición y contexto, incluyendo tiempos de permanencia, del UE 101, por ejemplo, en las etapas 403 a 409 descritas anteriormente. Se determinan datos de mapa tal como ID de POI y trayectorias a lo largo de carreteras en uno o más mensajes 723 intercambiados a el servicio de mapas 120. En el proceso 725, se pide al usuario que etiquete una ubicación de mapa, POI o trayectoria, a una etiqueta personal, por ejemplo, en las etapas 411 a 419 descritas anteriormente, y actualice la estructura de datos de p Ml del usuario, por ejemplo, en la etapa 421. La actualización se envía en uno o más mensajes 727 al servicio de PML 150 para actualizar la PML combinada, por ejemplo, la estructura de datos de PML combinada 255. Este proceso se describe en el lado de cliente en la etapa 421 y en el lado de servidor en las etapas 617 y 619.
Posteriormente, en algunas realizaciones, se envían uno o más mensajes de petición 731 desde el navegador 107 o aplicación de UE 116 en el UE 101, o desde el servicio de red 110 o 120 al cliente de PML 152. En el proceso 733, el solicitante se autentica, por ejemplo, intercambiando uno o más mensajes de autenticación 735 a servicio de AAA 110a, y se envía un mensaje satisfactorio o no satisfactorio en uno o más mensajes de resultado de devolución 737. El proceso 733 se realiza, por ejemplo, en las etapas 425 a 431 descritas anteriormente.
De manera similar, en algunas realizaciones, uno o más mensajes de petición 741 se envían desde el navegador 107 o aplicación de UE 116 en el UE 101, o desde el servicio de red 110 o 120, al servidor de PML 150. En el proceso 743, el solicitante se autentica, por ejemplo, intercambiando uno o más mensajes de autenticación 745 a el servicio de AAA 110a; y se envía un resultado satisfactorio o no satisfactorio en uno o más mensajes de resultado de devolución 747. El proceso 743 se realiza, por ejemplo, en las etapas 621 a 629 descritas anteriormente.
Los procesos descritos en este documento para proporcionar una capa de mapa personal compartida segura pueden implementarse ventajosamente a través de software, hardware, firmware o una combinación de software y/o firmware y/o hardware. Por ejemplo, los procesos descritos en este documento pueden implementarse ventajosamente a través de procesador o procesadores, chip de Procesamiento de Señal Digital (DSP), un Circuito Integrado de Aplicación Específica (ASIC), Campo de Matrices de Puertas Programables (FPGA), etc. A continuación se detalla un hardware ilustrativo de este tipo para realizar las funciones descritas.
La Figura 8 ilustra un sistema informático 800 en el que puede implementarse una realización de la invención. Aunque el sistema informático 800 se representa con respecto a un dispositivo particular o equipo, se contempla que otros dispositivos o equipo (por ejemplo, elementos de red, servidores, etc.) dentro de la Figura 8 pueden desplegar el hardware ilustrado y componentes del sistema 800. El sistema informático 800 se programa (por ejemplo, a través de código de programa informático o instrucciones) para proporcionar una capa de mapa personal compartida segura como se describe en este documento e incluye un mecanismo de comunicación tal como un bus 810 para pasar información entre otros componentes internos y externos del sistema informático 800. Información (también llamada datos) se representa como una expresión física de un fenómeno medible, habitualmente tensiones eléctricas, pero incluyendo, en otras realizaciones, tales fenómenos como interacciones magnéticas, electromagnéticas, de presión, químicas, biológicas, moleculares, atómicas, subatómicas y cuánticas. Por ejemplo, campos magnéticos de norte y sur, o una tensión eléctrica de cero y distinta de cero, representan dos estados (0, 1) de un dígito binario (bit). Otros fenómenos pueden representar dígitos de una base mayor. Una superposición de múltiples y simultáneos estados cuánticos antes de medición representa un bit cuántico (cúbit). Una secuencia de uno o más dígitos constituye datos digitales que se usan para representar un número o código para un carácter. En algunas realizaciones, información llamada a lo largo de datos se representa mediante una continuidad cercana de valores medibles dentro de un intervalo particular. El sistema informático 800, o una porción del mismo, constituye un medio para realizar una o más etapas de provisión de una capa de mapa personal compartida segura.
Un bus 810 incluye uno o más conductores paralelos de información de modo que se transfiere información rápidamente entre dispositivos acoplados al bus 810. Uno o más procesadores 802 para procesar información se acoplan con el bus 810.
Un procesador (o múltiples procesadores) 802 realiza un conjunto de operaciones en información como se especifica por código de programa informático relacionado con la provisión de una capa de mapa personal compartida segura. El código de programa informático es un conjunto de instrucciones o sentencias que proporciona instrucciones para la operación del procesador y/o el sistema informático para realizar funciones especificadas. El código, por ejemplo, puede escribirse en un lenguaje de programación de ordenador que se compilar en un conjunto de instrucciones nativas del procesador. El código también puede escribirse directamente usando el conjunto de instrucciones nativas (por ejemplo, lenguaje de máquina). El conjunto de operaciones incluye traer información desde el bus 810 y colocar información en el bus 810. El conjunto de operaciones también incluye habitualmente comparar dos o más unidades de información, desplazar posiciones de unidades de información, y combinar dos o más unidades de información, tal como mediante operaciones de suma o multiplicación o lógicas como O, O exclusivo (XOR) e Y. Cada operación del conjunto de operaciones que puede realizarse por el procesador se representa al procesador mediante información llamada instrucciones, tal como un código de operación de uno o más dígitos. Una secuencia de operaciones a ejecutar por el procesador 802, tal como una secuencia de códigos de operación, constituye instrucciones de procesador, también llamadas instrucciones de sistema informático o, simplemente, instrucciones informáticas. Procesadores pueden implementarse como componentes mecánicos, eléctricos, magnéticos, ópticos, químicos o cuánticos, entre otros, solos o en combinación.
El sistema informático 800 también incluye una memoria 804 acoplada al bus 810. La memoria 804, tal como una memoria de acceso aleatorio (RAM) u otro dispositivo de almacenamiento dinámico, almacena información que incluye instrucciones de procesador para proporcionar una capa de mapa personal compartida segura. Memoria dinámica permite que información almacenada en la misma se cambie por el sistema informático 800. RAM permite que una unidad de información almacenada en una ubicación llamada una dirección de memoria se almacene y recupere independientemente de información en direcciones vecinas. La memoria 804 también se usa por el procesador 802 para almacenar valores temporales durante ejecución de instrucciones de procesador. El sistema informático 800 también incluye una memoria de sólo lectura (ROM) 806 u otro dispositivo de almacenamiento estático acoplado al bus 810 para almacenar información estática, incluyendo instrucciones, que no se cambia por el sistema informático 800. Alguna memoria se compone de almacenamiento volátil que pierde la información almacenada en la misma cuando se pierde potencia. También acoplada al bus 810 hay un dispositivo de almacenamiento (persistente) no volátil 808, tal como un disco magnético, disco óptico o tarjeta flash, para almacenar información, incluyendo instrucciones, que persiste incluso cuando el sistema informático 800 se apaga o de otra manera pierde potencia.
Información, incluyendo instrucciones para proporcionar una capa de mapa personal compartida segura proporcionando una capa de mapa personal compartida segura, se proporciona al bus 810 para su uso por el procesador desde un dispositivo de entrada externo 812, tal como un teclado que contiene teclas alfanuméricas operadas por un usuario humano, o un sensor. Un sensor detecta condiciones en su vecindad y transforma esas detecciones en expresión física compatible con el fenómeno medible usado para representar información en el sistema informático 800. Otros dispositivos externos acoplados al bus 810, usados esencialmente para interactuar con humanos, incluyen un dispositivo de visualización 814, tal como un tubo de rayos catódicos (CRT) o una pantalla de cristal líquido (LCD), o pantalla de plasma o impresora para presentar texto o imágenes, y un dispositivo apuntador 816, tal como un ratón o una bola de mando o teclas de dirección de cursor, o sensor de movimiento, para controlar una posición de una imagen de cursor pequeña presentada en el visualizador 814 y emitir órdenes asociadas a elementos gráficos presentados en el visualizador 814. En algunas realizaciones, por ejemplo, en las realizaciones en las que el sistema informático 800 realiza todas las funciones automáticamente sin entrada humana, se omite uno o más de dispositivo de entrada externos 812, dispositivo de visualización 814 y dispositivo apuntador 816.
En la realización ilustrada, hardware de fin especial, tal como un circuito integrado de aplicación específica (ASIC) 820, se acopla al bus 810. El hardware de fin especial se configura para realizar operaciones no realizadas por el procesador 802 lo suficientemente rápido para fines especiales. Ejemplos de IC de aplicación específicos incluyen tarjetas aceleradoras de gráficos para generar imágenes para el visualizador 814, placas criptográficas para cifrar y descifrar mensajes enviados a través de una red, reconocimiento de voz e interfaces a dispositivos externos especiales, tal como brazos robóticos y equipo de escaneo médico que realiza repetidamente alguna secuencia compleja de operaciones que se implementan de forma más eficiente en hardware.
El sistema informático 800 también incluye una o más instancias de una interfaz de comunicaciones 870 acoplada al bus 810. La interfaz de comunicación 870 proporciona un acoplamiento de comunicación uni o bidireccional a diversos dispositivos externos que operan con sus propios procesadores, tal como impresoras, escáneres y discos externos. En general el acoplamiento es con un enlace de red 878 que se conecta a una red local 880 a la que se conectan diversos dispositivos externos con sus propios procesadores. Por ejemplo, interfaz de comunicación 870 puede ser un puerto paralelo o un puerto en serie o un puerto de bus serial universal (USB) en un ordenador personal. En algunas realizaciones, la interfaz de comunicaciones 870 es una tarjeta de red digital de servicios integrados (ISDN) o una tarjeta de línea digital de abonado (DSL) o un módem telefónico que proporciona una conexión de comunicación de información a un tipo correspondiente de línea telefónica. En algunas realizaciones, una interfaz de comunicación 870 es un módem por cable que convierte señales en el bus 810 en señales para una conexión de comunicación a través de un cable coaxial o en señales ópticas para una conexión de comunicación a través de un cable de fibra óptica. Como otro ejemplo, la interfaz de comunicaciones 870 puede ser una tarjeta de red de área local (LAN) para proporcionar una conexión de comunicación de datos a una LAN compatible, tal como Ethernet. También pueden implementarse enlaces inalámbricos. Para enlaces inalámbricos, la interfaz de comunicaciones 870 envía o recibe o tanto envía como recibe señales eléctricas, acústicas o electromagnéticas, incluyendo señales infrarrojas y ópticas, que transportan flujos de información, tal como datos digitales. Por ejemplo, en dispositivos portátiles inalámbricos, tal como teléfonos móviles como teléfonos celulares, la interfaz de comunicaciones 870 incluye un transmisor y receptor electromagnético de banda de radio llamado un transceptor de radio. En ciertas realizaciones, la interfaz de comunicaciones 870 habilita conexión a la red de comunicación 105 para proporcionar una capa de mapa personal compartida segura al UE 101.
El término "medio legible por ordenador" como se usa en este documento se refiere a cualquier medio que participa en la provisión de información al procesador 802, incluyendo instrucciones para ejecución. Un medio de este tipo puede tomar muchas formas, incluyendo, pero sin limitación medio de almacenamiento legible por ordenador (por ejemplo, medios no volátiles, medios volátiles), y medios de transmisión. Medios no transitorios, tal como medios no volátiles, incluyen, por ejemplo, discos ópticos o magnéticos, tal como el dispositivo de almacenamiento 808. Medios volátiles incluyen, por ejemplo, la memoria dinámica 804. Medios de transmisión incluyen, por ejemplo, cables coaxiales, alambre de cobre, cables de fibra óptica y ondas portadoras que viajan a través de espacio sin alambres o cables, tal como ondas acústicas y ondas electromagnéticas, incluyendo ondas de radio, ópticas e infrarrojas. Señales incluyen variaciones transitorias artificiales en amplitud, frecuencia, fase, polarización y otras propiedades físicas transmitidas a través de los medios de transmisión. Formas comunes de medio legible por ordenador incluyen, por ejemplo, un disco flexible, un disco flexible, disco duro, cinta magnética, cualquier otro medio magnético, un CD-ROM, CDRW, DVD, cualquier otro medio óptico, tarjetas perforadas, cinta de papel, láminas de marcas ópticas, cualquier otro medio físico con patrones de agujeros u otro signo ópticamente reconocible, una RAM, una PROM, una EPROM, una FLASH-EPROM, cualquier otro chip o cartucho de memoria, una onda portadora, o cualquier otro medio del que puede leer un ordenador. La expresión medio de almacenamiento legible por ordenador se usa en este documento para referirse a cualquier medio legible por ordenador excepto medios de transmisión.
Lógica codificada en uno o más medios tangibles incluye uno o ambos de instrucciones de procesador en un medio de almacenamiento legible por ordenador y hardware de fin especial, tal como el ASIC 820.
El enlace de red 878 habitualmente proporciona comunicación de información que usa medios de transmisión a través de una o más redes a otros dispositivos que usan o procesan la información. Por ejemplo, el enlace de red 878 puede proporcionar una conexión a través de la red local 880 a un ordenador anfitrión 882 o al equipo 884 operado por un Proveedor de Servicio de Internet (ISP). El equipo de ISP 884 a su vez proporciona servicios de comunicación de datos a través de la red de comunicación con conmutación de paquetes mundial y pública de redes ahora denominadas comúnmente como la Internet 890.
Un ordenador llamado un anfitrión de servidor 892 conectado a la Internet aloja un proceso que proporciona un servicio en respuesta a información recibida a través de la Internet. Por ejemplo, el anfitrión de servidor 892 aloja un proceso que proporciona información que representa datos de video para presentación en el visualizador 814. Se contempla que los componentes del sistema 800 pueden desplegarse en diversas configuraciones dentro de otros sistemas informáticos, por ejemplo, anfitrión 882 y servidor 892.
Al menos algunas realizaciones de la invención se relacionan con el uso del sistema informático 800 para implementar algunas o todas las técnicas descritas en este documento. De acuerdo con una realización de la invención, esas técnicas se realizan por el sistema informático 800 en respuesta un procesador 802 que ejecuta una o más secuencias de una o más instrucciones de procesador contenidas en la memoria 804. Tales instrucciones, también llamadas instrucciones informáticas, software y código de programa, pueden leerse en la memoria 804 desde otro medio legible por ordenador tal como el dispositivo de almacenamiento 808 o el enlace de red 878. La ejecución de las secuencias de instrucciones contenidas en la memoria 804 provoca que el procesador 802 realice una o más de las etapas de método descritas en este documento. En realizaciones alternativas, puede usarse hardware, tal como el ASIC 820, en lugar de o en combinación con software para implementar la invención. Por lo tanto, realizaciones de la invención no se limitan a ninguna combinación específica de hardware y software, a no ser que se indique explícitamente de otra manera en este documento.
Las señales transmitidas a través del enlace de red 878 y otras redes a través de interfaz de comunicaciones 870, transportan información a y desde el sistema informático 800. El sistema informático 800 puede enviar y recibir información, incluyendo código de programa, a través de las redes 880, 890 entre otras, a través del enlace de red 878 y la interfaz de comunicaciones 870. En un ejemplo usando la Internet 890, un anfitrión de servidor 892 transmite código de programa para una aplicación particular, solicitada por un mensaje enviado desde el ordenador 800, a través de la Internet 890, equipo de ISP 884, red local 880 e interfaz de comunicaciones 870. El código recibido puede ejecutarse por el procesador 802 a medida que se recibe, o puede almacenarse en memoria 804 o en dispositivo de almacenamiento 808 u otro almacenamiento no volátil para posterior ejecución, o ambos. De esta manera, el sistema informático 800 puede obtener aplicación código de programa en forma de señales en una onda portadora.
Diversas formas de medio legible por ordenador pueden implicarse en transportar una o más secuencias de instrucciones o datos o ambos al procesador 802 para ejecución. Por ejemplo, instrucciones y datos pueden transportarse inicialmente en un disco magnético de un ordenador remoto tal como el anfitrión 882. El ordenador remoto carga las instrucciones y datos en su memoria dinámica y envía las instrucciones y datos a través de una línea telefónica usando un módem. Un módem local al sistema informático 800 recibe las instrucciones y datos en una línea telefónica y usa un retransmisor de infrarrojos para convertir las instrucciones y datos a una señal de una onda de portadora de infrarrojos que sirve como el enlace de red 878. Un detector de infrarrojos que sirve como la interfaz de comunicaciones 870 recibe las instrucciones y datos transportados en la señal de infrarrojos y coloca información que representa las instrucciones y datos en el bus 810. El bus 810 transporta la información a la memoria 804 desde la que el procesador 802 recupera y ejecuta las instrucciones usando algunos de los datos enviados con las instrucciones. Las instrucciones y datos recibidos en la memoria 804 pueden almacenarse opcionalmente en el dispositivo de almacenamiento 808, o bien antes o bien después de la ejecución por el procesador 802.
La Figura 9 ilustra un conjunto de chips o chip 900 en los que puede implementarse una realización de la invención. El conjunto de chips 900 se programa para proporcionar una capa de mapa personal compartida segura como se describe en este documento e incluye, por ejemplo, los componentes de procesador y memoria descritos con respecto a la Figura 8 incorporados en uno o más paquetes físicos (por ejemplo, chips). A modo de ejemplo, un paquete físico incluye una disposición de uno o más materiales, componentes y/o alambres en un conjunto estructural (por ejemplo, una placa base) para proporcionar una o más características tales como fuerza física, conservación de tamaño o limitación de iteración eléctrica. Se contempla que en ciertas realizaciones el conjunto de chips 900 puede implementarse en un único chip. Se contempla adicionalmente que en ciertas realizaciones el conjunto de chips o chip 900 puede implementarse como un único "sistema en un chip". Se contempla adicionalmente que en ciertas realizaciones no se usaría un ASIC separado, por ejemplo, y que todas las funciones relevantes según se divulgan en este documento se realizarían por un procesador o procesadores. El conjunto de chips o chip 900, o una porción del mismo, constituye un medio para realizar una o más etapas de provisión de información de navegación de interfaz de usuario asociada a la disponibilidad de funciones. El conjunto de chips o chip 900, o una porción del mismo, constituye un medio para realizar una o más etapas de provisión de una capa de mapa personal compartida segura.
En una realización, el conjunto de chips o chip 900 incluye un mecanismo de comunicación tal como a bus 901 para pasar información entre los componentes del conjunto de chips 900. Un procesador 903 tiene conectividad al bus 901 para ejecutar instrucciones y procesar información almacenada en, por ejemplo, una memoria 905. El procesador 903 puede incluir uno o más núcleos de procesamiento con cada núcleo configurado para funcionar independientemente. Un procesador de múltiples núcleos habilita multiprocesamiento dentro de un único paquete físico. Ejemplos de un procesador de múltiples núcleos incluyen dos, cuatro, ocho, o números mayores de núcleos de procesamiento. Como alternativa o además, el procesador 903 puede incluir uno o más microprocesadores configurados en tándem a través del bus 901 para habilitar ejecución independiente de instrucciones, canalización y multitratamiento. El procesador 903 también puede acompañarse con uno o más componentes especializados para realizar ciertas funciones y tareas de procesamiento tal como uno o más procesadores de señales digitales (DSP) 907, o uno o más circuitos integrados específicos de aplicación (ASIC) 909. Un DSP 907 habitualmente se configura para procesar señales del mundo real (por ejemplo, sonido) en tiempo real independientemente del procesador 903. De manera similar, un ASIC 909 puede configurarse para realizar funciones especializadas no realizadas fácilmente por un procesador de fin más general. Otros componentes especializados para ayudar en la realización de las funciones inventivas descritas en este documento pueden incluir uno o más campos de matrices de puertas programables (FPGA) (no mostrados), uno o más controladores (no mostrados), o uno o más otros chips de ordenador de fin especial.
En una realización, el conjunto de chips o chip 900 incluye meramente uno o más procesadores y algún software y/o firmware que soporta y/o se relaciona con y/o para el uno o más procesadores.
El procesador 903 y componentes adjuntos tienen conectividad con la memoria 905 a través del bus 901. La memoria 905 incluye tanto memoria dinámica (por ejemplo, RAM, disco magnético, disco óptico grabable, etc.) como memoria estática (por ejemplo, ROM, CD-ROM, etc.) para almacenar instrucciones ejecutables que cuando se ejecutan realizan las etapas inventivas descritas en este documento para proporcionar una capa de mapa personal compartida segura. La memoria 905 también almacena los datos asociados a o generados por la ejecución de las etapas inventivas.
La Figura 10 es un diagrama de componentes ilustrativos de un terminal móvil (por ejemplo, microteléfono) para comunicaciones, que es capaz de operar en el sistema de la Figura 1, de acuerdo con una realización. En algunas realizaciones, el terminal móvil 1001, o una porción del mismo, constituye un medio para realizar una o más etapas de provisión de una capa de mapa personal compartida segura. En general, un receptor de radio se define a menudo en términos de características de extremo frontal y trasero. El extremo frontal del receptor incluye toda la circuitería de Frecuencia de Radio (RF) mientras que el extremo trasero incluye toda la circuitería de procesamiento de banda base. Como se usa en esta solicitud, el término "circuitería" se refiere a tanto: (1) implementaciones únicamente de hardware (tal como implementaciones en únicamente circuitería analógica y/o digital), y (2) a combinaciones de circuitería y software (y/o firmware) (tal como, si es aplicable al contexto particular, a una combinación de procesador o procesadores, incluyendo procesador o procesadores de señales digitales, software y memorias) que trabajan juntos para provocar que un aparato, tal como un teléfono móvil o servidor, realice diversas funciones). Esta definición de "circuitería" se aplica a todos los usos de este término en esta solicitud, incluyendo en cualquier reivindicación. Como un ejemplo adicional, como se usa en esta solicitud y si es aplicable al contexto particular, el término "circuitería" cubriría también una implementación de meramente un procesador (o múltiples procesadores) y su (o sus) software o firmware adjunto. El término "circuitería" cubriría también si es aplicable al contexto particular, por ejemplo, un circuito integrado de banda base o circuito integrado de procesador de aplicaciones en un teléfono móvil o un circuito integrado similar en un dispositivo de red celular u otros dispositivos de red.
Componentes internos pertinentes del teléfono incluyen una Unidad Principal de Control (MCU) 1003, un Procesador de Señales Digitales (DSP) 1005, y una unidad receptora/transmisora que incluye una unidad de control de ganancia de micrófono y una unidad de control de ganancia de altavoz. Una unidad de visualización principal 1007 proporciona un visualizador al usuario en soporte de diversas aplicaciones y funciones de terminal móvil que realizan o soportan las etapas de provisión de una capa de mapa personal compartida segura. El visualizador 1007 incluye circuitería de visualización configurada para visualizar al menos una porción de una interfaz de usuario del terminal móvil (por ejemplo, teléfono móvil). Adicionalmente, el visualizador 1007 y circuitería de visualización se configuran para facilitar el control de usuario de al menos algunas funciones del terminal móvil. Una circuitería de función de audio 1009 incluye un micrófono 1011 y amplificador de micrófono que amplifica la salida de señal de voz del micrófono 1011. La salida de señal de voz amplificada del micrófono 1011 se alimenta en un codificador/decodificador (CODEC) 1013.
Una sección de radio 1015 amplifica potencia y convierte frecuencia para comunicar con una estación base, que se incluye en un sistema de comunicación móvil, a través de la antena 1017. El amplificador de potencia (PA) 1019 y la circuitería de transmisor/modulación son operacionalmente sensibles a la MCU 1003, con una salida desde el PA 1019 acoplado al duplexor 1021 o circulador o conmutador de antena, como se conoce en la técnica. El PA 1019 también se acopla a una interfaz de batería y unidad de control de potencia 1020.
En uso, un usuario de terminal móvil 1001 habla al micrófono 1011 y su voz junto con cualquier ruido de fondo detectado se convierte en una tensión analógica. La tensión analógica se convierte a continuación en una señal digital a través del Convertidor de Analógico a Digital (ADC) 1023. La unidad de control 1003 encamina la señal digital en el DSP 1005 para procesar en el mismo, tal como codificación de voz, codificación de canal, cifrado e intercalado. En una realización, las señales de voz procesadas se codifican, mediante unidades no mostradas separadamente, usando un protocolo de transmisión celular tal como evolución global (EDGE), servicio general de paquetes de radio (GPRS), sistema global para comunicaciones móviles (GSM), subsistema multimedia de protocolo de internet (IMS), sistema universal de telecomunicaciones móviles (UMTS), etc., así como cualquier otro medio inalámbrico adecuado, por ejemplo, acceso de microondas (WiMAX), Redes de Evolución a Largo Plazo (LTE), acceso múltiple por división de código (CDMA), acceso múltiple por división de código de banda ancha (WCDMA), fidelidad inalámbrica (WiFi), satélite y similares.
Las señales codificadas se encaminan a continuación a un ecualizador 1025 para compensación de cualquier deficiencia dependiente de frecuencia que se produzca durante transmisión a través del aire tal como distorsión de fase y amplitud. Después de ecualizar el flujo de bits, el modulador 1027 combina la señal con una señal de RF generada en la interfaz de RF 1029. El modulador 1027 genera una onda sinusoidal por medio de modulación de frecuencia o pase. Para preparar la señal para transmisión, un convertidor ascendente 1031 combina la salida de onda sinusoidal del modulador 1027 con otra onda sinusoidal generada por un sintetizador 1033 para conseguir la frecuencia deseada de transmisión. La señal se envía a continuación a través de un PA 1019 para aumentar la señal a un nivel de potencia apropiado. En sistemas prácticos, el PA 1019 actúa como un amplificador de ganancia variable cuya ganancia se controla por el DSP 1005 a partir de información recibida desde una estación base de red. La señal se filtra a continuación dentro del duplexor 1021 y opcionalmente se envía a un acoplador de antena 1035 para igualar impedancias para proporcionar máxima transferencia de potencia. Finalmente, la señal se transmite a través de antena 1017 a una estación base local. Un control automático de ganancia (AGC) puede suministrarse para controlar la ganancia de las etapas finales del receptor. Las señales pueden reenviarse desde ahí a un teléfono remoto que puede ser otro teléfono celular, otro teléfono móvil o una línea terrestre conectada Red Telefónica Pública Conmutada (PSTN), u otras redes telefónicas.
Señales de voz transmitidas al terminal móvil 1001 se reciben a través de antena 1017 y se amplifican inmediatamente por un amplificador de bajo ruido (LNA) 1037. Un convertidor descendente 1039 disminuye la frecuencia de portadora mientras el demodulador 1041 quita la RF dejando únicamente un flujo de bits digital. La señal a continuación va a través del ecualizador 1025 y se procesa por el DSP 1005. Un Convertidor de Digital a Analógico (DAC) 1043 convierte la señal y la salida resultante se transmite al usuario a través del altavoz 1045, todo bajo el control de una Unidad Principal de Control (MCU) 1003-que puede implementarse como una Unidad de Procesamiento Central (CPU) (no mostrada).
La MCU 1003 recibe diversas señales que incluyen señales de entrada desde el teclado 1047. El teclado 1047 y/o la MCU 1003 en combinación con otros componentes de entrada de usuario (por ejemplo, el micrófono 1011) comprenden una circuitería de interfaz de usuario para gestionar entrada de usuario. La MCU 1003 ejecuta un software de interfaz de usuario para facilitar el control de usuario de al menos algunas funciones del terminal móvil 1001 para proporcionar una capa de mapa personal compartida segura. La MCU 1003 también distribuye una orden de visualización y una orden de conmutación al visualizador 1007 y al controlador de conmutación de salida de voz, respectivamente. Además, la MCU 1003 intercambia información con el DSP 1005 y puede acceder a una tarjeta SIM 1049 opcionalmente incorporada y una memoria 1051. Además, la MCU 1003 ejecuta diversas funciones de control requeridas del terminal. El DSP 1005 puede, dependiendo de la implementación, realizar cualquiera de diversas funciones de procesamiento digitales convencionales en las señales de voz. Adicionalmente, el DSP 1005 determina el nivel de ruido de fondo del ambiente local desde las señales detectadas por el micrófono 1011 y establece la ganancia de micrófono 1011 a un nivel seleccionado para compensar la tendencia natural del usuario del terminal móvil 1001.
El CODEC 1013 incluye el ADC 1023 y DAC 1043. La memoria 1051 almacena diversos datos que incluyen todos los datos de tono entrantes y es capaz de almacenar otros datos que incluyen datos de música recibidos a través de, por ejemplo, la Internet global. El módulo de software podría residir en memoria RAM, memoria flash, registros o cualquier otra forma de medio de almacenamiento grabable conocido en la técnica. El dispositivo de memoria 1051 puede ser, pero sin limitación, una memoria única, CD, DVD, ROM, RAM, EEPROM, almacenamiento óptico o cualquier otro medio de almacenamiento no volátil capaz de almacenar datos digitales.
Una tarjeta SIM 1049 opcionalmente incorporada transporta, por ejemplo, información importante, tal como el número de teléfono celular, la operadora que suministra el servicio, detalles de suscripción e información de seguridad. La tarjeta SIM 1049 sirve esencialmente para identificar el terminal móvil 1001 en una red de radio. La tarjeta 1049 también contiene una memoria para almacenar un registro de números de teléfono personal, mensajes de texto y ajustes de terminal móvil específicos de usuario.
Mientras la invención se ha descrito en conexión con un número de realizaciones e implementaciones, la invención no se limita de esta forma, sino que cubre diversas modificaciones obvias y disposiciones equivalentes, que pertenecen al ámbito de las reivindicaciones adjuntas. Aunque características de la invención se expresan en ciertas combinaciones entre las reivindicaciones, se contempla que estas características pueden disponerse en cualquier combinación y orden.

Claims (15)

REIVINDICACIONES
1. Un aparato que comprende:
medios para determinar una ubicación geográfica asociada al menos al funcionamiento de un dispositivo; medios para determinar una indicación que describe una relación entre al menos la ubicación geográfica y al menos un primer usuario del dispositivo, en donde la relación se deriva a partir de historial de visitas rastreado del primer usuario a la ubicación geográfica que indica uno o más de: frecuencia de estancias; tiempo de permanencia; posición de permanencia; trayectoria seguida; o tiempo de estancia;
medios para determinar al menos un nivel de privacidad para la indicación; y
medios para asociar al menos el primer usuario del dispositivo a la indicación y la ubicación geográfica y el al menos un nivel de privacidad.
2. Un aparato de acuerdo con la reivindicación 1, en el que:
determinar la indicación comprende además determinar presentar un aviso que solicita la indicación del primer usuario; y
asociar el primer usuario del dispositivo a la indicación y la ubicación geográfica y el nivel de privacidad se basa al menos en parte en una respuesta recibida en respuesta a presentar el aviso.
3. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 2, en el que determinar la ubicación geográfica asociada al funcionamiento del dispositivo comprende además determinar al menos un tiempo y una duración de pausa en una vecindad de la ubicación geográfica basándose en un sistema de posicionamiento ubicado junto con el dispositivo.
4. Un aparato de acuerdo con una cualquiera de las reivindicaciones 2 a 3, en el que determinar presentar el aviso comprende además:
determinar un término de vocabulario de descripción personal basándose, al menos en parte, en la ubicación geográfica y un contexto para el dispositivo; y
determinar presentar el término de vocabulario de descripción personal.
5. Un aparato de acuerdo con una cualquiera de las reivindicaciones 2 a 4, en el que determinar presentar el aviso comprende además:
determinar una palabra de vocabulario de descripción personal basándose, al menos en parte, en un tipo de un punto de interés asociado a la ubicación geográfica en una base de datos de mapas; y determinar presentar el término de vocabulario de descripción personal.
6. Un aparato de acuerdo con una cualquiera de las reivindicaciones 4 a 5, en el que asociar el primer usuario a la indicación y la ubicación geográfica y el al menos un nivel de privacidad basándose en la respuesta comprende además asociar el primer usuario y la indicación y la ubicación geográfica y el al menos un nivel de privacidad al término de vocabulario de descripción personal.
7. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 6, en el que determinar el al menos un nivel de privacidad comprende además determinar al menos un nivel de privacidad sugerido basándose en la ubicación geográfica y un contexto para el dispositivo.
8. Un aparato de acuerdo con una cualquiera de las reivindicaciones 2 a 7, en el que determinar el al menos un nivel de privacidad comprende además determinar presentar el al menos un nivel de privacidad sugerido en el aviso.
9. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en el que el al menos un nivel de privacidad está asociado a al menos un círculo de contactos en al menos un servicio de redes sociales.
10. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 9, que comprende adicionalmente: medios para recibir al menos una petición para una asociación entre la indicación y la ubicación geográfica para el primer usuario;
medios para determinar si al menos un segundo usuario asociado a la petición tiene permiso para el al menos un nivel de privacidad asociado a la indicación;
medios para determinar no enviar la asociación entre la indicación y la ubicación geográfica, si el al menos segundo usuario no tiene permiso para el al menos un nivel de privacidad; y
medios para determinar enviar la asociación entre la indicación y la ubicación geográfica, si el al menos segundo usuario sí tiene permiso para el al menos un nivel de privacidad.
11. Un aparato de acuerdo con la reivindicación 10, en el que la petición indica la indicación y/o en el que la petición indica un término de vocabulario de descripción personal asociado a la indicación.
12. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 11, en el que el aparato es equipo de usuario que incorpora el dispositivo o es un servidor.
13. Un aparato de acuerdo con una cualquiera de las reivindicaciones 1 a 12, comprendiendo además medios para determinar almacenar la asociación del primer usuario con la indicación y la ubicación geográfica y el al menos un nivel de privacidad en al menos una estructura de datos común para acceso por parte de una pluralidad de dispositivos de usuario.
14. Un método que comprende:
determinar una ubicación geográfica asociada al menos al funcionamiento de un dispositivo;
determinar una indicación que describe una relación entre al menos la ubicación geográfica y al menos un primer usuario del dispositivo, en donde la relación se deriva a partir de historial de visitas rastreado del primer usuario a la ubicación geográfica que indica uno o más de: frecuencia de estancias; tiempo de permanencia; posición de permanencia; trayectoria seguida; o tiempo de estancia;
determinar al menos un nivel de privacidad para la indicación; y
asociar al menos el primer usuario del dispositivo a la indicación y la ubicación geográfica y al por lo menos un nivel de privacidad.
15. Un medio de almacenamiento legible por ordenador que transporta una o más secuencias de una o más instrucciones que, cuando son ejecutadas por uno o más procesadores, provocan que un aparato al menos realice un método de acuerdo con la reivindicación 14.
ES10855786T 2010-08-13 2010-08-13 Método y aparato para capa de mapa personal compartida segura Active ES2751111T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/075988 WO2012019365A1 (en) 2010-08-13 2010-08-13 Method and apparatus for secure shared personal map layer

Publications (1)

Publication Number Publication Date
ES2751111T3 true ES2751111T3 (es) 2020-03-30

Family

ID=45567293

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10855786T Active ES2751111T3 (es) 2010-08-13 2010-08-13 Método y aparato para capa de mapa personal compartida segura

Country Status (5)

Country Link
US (1) US9076009B2 (es)
EP (1) EP2604048B1 (es)
CN (1) CN103069849B (es)
ES (1) ES2751111T3 (es)
WO (1) WO2012019365A1 (es)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104695B1 (en) 2009-07-27 2015-08-11 Palantir Technologies, Inc. Geotagging structured data
JP2013054494A (ja) 2011-09-02 2013-03-21 Sony Corp 情報処理装置、情報処理方法、プログラム、記録媒体、及び情報処理システム
CN103891317B (zh) 2011-10-17 2017-11-28 诺基亚技术有限公司 用于与位置相关的个性化隐私推荐的自动方法
CN103368984B (zh) * 2012-03-27 2016-06-01 腾讯科技(深圳)有限公司 一种信息分享方法及系统
EP2650800A1 (en) * 2012-04-13 2013-10-16 Alcatel Lucent Method and device for controlling access of users to physical objects belonging to other users through social networks
WO2013192590A2 (en) * 2012-06-22 2013-12-27 Google Inc. Labeling visited locations based on contact information
KR20140021899A (ko) * 2012-08-13 2014-02-21 삼성전자주식회사 컨텐츠를 이동시키기 위한 방법 및 그 전자 장치
US9501507B1 (en) 2012-12-27 2016-11-22 Palantir Technologies Inc. Geo-temporal indexing and searching
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US9267805B2 (en) 2013-06-07 2016-02-23 Apple Inc. Modeling significant locations
WO2015035185A1 (en) 2013-09-06 2015-03-12 Apple Inc. Providing transit information
JP6177030B2 (ja) * 2013-07-04 2017-08-09 クラリオン株式会社 Poi情報提供システム、poi情報提供装置、poi情報提供方法、及びプログラム
US20150020209A1 (en) * 2013-07-09 2015-01-15 International Business Machines Corporation Auto-sharing of sensitive data
US9544721B2 (en) 2013-07-26 2017-01-10 Apple Inc. Address point data mining
US9769107B2 (en) 2013-11-01 2017-09-19 Apple Inc. Lifestyle-based social groups
CN104754507B (zh) * 2013-12-31 2020-07-07 北京三星通信技术研究有限公司 信息推送方法及装置
CN104811899B (zh) * 2014-01-23 2019-11-26 腾讯科技(深圳)有限公司 一种用户活动范围确定方法、装置及终端设备
US10015720B2 (en) 2014-03-14 2018-07-03 GoTenna, Inc. System and method for digital communication between computing devices
US9615202B2 (en) 2014-05-30 2017-04-04 Apple Inc. Determining a significant user location for providing location-based services
GB2531332B (en) 2014-10-17 2021-01-06 Nokia Technologies Oy Location identification
CN104410952B (zh) * 2014-10-30 2018-06-19 北京蚂蜂窝网络科技有限公司 一种用于获取用户感兴趣区域的系统
US10122723B1 (en) 2014-11-06 2018-11-06 Google Llc Supervised contact list for user accounts
US20160149775A1 (en) * 2014-11-23 2016-05-26 Dennis Cheung Determining physical location of a networked computing device
CN104581629B (zh) * 2014-12-16 2018-08-07 大唐移动通信设备有限公司 实现gis地理位置共享的方法及用户设备、服务器
EP3070622A1 (en) 2015-03-16 2016-09-21 Palantir Technologies, Inc. Interactive user interfaces for location-based data analysis
US9460175B1 (en) 2015-06-03 2016-10-04 Palantir Technologies Inc. Server implemented geographic information system with graphical interface
US10648823B2 (en) 2017-06-22 2020-05-12 Aeris Communications, Inc. Learning common routes and automatic geofencing in fleet management
US9774994B2 (en) 2015-08-14 2017-09-26 Aeris Communications, Inc. System and method for monitoring devices relative to a user defined geographic area
US10231084B2 (en) 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher
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
US10109094B2 (en) 2015-12-21 2018-10-23 Palantir Technologies Inc. Interface to index and display geospatial data
US10068199B1 (en) 2016-05-13 2018-09-04 Palantir Technologies Inc. System to catalogue tracking data
US10070261B2 (en) 2016-10-04 2018-09-04 Apple Inc. Harvesting labels for significant locations and updating a location fingerprint database using harvested labels
US10506373B2 (en) 2016-06-10 2019-12-10 Apple Inc. Harvesting labels for significant locations based on candidate points of interest and contextual data
US10739159B2 (en) 2016-06-10 2020-08-11 Apple Inc. Labeling a significant location based on contextual data
US10643185B2 (en) 2016-06-10 2020-05-05 Apple Inc. Suggested locations for calendar events
US9686357B1 (en) 2016-08-02 2017-06-20 Palantir Technologies Inc. Mapping content delivery
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
US11403686B1 (en) * 2016-12-29 2022-08-02 Wells Fargo Bank, N.A Systems and methods for identifying a steward
US10454892B2 (en) * 2017-02-21 2019-10-22 Bank Of America Corporation Determining security features for external quantum-level computing processing
US10447472B2 (en) 2017-02-21 2019-10-15 Bank Of America Corporation Block computing for information silo
US10579239B1 (en) 2017-03-23 2020-03-03 Palantir Technologies Inc. Systems and methods for production and display of dynamically linked slide presentations
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
KR20230012096A (ko) * 2017-04-27 2023-01-25 스냅 인코포레이티드 지리공간적 활동 메트릭들을 표시하는 지도-기반 그래픽 사용자 인터페이스
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
US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring location and activity of devices
US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices
US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices
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
US10365783B2 (en) * 2017-12-29 2019-07-30 Lyft, Inc. Optimizing transportation networks through dynamic user interfaces
US10579739B2 (en) * 2018-01-23 2020-03-03 Wipro Limited Method and system for identifying places of interest in a natural language input
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
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
CN108809990B (zh) * 2018-06-14 2021-06-29 北京中飞艾维航空科技有限公司 一种众包数据安全加密方法、服务器及存储介质
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
CN109410083A (zh) * 2018-11-20 2019-03-01 咪咕数字传媒有限公司 一种信息的共享方法、装置及存储介质
US11552957B2 (en) * 2019-07-02 2023-01-10 Microsoft Technology Licensing, Llc Resource access control with dynamic tag
CN111311784A (zh) * 2020-03-04 2020-06-19 深圳市物语智联科技有限公司 用户画像确定方法、装置、计算机设备及存储介质
CN111753195B (zh) * 2020-06-17 2024-01-09 百度在线网络技术(北京)有限公司 标签体系构建方法、装置、设备以及存储介质
US11337177B2 (en) 2020-09-23 2022-05-17 Glowstik, Inc. System and method for generating amorphous dynamic display icons

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046004B2 (en) * 2004-12-28 2011-10-25 Sharp Kabushiki Kaisha Mobile terminal with location notification
US20070032244A1 (en) * 2005-08-08 2007-02-08 Microsoft Corporation Group-centric location tagging for mobile devices
US8989778B2 (en) * 2006-06-01 2015-03-24 Green Dot Corporation Secure and private location sharing for location-aware mobile communication devices
US8050690B2 (en) * 2007-08-14 2011-11-01 Mpanion, Inc. Location based presence and privacy management
EP2289234A4 (en) 2008-07-09 2014-02-12 Loopt Inc SOCIAL NETWORKING SERVICES FOR MOBILE GEOLOCATION COMMUNICATION DEVICE
CN101346000B (zh) 2008-07-29 2011-06-29 方圆信通科技(北京)有限公司 基于gps和移动终端的提供本地移动地理信息服务的系统
US20100205242A1 (en) * 2009-02-12 2010-08-12 Garmin Ltd. Friend-finding system

Also Published As

Publication number Publication date
US20130254900A1 (en) 2013-09-26
EP2604048A4 (en) 2017-03-08
WO2012019365A1 (en) 2012-02-16
US9076009B2 (en) 2015-07-07
CN103069849A (zh) 2013-04-24
EP2604048B1 (en) 2019-09-25
CN103069849B (zh) 2016-06-22
EP2604048A1 (en) 2013-06-19

Similar Documents

Publication Publication Date Title
ES2751111T3 (es) Método y aparato para capa de mapa personal compartida segura
US11589691B2 (en) System and method for locational image processing
EP3628975B1 (en) Method and apparatus for pairing autonomous vehicles to share navigation-based content
ES2784148T3 (es) Método y aparato para proporcionar entorno virtual personalizado
US10111034B2 (en) System and method for sound wave triggered content
US10783275B1 (en) Electronic alerts for confidential content disclosures
US9135664B2 (en) Method and apparatus for granting rights for content on a network service
US9197618B2 (en) Method and apparatus for location-based authorization to access online user groups
ES2389927T3 (es) Selección y autorización remotas de una transmisión de contenidos multimedia agregados
CN103154994B (zh) 在地理社交网络系统中的动态地点可见性
US20120172050A1 (en) Method and apparatus for context based on spatial trails
ES2746297T3 (es) Método y aparato para sincronizar un sistema integrado con una pluralidad de dispositivos
US9892176B2 (en) Method and apparatus for providing a smart address finder
US10229138B2 (en) Method and apparatus for tagged deletion of user online history
US20150256569A1 (en) Method and apparatus for constructing latent social network models
KR102453145B1 (ko) 전자장치 및 그를 이용한 트랜잭션 수행 방법
Sheikh et al. Relarmy-A Location Based Alarm Reminder System for Mobile Application
Mathai et al. Location based mobile advertising framework for commuters
US20140194144A1 (en) Processing place markers