ES2751111T3 - Method and apparatus for secure shared personal map layer - Google Patents

Method and apparatus for secure shared personal map layer 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
Spanish (es)
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/en
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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (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.An apparatus comprising: means for determining a geographic location associated with at least one device operation; means for determining an indication that describes a relationship between at least the geographic location and at least one first user of the device, wherein the relationship is derived from the first user's tracked visit history to the geographic location indicating one or more of : frequency of stays; residence time; staying position; trajectory followed; or length of stay; means for determining at least one level of privacy for the indication; and means for associating at least the first user of the device to the indication and the geographical location and the at least one level of privacy.

Description

DESCRIPCIÓNDESCRIPTION

Método y aparato para capa de mapa personal compartida seguraMethod and apparatus for secure shared personal map layer

AntecedentesBackground

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.Service providers and device manufacturers (eg, wireless, cellular, etc.) are continually challenged to distribute value and convenience to customers, eg, by providing attractive network services. Widely popular network services include map services that provide services based on items indexed to a map, such as roads, railways, buildings, commercial establishments, easements, public services, and public facilities such as parks. Sample map services include direction and navigation services based on a user's past, current, or future position, for example, as entered on a keyboard or derived from a positioning system included in or otherwise located alongside with a user device. Another example map services include location-based storage and retrieval of information, such as geographic information systems. Some mapping services allow a user to post comments about a location, such as reviews of a concert at a particular location or food served at a particular restaurant, to be viewed on a public network or within a circle of social media contacts. The mapping services that can be provided, however, are limited by lack of information about the personal context of articles mapped with respect to a particular user. For example, while the map service knows that the address of a particular building is a school, the fact that the building is the school of a user's child is not usually known to the map server.

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.Document US 2008/070593 A1 refers to a location sharing network management process. The process determines the geographic location of a device and displays a map representation of the area around the device in a graphical user interface of the device. Overlays on the map the respective locations of one or more other trusted users on the network. A security component allows users to establish trustworthy relationships requiring mutual consent. Location information may be blocked between trusted users.

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. US 2009/047972 A1 relates to a method of providing location-based presence status and improving location privacy management in a mobile or social network environment. A user specifies their favorite locations and specifies names / categories to share for each location specified by user.

Algunas realizaciones de ejemploSome example embodiments

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.Therefore, there is a need for an approach to provide a personal map layer that indicates the personal context of one or more mapped articles for each of one or more users. Some of this personal information should be shared, such as the location of the user's office, while other information, such as the location of a school of a user's child, should not be shared, or shared only with a very close circle of trusted individuals. . Therefore, there is a need for an approach to some combination of a secure shared personal map layer.

La invención se define mediante las reivindicaciones independientes.The invention is defined by the independent claims.

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.According to an embodiment, a method comprises determining a geographical location. Geographical location is associated with the operation of a device. The method also comprises determining an indication, such as text, that describes a relationship between the geographic location and a first user of the device. The method further comprises determining a privacy level for the indication. The first user of the device is then associated with the indication and the geographical location and the level of privacy.

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.According to another embodiment, an apparatus comprises at least one processor, and at least one memory including, the at least one memory, and the computer program code configured to cause, with the at least one processor, at least in part, that the device determines a geographical location. The geographical location is indicated by the operation of a second device, which can be the same device or a different one. The apparatus is also caused to determine an indication describing a relationship between the geographic location and a first user of the second apparatus. Additionally, the device is caused to determine a privacy level for the indication. The apparatus is also caused to associate the first user of the device with the indication and the geographical location and the level of privacy, such as in a data structure.

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.According to another embodiment, a computer-readable storage medium carries one or more sequences of one or more instructions which, when executed by one or more processors, cause, at least in part, an apparatus to perform at least the steps of previous method.

De acuerdo con otra realización, un aparato comprende al menos medios para realizar etapas del método anterior. According to another embodiment, an apparatus comprises at least means for performing steps of the above method.

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.According to another embodiment, a computer program product that includes one or more sequences of one or more instructions which, when executed by one or more processors, cause an apparatus to at least perform the steps of the preceding method.

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.Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for effecting the invention. The invention is also capable of other and different embodiments, and its various details can be modified in various obvious aspects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be considered as illustrative in nature, and not restrictive.

Breve descripción de los dibujosBrief description of the drawings

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:Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings:

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;Figure 1 is a diagram of a system capable of providing a secure shared personal map layer, according to one embodiment;

la Figura 2A es un diagrama de componentes de un cliente de capa de mapa personal, de acuerdo con una realización;Figure 2A is a component diagram of a personal map layer client, in accordance with one embodiment;

la Figura 2B es un diagrama de componentes de un servidor de capa de mapa personal, de acuerdo con una realización;Figure 2B is a component diagram of a personal map layer server, according to one embodiment;

la Figura 3A es un diagrama de una estructura de datos de vocabulario de descripción personal, de acuerdo con una realización;Figure 3A is a diagram of a personal description vocabulary data structure, according to one embodiment;

la Figura 3B es un diagrama de una estructura de datos de capa de mapa personal, de acuerdo con una realización; Figure 3B is a diagram of a personal map layer data structure, according to one embodiment;

la Figura 3C es un diagrama de un mensaje de petición de capa de mapa personal, de acuerdo con una realización; Figure 3C is a diagram of a personal map layer request message, in accordance with one embodiment;

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;Figure 4 is a process flow diagram for a client of the personal map layer client process, according to one embodiment;

las Figuras 5A-5D son diagramas de interfaces de usuario utilizadas en los procesos de la Figura 4, de acuerdo con diversas realizaciones;Figures 5A-5D are diagrams of user interfaces used in the processes of Figure 4, according to various embodiments;

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;Figure 6 is a process flow diagram for a personal map layer service process, in accordance with one embodiment;

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;Figure 7 is a time sequence diagram showing interactions between processes for a secure shared personal map layer, according to one embodiment;

la Figura 8 es un diagrama de hardware que puede usarse para implementar una realización de la invención; Figure 8 is a hardware diagram that can be used to implement an embodiment of the invention;

la Figura 9 es un diagrama de un conjunto de chips que puede usarse para implementar una realización de la invención; yFigure 9 is a diagram of a chipset that can be used to implement an embodiment of the invention; 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.Figure 10 is a diagram of a mobile terminal (eg, handset) that can be used to implement an embodiment of the invention.

Descripción de algunas realizacionesDescription of some embodiments

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.Examples of a method, apparatus and software are disclosed to provide a secure shared personal map layer. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a complete understanding of the embodiments of the invention. However, it is evident to a person skilled in the art that the embodiments of the invention can be practiced without these specific details or with an equivalent arrangement. In other cases, well known structures and devices are shown in block diagram form to avoid unnecessary hindrance to the embodiments of the invention.

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.Although various embodiments are described with respect to mapping applications on a mobile terminal, it is contemplated that the approach described in this document can be used with other user equipment and other applications, such as messaging applications and social networking applications.

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.FIG. 1 is a diagram of a system 100 capable of providing a secure shared personal map layer, in accordance with one embodiment. User equipment (UE) 101 is capable of accessing one or more network services, such as such as subscription service 110a and service 110n among others as indicated by an ellipsis (hereinafter referred to as non-map network services 110) and one or more network map services 120 via a communication network 105 Subscription services typically include one or more subscriber profile data structure 112 that maintains information about subscribers. For example, in a paid or free social media subscription service, the subscriber profile data structure 112 includes data indicating information about the user, such as one or more credentials to identify the user (such as a username and password) and one or more user contacts. One or more functions of the non-map services can be used through an application programming interface (API) such as API 114a and API 114n. APIs are well known and widely used in the art.

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.One or more map services 120 are available, such as a navigation address service, a map display service, a commercial search service, or a geographic information systems (GIS) service, alone or in some combination. Map services 120 include map items such as location data for borders such as coastlines and state or country borders, location data for easements of passage such as roads and railways and ferries, or location data for points of interest (POI) such as parks and places of business and government buildings, or some combination, in one or more data structures, such as the illustrated POI 122 data structure. One or more of the network services, such as non-map network services 110, may use map services 120 through an API 124 for one or more map related functions.

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. However, the map services 120 are usually not aware of one or more relationships between the map items in the one or more data structures and one or more users, such as a UE 101 user. Therefore, for example , while the map services 120 include data indicating the locations of multiple banks in a region, the map services 120 are not aware of which bank the UE 101 user's personal bank and branch is. It inhibits from operating the UE 101 to indicate such simple concepts as: receiving directions to "my bank"; or find a phone number for "my bank"; or send data indicating "my bank" to a user contact. Instead, the user is often forced to identify the bank to the map services 120 using objective identifiers, such as bank name and street and city and state and country, or some combination whenever the user wishes to indicate the bank. of the user. This is a waste of time and computation resources in UE 101 or bandwidth in communication network 105 or computation resources in a host of map services 120, or some combination. In some services, the user can tag or comment on a map article; however, the publication is public, at least to subscribers of a subscription service such as the 110a subscription service. Therefore, the user refrains from labeling a bank as the user's own bank or bank branch to avoid exposing such confidential information to a large segment of subscribers or to the general public.

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.To address this problem, a system 100 of Figure 1 introduces the ability to provide a secure personal map layer. The system introduces a personal map layer client 152 into Ue 101 or a service personal map layer 150 in a remote device, or both, to securely determine map items with which the user of UE 101 has a relationship personal. The relationship is stored for future secure use in one or more data structures, such as the personal map layer data structure 154. The personal map layer service 150 or client 152, or both, are further configured to allow that the user shares personal relationship information with the same or different services of one or more other users who have permission to share that personal relationship information. Additionally, by relating the social network of a user described through the ontology of people, and relating location with semantic representation, one can build highly intelligent systems with broad knowledge through reasoning.

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. As shown in Figure 1, system 100 comprises user equipment (UE) 101 having connectivity to non-map network services 110, map services 120, and personal map layer service (PML) 150 through a communication network 105. By way of example, the communication network 105 of system 100 includes one or more networks such as a data network (not shown), a wireless network (not shown), a telephony network (not shown ) or any combination thereof. It is contemplated that the data network may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), a public data network (for example, the Internet), wireless network of short range, or any other suitable packet-switched network, such as a proprietary commercial packet-switched network, for example, a proprietary cable or fiber optic network or any combination thereof. In addition, the wireless network may be, for example, a cellular network and may employ various technologies including Global Evolution Enhanced Data Rates (EDGE), General Radio Packet Service (GPRS), Global System for Mobile Communications (GSM), Internet Protocol Multimedia Subsystem (IMS), Universal Mobile Telecommunications System (UMTS), etc., as well as any other suitable wireless means, for example, global microwave access interoperability (WiMAX), long-term evolution networks ( LTE), Code Division Multiple Access (CDMA), Broadband Code Division Multiple Access (WCd Ma), Wireless Fidelity (WiFi), Wireless LAN (WLAN), Bluetooth®, Internet Protocol Data Broadcast ( IP), satellite, mobile ad-hoc network (MANET) and the like or any combination thereof.

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.).The UE 101 is any type of mobile terminal, fixed terminal or portable terminal that includes a mobile handset, station, unit, device, multimedia computer, multimedia tablet, Internet node, communicator, desktop computer, laptop computer, handheld computer, microcomputer, tablet computer, Digital Assistants Personal (PDA), audio / video player, digital camera / camcorder, positioning device, television receiver, radio broadcast receiver, e-book device, gaming device, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. It is also contemplated that the UE 101 can support any type of user interface (such as "wearable" circuitry, 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).By way of example, the UE 101 and network services 110, 120 and 150 communicate with each other and other components of the communication network 105 using well-known, new or still under development protocols. In this context, a protocol includes a set of rules that define how network nodes interact with each other within communication network 105 based on information sent over communication links. The protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link to transfer those signals, to the information format indicated by those signals, to identifying which software application to use. running on a computer system sends or receives the information. The conceptually different layers of protocols for exchanging information across a network are described in the Open Systems Interconnection Reference Model (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.Communications between network nodes are typically affected by the exchange of discrete data packets. Each packet typically comprises (1) header information associated with a particular protocol, and (2) payload information that follows the header information and contains information that can be processed independently of that particular protocol. In some protocols, the packet includes (3) queue information that follows the payload and indicates the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different upper layer of the OSI Reference Model. The heading for a particular protocol usually indicates a type for the next protocol contained in its payload. The upper layer protocol is said to be encapsulated in a lower layer protocol. The headers included in a packet spanning multiple heterogeneous networks, such as the internet, typically include a physical header (layer 1), a data link header (layer 2), an internetwork header (layer 3), and a header (layer) 4) transport, and various application headers (layer 5, layer 6 and layer 7) as defined by the OSI Reference Model.

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.Processes that run on multiple devices often communicate using the widely known and used network communication client server model. According to the client server model, a client process sends a message that includes a request for a server process, and the server process responds by providing a service. The server process can also return a message with a response to the client process. Often the client process and server process run on different computing devices, called hosts, and communicate over a network using one or more protocols for network communications. The term "server" is conventionally used to refer to the process that provides the service, or the host on which the process operates. Similarly, the term "client" is conventionally used to refer to the process making the request, or the host on which the process operates. As used in this document, the terms "client" and "server" refer to processes, rather than hosts, unless otherwise clear from the context. Furthermore, the process performed by a server can be divided to run as multiple processes on multiple hosts (sometimes called tiers) for reasons including reliability, scalability, and redundancy, among others. Similarly, a client process can be downloaded and run on small portions of a cloud of client portions distributed across network 105. A well-known client process available on most nodes connected to a communication network is a Global Computer Network client (called a "web browser", or simply "browser") that interacts through messages formatted according to the Hypertext Transfer Protocol (HTTP) with any of a large number of servers called Network servers World Computing (WWW) provided by web pages.

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. In the illustrated embodiment, the UE 101 includes a browser 107 and an application 116 and a context engine 103 in addition to the personal map layer client 152. The context engine 103 determines the local context of the UE 101 and any user thereof, such as local time, geographic position from a positioning system, ambient temperature, pressures, sound and light, and applications currently running on UE 101, content currently being displayed on UE 101, and user input via a user interface (UI), alone or in some combination. In some embodiments, application 116 is a client for at least one of network services 110 or 120. In some embodiments, application 116 is a routine distributed through browser 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. Although data processes and structures are depicted in Figure 1 as integral blocks arranged at particular nodes connected to communication network 105 for illustration purposes, in other embodiments, one or more data processes or structures or portions thereof are arranged in a different order on the same or different nodes or data structures, including one or more databases, connected to the communication network 105. For example, in various other embodiments including cloud computing embodiments, one or more of the context engine 103, browser 107, personal map layer client 152, and application client 116 processes, or portions thereof, run in whole or in part on one or more nodes of the communication network 105 UE 101 remote.

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.Figure 2A is a component diagram of a personal map layer client 200 in accordance with one embodiment. The PML 200 client is a particular embodiment of the PML 152 client. By way of example, the PML 200 client includes one or more components to provide a shared and secure personal map layer. It is contemplated that the functions of these components may be combined into one or more components or performed by other components of equivalent functionality in the UE 101 or some other node connected to the network 105. In this embodiment, the PML 200 client includes a module for user interface 201, a personal layer engine 203 with a personal map layer (PML) data structure 205, a personal description vocabulary interface (PDV) module 207 with a personal description vocabulary data structure 209 (PDV), an API module 211, a map interface module 213, and a context parser module 215 with a context vocabulary data structure 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.User interface module 201 presents data, such as prompts, to a user of the device, such as UE 101. In some embodiments, user interface module 201 is a generator of HTML statements and forms that are presented to the user at via browser 107. In some embodiments, user interface module 201 interacts with a user interface of another application in UE 101, such as an application user interface 116. In some embodiments, U i 201 module it operates on a portion of the user interface through an operating system on 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.The Personal Layer Engine (PLE) 203 controls information from various sources to build, maintain and use the Personal Map Layer (PML) data structure 205 which is described in more detail below with reference to Figure 3B. The PML associates a map article, such as coordinates of a position or a multi-position path or a point of interest (POI), with a description determined by a user, for example, a user of 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.In some embodiments, the PLE 203 also uses the PML 205 data structure to associate a privacy level with the determined user description. For example, PLE 203 first creates different layers that vary in user-defined description details (for example, based on the personal description vocabulary, PDV, described below) and associates a privacy level that indicates one or more kinds of obfuscation of information. The maximum privacy level describes an overall overview of personal user space such as "My home", "My office" etc. while the next layer will contain more confidential information such as "My son's school", "My Hospital", "My shopping area", "My wife's favorite restaurant", "My parents' house" etc. Since there are semantics attached to POV descriptions, PLE 203 can associate a more confidential level of privacy with certain highly personal contacts. For example, a highly confidential level of privacy is automatically associated with the contact terms of p Dv "My wife" and "My daughter" compared to other confidential privacy levels automatically associated with other contacts, such as "My colleague" . In some embodiments, the privacy level is associated with a circle of contacts on a social networking service. Different levels of privacy are useful for preserving privacy when PML information is shared between different users and different applications.

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). In the illustrated embodiment, the PML 205 data structure is a common data store local to the device. The data storage can synchronize itself based on user account information with a remote PML service 150 with the remote PML data structure 154. Having common storage also allows other applications to access and use the data. (with user permission).

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.The PDV interface module 207 uses information in the Personal Description Vocabulary (PDV) data structure 209 which is described in more detail below with reference to Figure 3A. The PDV 209 data structure contains descriptions of map items in personal and user-friendly vocabulary. For example, a hospital may have a POS entry such as "My Nearby Hospital". In some embodiments, the appropriate vocabulary terms to present in association with a map location are inferred based on a primary inference, such as the location of the user's home, after that primary reference location is determined. Once a description has been obtained from the PDV 209 data structure by the PDV 207 interface, the description is then displayed to the user through the UI 201 interface. The user can select one of the descriptions Suggested for that place such as My nearby hospital, My workplace, My home, My shopping area, My son's school etc. As an alternative, or in addition, the user can also provide their own description, such as adding "for my father-in-law" to the POS for "My nearby hospital". Using the terms provided by the POS system also helps in attaching semantic meaning to those descriptions as understood by the system. This helps correlate descriptions on personal map layers for multiple users or multiple applications, or both. The POS also includes terms for people in the user's contact lists (with fixed semantics) such as "My father", "My wife", "My daughter", "My work colleague" 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. API module 211 processes information requests from other processes on the same UE 101 or another device in communication with communication network 105. Map interface module 213 interacts with one or more map services 120, for example, by exchanging messages with API 124 map services.

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.Context analyzer 215 interacts with context engine 103 to obtain context at UE 101 and expresses context using context vocabulary in context vocabulary data structure 217. In various embodiments, a context vocabulary is developed that identifies words and topics related to consumer contexts. Any method known in the art can be used to generate the context and topology vocabulary. In some embodiments, context vocabulary is defined based on output from context engine 103, which reflects any context that can be inferred from the device side, such as user location, current activity, mode of transportation (by car, in bus, driving, etc.), relationships (social contacts). For example, based on spatial inferences, such as determining user locations where concentration of user movements have been observed, the analyzer retrieves data from the map POI data structure 122. In some embodiments, call logs or services from social network are extracted for context information. For example, based on call logs, you can determine certain social relationships that exist between the user and some contacts in the user's contact list. For example, the user may be asked through user interface module 201 to enter certain people in the contact database based on terms in the POS such as "My father", etc. Similarly, based on dwell times, certain relationships that exist between the subscriber and some locations can be determined, such as a particular frequent overnight location has a certain probability of being the subscriber's home.

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.FIG. 2B is a component diagram of a personal map layer server 250, in accordance with one embodiment. The PML 250 server is an example embodiment of the PML 150 service. By way of example, the PML 250 server includes one or more components to provide a shared and secure personal map layer. It is contemplated that the functions of these components may be combined into one or more components or performed by other components of equivalent functionality in server host 150 or some other node connected to network 105. In this embodiment, PML server 250 includes a Authentication, Authorization and Accounting (AAA) service 251, a personal layer access management module 253 that maintains a data structure 255 of combined personal map layers, and an API 257. The illustrated embodiment of the PML 250 server also includes the context vocabulary data structure 217 and PDV data structure 209 described above for the PML 200 client.

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.The AAA 251 service is used to identify a user to determine if that user is allowed to view another user's personal map layer. Any AAA service known in the art can be used. In an illustrated embodiment, a subscription service 110a, such as a social networking service, is used to identify a user. For example, user credentials, such as a username and password, are passed to the API 114a subscription service and a results message is received indicating whether that user authenticates, that is, whether that user is actually the indicated entity. Similarly, in some embodiments, permission levels of other users are determined from the AAA 251 service, such as the user's contacts in various circles of friends of the social network service.

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.The personal layer access manager 253 controls the interaction between various components of the PML 250 server. For example, the personal layer access manager 253 adds and retrieves entries for the personal map layer to the polled PML data structure 255 , identifies a user and a requester using the AAA 251 service, and provides the PML client 200 and context vocabulary data structure 217 and PDV data structure 209 to the UE 101. The functions of the personal layer access manager 253 are accessed by other applications, such as other network services 110, through API module 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.Personal map layer data from multiple users is entered into a common data warehouse. The combined PML data structure 255 maintains entries for the PMLs of multiple users, so that the PML information can be shared across multiple applications and network services.

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.The API module 257 processes requests for information from other processes in the same UE 101 or another device in communication with the communication network 105, such as other user devices and other network services 110 or map service 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.Figure 3A is a diagram of a personal description vocabulary data structure 300, according to one embodiment. While data, field, and message structures are depicted in Figure 3A, Figure 3B, and Figure 3C as integral blocks arranged in a particular order for illustration purposes, in other embodiments, one or more data or field or message structures, or portions thereof, are divided into various messages or various data structures or databases in one or more nodes connected to network 105, or some combination.

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.The PDV 300 data structure comprises one or more vocabulary entries such as vocabulary entry 301 and others indicated by an ellipsis. Each vocabulary entry 301 includes a semantic token field 303 and a context token field 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.The semantic token field 303 maintains data that represents a useful standard language concept for tagging locations in map applications. As used in this document, a token is a data structure that is capable of holding the desired information, such as a vector of semantic concepts. For example, In some embodiments, the standard labels include such terms as home, work, college, bank, grocery store, restaurant, clothing store. In some embodiments, the concepts include personal relationships, such as myself, wife, friend, colleague, known relative, in-laws, mother, father, parent, son, daughter, son, etc. Such semantic tokens are well known in the art and, in some embodiments, include hierarchical relationships between concepts. For example, a relative concept is at a high level of the hierarchy and includes concepts such as parent, child, uncle, aunt, brother, nephew, etc. One or more of these in turn includes one or more other concepts at lower levels of the hierarchy. For example, the concept of son includes son, daughter, grandson, granddaughter, etc. Similarly, map concepts can also be hierarchical in some embodiments. For example, the concept of bank includes the concept of bank branch. In some embodiments, each token includes synonyms for the concept (such as the terms "store" and "trade" for the same concept), including words in different languages that represent the same concept.

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.Context token field 311 maintains data indicating a context associated with the semantic token. Context includes location, nearby points of interest, time and duration of stay, and applications in progress in UE 101. Context token 311 is used to suggest one or more semantic token tags for a map item to a user. For example, the concept of "home" is associated with residential addresses and night times on most days of the month or year and such applications as games and videos. The concept of "work" is associated with non-residential and non-recreational locations, work hours on weekdays, and applications such as email and phone calls to work colleagues or word processors or spreadsheets. A context token is an array of values that correspond to context parameters. Accordingly, in the illustrated embodiment, context token field 311 includes a map point of interest (POI) type field 313, a time and duration field 315, and an application type execution field 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.The POI type field 313 maintains data indicating the types of map POIs that are at or near the location that is labeled as in the semantic token field 303, such as shopping center, park, train station, etc. For semantic tokens related to personal relationships, such as myself, mother, father etc., the POI type field can be empty. The time and duration field 315 maintains data indicating which days of the year or day of the week or durations or number of occurrences are associated with the label in the semantic token field 303. The application type runtime field 317 maintains data that indicate types of applications (such as email, voice call, text, video, audio, game, social network website, news website, word processors and spreadsheets, among others) that are associated with the tag in semantic token field 303. In some embodiments, the application type runtime field 317 also includes data indicating the circle of friends in a social media service that is associated with the tag.

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. FIG. 3B is a diagram of a personal map layer data structure 320, according to one embodiment. The PML 320 data structure comprises one or more user inputs such as user input 321 and others indicated by ellipses. Each user entry 321 includes a user identifier (ID) field 323, and one or more personal map item fields 330 and others indicated by ellipses, collectively referred to as personal map item fields 330 hereinafter.

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.Each personal map item field 330 includes a map data field 331, a PDV field 333, a user text field 335, a privacy level field 337, and a user history field 339. At various times one or more of the fields in a personal map item field 330 may be empty or omitted.

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).Map data field 331 maintains data indicating a map feature in map service 120, such as a location, a multi-location path (for example, a route from home to work), or a POI identifier (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. The PDV 333 field maintains data indicating one of the personal description vocabulary terms, such as a semantic token 303 of the PDV 300. The PDV 333 field is an exemplary means of achieving the advantage of using a standard vocabulary for tag a personal map item so that applications can retrieve map information based on standard vocabulary, such as a particular user's home, work, or school. User text field 335 maintains text provided by a user in response to a prompt, as described in more detail below. Text field 335 is an example means of achieving the advantage of customizing a label to the specific wishes of a user. Together, the data in the PDV field 333 and the user text field 335 constitute a personal map tag field 334. The personal map tag fields 334 are an exemplary means of achieving the advantage of allowing a user or user contact identify a map item by its relationship with the user or contact. Therefore, a user can refer to another user's home (for example, a contact) without knowing more about the location of the home.

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.Privacy level field 337 maintains data indicating a level of privacy. Any scale of privacy can be used. For example, a privacy level 1 indicates that only the user can retrieve the data associated with personal map article 330, a level 2 indicates that an immediate family member (parent, wife, child) can retrieve the information, a level 3 indicates any family member, a level 4 indicates any friend on a social networking service, a level 5 indicates any contact on a phone or email and a level 6 indicates the general public. In some embodiments, a default level is assumed, for example level 3 for any personal map item 330, unless overridden by the user identified in user ID field 323, for example, using a user interface. user described below with reference to Figure 5B. A privacy level N allows all persons associated with privacy levels 1 to N to access the associated personal map item 330. Privacy level field 337 is an exemplary means of achieving the advantage of securely sharing personal map layer information.

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. The user history field 339 maintains data that indicates the user context when the user was at the location indicated by the map data field 331, including the time, duration, frequency, and running applications. This information helps the system to recommend a POS tag based on the user history when the user is asked to provide information for field 333 and field 335, as described below with reference to Figure 4. Therefore, the user history field 339 and context token field 311 are exemplary means to provide the advantage of suggesting a POS label to a user when the user is asked for a personal map label 334 to associate with map data 331. In some embodiments, user history field 339 maintains data indicating one or more context tokens 311 that describe the user or UE context when it is in, or in the vicinity of, the map article indicated in field 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.Therefore, user input field 321 associates the first device user identified in field 323 with the text and geographic location and privacy level included in personal map item field 330. The input field of User 321 is an exemplary means of achieving the advantage of associating a personal map layer to one or more locations or POIs or paths of a map service.

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.FIG. 3C is a diagram of a personal map layer request message 350, in accordance with one embodiment. Message 350 includes a requestor identifier (ID) field, a user ID field 353, a PDV field 355, and a user text field 357. Depending on the type of the request, one or more of the request fields. request message 350 can be empty or skipped. Requester ID field 351 maintains data indicating an entity known to the AAA service 251, including any useful credentials to authenticate the entity, such as the username and password of a subscriber to the subscription service 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. User ID field 353 maintains data indicating a user whose PML 205 (or 255) data structure has to be examined. In some embodiments, fields 351 and 353 support a request for a list of all tags in the PML for the user identified in field 353. A list is provided based on the requestor's permission level and the item's privacy level. of personal map. Based on the list, one of the tagged map items can be selected and requested by their tag using fields 355 or 357 or both.

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. PDV field 355 and user text field 357 maintain data indicating a particular personal map tag 334 that is being requested. The map data associated with that tag is returned to the requester, if the requester has permission to view personal map items from the privacy level of the requested map item.

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.FIG. 4 is a flow diagram of a process 400 for a client of the personal map layer client process, in accordance with one embodiment. In one embodiment, the personal layer engine 203 of the personal map layer client 200 performs process 400 and is implemented in, for example, a chipset that includes a processor and memory as shown in Figure 9 or in a mobile terminal as shown in Figure 10. In some embodiments, one or more stages or portions thereof are performed by other client components 200 or by nodes in communication with network 105. Although stages are depicted in Figure 4 and in Figure 6 as integral blocks in a particular order for illustration purposes, in other embodiments, one or more stages, or portions thereof, are performed in a different order, or overlapping in time, in series or in parallel, or one or more stages or portions thereof are omitted, or one or more stages are added, or the method is changed in some combination of ways.

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.In step 401, the user identification (ID) and user contacts are determined. Either method can be used to determine the user ID and user contacts. For example, in some embodiments, the user is prompted for this information and user responses are recorded. In some embodiments, the user ID or contacts or both are provided by a remote service, either in response to a query or without being requested. In some embodiments, the personal map layer client 152 is installed from the personal map layer service 150 in response to a request by a subscription service 110a that provides the user ID and contacts from the profile data structure of subscribers 112. In some embodiments, client 152 monitors user activity at UE 101 and detects login to a social networking service, such as subscription service 110a. In response to login detection, client 152 records the user ID for the social networking service, and any credentials used. Client 152 then requests the user contacts of the social media service through API 114, either directly, or indirectly through the personal map layer service 150. In some embodiments, the user is asked to associate contacts with a semantic witness relationship, such as mother, brother, daughter, wife, colleague, classmate, 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).In step 403, device locations, times, dwell durations, and trajectories are determined. For example, a user types a location address or associated coordinates and time or duration. In some In embodiments, a global positioning system co-located near or within UE 101 is tracked to determine position history. Therefore, determining the indicated geographical location by operation of the device further comprises determining the time and duration of pause in a vicinity of the geographical location based on a positioning system located in conjunction with the device. In some embodiments, the context engine performs part or all of step 403. In some embodiments, the PML client 152 interrogates the context engine 103 for current position and derives dwell times and paths from the returned positions and the time current. In some embodiments, step 403 includes deducing the home context or office context for a position based on duration and dwell time timing. A dwell time is a time interval during which the UE 101 is relatively stationary, for example, it moves less than about 100 meters for more than a few minutes. An average position during the dwell time is called a dwell position. Therefore, step 403 includes determining a geographic location indicated by the operation of a device (eg, 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.In step 405, a POI associated with a position is determined during a dwell time, if any, for example by sending a query with the dwell position to map service 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.In step 407, the rest of the context for the user device is determined, for example, by requesting a context token from the context engine 103. Step 407 includes determining the applications currently running on the user device (eg example, UE 101) and contacts currently communicating with the user through the user device. In step 409, part or all of the context token is stored in the user history field 339 of the 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.In step 411, it is determined whether the user is writing down a position. For example, it is determined whether the user has selected a position on a display provided by a map service and indicated via a user interface that a label has to be affixed, as described in more detail below with reference to Figure. 5A and Figure 5B. If so, then in step 417 the user is asked to tag the location with a POS term and subjective text, as described in more detail below. If not, then in step 413, it is determined whether enough statistics have been accumulated in the user history to deduce a location of obvious interest to the user. For example, after a month spending evenings predominantly in one place and business days predominantly in another, the two places are probably home and work and the user should be asked to label them if they have not already labeled them, so that the control go to step 415. If sufficient statistics are not available, for example, during the first two weeks of operation of the user device (for example, UE 101), when the user could be on vacation, control returns to step 403 and next steps to continue tracking device positions and associated contexts.

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.Figures 5A-5D are diagrams of user interfaces used in the processes of Figure 4, according to various embodiments. FIG. 5A is a diagram illustrating a 501 client graphical user interface (GUI) for a mapping application, for example, application 116 in UE 101 or browser 107 that interacts with mapping service 120, according to an embodiment. GUI 501 includes one or more active areas in which a user selection is detected to determine user input, as is well known in the art. For example, user input is determined based on the positioning of a pointing device, such as a controller for a cursor and a key to indicate a selection, or a touch screen. GUI 501 includes a map portion area 520 that represents a portion of a map. The map portion includes highways 522, points of interest (POI) 534a, 524b, 524c, among others, collectively referred to as POI 524 hereinafter. A pointer 511 indicates a selected position in map portion area 520. The GUI it also includes buttons 513a and 513b (collectively referred to hereafter as buttons 513) which are active areas that perform a particular function indicated by a button label upon selection by a user. For example, in response to a one-touch detection on button 513a, the map portion in the map area is enlarged to expand distances. Similarly, in response to a one-touch detection on button 513b, the map portion in the map area is reduced to reduce distances.

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.At step 415, a POV and privacy level are suggested for one or more positions of obvious interest deduced from the user history. For example, based on a month of position tracking and other contextual information, it follows that location A is a user's home or bedroom, position B is a workplace or library, and position C is a child's school or brother of the user, and positions D, E and F are shopping malls for the user. A level of privacy is based on default rules, such as a level of 5 for the user's home and work, 4 for shopping centers and 3 for school. Therefore, step 415 includes determining a personal description vocabulary term (PDV) based, at least in part, on the geographic location and context for the device. As an alternative or in addition, step 415 includes determining a personal description vocabulary word based, at least in part, on a type of a point of interest associated with geographic location in a map database.

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.In step 417, the user is asked to label the one or more selected positions. The one or more positions are selected by the user in step 411, for example, by touching map portion area 520 at pointer position 511, or by the system based on user history statistics in step 413. By example, a user interface is presented that represents a map section with one or more selected positions Featured. The user is presented with a drop-down menu of the POS terms, either the entire list or a portion deemed relevant based on the suggestions determined in step 415. Therefore, step 417 includes determining to present the description vocabulary term. personal. In step 419, the user is asked for a level of privacy, for example by confirming or overriding the automatically suggested privacy level by default. For example, the user is presented with the GUI in Figure 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.Figure 5B is a diagram illustrating a 502 client graphical user interface (GUI) for tagging a selected position, according to one embodiment. GUI 502 includes map portion area 520 and button 513 as described above. The selected position is indicated in map portion area 520 by pointer 511. As indicated above, the selected position is selected directly by the user in step 411 or suggested by the PML client 152 based on user history in step 415. The user is asked to label the selected position by displaying the window 530 that includes text asking the user to label the position for the personal map layer. For example, in the illustrated embodiment, the text in window 530 recites the words "location tag as special to you." Window 530 is presented in any manner known in the art. For example, window 530 is presented by user interface module 201 through application 116, browser 107, or directly using the UE operating system, or some combination.

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.Window 530 includes a PDV drop down menu 531, a personal text box 533 and a privacy level drop down menu. Drop-down menus are active areas that are well known in the art of graphical user interfaces. The POV drop-down menu will include at least the suggested POV terms determined in step 415, or a more complete set if you skip step 415. For example, selecting the downward pointing triangle presents a list of POV terms to the user, such as any or all of: My home, family home, friend's home, my job, family job, friend job, my hospital, family hospital, friend hospital, my school, family school, Friend school, my shopping center, family shopping center, friend shopping center, my bank, family bank, friend bank, among others. These terms can be ordered between probability levels determined by the context engine. In some embodiments, after making a selection from the POS drop-down menu, a second menu is presented, for example, to identify the friend or family member. Depending on user history and contact lists determined in step 401, for example, contact abc123 = mother or alice246 = child, POS secondary terms may be more specific, for example, mother house, brother house, parents-in-law, etc., son's hospital, son's school, in response to selecting a family home. Therefore, active area 531 is an exemplary means of achieving the advantage of providing custom standard recognized semantic concept to a map location.

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).The user is asked to add subjective text in the personal text box 533. For example, a location labeled "mother's house" using the POS terms may be further characterized by user text as "city condo" or some other description specific and subjective. Therefore, active area 533 is an exemplary means of achieving the advantage of providing a custom subjective label to a map location. Therefore, step 417 includes determining text that describes a relationship between the geographic location and a first user of the device. The text is some combination of the POS and the subjective text. Step 417 includes determining the text by determining to present a notice requesting the text from the first user (UE user 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.In step 419, the user is asked to indicate the privacy level using the privacy level drop-down menu 535. For example, the privacy level is displayed as the default, for example Family (level 3) but the drop-down menu makes the other options available: Just for you (level 1), Close family (level 2), Friends (level 4), Contacts (level 5), or Public (level 6). Therefore, active area 535 is an exemplary means of achieving the advantage of providing a secure method of sharing personal map information. Step 419, therefore, includes determining a privacy level for the text. In some embodiments, the level of privacy presented in the notice is based on location and context, for example, school or shopping center at certain times of the day. Therefore, determining the privacy level further comprises determining the suggested privacy level based on geographic location and context for the device. In the illustrated embodiment, determining the privacy level further comprises determining displaying the privacy level suggested in the notice, eg, in active area 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.In step 421, the user input is updated in the personal map layer data structure 205 based on the user responses to the prompts. For example, user input field 321 for user is updated with a new personal map item field 330; or an existing 330 personal map item field is updated. In some embodiments, step 421 includes sending the update, alone or in combination with one or more other updates, to the PML server 250 to add to the combined PML data structure 255. Therefore, step 421 includes associating the first device user to text and geographic location and level of privacy. Additionally, in the illustrated embodiment, associating the first user of the device with the text and geographic location and level of privacy is based at least in part on a response received in response to presenting the notice. Since field 330 includes the POS term in field 333, at least in some embodiments, associating the first user with the text and geographic location and privacy level based on the response further comprises associating the first user and the text and the geographical location and level of privacy at the end of personal description vocabulary (POS). Step 421 includes determining storing the association of the first user with the text and geographic location and privacy level in a common data structure (either PML 205 or combined PML 255) for access by a plurality of user devices.

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.For example, to update the PML, the user is presented with the GUI represented in Figure 5C. Figure 5C is a diagram illustrating a 503 client graphical user interface (GUI) for tagging a selected position, according to one embodiment. GUI 503 includes map portion area 520 and buttons 513 as described above. The selected position is indicated in map portion area 520 by pointer 511. As indicated above, the selected position is selected directly by the user in step 411 or suggested by the PML client 152 based on user history in step 415. The user is asked to accept, edit, or cancel the label privacy level for the selected position by presenting the location summary window 540. The window 540 is presented through the client user interface module 201, as described above. Window 540 includes text that presents the current labels and privacy level for the selected position. Window 540 also includes three active areas for accepting, editing, or canceling the label and level for the selected position, for example, as buttons 541a, 541b, and 541c, respectively. Upon activation of the cancel button 541c, window 540 is closed and the position label is not updated. Upon activation of the edit button 541b, window 540 is closed and window 530 is opened again to allow the label and level to be changed. Upon activation of the accept button 541a, window 540 is closed and the user input is updated in the PML data structure, such as data structures 205 or 255 or both.

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.The previous stages refer to the formation of the PML. The following steps relate to the use of the PML in one or more applications, including one or more non-map applications.

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.In step 423, a request for a user input field is received from the user's PML. For example, a request is received from a messaging application 116 in UE 101, or from an application is a different user device, for one or more personal map items in the PML 205 data structure. receives a request message 350 from a messaging application 116 on the UE 101, or from an application on a different user device, or from a network service 110 or map service 120, for one or more personal map items of the PML 205 data structure. Request message 350 identifies the requester in the requester ID field 351, such as a source field in an Internet Protocol header. The request message 350 identifies the user in the user ID field 353. Therefore, the request indicates the first user of the UE 101. If the PDV field 355 and user text field 357 are blank, the request 350 is for a list of tags for personal map items the applicant is allowed to see. Based on the selection of one or more items from that list, a subsequent request message 350 indicates the PDV and user text of the tag in fields 355 and 357, respectively. Therefore, in some embodiments, the request indicates the text; and in some embodiments, the request indicates a personal description vocabulary term associated with the text. Therefore, step 423 includes receiving a request for an association between the text and the geographic location for the first user.

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.If such a request message is received, then in step 425 the requesting entity is authenticated. For example, credentials for the requestor are sent to the AAA 251 service, for example, by sending a message to the PML 250 server or through the PML 257 server API. In step 427, it is determined whether the requestor is allowed access the user's requested personal map items in fields 330. For example, it is determined whether the requestor is a tagged contact such as the user, close family, family, friend, other contact, or untagged (thus, a member of the general public) and the level of privacy of the requested article. Therefore, it is determined whether the applicant is allowed to view the personal map item. Step 427 effectively determines whether a second user associated with the request has permission for the privacy level associated with the text. If so, then in step 431, the requested personal map items or items are returned to the requestor, for example, application 116. Therefore, step 429 includes determining to send the association between the text and the geographic location. , if the second user does have permission for the privacy level. If not, then in step 429 the user is asked to add the requester to a different category of contact, or change the privacy level of the item, or otherwise allow the requester to receive the requested personal map item. If nothing is changed, the applicant is denied the personal map item. Therefore, step 429 includes determining not to send the association between the text and the geographic location, if the second user does not have permission for the privacy level. If a change is made to allow the requester, then the requested personal map item or items are returned to the requester. In some embodiments, when searching for another user's personal layer, the UI also provides a means to inquire about a specific personal layer item and at a requested privacy level. For example, user A could only search for "child B's daughter's nursery" even though user A may be a friend, which by default may be type C permission. User B, after viewing the request, can grant permission for the same.

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.Figure 5D is a diagram illustrating an application GUI 504 for retrieving a position by semantic or subjective tag, according to one embodiment. For example, application 116 is assumed to be a messaging application, such as an email (email) application. The application user is asked to form a message in Request GUI 550. Request GUI 550 includes an active insert area, such as insert button 551. In response, an insert 560 drop-down menu is presented to the user from the application to select the object to be inserted in the message. Many well-known objects such as text, snapshots, videos, files, and contacts can be inserted into a message - as indicated by an ellipsis and active file area 561a and active contact area 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.In accordance with some embodiments, personal map items may also be inserted into a message, as indicated by hot area 561c of "My map item" and hot area 561d of "contact map item". When active area 561c is selected the application user 116 tries to insert a personal map item from the user's own PML. When active area 561d is detected, application user 116 attempts to insert a personal map item from a different user's PML, for example, from combined pMl 255 from a PML 250 server or from a PML 205 of a different user from UE 101. In some embodiments hot spots 561c and 561d are presented at user interface 201 in response to a request sent to API client 211 by application 116. Therefore, hot spots 561c and 561d are presented through the client user interface module 201, as described above.

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.For illustration purposes it is assumed that active area 561d is detected. In response, window 570 opens. Window 570 is presented through client user interface module 201, as described above. In some embodiments, window 570 is presented at user interface 201 in response to a request sent to API client 211 by application 116. Window 570 includes a contact dropdown menu 571, a permission dropdown menu 572, and a dropdown menu 573 of personal map items list. The 571 contact drop-down menu is operated to select a contact whose personal map item has to be inserted.

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.Once such a contact is inserted, the 572 permission drop-down menu is operated to change a permission level for the contact in case the contact ever requests the requestor's PML. The default or previously assigned permission level (for example, friend, level 4) is presented in active area 572. The drop-down menu is operated to change the permission level, for example, Just for you (level 1), Close family (level 2), Family (level 3), Contacts (level 5) or Public (level 6). In other embodiments, the drop-down menu 572 is presented in other applications, such as a social media user interface when adding or editing a contact. It is convenient to render active area 572 in window 570 to reduce the number of different user interfaces to describe. Similarly, in some embodiments, certain permission levels are provided for individual items in personal layer while keeping all other items as default.

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.Once such a contact is inserted and the requestor's permission to access that contact's items is determined, the drop-down menu list 573 is populated with the allowed item labels. One of the labels can then be selected to insert an object that represents that position in the message. For example, if the Alice Child College article is detected, an object labeled "Alice Child College" is inserted into the message. The object includes the map data associated with Alice's son's school in the PML, such as the position or POI or trajectory. "Alice246" is assumed to be associated with the child using the contact alerts described above. Because a person can have multiple children, the "child" POS relationship is modified by the contact information associated with that category. As an alternative, the modifier "Alice" can be inserted as subjective text associated with the POS term "child". Therefore, one can distinguish son Alice from son 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.In step 433, it is determined whether the final conditions are met. If yes, process 400 ends. Otherwise, control returns to step 403 et seq. To continue tracking device and context locations to learn other important locations.

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.FIG. 6 is a flow diagram of a process 600 for a personal map layer service process, in accordance with one embodiment. In one embodiment, the personal layer access manager 253 of the personal map layer server 250 performs process 600 and is implemented in, for example, a chipset that includes a processor and memory as shown in Figure 9 or in a general purpose computer as represented in the Figure. 8. In some embodiments, one or more stages or portions thereof are performed by other server components 250 or other nodes in communication with network 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.In step 601, the Personal Description Vocabulary (PDV) for map items is determined and stored, for example, in the PDV data structure 209. Any method can be used to determine the PDV. For example, POS is based on POI types, if any, such as college, hospital, etc. and the context, such as time and duration of permanence and applications running, for test subjects while at their corresponding points of interest or non-POI addresses. In some embodiments, values for one or more entries or fields thereof are determined based on manual entry by one or more experts. Therefore, vocabulary entries 301 are added to a data structure 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.At step 603, a context vocabulary is determined and stored, for example, in context vocabulary data structure 217. In various embodiments, a context vocabulary and topology is developed that identifies words and topics related to consumer contexts. . Any method known in the art can be used to generate the context and topology vocabulary. For example, several documents are collected that analyze and describe consumer context, such as documents that describe the importance of whether the consumer is working to pay or perform other tasks or is idle, if the current time is a weekday or weekend night. week, if the current season is summer or winter, if the consumer is at home or away, or if the consumer is at a destination or en route, if a document is using a place name or a person name, if the consumer It is stationary or on the move and at what speeds and directions, whether it is day or night, and what applications are available on user-owned consumer equipment. These documents are extracted to determine consumer context related words, context related word collections, or relative use of those words, or some combination. In some embodiments, the vocabulary topology includes topics imposed on or deduced from relative occurrences of words within documents. For example, in various embodiments, probabilistic latent semantic indexing (pLSI) or latent Dirichlet allocation (LDA), well known in the art, is used to deduce topics from words in a set of documents. Such methods can be used to derive context words and context topics from a set of documents that address the circumstances of network service consumers. Because each topic is associated with a group of words in certain relative abundances, there is a topology that relates topics to words and subtopics to higher level topics. In some embodiments, a context vocabulary is built manually or by relying on or extending some standard topology such as Open Directory Project (ODP) vocabulary. In these embodiments, LDA is not used in the construction of the context vocabulary itself; Instead, once a vocabulary is established, documents can be extracted using LDA to see what themes / context is contained within the document. Context vocabulary topology is used in various embodiments described in this document to determine context for UE 101 and for map articles.

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.In some embodiments, there are only two levels of categories, eg themes and words, below the root level context vocabulary. Each topic is defined by a set of words, each with a particular interval of occurrence percentages. In some of these embodiments, a V word vocabulary is represented by a V dimensional vector; and each word is represented by a V dimensional vector with zeros in all positions except the position corresponding to that particular word. Low meaning words such as articles, prepositions, pronouns and commonly used words are usually ignored. Each of T subjects is represented by a vector of V dimensions with relative occurrences of each word in the subject represented by a percentage in the corresponding word positions. All topics are represented by a V x T matrix.

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.When a context vocabulary word is found in a document (for example, a message from a user or a product description, for example, in field 207), that word is considered a mix of the different topics that include that word , with a percentage probability assigned to each topic based on the percentage of words in the document, for example using the well-known LDA methods. As a result, the entire document can be represented by a set of themes found in the document with a probability metric assigned to each theme, for example, a T-dimensional vector with varying probabilities at each position in the vector. Such a vector is an example of a context token in this document. Two documents (such as a description of a product and a description of the current status of a UE 101) can be compared by calculating a similarity of the two T-dimensional vectors (tokens) that those documents represent, such as a sum of products of corresponding terms . As an alternative, or in addition, a distance metric can be calculated between the two documents, which increases as the two cores become less similar. Any distance metric can be used, such as a zero-order distance (absolute value of the coordinate with the largest difference), an order-1 distance (a sum of the absolute values of the T differences), an order-two distance ( a sum of the squares of the T differences - equivalent to the Euclidean distance), a distance of order three (a sum of cubes of absolute values), etc. The most similar are witnesses to two documents, or the shorter the distance between those witnesses, the more relevant the documents are to each other. In the following description, it is assumed that a context vocabulary has been defined and stored in a data structure context vocabulary. The context of a document or resource is represented by a context token. The more similar the context tokens of two documents are, for example, the smaller the measure of distance between them, the more relevant a document will be to the consumer context indicated by the other document.

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.).Context vocabulary and tokens are derived not only from extraction from a user text base, but more often directly from context data on the device. Therefore, in some embodiments, context vocabulary is defined based on output from context engine 103, which reflects all of the context that can be inferred from the device side, for example, as user location, current activity, mode transportation (car, bus, driving, etc.), relationships (social contacts), and application execution (eg, messaging, audio, video, games, word processor, spreadsheet, 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. In step 611 a user is registered for the personal map layer service. For example, a subscriber to a subscription service 110a, such as a social networking service, selects an icon to add a personal map layer application to the user's device. User information is sent by subscription service 110a to PML server 250 through API server 257. In another embodiment, a user operates a browser 107 to contact PML server 150. During step 611, one or more web pages to register a user to the UE 101 user through browser 107. The user registers, or not, based on those responses.

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.In step 613, in response to a successful registration, client process 152, including copies of PDV data structure 209 and context vocabulary data structure 217 are made available to client 152, for example, sent to e install on the user device, for example, UE 101 as modules 201,203, 207, 211, 213 and 215 and as the PDV data structure 209 and context vocabulary data structure 217. Therefore, step 613 to provide the client process 152 in the UE 101 is a means of doing any or all the customer steps 200 described above. Therefore, step 613 includes determining a geographic location indicated by the operation of a device (UE 101), and determining text describing a relationship between the geographical location and a first user of the device (UE 101), and determining a level privacy for the text.

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.At step 615, user contacts and permission levels are determined. For example, user contacts are sent by subscription service 110a to PML 250 server through API 257 server. Based on circles of friends in a social network service or responses to active area 572 in window 570 sent by the PML client, the permission level of each contact is determined. In some embodiments, a person not listed among the user's contacts is considered a member of the public and is allowed to view only map items with the public privacy level, for example, level 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.In step 617, it is determined whether a user input update is received, for example, whether a message with one or more data structure fields 321 is received. For example, such a message is sent by the client of PML 152 at step 421, described above. If so, then in step 619 the updated entry is stored in combined personal map layer data structure 255. The updated information either substitutes data in one or more fields of an already associated personal map article field 330 to the user sending the message as indicated in field 323, or added as a new personal map item field 330. Thus, step 617 includes associating the first user of the device (UE 101) with the text and the geographic location and privacy level in the combined PML data structure 255. Step 619 includes determining storing the association of the first user with the text and the geographic location and privacy level a common data structure for access by a plurality of user devices.

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.Steps 611 to 619 above relate to forming the combined PML data structure 255 for multiple users. The following steps relate to the use of the PML in one or more applications, including one or more non-map applications.

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.In step 621, a request for a user input is received from the combined PML data structure 255. For example, the request message 350, described above, is received. Therefore, step 621 includes receiving a request for an association between the text and the geographic location for the first user.

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.If such a request is received, then in step 623 the requesting entity is authenticated. For example, credentials for the requester are sent to the AAA service 251. In step 625, it is determined whether the requester is allowed to access the requested personal map items in user fields 330 indicated in field 323. For example, It determines whether the requester is a tagged contact such as the user, close family, family, friend, other or untagged contact (hence a member of the general public), and the privacy level of the requested item. Therefore, it is determined whether the applicant is allowed to view the personal map item; for example, it is determined if a second user associated with the request has permission for the privacy level associated with the text. If so, then in step 627, the requested personal map items or items are returned to the requestor, for example, to application 116. For example, a list of labels to be displayed is returned, for example in area 573 , if field 355 or field 357 is blank in the request. Alternatively, for example, the map data in field 331 associated with the label specified in the request is returned if field 355 and field 357 maintain information indicating the personal label. Therefore, step 627 includes determining to send the association between the text and the geographic location, if the second user does have permission for the privacy level.

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.If the requester is not allowed to access the requested personal map item, then in step 629 the user is asked to add the requester to a different contact category (for example, in active area 572), or change the level item privacy (for example, in active area 535), or otherwise allow the requester to receive the requested personal map item. If nothing is changed, the applicant is denied the personal map item. Therefore, step 629 includes determining not to send the association between the text and the geographic location, if the second user does not have permission for the privacy level. If a change is made to allow the requester, then the requested personal map item or items are returned to the requester.

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.In step 631, it is determined whether another user has to register. If so, control returns to step 611 et seq. To register that user. In step 633, it is determined whether the final conditions for terminating the PML service are met, for example, for maintenance or change of equipment. If so, the process ends. Otherwise, control returns to step 617 et seq. To process any updates or requests for personal map layer information, as described above.

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.Figure 7 is a time sequence diagram 700 showing inter-process interactions for a secure shared personal map layer, according to one embodiment. Time increases downward on this diagram. Each of several processes is represented by a vertical bar labeled by a box at the top of the bar. A message sent from one process to another is represented as a horizontal arrow from the sending process to the receiving process. A stage performed within a process is indicated by an arrow beginning and ending on the same bar in a vertical position indicating its time sequence. The processes involved in sequence 700 include process 701 represent some combination of a browser 107 or application 116 in UE 101, or a non-map network service 110. The other processes include the PML client 152 (such as the client 200), the PML service 150 (such as server 250), an AAA service (such as a social network or other subscription service 110a), and the map service 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.One or more 711 registration user messages are sent from process 701 to the PML service, for example, in step 611. In some embodiments, the registration user messages are sent from the AAA service or a network service social 110a. In response, one or more messages 713 are sent to the UE 101 to install the PML client 152, for example, in step 613 described above.

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.In process 721, the PML client 152 tracks the position and context, including dwell times, of UE 101, for example, in steps 403 to 409 described above. Map data such as POI IDs and trajectories along roads are determined in one or more messages 723 exchanged to the map service 120. In process 725, the user is asked to label a map location, POI or trajectory , to a personal tag, for example, in steps 411 to 419 described above, and update the user's p Ml data structure, for example, in step 421. The update is sent in one or more 727 messages to the service of PML 150 to update the combined PML, for example, the combined PML 255 data structure. This process is described on the client side in step 421 and on the server side in steps 617 and 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.Subsequently, in some embodiments, one or more 731 request messages are sent from the browser 107 or UE 116 application on the UE 101, or from the network service 110 or 120 to the PML client 152. In process 733, the Requestor authenticates, for example, by exchanging one or more 735 authentication messages to AAA service 110a, and a successful or unsuccessful message is sent in one or more return result messages 737. Process 733 is performed, for example, in steps 425 to 431 described above.

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.Similarly, in some embodiments, one or more 741 request messages are sent from the browser 107 or UE 116 application on the UE 101, or from the network service 110 or 120, to the PML server 150. In the process 743, the requestor authenticates, for example, by exchanging one or more authentication messages 745 to the AAA service 110a; and a successful or unsuccessful result is sent in one or more return result messages 747. Process 743 is performed, for example, in steps 621 to 629 described above.

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.The processes described in this document to provide a secure shared personal map layer can be advantageously implemented through software, hardware, firmware or a combination of software and / or firmware and / or hardware. For example, the processes described in this document can be advantageously implemented through a processor or processors, a Digital Signal Processing chip (DSP), a Specific Application Integrated Circuit (ASIC), Field of Programmable Door Matrices (FPGA), etc. . An illustrative hardware of this type is detailed below to perform the described functions.

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.Figure 8 illustrates a computer system 800 in which an embodiment of the invention can be implemented. Although computer system 800 is depicted with respect to a particular device or equipment, it is contemplated that other devices or equipment (eg, network elements, servers, etc.) within Figure 8 may display the illustrated hardware and system components. 800. Computer system 800 is programmed (eg, through computer program code or instructions) to provide a secure shared personal map layer as described herein and includes a communication mechanism such as an 810 bus to pass Information among other internal and external components of the computer system 800. Information (also called data) is represented as a physical expression of a measurable phenomenon, usually electrical stresses, but including, in other embodiments, such phenomena as magnetic, electromagnetic, pressure interactions. , chemical, biological, molecular, atomic, subatomic and quantum. For example, north and south magnetic fields, or an electrical voltage of zero and nonzero, represent two states (0, 1) of a binary digit (bit). Other phenomena may represent digits of a larger base. An overlap of multiple and simultaneous quantum states before measurement represents a quantum bit (cubit). A sequence of one or more digits constitutes digital data that is used to represent a number or code for a character. In some embodiments, information called along data is represented by a close continuity of measurable values within a particular range. Computer system 800, or a portion thereof, constitutes a means for performing one or more steps of providing a secure shared personal map layer.

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.A bus 810 includes one or more parallel information conductors so that information is rapidly transferred between devices coupled to bus 810. One or more processors 802 to process information are coupled to 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.An 802 processor (or multiple processors) performs a set of operations on information as specified by computer program code related to the provision of a secure shared personal map layer. Computer program code is a set of instructions or statements that provide instructions for the operation of the processor and / or the computer system to perform specified functions. The code, for example, can be written in a computer programming language that is compiled into a set of instructions native to the processor. The code can also be written directly using the native instruction set (for example, machine language). The set of operations includes fetching information from the bus 810 and placing information on the bus 810. The set of operations also typically includes comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations such as exclusive OR, OR (XOR) and AND. Each operation in the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by the processor 802, such as a sequence of operation codes, constitutes processor instructions, also called computer system instructions, or simply computer instructions. Processors can be implemented as mechanical, electrical, magnetic, optical, chemical or quantum components, among others, alone or in combination.

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.Computer system 800 also includes memory 804 coupled to bus 810. Memory 804, such as a random access memory (RAM) or other dynamic storage device, stores information that includes processor instructions to provide a shared personal map layer. safe. Dynamic memory allows information stored in it to be changed by computer system 800. RAM allows a unit of information stored in a location called a memory address to be stored and retrieved independently of information in neighboring addresses. Memory 804 is also used by processor 802 to store temporary values during execution of processor instructions. The computer system 800 also includes an 806 read-only memory (ROM) or other static storage device attached to the 810 bus to store static information, including instructions, that is not changed by the computer system 800. Some memory is made up of volatile storage. that loses the information stored in it when power is lost. Also attached to the 810 bus is an 808 non-volatile (persistent) storage device, such as a magnetic disk, optical disk, or flash card, for storing information, including instructions, that persists even when the 800 computer system is turned off or otherwise loses power.

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.Information, including instructions for providing a secure shared personal map layer by providing a secure shared personal map layer, is provided to the bus 810 for use by the processor from an external input device 812, such as a keyboard containing operated alphanumeric keys. by a human user, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 800. Other external devices attached to bus 810, used essentially to interact with humans, include a display device 814. , such as a cathode ray tube (CRT) or liquid crystal display (LCD), or plasma screen or printer for displaying text or images, and an 816 pointing device, such as a mouse or control ball or keys direction cursor, or motion sensor, for controlling a position of a small cursor image displayed on display 814 and issuing commands associated with graphic elements displayed on display 814. In some embodiments, for example, in embodiments in that the computer system 800 performs all functions automatically without human input, one or more of d is omitted external input device 812, display device 814 and pointing device 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.In the illustrated embodiment, special purpose hardware, such as a specific application integrated circuit (ASIC) 820, is coupled to bus 810. The special purpose hardware is configured to perform operations not performed by the 802 processor fast enough for specials. Examples of specific application ICs include graphics accelerator cards for generating images for the 814 display, cryptographic plates for encrypting and decrypting messages sent over a network, voice recognition, and interfaces to special external devices, such as robotic arms and computer equipment. A medical scan that repeatedly performs some complex sequence of operations that are implemented more efficiently in 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.The computer system 800 also includes one or more instances of an 870 communication interface coupled to the 810 bus. The 870 communication interface provides one-way or two-way communication coupling to various external devices that operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 878 that connects to a local network 880 to which various external devices with their own processors are connected. For example, the 870 communication interface can be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer. In some embodiments, the communication interface 870 is an Integrated Services Digital Network (ISDN) card or a Digital Subscriber Line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of line telephone. In some embodiments, a communication interface 870 is a cable modem that converts signals on the 810 bus to signals for a communication connection over a coaxial cable or to optical signals for a communication connection over a fiber cable optics. As another example, the communication interface 870 can be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links can also be implemented. For wireless links, the communication interface 870 sends or receives or both sends and receives electrical, acoustic, or electromagnetic signals, including infrared and optical signals, that carry information flows, such as digital data. For example, in wireless portable devices, such as mobile phones such as cell phones, the communication interface 870 includes a radio band electromagnetic transmitter and receiver called a radio transceiver. In certain embodiments, the interface of Communications 870 enables connection to communication network 105 to provide a secure shared personal map layer to 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.The term "computer readable medium" as used herein refers to any medium that participates in the provision of information to the 802 processor, including instructions for execution. Such a medium can take many forms, including, but not limited to, computer readable storage medium (eg, non-volatile media, volatile media), and transmission media. Non-transient media, such as non-volatile media, include, for example, optical or magnetic disks, such as storage device 808. Volatile media includes, for example, dynamic memory 804. Transmission media includes, for example, coaxial cables. , copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical, and infrared waves. Signals include artificial transient variations in amplitude, frequency, phase, polarization, and other physical properties transmitted through the transmission media. Common forms of computer-readable media include, for example, a floppy disk, floppy disk, hard drive, magnetic tape, any other magnetic media, CD-ROM, CDRW, DVD, any other optical media, punched cards, tape paper, optical marking foils, any other physical media with hole patterns or other optically recognizable signs, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other means that a computer can read. The term "computer readable storage medium" is used herein to refer to any computer readable medium except transmission media.

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.Logic encoded on one or more tangible media includes one or both of processor instructions on a computer-readable storage medium and special-purpose hardware, such as the 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.Network link 878 typically provides information communication using transmission media over one or more networks to other devices that use or process the information. For example, network link 878 may provide a connection through local network 880 to a host computer 882 or to equipment 884 operated by an Internet Service Provider (ISP). The ISP 884 equipment in turn provides data communication services over the global and public packet-switched communication network of networks now commonly referred to as the 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.A computer called an 892 server host connected to the Internet hosts a process that provides a service in response to information received over the Internet. For example, server host 892 hosts a process that provides information representing video data for presentation on display 814. It is contemplated that components of system 800 can be deployed in various configurations within other computer systems, eg host 882 and server 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.At least some embodiments of the invention relate to the use of computer system 800 to implement some or all of the techniques described in this document. In accordance with an embodiment of the invention, those techniques are performed by computer system 800 in response to a processor 802 that executes one or more sequences of one or more processor instructions contained in memory 804. Such instructions, also called computer instructions, software and program code can be read into memory 804 from another computer-readable medium such as storage device 808 or network link 878. Execution of the instruction sequences contained in memory 804 causes the 802 processor to perform one or more of the method steps described in this document. In alternative embodiments, hardware, such as ASIC 820, can be used instead of or in combination with software to implement the invention. Therefore, embodiments of the invention are not limited to any specific combination of hardware and software, unless explicitly stated otherwise in this document.

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.The signals transmitted over the network link 878 and other networks through the communication interface 870 carry information to and from the computer system 800. The computer system 800 can send and receive information, including program code, over the networks. 880, 890, among others, through the network link 878 and the communication interface 870. In an example using the Internet 890, a server host 892 transmits program code for a particular application, requested by a message sent from the computer 800, over the Internet 890, ISP 884 equipment, 880 local network, and 870 communications interface. The received code may be executed by the 802 processor as it is received, or it may be stored in memory 804 or on storage device 808 or other non-volatile storage for later execution, or both. In this way, the computer system 800 can obtain program code application in the form of signals on a carrier wave.

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.Various forms of computer readable media may be involved in transporting one or more sequences of instructions or data or both to the 802 processor for execution. For example, instructions and data may initially be carried on a magnetic disk of a remote computer such as host 882. The remote computer loads the instructions and data into its dynamic memory and sends the instructions and data over a telephone line using a modem. . A local modem to computer system 800 receives the instructions and data on a telephone line and uses an infrared relay to convert the instructions and data to an infrared carrier wave signal that serves as the 878 network link. Infrared that serves as the communication interface 870 receives the instructions and data carried in the infrared signal and places information that represents the instructions and data on bus 810. Bus 810 transports the information to memory 804 from which processor 802 retrieves and executes instructions using some of the data sent with the instructions. Instructions and data received in memory 804 may optionally be stored in storage device 808, either before or after execution by processor 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.Figure 9 illustrates a chipset or chip 900 on which an embodiment of the invention can be implemented. Chipset 900 is programmed to provide a secure shared personal map layer as described herein and includes, for example, the processor and memory components described with respect to Figure 8 embedded in one or more physical packets (eg example, chips). By way of example, a physical package includes an arrangement of one or more materials, components, and / or wires in a structural assembly (eg, a base plate) to provide one or more characteristics such as physical strength, size conservation, or limitation of electrical iteration. It is contemplated that in certain embodiments the chipset 900 may be implemented on a single chip. It is further contemplated that in certain embodiments the chipset or chip 900 may be implemented as a single "system on a chip". It is further contemplated that in certain embodiments a separate ASIC would not be used, for example, and that all relevant functions as disclosed herein would be performed by a processor or processors. The chipset 900, or a portion thereof, constitutes a means for performing one or more steps of providing user interface navigation information associated with the availability of functions. The chipset 900, or a portion thereof, constitutes a means for performing one or more steps of providing a secure shared personal map layer.

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.In one embodiment, the chipset or chip 900 includes a communication mechanism such as to bus 901 to pass information between the components of chipset 900. A processor 903 has connectivity to bus 901 to execute instructions and process information stored in, for example, memory 905. Processor 903 may include one or more processing cores with each core configured to operate independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or larger numbers of processing cores. As an alternative or in addition, processor 903 may include one or more microprocessors configured in tandem through bus 901 to enable independent execution of instructions, channeling, and multi-processing. Processor 903 may also be paired with one or more specialized components to perform certain processing functions and tasks such as one or more 907 Digital Signal Processors (DSP), or one or more Application Specific Integrated Circuits (ASICs) 909. A DSP 907 is typically configured to process real-world signals (eg, sound) in real time independently of the 903 processor. Similarly, an ASIC 909 can be configured to perform specialized functions not easily performed by a more general-purpose processor. Other specialized components to aid in performing the inventive functions described in this document may include one or more Programmable Gate Array (FPGA) fields (not shown), one or more controllers (not shown), or one or more other chips of special purpose computer.

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.In one embodiment, the chipset 900 includes merely one or more processors and some software and / or firmware that supports and / or relates to and / or for the one or more processors.

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. The 903 processor and attached components have connectivity to memory 905 through bus 901. Memory 905 includes both dynamic memory (eg, RAM, magnetic disk, writable optical disk, etc.) and static memory (eg, ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps outlined in this document to provide a secure shared personal map layer. Memory 905 also stores data associated with or generated by the execution of the inventive steps.

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.Figure 10 is a diagram of illustrative components of a mobile terminal (eg, handset) for communications, which is capable of operating in the system of Figure 1, in accordance with one embodiment. In some embodiments, mobile terminal 1001, or a portion thereof, constitutes a means for performing one or more steps of providing a secure shared personal map layer. In general, a radio receiver is often defined in terms of front and rear end characteristics. The front end of the receiver includes all Radio Frequency (RF) circuitry while the rear end includes all of the baseband processing circuitry. As used in this application, the term "circuitry" refers to both: (1) hardware-only implementations (such as implementations on analog and / or digital circuitry only), and (2) to combinations of circuitry and software (and / or firmware) (such as, if applicable to the particular context, to a combination of processor or processors, including digital signal processor or processors, software and memories) that work together to cause a device, such as a mobile phone or server, perform various functions). This definition of "circuitry" applies to all uses of this term in this application, including in any claim. As a further example, as used in this application and if applicable to the particular context, the term "circuitry" would also cover an implementation of merely one processor (or multiple processors) and its (or its) accompanying software or firmware. The term "circuitry" would also cover if it is applicable to the particular context, for example, a baseband integrated circuit or application processor integrated circuit in a mobile phone or a similar integrated circuit in a cellular network device or other network devices .

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.Relevant internal components of the phone include a Main Control Unit (MCU) 1003, a Digital Signal Processor (DSP) 1005, and a receiver / transmitter unit that includes a gain control unit microphone and a speaker gain control unit. A main display unit 1007 provides a display to the user in support of various mobile terminal applications and functions that perform or support the steps of providing a secure shared personal map layer. Display 1007 includes display circuitry configured to display at least a portion of a user interface of the mobile terminal (eg, mobile phone). Additionally, the display 1007 and display circuitry are configured to facilitate user control of at least some functions of the mobile terminal. An audio function circuitry 1009 includes a microphone 1011 and microphone amplifier that amplifies the voice signal output from the microphone 1011. The amplified voice signal output from the microphone 1011 is powered by a 1013 encoder / decoder (CODEC).

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.A radio section 1015 amplifies power and converts frequency to communicate with a base station, which is included in a mobile communication system, through antenna 1017. Power amplifier (PA) 1019 and transmitter / modulation circuitry are operationally responsive to MCU 1003, with an output from PA 1019 coupled to duplexer 1021 or circulator or antenna switch, as known in the art. The PA 1019 also mates with a battery interface and 1020 power control unit.

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.In use, a mobile terminal user 1001 speaks into microphone 1011 and his voice along with any detected background noise is converted to an analog voltage. The analog voltage is then converted into a digital signal through the 1023 Analog to Digital Converter (ADC). The control unit 1003 routes the digital signal into the DSP 1005 for processing therein, such as voice encoding, encoding channel, encrypted and interleaved. In one embodiment, the processed voice signals are encoded, by units not shown separately, using a cellular transmission protocol such as global evolution (EDGE), general radio packet service (GPRS), global system for mobile communications (GSM) , internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless means, for example, microwave access (WiMAX), Long Term Evolution Networks (LTE) , code division multiple access (CDMA), broadband code division multiple access (WCDMA), wireless fidelity (WiFi), satellite and the like.

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.The encoded signals are then routed to an equalizer 1025 to compensate for any frequency dependent deficiencies that occur during over-the-air transmission such as amplitude and phase distortion. After equalizing the bitstream, modulator 1027 combines the signal with an RF signal generated at RF interface 1029. Modulator 1027 generates a sine wave by means of frequency or pass modulation. To prepare the signal for transmission, an upconverter 1031 combines the sine wave output of modulator 1027 with another sine wave generated by a synthesizer 1033 to achieve the desired transmission frequency. The signal is then sent through a PA 1019 to boost the signal to an appropriate power level. In practical systems, the PA 1019 acts as a variable gain amplifier whose gain is controlled by the DSP 1005 from information received from a network base station. The signal is then filtered within duplexer 1021 and optionally sent to an antenna coupler 1035 to match impedances to provide maximum power transfer. Finally, the signal is transmitted through antenna 1017 to a local base station. An Automatic Gain Control (AGC) can be supplied to control the gain of the receiver's final stages. The signals can be forwarded from there to a remote telephone that can be another cellular telephone, another mobile telephone or a terrestrial line connected Public Switched Telephone Network (PSTN), or other telephone networks.

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).Voice signals transmitted to mobile terminal 1001 are received through antenna 1017 and immediately amplified by a low noise amplifier (LNA) 1037. A downconverter 1039 lowers the carrier frequency while demodulator 1041 removes the RF leaving only a stream digital bit. The signal below goes through Equalizer 1025 and is processed by DSP 1005. A Digital to Analog Converter (DAC) 1043 converts the signal and the resulting output is transmitted to the user through Speaker 1045, all under the control of a Main Control Unit (MCU) 1003-which can be implemented as a Central Processing Unit (CPU) (not shown).

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.MCU 1003 receives various signals including input signals from keyboard 1047. Keyboard 1047 and / or MCU 1003 in combination with other user input components (for example, microphone 1011) comprise user interface circuitry for manage user input. MCU 1003 runs user interface software to facilitate user control of at least some functions of mobile terminal 1001 to provide a secure shared personal map layer. MCU 1003 also distributes a display command and a switch command to display 1007 and the voice output switch controller, respectively. Additionally, MCU 1003 exchanges information with DSP 1005 and can access an optionally built-in SIM 1049 and memory 1051. Additionally, MCU 1003 performs various required terminal control functions. DSP 1005 can, depending on the implementation, perform any of several conventional digital processing functions on voice signals. Additionally, DSP 1005 determines the local ambient background noise level from the signals detected by microphone 1011 and sets microphone gain 1011 at a selected level to compensate for the natural tendency of the user of mobile terminal 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.CODEC 1013 includes ADC 1023 and DAC 1043. Memory 1051 stores various data including all incoming tone data and is capable of storing other data including music data received through, for example, the global Internet. The software module could reside in RAM, flash memory, registers, or any other form of writable storage medium known in the art. Memory device 1051 may be, but is not limited to, single memory, CD, DVD, ROM, RAM, EEPROM, optical storage, or any other non-volatile storage medium capable of storing digital data.

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.An optionally incorporated 1049 SIM card carries, for example, important information, such as the cell phone number, the operator providing the service, subscription details and security information. SIM card 1049 essentially serves to identify mobile terminal 1001 in a radio network. The 1049 card also contains a memory for storing a record of user-specific personal phone numbers, text messages, and mobile terminal settings.

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. While the invention has been described in connection with a number of embodiments and implementations, the invention is not limited in this way, but rather covers various obvious modifications and equivalent arrangements, which are within the scope of the appended claims. Although features of the invention are expressed in certain combinations between the claims, it is contemplated that these features can be arranged in any combination and order.

Claims (15)

REIVINDICACIONES 1. Un aparato que comprende:1. An apparatus comprising: 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;means for determining a geographical location associated with at least the operation of a device; means for determining an indication describing a relationship between at least the geographic location and at least a first user of the device, wherein the relationship is derived from the first user's tracked visit history to the geographical location indicating one or more of : frequency of stays; residence time; permanent position; path followed; o length of stay; medios para determinar al menos un nivel de privacidad para la indicación; ymeans for determining at least one level of privacy for the indication; 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.means for associating at least the first user of the device with the indication and the geographical location and the at least one level of privacy. 2. Un aparato de acuerdo con la reivindicación 1, en el que:2. An apparatus according to claim 1, wherein: determinar la indicación comprende además determinar presentar un aviso que solicita la indicación del primer usuario; ydetermining the indication further comprises determining presenting a notice requesting the indication of the first user; 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.Associating the first user of the device with the indication and geographic location and privacy level is based at least in part on a response received in response to submitting the notice. 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.An apparatus according to any one of claims 1 to 2, wherein determining the geographical location associated with the operation of the device further comprises determining at least one time and duration of pause in a vicinity of the geographical location based on a positioning system located together with the device. 4. Un aparato de acuerdo con una cualquiera de las reivindicaciones 2 a 3, en el que determinar presentar el aviso comprende además:An apparatus according to any one of claims 2 to 3, wherein determining to present the notice further comprises: 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; ydetermining a personal description vocabulary term based, at least in part, on the geographic location and context for the device; Y determinar presentar el término de vocabulario de descripción personal.determine to present the vocabulary term of personal description. 5. Un aparato de acuerdo con una cualquiera de las reivindicaciones 2 a 4, en el que determinar presentar el aviso comprende además:An apparatus according to any one of claims 2 to 4, wherein determining to present the notice further comprises: 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.determining a personal description vocabulary word based, at least in part, on a point of interest type associated with geographic location in a map database; and determine to present the vocabulary term of personal description. 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.An apparatus according to any one of claims 4 to 5, wherein associating the first user with the indication and the geographical location and the at least one level of privacy based on the response further comprises associating the first user and the indication and geographical location and at least one level of privacy at the end of personal description vocabulary. 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.7. An apparatus according to any one of claims 1 to 6, wherein determining the at least one level of privacy further comprises determining at least one suggested level of privacy based on geographic location and context for the device. 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. An apparatus according to any one of claims 2 to 7, wherein determining the at least one level of privacy further comprises determining displaying the at least one level of privacy suggested in the notice. 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.9. An apparatus according to any one of claims 1 to 8, wherein the at least one level of privacy is associated with at least one circle of contacts in at least one social media service. 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;10. An apparatus according to any one of claims 1 to 9, further comprising: means for receiving at least one request for an association between the indication and the geographical location for the first user; 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;means for determining whether at least a second user associated with the request has permission for the at least one level of privacy associated with the indication; 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; ymeans for determining not to send the association between the indication and the geographical location, if the at least second user does not have permission for the at least one level of privacy; 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.means for determining to send the association between the indication and the geographical location, if the at least second user does have permission for the at least one level of privacy. 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.11. An apparatus according to claim 10, wherein the request indicates the indication and / or the request indicates a personal description vocabulary term associated with the indication. 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.12. An apparatus according to any one of claims 1 to 11, wherein the apparatus is user equipment incorporating the device or is a server. 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.13. An apparatus according to any one of claims 1 to 12, further comprising means for determining storing the association of the first user with the indication and the geographical location and the at least one level of privacy in at least one common data structure for access by a plurality of user devices. 14. Un método que comprende:14. A method comprising: determinar una ubicación geográfica asociada al menos al funcionamiento de un dispositivo;determine a geographical location associated with at least the operation of a device; 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;determine an indication describing a relationship between at least the geographic location and at least a first user of the device, where the relationship is derived from the first user's tracked history of visits to the geographic location indicating one or more of: frequency of stays; residence time; permanent position; path followed; o length of stay; determinar al menos un nivel de privacidad para la indicación; ydetermine at least one level of privacy for the indication; 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.associate at least the first user of the device with the indication and the geographical location and at least one level of privacy. 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. 15. A computer readable storage medium that carries one or more sequences of one or more instructions that, when executed by one or more processors, causes an apparatus to at least perform a method according to claim 14.
ES10855786T 2010-08-13 2010-08-13 Method and apparatus for secure shared personal map layer Active ES2751111T3 (en)

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 (en) 2020-03-30

Family

ID=45567293

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10855786T Active ES2751111T3 (en) 2010-08-13 2010-08-13 Method and apparatus for secure shared personal map layer

Country Status (5)

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

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 (en) 2011-09-02 2013-03-21 Sony Corp Information processing apparatus, information processing method, program, recording medium, and information processing system
US9450984B2 (en) 2011-10-17 2016-09-20 Nokia Technologies Oy Automatic approach for the personalized privacy recommendation related to the location
CN103368984B (en) * 2012-03-27 2016-06-01 腾讯科技(深圳)有限公司 A kind of information sharing method and system
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
EP2883368B1 (en) * 2012-06-22 2019-06-05 Google LLC Labeling visited locations based on contact information
KR20140021899A (en) * 2012-08-13 2014-02-21 삼성전자주식회사 Method for moving contents and an electronic device thereof
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 (en) * 2013-07-04 2017-08-09 クラリオン株式会社 POI information providing system, POI information providing apparatus, POI information providing method, and program
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 (en) * 2013-12-31 2020-07-07 北京三星通信技术研究有限公司 Information pushing method and device
CN104811899B (en) * 2014-01-23 2019-11-26 腾讯科技(深圳)有限公司 A kind of User Activity range determining method, device and terminal device
WO2015139026A2 (en) 2014-03-14 2015-09-17 Go Tenna Inc. System and method for digital communication between computing devices
US9843894B2 (en) 2014-05-30 2017-12-12 Apple Inc. Determining a size of a significant user location
GB2531332B (en) 2014-10-17 2021-01-06 Nokia Technologies Oy Location identification
CN104410952B (en) * 2014-10-30 2018-06-19 北京蚂蜂窝网络科技有限公司 A kind of system for obtaining user's area-of-interest
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 (en) * 2014-12-16 2018-08-07 大唐移动通信设备有限公司 Realize the shared method in the geographical locations GIS and user equipment, server
US9891808B2 (en) 2015-03-16 2018-02-13 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
US10231084B2 (en) 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
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
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
US10643185B2 (en) 2016-06-10 2020-05-05 Apple Inc. Suggested locations for calendar events
US10070261B2 (en) 2016-10-04 2018-09-04 Apple Inc. Harvesting labels for significant locations and updating a location fingerprint database using harvested labels
US10739159B2 (en) 2016-06-10 2020-08-11 Apple Inc. Labeling a significant location based on contextual data
US10506373B2 (en) 2016-06-10 2019-12-10 Apple Inc. Harvesting labels for significant locations based on candidate points of interest and contextual data
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
US10447472B2 (en) 2017-02-21 2019-10-15 Bank Of America Corporation Block computing for information silo
US10454892B2 (en) * 2017-02-21 2019-10-22 Bank Of America Corporation Determining security features for external quantum-level computing processing
US10579239B1 (en) 2017-03-23 2020-03-03 Palantir Technologies Inc. Systems and methods for production and display of dynamically linked slide presentations
CN111010882B (en) 2017-04-27 2023-11-03 斯纳普公司 Location privacy association on map-based social media platform
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
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
US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices
US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices
US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring 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 (en) * 2018-06-14 2021-06-29 北京中飞艾维航空科技有限公司 Crowdsourcing data security encryption method, server and storage medium
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 (en) * 2018-11-20 2019-03-01 咪咕数字传媒有限公司 A kind of sharing method of information, device and storage medium
US11552957B2 (en) * 2019-07-02 2023-01-10 Microsoft Technology Licensing, Llc Resource access control with dynamic tag
CN111311784A (en) * 2020-03-04 2020-06-19 深圳市物语智联科技有限公司 User portrait determination method, device, computer equipment and storage medium
CN111753195B (en) * 2020-06-17 2024-01-09 百度在线网络技术(北京)有限公司 Label system construction method, device, equipment and storage medium
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
JP4459238B2 (en) 2004-12-28 2010-04-28 シャープ株式会社 Mobile terminal, communication terminal, location notification system using these, and location notification method
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 a location-aware mobile communication device
CN101346000B (en) 2008-07-29 2011-06-29 方圆信通科技(北京)有限公司 System for providing local mobile geographic information service based on GPS and mobile terminal
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
EP2604048B1 (en) 2019-09-25
WO2012019365A1 (en) 2012-02-16
CN103069849B (en) 2016-06-22
EP2604048A4 (en) 2017-03-08
EP2604048A1 (en) 2013-06-19
CN103069849A (en) 2013-04-24
US9076009B2 (en) 2015-07-07

Similar Documents

Publication Publication Date Title
ES2751111T3 (en) Method and apparatus for secure shared personal map layer
US11589691B2 (en) System and method for locational image processing
US11303621B2 (en) Method and apparatus for pairing autonomous vehicles to share navigation-based content
ES2784148T3 (en) Method and apparatus for providing personalized virtual environment
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
US20190037354A1 (en) System and method for location based exchange network
US10783275B1 (en) Electronic alerts for confidential content disclosures
CN103154994B (en) Dynamically visibility of a point in geographical social networking system
US20120172050A1 (en) Method and apparatus for context based on spatial trails
ES2746297T3 (en) Method and apparatus for synchronizing an integrated system with a plurality of devices
US20160219012A1 (en) Method and Apparatus for Token Determination for People Awareness and Location Sharing
US10229138B2 (en) Method and apparatus for tagged deletion of user online history
US20150066962A1 (en) Method and apparatus for providing a smart address finder
KR102453145B1 (en) Electronic Device and Transaction Executing Method Thereof
WO2015039858A1 (en) Method and apparatus for associating physical locations to online entities
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