ES2812850T3 - Servicios sensibles al contexto - Google Patents
Servicios sensibles al contexto Download PDFInfo
- Publication number
- ES2812850T3 ES2812850T3 ES16173420T ES16173420T ES2812850T3 ES 2812850 T3 ES2812850 T3 ES 2812850T3 ES 16173420 T ES16173420 T ES 16173420T ES 16173420 T ES16173420 T ES 16173420T ES 2812850 T3 ES2812850 T3 ES 2812850T3
- Authority
- ES
- Spain
- Prior art keywords
- wireless device
- context
- user
- result
- current context
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000007613 environmental effect Effects 0.000 claims abstract description 9
- 238000013475 authorization Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims description 11
- 230000036541 health Effects 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 16
- 230000004044 response Effects 0.000 description 16
- 238000013179 statistical model Methods 0.000 description 14
- 238000012549 training Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 8
- 238000005192 partition Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000003814 drug Substances 0.000 description 3
- 229940079593 drug Drugs 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 235000021251 pulses Nutrition 0.000 description 3
- 235000006719 Cassia obtusifolia Nutrition 0.000 description 2
- 235000014552 Cassia tora Nutrition 0.000 description 2
- 244000201986 Cassia tora Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 206010013700 Drug hypersensitivity Diseases 0.000 description 1
- 206010020751 Hypersensitivity Diseases 0.000 description 1
- 208000030961 allergic reaction Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- VZCCETWTMQHEPK-QNEBEIHSSA-N gamma-linolenic acid Chemical compound CCCCC\C=C/C\C=C/C\C=C/CCCCC(O)=O VZCCETWTMQHEPK-QNEBEIHSSA-N 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036449 good health Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000007170 pathology Effects 0.000 description 1
- 230000036387 respiratory rate Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
- H04M3/4938—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals comprising a voice browser which renders and interprets, e.g. VoiceXML
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/0009—Transmission of position information to remote stations
- G01S5/0018—Transmission from mobile station to base station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2242/00—Special services or facilities
- H04M2242/30—Determination of the location of a subscriber
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/65—Environment-dependent, e.g. using captured environmental data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/02—Inter-networking arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
Un método que comprende: recibir, en un dispositivo inalámbrico (100), señales de sensor que caracterizan una o más condiciones ambientales, que incluyen al menos una primera señal y una segunda señal; combinar la al menos primera señal y la segunda señal en un vector de metadatos (138); procesar el vector de metadatos, con un motor de inferencia de contexto (136) en el dispositivo inalámbrico, para determinar un resultado de contexto actual; generar el resultado del contexto actual del procesamiento; anexar a un programa de aplicación (106), una autorización para acceder al resultado del contexto actual; otorgar permiso de acceso al programa de aplicación para acceder al resultado del contexto actual basado en la autorización; proporcionar el resultado del contexto actual al programa de aplicación basado en la concesión del permiso de acceso; y recibir información del programa de aplicación que depende del resultado del contexto actual.
Description
DESCRIPCIÓN
Servicios sensibles al contexto
Antecedentes de la invención
Campo de la invención:
La invención descrita se refiere en general a métodos para proporcionar servicios de Internet y más particularmente se refiere a mejoras en el acceso de dispositivos móviles a servicios de Internet.
Técnica anterior:
Los teléfonos móviles y los asistentes digitales personales inalámbricos (PDA) pueden acceder a Internet mediante el Protocolo de aplicación inalámbrica (WAP). Los dispositivos inalámbricos habilitados para WAP ahora pueden acceder a aplicaciones de Internet como titulares de noticias, tasas de cambio, resultados deportivos, cotizaciones de bolsa, pronósticos del tiempo, diccionarios de frases multilingües, calendarios personales en línea, viajes en línea y servicios bancarios, o descargar tonos de llamada distintivos. Las redes inalámbricas de banda ancha hacen posible que los dispositivos inalámbricos habilitados para WAP intercambien mensajes multimedia que combinan texto convencional con tipos de contenido mucho más ricos, como fotografías, imágenes, clips de voz y videoclips. Los dispositivos inalámbricos habilitados para WAP se pueden usar para pagar facturas en línea usando el dispositivo inalámbrico como una billetera virtual. Los dispositivos inalámbricos habilitados para WAP pueden ofrecer servicios de transacciones y publicidad útiles e informativos de comerciantes en línea. Los dispositivos inalámbricos habilitados para WAP ahora también brindan servicios de entretenimiento, como juegos de aventura interactivos, concursos y torneos de ajedrez.
Lo que se necesita es la capacidad de un teléfono móvil o PDA inalámbrico para usar técnicas de inferencia de contexto para detectar el entorno del usuario móvil y, en respuesta, proporcionar información útil para el usuario que sea apropiada para el entorno percibido del usuario. Sería aún más útil descargar parte de la computación computacionalmente intensiva necesaria en las técnicas de inferencia de contexto, desde el dispositivo inalámbrico del usuario móvil a un servidor y a sitios web en Internet. Sería beneficioso mantener un perfil personal de las preferencias personales del usuario móvil en un servidor o sitio web en línea. Sería importante proporcionar al usuario móvil la capacidad de controlar cualquier acceso al perfil del usuario por el servidor en línea o el sitio web.
Datong Chen, Albrecht Schmidt, Hans-Werner Gellersen: "An Architecture for Multi-Sensor Fusion in Mobile Environments", actas de la 35a Conferencia Internacional Annaul Hawaii, el 7 de enero de 2001, es un documento que analiza una arquitectura en capas para la fusión de múltiples sensores, aplicada para el reconocimiento ambiental de los dispositivos móviles personales. Este documento discute que el entorno de trabajo de los dispositivos móviles personales cambia dinámicamente dependiendo de las actividades de sus usuarios. Equipados con sensores, los dispositivos móviles pueden obtener un reconocimiento de su entorno de trabajo móvil, para mejorar su rendimiento con respecto a la usabilidad. La movilidad de los dispositivos presenta dos problemas para construir un sistema de reconocimiento. Primero, los contextos que debe cubrir un sistema de reconocimiento dependen de los usuarios, sus tareas y actividades, y también de los datos que se pueden obtener de diferentes sensores. En segundo lugar, el consumo de energía y el tamaño del dispositivo móvil limitan la capacidad de procesamiento de un sistema de reconocimiento. El documento presenta un diseño de un sistema de fusión basado en sensores de bajo costo, que puede ser reconfigurado por el usuario, para permitir un reconocimiento individualizado de los entornos. La arquitectura de software presentada en el documento está diseñada con cuatro capas diferentes, que pueden admitir reconfiguraciones en entornos móviles.
El documento US 6.073.075 describe un terminal móvil, y un método y sistema de suministro de información que proporciona inmediatamente información, que el usuario del terminal móvil desea, para el terminal móvil. Las áreas y la información de servicio relacionada se almacenan en la relación correspondiente en una base de datos. Un servidor de información que incluye medios para calcular el área de un destino del terminal móvil carga información sobre el área de destino desde la base de datos al terminal móvil que se mueve hacia el área de destino, utilizando medios de comunicación por radio antes de que el terminal móvil llegue al área de destino.
Sumario de la invención:
La invención se expone en las reivindicaciones independientes.
Ciertos ejemplos de la presente divulgación buscan proporcionar una invención de servicios web sensibles al contexto que permite a un teléfono móvil o PDA inalámbrico usar técnicas de inferencia de contexto para detectar el entorno del usuario y, en respuesta, proporcionar información útil para el usuario que sea apropiada para el entorno percibido del usuario.
Según un aspecto de la divulgación, existe un método para permitir que un dispositivo inalámbrico proporcione a su
usuario información útil que sea apropiada para el entorno actual del dispositivo. El método incluye las etapas de recibir señales del sensor que caracterizan un entorno actual del dispositivo inalámbrico; procesar las señales del sensor con un motor de inferencia de contexto; generar un resultado de contexto actual del procesamiento por motor de inferencia de contexto; y proporcionar información útil al usuario en respuesta al resultado del contexto actual. El procesamiento de las señales del sensor con un motor de inferencia de contexto se realiza como instrucciones programadas ejecutadas dentro del dispositivo inalámbrico del usuario. En otro aspecto de la divulgación, el procesamiento de las señales del sensor con un motor de inferencia de contexto se realiza como instrucciones programadas ejecutadas dentro de un servidor de red separado en respuesta a las señales del dispositivo inalámbrico del usuario. El servidor puede acceder a los archivos desde un servidor web, para el reenvío selectivo al dispositivo inalámbrico del usuario. El servidor puede mantener un perfil personal del usuario.
Un aspecto adicional de la divulgación proporciona el control del usuario del acceso de los programas de aplicación a los datos privados del usuario. Esto también puede incluir proporcionar control de acceso de los usuarios mediante programas de aplicación a los datos privados del usuario en el servidor. Aún más, esto también puede incluir proporcionar control de acceso del usuario por los programas de aplicación en un servidor web, a los datos privados del usuario.
Otro aspecto de la divulgación es proporcionar el resultado del contexto actual a un programa de aplicación en respuesta al control del usuario y recibir la información útil del programa de aplicación. Ciertos ejemplos permiten al usuario otorgar permiso de acceso al programa de aplicación para acceder al resultado del contexto actual. Esto se puede realizar en el dispositivo inalámbrico del usuario o en el servidor de red. El servidor de red puede llevar a cabo el control de acceso mediante programas de aplicación en servidores web, en respuesta a un perfil de privacidad del usuario recibido del dispositivo inalámbrico del usuario.
Descripción de las figuras:
La figura 1 es un diagrama de red de la invención, que muestra una relación de ejemplo entre el dispositivo inalámbrico portátil habilitado con el Protocolo de Aplicación Inalámbrica (WAP) del usuario, la puerta de enlace del protocolo WAP a Internet, el servidor de red, la Descripción Universal, registro de Descubrimiento e Integración (UDDI) y una pluralidad de sitios web.
La figura 1A muestra el dispositivo inalámbrico del usuario con las ACTUALIZACIONES DE PRIVACIDAD: submenú del menú de Servicios sensibles al contexto, que permite al usuario ACTUALIZAR SU PERFIL DE PRIVACIDAD o ACTUALIZAR SUS DATOS PERSONALES.
La figura 1B muestra el dispositivo inalámbrico del usuario con las CARACTERÍSTICAS ACTUALIZADAS DE PRIVACIDAD: submenú del menú de Servicios sensibles al contexto, lo que permite al usuario AUTENTICAR UN PROGRAMA y REGISTRAR UN PROGRAMA. Las figuras
1C y 1D muestran el dispositivo inalámbrico del usuario con el submenú EJECUTAR UNA APLICACIÓN del menú de Servicios sensibles al contexto, lo que permite al usuario EJECUTAR UNA APLICACIÓN.
La figura 2 es un diagrama de bloques funcional del dispositivo inalámbrico 100, que muestra sus diversos componentes y programas.
La figura 2A es un diagrama de bloques funcional del dispositivo inalámbrico 100, el servidor 140 y el servidor web 160, y su interacción al intercambiar un vector de metadatos 138 y datos de control de privacidad 150.
La figura 3 es un diagrama de flujo de proceso de red de la interacción del dispositivo inalámbrico 100, el servidor de red 140 y el servidor web 160 cuando se lleva a cabo la determinación del contexto actual del dispositivo inalámbrico 100.
La figura 4 es un diagrama de bloques funcional del servidor de red 140, que muestra la memoria que almacena los programas de software de servicios de aplicaciones necesarios para realizar las operaciones de la invención.
ANÁLISIS DE LA REALIZACIÓN PREFERIDA:
La invención de servicios web sensibles al contexto permite que un teléfono móvil o PDA inalámbrico use técnicas de inferencia de contexto para detectar el entorno del usuario y, en respuesta, proporcionar información útil para el usuario que sea apropiada para el entorno percibido del usuario. La invención descarga parte de la computación computacionalmente intensiva necesaria en las técnicas de inferencia de contexto, desde el dispositivo inalámbrico del usuario móvil a un servidor y a sitios web en Internet. La invención de servicios web sensibles al contexto mantiene un perfil personal de las preferencias personales del usuario móvil en un servidor o sitio web en línea. El usuario móvil tiene la capacidad de controlar el acceso de los programas de aplicación en el dispositivo inalámbrico a los datos privados del usuario. La invención de servicios web sensibles al contexto proporciona al usuario móvil la capacidad de controlar cualquier acceso al perfil del usuario por el servidor en línea o el sitio web.
El dispositivo inalámbrico del usuario móvil está equipado con un motor de inferencia de contexto para proporcionar y conocer el contexto del usuario móvil para los programas de aplicación, incluidas las aplicaciones de terceros. Dado que la potencia de procesamiento y la capacidad de almacenamiento están limitadas en los dispositivos inalámbricos típicos, los requisitos de carga y almacenamiento computacionales del motor de inferencia de contexto se distribuyen a un servidor de inferencia de contexto capaz de procesar los datos de contexto. La invención permite al usuario móvil controlar qué programas de aplicación en el dispositivo inalámbrico tienen acceso a la información de contexto privado
del usuario. Un bloqueo de control de privacidad en el dispositivo inalámbrico otorga o revoca el acceso de los programas de aplicación a la información de contexto privada, en función de las preferencias del usuario móvil almacenadas en un perfil de privacidad. El mismo control de privacidad y perfil de privacidad se extiende al servidor de inferencia de contexto, permitiendo así la extensión del control de privacidad del usuario a cualquier servidor web conectado al servidor de inferencia de contexto. La invención permite así construir una infraestructura para aplicaciones y servicios sensibles al contexto dentro del dispositivo inalámbrico y el servidor, mientras proporciona al usuario móvil control sobre la información de contexto del usuario de privacidad.
La invención se aplica a teléfonos inalámbricos y asistentes digitales personales inalámbricos (PDA) que implementan el estándar del Protocolo de Aplicación Inalámbrica (WAP). La figura 1 es un diagrama de red de una realización de la invención, que muestra una relación de ejemplo entre el dispositivo inalámbrico portátil 100 habilitado para el Protocolo de Aplicación Inalámbrica (WAP) del usuario, una puerta de enlace de protocolo WAP 120 y el servidor 140. El dispositivo inalámbrico portátil 100 habilitado para WAP del usuario puede ser un teléfono móvil inalámbrico, buscapersonas, radio bidireccional, teléfono inteligente, comunicador personal o similar. El dispositivo inalámbrico portátil 100 habilitado para WAP del usuario accede a un pequeño archivo llamado cubierta que está compuesto de varias páginas más pequeñas llamadas tarjetas que son lo suficientemente pequeñas como para caber en el área de visualización del micronavegador 102 del dispositivo. El tamaño pequeño del micronavegador 102 y los tamaños de archivo pequeños acomodan las restricciones de memoria bajas del dispositivo inalámbrico portátil 100 y las restricciones de ancho de banda bajo de una red inalámbrica 116. Las tarjetas se escriben en el Lenguaje de Marcas Inalámbrico (WML), que está ideado específicamente para pequeñas pantallas y navegación de una mano sin un teclado. El lenguaje WML es escalable desde pantallas de texto de dos líneas en el micronavegador 102 de un teléfono celular, hasta grandes pantallas LCD que se encuentran en teléfonos inteligentes y comunicadores personales. Las tarjetas escritas en el lenguaje WML pueden incluir programas escritos en WMLScript, que es similar a JavaScript, pero exige un mínimo de memoria y potencia de CPU del dispositivo 100 porque no contiene muchas de las funciones innecesarias que se encuentran en otros lenguajes de secuencias de comandos.
El Nokia WAP Client Versión 2.0 es un producto de software que contiene los componentes necesarios para implementar el cliente WAP 108 en el dispositivo inalámbrico 100. Estos componentes incluyen un navegador de lenguaje de marcado inalámbrico (WML), motor WMLScript, subsistema push y pila de protocolo inalámbrico. El Nokia WAP Client es un producto de código fuente que puede portarse e integrarse en dispositivos inalámbricos como teléfonos móviles y PDA inalámbricos. Los programas de aplicación 106 almacenados en el dispositivo inalámbrico 100 interactúan con el Cliente WAP 108 para implementar varias aplicaciones de comunicaciones. Los detalles del Nokia WAP Client Versión 2.0 se pueden encontrar en el documento en línea: Nokia WAP Client Version 2.0, Product Overview, Nokia Internet Communications, 2000, www.nokia.com/corporate/wap.
El Cliente WAP 108 incluye la función de infraestructura de clave pública inalámbrica (PKI), que proporciona la infraestructura y los procedimientos necesarios para la autenticación y las firmas digitales para servidores y clientes móviles. PKI inalámbrico es un sistema basado en certificados que utiliza pares de claves públicas/privadas asociadas con cada parte involucrada en una transacción móvil. El módulo de identidad inalámbrico (WIM) es una característica de token de seguridad del cliente WAP 108, que incluye características de seguridad, como las claves públicas y privadas y los certificados de servicio, necesarios para la autenticación del usuario y las firmas digitales. Además, tiene la capacidad de realizar operaciones criptográficas para cifrar y descifrar mensajes.
El dispositivo inalámbrico 100 de la figura 1 también tiene una pluralidad de sensores para detectar las condiciones ambientales del usuario móvil. Los sensores que se muestran incluyen SENSOR DE POSICIONAMIENTO 122, SENSOR DE TOQUE 124, SENSOR DE AUDIO 125, SENSOR DE COMPÁS 126, SENSOR DE LUZ AMBIENTE 128, SENSOR DE TEMPERATURA AMBIENTE 132 y SENSOR DE ACELERACIÓN DE TRES EJES 134. El sensor de audio 125 puede ser un micrófono, por ejemplo, que puede detectar el habla o los sonidos ambientales. El sensor de posicionamiento puede ser, por ejemplo, un receptor GPS integrado en el dispositivo. El sensor de posicionamiento también puede ser, por ejemplo, un sensor de triangulación de radiobaliza que determina la ubicación del dispositivo inalámbrico mediante una red de radiobalizas, estaciones base o puntos de acceso, como se describe, por ejemplo, en la patente europea EP de Nokia 0 767 594 A2, titulada "Mobile Station Positioning System". Estos sensores proporcionan entradas que son muestreadas por el dispositivo inalámbrico 100 para inferir un contexto actual, como se describirá a continuación.
La puerta de enlace de protocolo WAP 120 conecta Internet 130 y la red inalámbrica 116. La puerta de enlace de protocolo WAP 120 incluye la característica de infraestructura de clave pública inalámbrica (PKI) para ayudar a proporcionar una conexión segura de Internet al dispositivo inalámbrico 100. La puerta de enlace de protocolo WAP 120 permite que el dispositivo inalámbrico habilitado para WAP 100 acceda a aplicaciones de Internet como titulares de noticias, tipos de cambio, resultados deportivos, cotizaciones de acciones, viajes en línea y servicios bancarios, o descargar tonos de llamada distintivos.
El dispositivo inalámbrico portátil 100 habilitado para WAP del usuario se comunica con la torre de radio 114 y puede intercambiar mensajes para distancias de hasta varios kilómetros. Los tipos de redes inalámbricas 116 admitidas por el estándar WAP incluyen datos de paquetes digitales celulares (CDPD), acceso múltiple por división de código (CDMA), sistema global para comunicaciones móviles (GSM), acceso múltiple por división de tiempo (TDMA), GPRS,
Banda ancha 3G y similares.
El proceso general de comunicación entre el dispositivo inalámbrico habilitado para WAP del usuario (el cliente) 100, a través de la puerta de enlace de protocolo WAP 120, hasta el servidor 140 se asemeja a la forma en que las páginas web se sirven en Internet utilizando el Protocolo de transferencia de hipertexto (HTTP) o Protocolo World Wide Web:
[1] El usuario presiona una tecla de teléfono en el dispositivo 100 del usuario relacionada con el Localizador de Recursos Uniforme (URL) del servidor 140.
[2] El dispositivo 100 del usuario envía la URL, a través de la torre de radio 114 y la red inalámbrica 116, a la puerta de enlace 120 usando protocolos WAP.
[3] La puerta de enlace 120 traduce la solicitud WAP en una solicitud HTTP y la envía a través de Internet 130 al servidor 140, a través de las interfaces de Protocolo de Control de Transmisión/Protocolo de Internet (TCP/IP).
[4] El servidor 140 maneja la solicitud como cualquier otra solicitud HTTP recibida a través de Internet. El servidor 140 devuelve una plataforma WML o una página de Lenguaje de marcado de hipertexto (HTML) de vuelta a la puerta de enlace 120 utilizando programas de servidor estándar escritos, por ejemplo en programas de Interfaz de puerta de enlace común (CGI), servlets de Java o similares.
[5] La puerta de enlace 120 recibe la respuesta del servidor 140 en nombre del dispositivo 100 del usuario. Si la respuesta es una página HTML, se transcodifica a WML si es necesario. Luego, la codificación WML y WMLScript se codifica en un código de bytes que luego se envía al dispositivo 100 del usuario.
[6] El dispositivo del usuario 100 recibe la respuesta en el código de byte WML y muestra la primera tarjeta en el mazo en el micronavegador 102 al usuario.
En la figura 1, la puerta de enlace de protocolo 120 incluye una pila de protocolo WAP organizada en cinco capas diferentes. Una capa de aplicación es el entorno de aplicaciones inalámbricas, que ejecuta aplicaciones y servicios portátiles. Una capa de sesión es el protocolo de sesión inalámbrico, que proporciona métodos para el intercambio organizado de contenido entre aplicaciones cliente/servidor. Una capa de transacción es el protocolo de transacción inalámbrico, que proporciona métodos para realizar transacciones confiables. Una capa de seguridad es la seguridad de la capa de transporte inalámbrico, que proporciona autenticación, privacidad y conexiones seguras entre aplicaciones. La capa de transporte es el protocolo de datagrama inalámbrico, que protege las capas superiores de los requisitos únicos de los diversos protocolos de red inalámbrica, como CDPD, CDMA, GSM, etc. Puede encontrar información adicional sobre el estándar WAP y la pila de protocolos WAP en el libro de Charles Arehart, et al. titulado "Professional WAP", publicado por Wrox Press Ltd., 2000 (ISBN 1-861004-04-1).
En la figura 1, el dispositivo inalámbrico portátil del usuario 100 incluye el micronavegador 102 que muestra el menú de Servicios sensibles al contexto, para permitir al usuario navegar a través de las tarjetas que se muestran y seleccionar las opciones que están programadas por los programas de aplicación 106. El dispositivo 100 del usuario también incluye el programa cliente WAP 108 que se ha discutido previamente.
El menú de servicios sensibles al contexto visualizado por el micronavegador 102 en la figura 1 lo representa el programa cliente WAP 108 bajo el control de los programas de aplicación 106, que se muestran en las figuras 2 y 2A. El usuario puede seleccionar el tipo de sesión con el menú de Servicios sensibles al contexto, ya sea [A] ACTUALIZAR CARACTERÍSTICAS DE PRIVACIDAD o [B] EJECUTAR UNA APLICACIÓN. Si el usuario selecciona el tipo de sesión ACTUALIZAR CARACTERÍSTICAS DE PRIVACIDAD, el menú de Servicios sensibles al contexto de la figura 1 presenta al usuario el submenú ACTUALIZAR CARACTERÍSTICAS DE PRIVACIDAD desde el cual el usuario puede seleccionar las siguientes opciones:
[A] ACTUALIZAR LAS CARACTERÍSTICAS DE PRIVACIDAD:
[1] ACTUALIZAR TU PERFIL DE PRIVACIDAD
[2] ACTUALIZAR TUS DATOS PERSONALES
[3] AUTENTICAR UN PROGRAMA
La opción [1] de ACTUALIZAR SU PERFIL DE PRIVACIDAD lleva a un segundo submenú que se muestra en la figura 1A, que tiene las siguientes opciones:
[1] ACTUALIZAR TU PERFIL DE PRIVACIDAD
[a] Agregar un programa local a la lista de permisos
[b] Eliminar un programa local de la lista
[c] Agregar un programa de servidor a la lista de permisos
[d] Eliminar un programa de servidor de la lista
[e] Agregar un programa de red a la lista de permisos
[f] Eliminar un programa de red de la lista.
La opción [2] de ACTUALIZAR SUS DATOS PERSONALES conduce a otro submenú que se muestra en la figura 1A, que tiene las siguientes opciones:
[2] ACTUALIZAR TUS DATOS PERSONALES
[a] Actualizar la base de datos del servidor
[b] Actualizar la base de datos de la red.
La opción [3] de AUTENTICAR UN PROGRAMA, lleva a otro submenú que se muestra en la figura 1B, que tiene las siguientes opciones:
[3] AUTENTICAR UN PROGRAMA
[a] Solicitar el certificado de clave pública del programa
[b] Verificar firmas de certificados
[c] Verificar tiempo de validez
[d] Verificar el estado de revocación
[e] Comprobar si la autoridad de certificación en la lista de confianza
[f] Marcar el programa como autenticado.
La opción AUTENTICAR UN PROGRAMA llama al control de privacidad 150 del dispositivo inalámbrico 100 en la figura 2. Si un programa de aplicación A, B, X o Y ha sido verificado por una autoridad confiable para verificar su aceptabilidad, entonces la autoridad confiable habrá emitido un certificado digital en un código de autenticación de mensaje (MAC) que ha calculado para el programa de aplicación, que puede ser verificado por el control de privacidad 150. Mientras el control de privacidad 150 confíe en la autoridad confiable que emite el certificado digital, la autenticación del programa de aplicación es sencilla.
Una vez que el usuario móvil haya verificado el certificado digital del programa y esté satisfecho de que el programa de aplicación no subvertirá la integridad o seguridad de los datos privados del usuario, el usuario puede registrar el programa. El registro es la concesión por parte del usuario de permiso de acceso al programa, para acceder al contexto actual del dispositivo inalámbrico del usuario y/o para acceder a otras partes de los datos privados del usuario. Hay varios niveles de permiso que el usuario puede otorgar en dos categorías, [a] cuándo pueden tener lugar los accesos y [b] a qué datos se puede acceder.
La opción [4] de REGISTRAR UN PROGRAMA lleva a otro submenú que se muestra en la figura 1B, que tiene las siguientes opciones:
[4] REGISTRAR UN PROGRAMA
[a] Cuándo pueden tener lugar los accesos
[b] A qué datos se puede acceder
Para la primera categoría de [a] cuándo pueden tener lugar los accesos, el nivel más alto de permiso en esta categoría es que el acceso puede ocurrir en cualquier momento y sin previo aviso. El nivel más bajo de permiso en esta categoría es que el acceso solo puede ocurrir en momentos específicos o bajo condiciones específicas, y solo después de la notificación al usuario y la autorización específica del usuario. Para la segunda categoría de [b] a qué datos se puede acceder, el nivel más alto de permiso en esta categoría es acceder a conjuntos de datos ilimitados en los datos privados del usuario, incluida la información de contexto actual, los datos personales ingresados por el usuario, el historial de uso de Internet del usuario datos, los datos de cookies de Internet del usuario y los datos de uso del programa de aplicación del usuario. El nivel más bajo de permiso en esta categoría es que el acceso a cualquier información solo puede ocurrir después de la notificación al usuario y la autorización específica del usuario. El usuario puede configurar cualquier nivel de permiso entre el más alto y el más bajo y hacer que sea la base para el registro. El usuario puede incluir los términos de registro en un certificado digital firmado por el usuario y adjuntado al programa de aplicación. El certificado de registro puede ser presentado por el programa al control de privacidad 150 antes de un evento de acceso propuesto, el control de privacidad 150 para verificar automáticamente el estado de registro del programa. El certificado de registro se puede construir como sigue.
El control de privacidad 150 puede calcular un código de autenticación de mensaje (MAC) y su propia firma digital y agregarlo como un certificado a un programa de aplicación aceptable A, B, X o Y. El control de privacidad 150 puede incluir los términos de registro en el certificado digital. Luego, cuando el programa solicita acceso a los datos privados del usuario, el control de privacidad 150 puede verificar automáticamente el MAC y su propia firma digital para verificar que el programa no haya cambiado y el control de privacidad 150 también puede verificar automáticamente el estado de registro del programa. Esto se logra mediante el control de privacidad 150 que calcula un valor hash para todo el programa de aplicación A, B, X o Y (o una parte de él) y los términos de registro, y luego forma un código de autenticación de mensaje (MAC) desde valor hash. El control de privacidad 150 luego usa su clave privada PKI para firmar digitalmente el código de autenticación de mensaje (MAC). Los términos del registro, el MAC y la firma digital del control de privacidad se adjuntan al programa de aplicación A, B, X o Y como un certificado de registro.
Entonces, cada vez que el programa de aplicación A, B, X o Y solicite acceso a los datos de contexto del usuario o datos privados, el control de privacidad 150 requerirá que el programa de aplicación presente el certificado de registro para que el control de privacidad 150 pueda verificar que MAC se compara con un m Ac calculado y que la firma digital presentada es genuina. El control de privacidad 150 puede conceder automáticamente permiso de acceso al programa
de aplicación, de acuerdo con los términos del registro.
Los métodos para generar y evaluar los códigos de autenticación de mensajes para asegurar la integridad de los datos se describen en el libro de Stephen Thomas titulado "SSL y TLS", publicado por John Wiley and Sons, 2000. Dos ejemplos de algoritmos para la autenticación de mensajes son el resumen de mensajes de r Sa (MD5) y el algoritmo de hash seguro (SHA), ambos descritos en el libro de Stephen Thomas. Otra referencia que entra en mayor detalle en su discusión sobre los métodos de integridad de datos es el libro de Bruce Schneier titulado "Applied Cryptography -2nd Edition" publicado por John Wiley and Sons, 1996. Los métodos para generar y evaluar firmas digitales para asegurar la fuente del programa digital se describen en el libro de Richard E. Smith titulado "Internet Cryptography", publicado por Addison Wesley, 1997.
Lo que se ha descrito aquí para el control de privacidad 150 en el dispositivo inalámbrico 100, es igualmente aplicable al control de privacidad 164 en el servidor de red 140 de la figura 2A. El control de privacidad 164 en el servidor de red 140 puede calcular el código de autenticación de mensaje (MAC) y su propia firma digital y agregarlo, con los términos del registro, como un certificado de registro a un programa de aplicación aceptable en el servidor web 160. El control de privacidad 164 tiene una copia en caché 144 del Perfil de privacidad 152 del dispositivo inalámbrico 100. Esto permite procesar automáticamente la verificación de privacidad en el servidor de red 140 para las solicitudes de acceso del servidor web 160. Cuando el programa de aplicación en el servidor web 160 solicita acceso a los datos privados del usuario en el servidor de red 140 o en el dispositivo inalámbrico 100, el control de privacidad 164 en el servidor de red 140 requerirá que el programa de aplicación en el servidor web 160 presente el certificado de registro para que pueda verificar el MAC y su propia firma digital para verificar que el programa de la aplicación no haya cambiado. El control de privacidad 164 puede conceder automáticamente permiso de acceso al programa de aplicación en el servidor web 160, de acuerdo con los términos del registro.
Si el usuario selecciona el tipo de sesión [B] EJECUTAR UNA APLICACIÓN, el menú de Servicios sensibles al contexto de la figura 1C presenta al usuario el submenú EJECUTAR UNA APLICACIÓN desde el cual el usuario puede seleccionar las siguientes opciones:
[1] MENSAJERÍA
[a] intercambiar mensajes multimedia
[2] COMERCIO MÓVIL
[a] calendario personal en línea
[b] tipos de cambio
[c] servicios bancarios
[d] pagar facturas en línea usando billetera virtual
[e] publicidad útil e informativa
[f] servicios de transacciones comerciales en línea
El menú de Servicios sensibles al contexto de la figura 1D presenta al usuario el submenú EJECUTAR UNA APLICACIÓN del cual el usuario puede seleccionar las siguientes opciones:
[3] ENTRETENIMIENTO
[a] noticia titular
[b] resultados deportivos
[c] cotizaciones de acciones
[d] pronósticos del tiempo
[e] diccionarios de frases multilingües
[f] viajes en línea
[g] descarga de tonos de llamada distintivos
[h] juegos interactivos
La opción EJECUTAR UNA APLICACIÓN llama a uno de los programas de aplicación A, B, X o Y del dispositivo inalámbrico 100 en la figura 2.
La figura 2 es un diagrama de bloques funcional del dispositivo inalámbrico 100, que muestra sus diversos componentes y programas. El dispositivo inalámbrico 100 tiene aplicaciones contextuales A, B, X e Y, descargadas o en firmware. El dispositivo inalámbrico 100 no necesita utilizar una funcionalidad externa en la red para el muestreo inicial y la digitalización de las entradas del sensor. Los valores muestreados y digitalizados de las entradas del sensor son METADATA DE POSICIONAMIENTO 122', METADATA DE TOQUE 124', METADATA DE AUDIO 125', METADATA DE COMPÁS 126', METADATA DE LUZ AMBIENTE 128', METADATA DE TEMPERATURA AMBIENTE 132' y METADATA DE ACELERACIÓN DE TRES EJES 134'. Los valores muestreados y digitalizados de las entradas del sensor se cargan en un vector de metadatos 138.
La figura 2 muestra la memoria 202 del dispositivo inalámbrico 100, conectado por el bus 204 al teclado 104, la radio 206, la interfaz del sensor 208, el procesador central 210 y la pantalla 212. La memoria 202 almacena programas que son secuencias de instrucciones ejecutables que, cuando se ejecutan por el procesador 210, llevan a cabo los métodos de la invención. La memoria 202 almacena el programa cliente WAP 108, el motor de inferencia de contexto 136, el control de privacidad 150, el perfil de privacidad 152, la API de contexto 154, la API de movimiento/gesto 156, la API de ubicación 158 y otras API 162. El motor de inferencia de contexto 136 procesa el vector de metadatos 138 para producir el contexto actual. Los programas de aplicación 106 almacenados en la memoria 202 incluyen los programas de aplicación A y B que forman parte del sistema de software SS1, y los programas de aplicación X e Y que están contenidos en el entorno de ejecución "Ent. Ejec".
Si hay suficiente potencia computacional y capacidad de almacenamiento disponible en el dispositivo inalámbrico 100, puede tener lugar un procesamiento adicional del vector de metadatos 138 en el motor de inferencia de contexto 136, con el objetivo de producir el resultado de un contexto actual inferido. Sin embargo, si en algún momento del cálculo, el motor de inferencia de contexto 136 necesita la potencia de procesamiento o la capacidad de almacenamiento disponible en el servidor de red 140, el vector de metadatos 138 se envía desde el dispositivo inalámbrico 100 al motor de inferencia de contexto 142 en el servidor de red 140 de la figura 2A. El motor de inferencia de contexto 142 en el servidor de red 140 puede realizar el procesamiento requerido en el vector de metadatos 138 y luego devolverlo al motor de inferencia de contexto 136 en el dispositivo inalámbrico 100 para completar el resultado de contexto actual inferido. Alternativamente, el motor de inferencia de contexto 142 en el servidor de red 140 puede completar el procesamiento requerido y luego devolver el contexto actual inferido resultante al dispositivo inalámbrico 100.
La figura 2 muestra la arquitectura de un dispositivo inalámbrico con soporte para el reconocimiento del contexto. El reconocimiento del contexto se basa en la información sensorial recibida de varios tipos de sensores ubicados físicamente en el teléfono que se muestra en la figura 1. Los sensores que se muestran incluyen SENSOR DE POSICIONAMIENTO 122, SENSOR DE TOQUE 124, SENSOR DE AUDIO 125, SENSOR DE COMPÁS 126, SENSOR DE LUZ AMBIENTE 128, SENSOR DE TEMPERATURA AMBIENTE 132 y SENSOR DE ACELERACIÓN DE TRES EJES 134. Los sensores también se pueden ubicar en cubiertas de teléfonos similares a accesorios o en un accesorio inalámbrico como un dispositivo con Bluetooth. Los sensores también pueden ubicarse en el entorno, como en las habitaciones o vehículos del usuario. También se puede usar la duración del tiempo de uso de un teléfono y otra información disponible junto con los datos del sensor en los servicios de conocimiento de contexto.
La figura 2 muestra los datos del sensor recibidos de los sensores 122, 124, 125, 126, 128, 132 y 134 procesados por el Motor de Inferencia de Contexto 136. Los programas de aplicación A, B, X o Y que se ejecutan en el dispositivo inalámbrico 100, pueden proporcionar opcionalmente datos de aplicación al motor de inferencia de contexto 136, junto con su solicitud de contexto actual. El motor de inferencia de contexto 136 puede procesar opcionalmente las señales del sensor y los datos de la aplicación para producir el contexto actual. El motor de inferencia de contexto 136 luego alimenta el contexto actual a través de varias API 154, 156, 158 y 162 a los programas de aplicación A, B, X e Y. Los programas de aplicación pueden registrarse en la interfaz de programación de aplicaciones 154 para recibir el contexto actual o cambios en el contexto. Esto permite la sensibilidad al contexto en los programas de aplicación.
La figura 2 muestra los programas de aplicación "nativos" A y B que se ejecutan en un primer sistema de software SS1 del dispositivo inalámbrico 100. El término "Sistema de software" se utiliza aquí para cualquier entorno con capacidad de ejecución. Este primer sistema de software puede ser propietario o estar basado en un sistema operativo en tiempo real disponible comercialmente, como NOS, ISA, EPOC, JAVA o WAP. Los programas de aplicaciones de terceros X y se ejecutan dentro de un entorno de ejecución. Este entorno de ejecución puede limitar las capacidades del sistema disponibles para los programas de aplicación, como el acceso a las API (comportamiento fijo, no dinámico).
La figura 2 muestra la función de control de privacidad del usuario móvil. La característica de control de privacidad permite al usuario designar qué programas de aplicación tienen acceso a las API 154 de conocimiento de contexto para utilizar la información de contexto actual producida por el motor de inferencia de contexto 136. Todas las solicitudes o registros de los programas de aplicación A, B, X e Y para tener acceso al motor de inferencia de contexto 136, primero deben pasar por el bloque de Control de privacidad 150. El bloque de Control de privacidad 150 utiliza la verificación de datos de seguridad del usuario almacenada en el Perfil de privacidad 152 para otorgar derechos de acceso a los programas de aplicación solicitantes. El usuario controla la concesión de derechos de acceso por medio de la entrada de datos de seguridad del usuario a través de la interfaz de usuario. Los datos de seguridad del usuario incluyen la lista de permisos 155, los certificados 157 de Infraestructura de clave pública (PKI), la lista de confianza de la autoridad confiable de PKI 159 y las marcas establecidas por el usuario para aquellos programas de aplicación que han sido autenticados por los procedimientos de PKI, conjunto de datos 161. El usuario puede actualizar los datos de seguridad del usuario con el menú ACTUALIZAR CARACTERÍSTICAS DE PRIVACIDAD que muestra el dispositivo inalámbrico 100 que se muestra en las figuras 1A e IB. Se puede otorgar acceso a un programa de aplicación basado en su firma digital, que es parte de las aplicaciones del sistema u otros medios conocidos en la técnica. También es posible proporcionar una interfaz de usuario de privacidad independiente de todo el sistema para el control de privacidad 150, que puede ser utilizada por el usuario móvil para establecer las políticas de privacidad y alertar al usuario móvil de que un programa de aplicación está intentando registrarse para recibir el información de conocimiento del contexto privado del usuario. El control de privacidad 150 y el Perfil de privacidad 152 permiten al usuario móvil otorgar, denegar o revocar el acceso, otorgar acceso por un tiempo limitado o requerir que un programa de aplicación
solicite siempre el registro antes de que el usuario otorgue acceso.
En la figura 2, el motor de inferencia de contexto 136 en el dispositivo inalámbrico 100 hace inferencias de todas las entradas de sensor en función de dónde está ubicado el dispositivo inalámbrico por el usuario móvil. Por ejemplo, el contexto actual inferido del dispositivo 100 puede estar "EN El BOLSILLO DEL USUARIO", cuando un cierto conjunto de sensores ingresa una combinación específica de señales que tienen un rango de valores específico. Como ejemplo, la inferencia resultante del contexto actual por el Motor de interferencia de contexto 136 podría expresarse en formato de lenguaje XML de la siguiente manera:
<Context Inference Engine in Device>
<device placement>pocket </ device placement>
<User Interface state> sleep mode </User Interface state>
< device location> in elevator 5 building 1 floor 2</ device location>
<API active actions> meeting starting on floor 3 room 322 </API active actions>
</Context Inference Engine in Device >
El motor de inferencia de contexto 136 en el dispositivo inalámbrico 100 puede realizar el proceso de inferencia de contexto con cualquiera de varios métodos. Se puede ponderar información de entrada diferente de los sensores de acuerdo con su valor relativo de importancia apropiado para cada condición o situación del entorno a analizar. Cada sensor tiene su propio valor de peso. Alternativamente, los valores de peso para cada sensor para cada condición ambiental se pueden aprender de las sesiones de entrenamiento utilizando, por ejemplo, redes neuronales artificiales (ANN), mapas autoorganizados (SOM), árboles de decisión, sistemas difusos basados en reglas o modelos basados sistemas como el modelado oculto de Markov (HMM). Se pueden usar combinaciones de dos o más de los métodos alternativos, dependiendo de la aplicación.
El motor de inferencia de contexto 136 puede adaptar continuamente sus pesos a través de métodos de aprendizaje adaptativos y continuos, donde el usuario enseña al dispositivo inalámbrico 100 nuevas condiciones ambientales y las nombra. El modelado oculto de Markov (HMM) se puede utilizar, por ejemplo, para implementar un método de aprendizaje adaptativo y continuo para el motor de inferencia de contexto 136. Alternativamente, el dispositivo inalámbrico 100 puede programarse para reconocer espontáneamente una escena cambiada comparándola con escenas conocidas. El usuario puede enseñar al dispositivo inalámbrico nuevas condiciones ambientales y nombrarlas, utilizando la capacidad de aprendizaje adaptativo y automático de las redes neuronales. Los métodos de aprendizaje adaptativo y continuo son computacionalmente intensivos y son candidatos apropiados para colocar en el servidor de red 140, que ayuda al dispositivo inalámbrico 100, como se discute a continuación.
El campo de inferencia de contexto ha aplicado los principios del reconocimiento automatizado de patrones para procesar diversos tipos de entradas de sensores. El reconocimiento de voz se ha aplicado al procesamiento de señales de voz y el reconocimiento de escritura a mano se ha aplicado al procesamiento de señales de fuerza manual y acelerómetro. En el campo de la robótica, el reconocimiento de imágenes se ha aplicado al procesamiento de imágenes fijas y en movimiento digitalizadas, el reconocimiento de ubicación mecánica se ha aplicado al procesamiento de señales de láser y sonda de rango de sonda, y el reconocimiento de movimiento mecánico se ha aplicado al procesamiento de señales de inercia, aceleración y rumbo. En el campo de los dispositivos protésicos, el reconocimiento táctil se ha aplicado al procesamiento de señales de sensores táctiles. En el campo de la medicina, los programas de diagnóstico automatizados reconocen diversas patologías mediante el procesamiento de señales de campo bioeléctrico, así como las señales más tradicionales de pulso, frecuencia respiratoria y temperatura corporal. Estos diversos procesos de reconocimiento de señal del sensor tienen la característica común de que se lleva a cabo una etapa de entrenamiento inicial donde las señales muestreadas se equiparan con un modelo estadístico para esas señales.
Los principios del reconocimiento automatizado de patrones para estas diversas entradas de sensores se ejemplifican mediante las técnicas para reconocer patrones de voz. Una técnica común utilizada en el reconocimiento de voz es Modelado Oculto de Markov (HMM). El término "Oculto" se refiere a los eventos probabilísticos y no directamente observables que subyacen a una señal de voz. Los sistemas de reconocimiento de voz h Mm suelen utilizar realizaciones de fonemas que son modelos estadísticos de segmentos fonéticos que tienen parámetros que se estiman a partir de un conjunto de ejemplos de entrenamiento. Los modelos de palabras se hacen encadenando o vinculando modelos estadísticos apropiados de segmentos fonéticos. Los modelos estadísticos sirven como estándares que deben coincidir con las señales de voz desconocidas que deben reconocerse.
El reconocimiento de señales de voz desconocidas requiere muestreo y digitalización de los fonemas hablados del hablante. Estos fonemas digitalizados se procesan en metadatos. Los metadatos se comparan con los modelos estadísticos estándar de fonemas. Las coincidencias más probables son el resultado del reconocimiento de voz inferido.
El reconocimiento consiste en encontrar la ruta más probable a través del conjunto de modelos de palabras para la señal de voz de entrada. Los sistemas de decodificación de reconocimiento de voz HMM primero deben ser entrenados a través de un proceso iterativo. El sistema debe estar expuesto a ejemplos de capacitación o palabras de la voz de un hablante en particular. Se analiza una palabra de entrenamiento para generar una secuencia enmarcada de
parámetros acústicos o modelos estadísticos. Un reconocimiento válido o "bueno" ocurre cuando la ruta más probable a través del conjunto de modelos de palabras para la palabra de entrenamiento resulta en reconocer la palabra de entrenamiento correcta.
Algunas referencias útiles que discuten los principios de los modelos ocultos de Markov son:
Rabiner, L.R., "A tutorial on hidden Markov models and selected applications in speech recognition", Actas del IEEE, volumen 77, número 2, 1989, páginas 257-286.
Rabiner, LR y Juang, BH, "An introduction to hidden Markov models", IEEE ASSP Magazine, enero de 1986, páginas 4-15.
Fraser, Andrew M. and Dimitriadis, Alexis, "Forecasting Probability Densities by Using Hidden Markov Models with Mixed States", Time Series Prediction: Forecasting the Future and Understanding the Past, Addison-Wesley, editor Weigend, Andreas S. y Gershenfeld, Neil A., 1994.
Charniak, Eugene, Statistical Language Learning, MIT Press, Cambridge, Massachusetts, 1993.
Para ilustrar cómo el Modelado Oculto de Markov (HMM) puede extenderse más allá del reconocimiento de voz, aquí se da un ejemplo para el reconocimiento táctil. En la etapa de entrenamiento para el reconocimiento táctil, las señales del sensor táctil se introducen al tocar un transductor táctil a una textura áspera, como por ejemplo papel de lija. Las señales del sensor táctil se transforman en un modelo estadístico de la señal de entrada. El modelo estadístico se almacena como estándar en la memoria de un ordenador bajo el identificador "textura_gruesa". Para ampliar el rango de señales del sensor que se incluyen en el modelo para "textura aproximada", se pueden realizar varias sesiones de entrenamiento, cada una con una dirección o presión diferente para tocar el papel de lija, lo que da como resultado varias muestras diferentes del modelo estadístico. El conjunto de muestras del modelo estadístico se almacena como estándar bajo el identificador "textura_gruesa". Otras sesiones de entrenamiento se llevan a cabo con una textura suave, como el vidrio. Las señales del sensor táctil que ingresan al tocar el transductor táctil con la textura suave se transforman en un modelo estadístico de la señal de entrada y se almacenan como un estándar bajo el identificador "textura_suave". Más tarde, en el modo de reconocimiento, un objeto desconocido es tocado por el transductor táctil, lo que resulta en una muestra de señal del sensor táctil. El reconocimiento de señales táctiles desconocidas requiere muestreo y digitalización de las señales del transductor táctil. Estas señales de sensor digitalizadas se procesan en metadatos. Los metadatos se comparan luego con los modelos estadísticos estándar de "textura_gruesa" y "textura_suave". La coincidencia más probable es el resultado del reconocimiento táctil inferido.
Las combinaciones de dos o más tipos de sensores pueden combinar sus señales en un vector de metadatos de entrada que caracteriza un evento de muestreo compuesto. El evento de muestreo compuesto puede reconocerse utilizando los principios del modelado oculto de Markov (HMM). Un ejemplo de evento de muestreo compuesto puede ser el estado de salud y fatiga del usuario de un dispositivo inalámbrico 100. Por ejemplo, un dispositivo inalámbrico 100 puede estar equipado con un transductor táctil que emite señales del sensor táctil en respuesta a la fuerza manual y la frecuencia del pulso del usuario que está agarrando el dispositivo inalámbrico 100. El dispositivo inalámbrico 100 puede estar equipado con un sensor de temperatura que emite señales de temperatura corporal en respuesta al usuario que agarra el dispositivo inalámbrico 100. El modelado oculto de Markov (HMM) se puede utilizar para reconocer un vector de metadatos de entrada de fuerza/temperatura que caracteriza la combinación de la fuerza manual y las señales del sensor de temperatura resultantes de un evento de muestreo. Un evento de muestreo compuesto en este ejemplo puede tener una duración extendida para que el sensor de fuerza pueda transducir la frecuencia del pulso del usuario durante un período de tiempo.
En la etapa de entrenamiento, las señales del sensor táctil y las señales del sensor de fuerza se emiten mientras el usuario está en buenas condiciones de salud y descansa normalmente. Las señales del sensor táctil y las señales del sensor de fuerza se combinan en un vector de metadatos de entrada de fuerza/temperatura que se transforma en un modelo estadístico de las señales de entrada. El modelo estadístico se almacena como un estándar en la memoria de la computadora del dispositivo inalámbrico 100 bajo el controlador "buena_salud_descansando_normalmente". Se realizan otras sesiones de entrenamiento con el usuario en diferentes estados de salud y fatiga. Por ejemplo, el usuario puede estar entrenando el dispositivo inalámbrico 100 mientras trabaja a altas horas de la noche en la oficina. Las señales del sensor táctil y las señales del sensor de fuerza resultantes de sostener el dispositivo inalámbrico 100, se combinan en un vector de metadatos de entrada de fuerza/temperatura para el usuario en condiciones de gozar de buena salud pero fatigado. El vector de metadatos de entrada de fuerza/temperatura se transforma en un modelo estadístico de las señales de entrada y se almacena como un estándar bajo el identificador "buena_salud_fatigado".
Más tarde, en el modo de reconocimiento, cuando el usuario sostiene el dispositivo inalámbrico 100, se muestrean las señales del sensor táctil y las señales del sensor de fuerza. El reconocimiento del Estado de Salud/Fatiga consiste en muestrear y digitalizar las señales del transductor táctil. Estas señales de sensor digitalizadas se procesan en un vector de metadatos. El vector de metadatos se compara con los modelos estadísticos estándar de manejo "buena_salud_descansando_normalmente" y "buena_salud_fatigado". La coincidencia más probable es el resultado del reconocimiento táctil inferido.
De acuerdo con la invención, este resultado de reconocimiento puede ser utilizado por un programa de aplicación de mantenimiento de salud en el dispositivo inalámbrico 100, para proporcionar información útil y apropiada al usuario.
Por ejemplo, un programa de mantenimiento de la salud puede procesar el resultado del reconocimiento y, en respuesta, enviar una señal de alarma al usuario y proporcionar sugerencias de medicamentos para paliar la fatiga detectada. Un problema con los programas de reconocimiento automático es que son relativamente grandes o llaman a bases de datos que son relativamente grandes en comparación con la capacidad de memoria del dispositivo inalámbrico 100.
Otro aspecto de la invención es que el resultado de reconocimiento puede ser utilizado por un programa de aplicación complementario en un servidor remoto, para proporcionar información adicional y más útil y apropiada para el usuario. Por ejemplo, el servidor puede acceder a una gran base de datos de sugerencias de medicamentos para paliar la fatiga detectada por el usuario. Los resultados de la búsqueda de la base de datos pueden devolverse al dispositivo inalámbrico 100. El servidor también puede mantener un perfil personal de las características y preferencias del usuario y puede usar ese perfil para formular automáticamente su consulta a la base de datos. Por ejemplo, las alergias a medicamentos del usuario pueden almacenarse en la base de datos del servidor, para asegurar que no se hagan recomendaciones que den como resultado una reacción alérgica del usuario al medicamento sugerido.
La figura 2A es un diagrama de bloques funcional del dispositivo inalámbrico 100, el servidor 140 y el servidor web 160, y su interacción al intercambiar el vector de metadatos 138 y los datos de control de privacidad 150'. Estos intercambios se encriptan en masa con una clave de sesión simétrica, como una clave de Estándar de cifrado de datos (DES), para proteger la privacidad de los datos. Para asegurar la integridad del vector de metadatos 138 y los datos de control de privacidad 150', se puede calcular y adjuntar un código de autenticación de mensaje (MAC) a los datos, como se describe en el libro referenciado anteriormente por Stephen Thomas titulado "SSL y TLS", publicado por John Wiley and Sons, 2000. Para asegurar que la fuente del vector de metadatos 138 y los datos de control de privacidad 150' no puedan ser repudiados, se puede agregar una firma digital a los datos, como se describe en el libro de referencia de Richard E. Smith titulado "Internet Cryptography", publicado por Addison Wesley, 1997.
La figura 2A muestra el alcance de la implementación de conocimiento de contexto distribuido. El dispositivo inalámbrico 100 tiene aplicaciones sensibles al contexto A, B, X e Y descargadas o en firmware. El dispositivo inalámbrico 100 puede preprocesar localmente parte de la información de contexto en el vector de metadatos 138 antes de enviarlo al motor de inferencia de contexto 142 en el servidor de red 140 que es capaz de procesar los datos y responder de nuevo con el contexto actual resultante. El dispositivo inalámbrico 100 puede ejecutar programas de aplicación que requieren acceder al servidor de servicio web 160 para proporcionar servicios sensibles al contexto para el usuario móvil.
La figura 2A muestra cómo el procesamiento de los datos del sensor desde los sensores en el dispositivo inalámbrico 100 puede distribuirse entre el dispositivo inalámbrico y el servidor de red 140. La operación en la figura 2A es la siguiente:
1. Los sensores proporcionan continuamente los datos del sensor al motor de inferencia de contexto 136 en el dispositivo inalámbrico 100.
2. Un programa de aplicación que utiliza las API 154 de conocimiento de contexto puede solicitar la información de contexto más reciente, o el programa de aplicación puede registrarse para recibir cualquier cambio en la información de contexto específica.
3. El motor de inferencia de contexto 136 contacta de forma segura con el motor de inferencia de contexto 142 del servidor de red 140 y envía el vector de metadatos 138 al servidor 140. Dependiendo de los sensores y los detalles de implementación, Motor de inferencia de contexto 136 puede preprocesar parte de los datos del sensor en el vector de metadatos 138 antes de enviarlo. Dependiendo de los sensores y el intervalo de procesamiento, puede haber una conexión virtual abierta entre el Motor de inferencia de contexto 136 y el Motor de inferencia de contexto 142 para intercambios de datos frecuentes. El Motor de inferencia de contexto 142 en el servidor de red 140 tiene el poder de procesamiento y la capacidad de memoria para manejar el procesamiento computacionalmente intensivo y/o intensivo en memoria de los datos del sensor preprocesados en el vector de metadatos 138 para producir la información del resultado del contexto actual.
4. El Motor de inferencia de contexto 142 en el servidor de red 140 puede utilizar información de usuario local (información de historial, detalles del cliente) almacenada en la base de datos de usuario 146 para hacer una determinación más precisa del contexto actual del usuario móvil.
5. El motor de inferencia de contexto 142 en el servidor de red 140 luego devuelve de forma segura la información de conocimiento de contexto actual al motor de inferencia de contexto 136 en el dispositivo inalámbrico 100. 6. El motor de inferencia de contexto 136 en el dispositivo inalámbrico 100 proporciona entonces la información actual de conocimiento de contexto a través de las API de conocimiento de contexto 154 a los programas de aplicación registrados para recibir esa información.
La figura 2A muestra cómo los Servicios web en el Servidor de servicios web 160 están habilitados para recibir los resultados del contexto actual del dispositivo inalámbrico 100. El servidor de servicios web 160 tiene un sistema de software para el programa de aplicación de servidor A y un entorno de ejecución para los programas de aplicación de servidor X e Y que son similares al sistema de software SS1 y el entorno de ejecución (Ent. Ejec.) En el dispositivo inalámbrico 100 que se muestra en la figura 2. Los programas de aplicación de servidor A, X e Y en el servidor de servicio web 160 pueden requerir acceso a través de las API de conocimiento de contexto para proporcionar servicios
web con el contexto actual del dispositivo inalámbrico 100.
En la figura 2A, el Servidor de servicio web 160 usa el Cliente de inferencia de contexto 176 para contactar al Servidor de inferencia de contexto 174 en el servidor de red 140. El Cliente de inferencia de contexto 176 puede utilizar la información de la base de datos del cliente en la base de datos 184 para mejorar las capacidades de sensibilidad al contexto del servidor web 160. El contacto con el servidor de red 140 se realiza a través de una interfaz de conocimiento de contexto 186 al Servidor de inferencia de contexto 174 en el servidor de red 140.
El servidor de inferencia de contexto 174 registra los servicios web del servidor web 160 a través del control de privacidad 164 del servidor de red 140 en el motor de inferencia de contexto 142. El control de privacidad 164 tiene una copia en caché 144 del Perfil de privacidad 152 del dispositivo inalámbrico 100. Esto permite el procesamiento de la verificación de privacidad en el servidor de red 140 para las solicitudes de acceso del servidor web 160. La comunicación entre el servidor web 160 y el servidor de red 140 se asegura utilizando los protocolos seguros de Internet, como HTTPS o SSL. El servidor de inferencia de contexto 174 puede publicar su propio servicio como servicio web para otros servicios web en Internet, en cuyo caso la implementación de la interfaz 186 entre el servidor web 160 y el servidor de red 140 puede ser mensajes de lenguaje de marcado extensible (XML) transportados en el protocolo de mensajería del Protocolo simple de acceso a objetos (SOAP).
El motor de inferencia de contexto 142 en el servidor de red 140 recibirá información procesada del vector de metadatos del sensor 138 y posiblemente alguna información de API de aplicación originada en el motor de inferencia de contexto 136 del dispositivo inalámbrico 100. El motor de inferencia de contexto 142 del servidor de red tiene una base de datos de usuario 146 con información del comportamiento del usuario y del uso pasado del dispositivo inalámbrico. El motor de inferencia de contexto 142 del servidor de red también puede tener servicios de terceros disponibles (como instancias que ofrecen contenido y/o servicios) para ofrecer a los usuarios potenciales. Lo que se ofrece al usuario también puede depender del perfil de usuario 144. La naturaleza de la información del motor de inferencia de contexto 136 del dispositivo inalámbrico 100 que se transmite al motor de inferencia de contexto 142 de la red puede controlarse con el control de privacidad 150 que es administrado por el usuario del dispositivo inalámbrico 100. De este modo, el usuario puede deshabilitar total o parcialmente el motor de inferencia de contexto 142 de la red para controlar la cantidad de su información que puede ser utilizada por servicios de terceros. El control de privacidad 150 permite al usuario controlar el acceso de cualquier persona a su información privada.
El motor de inferencia de contexto 136 del dispositivo inalámbrico recibe una entrada de la interfaz API 154 de las aplicaciones A, B, X o Y ubicadas en el dispositivo inalámbrico 100. Un ejemplo sería de un programa de aplicación de calendario que indica que una reunión está comenzando dentro de 25 minutos. Como otro ejemplo, el programa de aplicación de calendario indica que Lisa tiene un cumpleaños mañana en el que participas. El motor de inferencia de contexto 136 del dispositivo inalámbrico puede transmitir información procesada de resultados al motor de inferencia de contexto 142 del servidor de red. Ahora, además de la información del sensor, la información de los programas de aplicación A, B, X o Y también se puede utilizar en la toma de decisiones del Motor de inferencia de contexto 136 del dispositivo inalámbrico. El motor de inferencia de contexto 136 puede procesar una combinación de la información del sensor y la información proveniente de los programas de aplicación A, B, X o Y. El comportamiento del usuario o los patrones de uso pueden detectarse desde el sensor y registrarse en la base de datos del usuario, en relación con el uso de los programas de aplicación. Como se discutió anteriormente, el procesamiento de esta información combinada de los sensores y de los programas de aplicación se puede compartir entre el Motor de inferencia de contexto 136 y el Motor de inferencia de contexto 142. Los programas de aplicación A, B, X o Y que se ejecutan en el dispositivo inalámbrico 100 o los programas de aplicación de servidor A, X e Y que se ejecutan en el servidor web 160, pueden proporcionar opcionalmente datos de aplicación al motor de inferencia de contexto 142 en el servidor de red 140. El motor de inferencia de contexto 142 puede procesar opcionalmente el vector de metadatos 138 y los datos de la aplicación para producir el contexto actual.
La transferencia de información desde el motor de inferencia de contexto 136 del dispositivo inalámbrico al motor de inferencia de contexto 142 del servidor de red se puede hacer de formas alternativas. El sistema se puede gestionar de modo que se tenga en cuenta el consumo actual y la capacidad de transferencia entre el dispositivo inalámbrico 100 y el servidor de red 140. La información de contexto no siempre tiene que recopilarse con tanta frecuencia que debería transferirse periódicamente al lado de la red 140 cada pocos segundos. Dependiendo de la aplicación, la ventana de tiempo aplicada a la transferencia de información desde el Motor de inferencia de contexto 136 del dispositivo inalámbrico 100 al Motor de inferencia de contexto 142 del servidor 140 puede variar de segundos a minutos. Si no hubiera ningún cambio de evento o cambio de condición en el entorno del dispositivo inalámbrico 100, no habría necesidad de transferir información al Motor de inferencia de contexto 142 del servidor 140. Además, la información puede almacenarse temporalmente en una memoria intermedia en el dispositivo inalámbrico 100, que luego puede transferirse con menos frecuencia al motor de inferencia de contexto de red 142. Los paquetes GPRS y UMTS basados en paquetes pueden soportar las tasas de transferencia de información menos frecuentes. Además, es ventajoso enviar la información del motor de inferencia de contexto de red 142 desde el dispositivo inalámbrico 100 como un archivo adjunto, inmediatamente posterior a otra señalización realizada en la dirección de la red desde el dispositivo inalámbrico 100, guardando así el transmisor de radio del dispositivo inalámbrico 100 de tener que volver a encenderlo para transferir la información del motor de inferencia de contexto 136 por separado al servidor de red 140.
Volviendo a la figura 1, se muestra la relación entre el servidor de red 140, el registro 170 de Descripción Universal, Descubrimiento e Integración (UDDI) y una pluralidad de servidores de sitio web 160. UDDI es un estándar de facto para un registro basado en Internet. El registro UDDI 170 permite que el servidor de red 140 descubra nuevos sitios web para servicios y negocios en Internet. Una vez que dichos servicios y negocios son identificados por el registro 170 UDDI al servidor de red 140, entonces el servidor 140 debe aplicar el perfil de privacidad en caché 144 del usuario móvil en la figura 2A, para evitar el acceso no autorizado de los datos privados del usuario por los programas de aplicación en los sitios web recién descubiertos.
La figura 3 es un diagrama de flujo del proceso de red de la interacción del dispositivo inalámbrico 100 I en la primera columna, el servidor de red 140 en la columna central y el servidor web 160 en la columna derecha, cuando llevan a cabo la determinación del contexto actual del dispositivo inalámbrico 100. El proceso comienza con el dispositivo inalámbrico 100 en la etapa 302:
Etapa 302: CONTROL DE PRIVACIDAD 150 EN DISPOSITIVO INALÁMBRICO 100 ENVÍA PERFIL DE PRIVACIDAD ACTUALIZADO AL SERVIDOR DE RED 140.
Entonces el servidor de red 140 continúa con la etapa 304:
Etapa 304: SERVIDOR DE RED 140 ACTUALIZA PERFIL DE PRIVACIDAD EN CACHÉ 144.
El dispositivo inalámbrico 100 continúa con las siguientes etapas 306, 308 y 310:
Etapa 306: LOS SENSORES PROPORCIONAN CONTINUAMENTE DATOS DEL SENSOR PARA CONTEXTAR EL MOTOR DE INFERENCIA 136 EN EL DISPOSITIVO INALÁMBRICO 100.
Etapa 308: EL PROGRAMA DE APLICACIÓN QUE UTILIZA CONOCIMIENTO DE CONTEXTO API 154 SOLICITA LA ÚLTIMA INFORMACIÓN DE CONTEXTO.
Etapa 310: MOTOR DE INFERENCIA DE CONTEXTO 136 CONTACTO MOTOR DE INFERENCIA DE CONTEXTO 142 DEL SERVIDOR DE RED 140 Y ENVÍA EL VECTOR DE METADATOS 138 AL SERVIDOR 140.
Luego, el servidor de red 140 continúa con las etapas 312 y 314:
Etapa 312: EL MOTOR DE INFERENCIA DE CONTEXTO 142 EN EL SERVIDOR DE RED 140 UTILIZA LA INFORMACIÓN LOCAL DEL USUARIO ALMACENADA EN LA BASE DE DATOS DEL USUARIO 146 PARA HACER UNA DETERMINACIÓN MÁS EXACTA DEL CONTEXTO ACTUAL DEL USUARIO MÓVIL.
Etapa 314: SERVIDOR DE RED 140 SOLICITA DATOS DEL SERVIDOR WEB 160.
EL ACCESO DEL SERVIDOR DE RED ESTÁ AUTORIZADO POR EL PERFIL DE PRIVACIDAD EN CACHÉ 144 EN EL SERVIDOR DE RED.
Luego el servidor web 160 continúa con la etapa 316:
Etapa 316: EL SERVIDOR WEB PROPORCIONA INFORMACIÓN DEL USUARIO ALMACENADA EN LA BASE DE DATOS 184 AL SERVIDOR DE RED 140.
Entonces el servidor de red 140 continúa con la etapa 318:
Etapa 318: EL MOTOR DE INFERENCIA DE CONTEXTO 142 EN EL SERVIDOR DE RED 140 ENTONCES DEVUELVE SEGURAMENTE LA INFORMACIÓN ACTUAL DE CONOCIMIENTO DE CONTEXTO AL MOTOR DE INFERENCIA DE CONTEXTO 136 EN EL DISPOSITIVO INALÁMBRICO 100.
Entonces el dispositivo inalámbrico 100 termina con la etapa 320:
Etapa 318: EL MOTOR DE INFERENCIA DE CONTEXTO 136 EN EL DISPOSITIVO INALÁMBRICO 100 ENTONCES PROPORCIONA LA INFORMACIÓN ACTUAL DE CONOCIMIENTO DE CONTEXTO A TRAVÉS DE LAS API DE CONOCIMIENTO DE CONTEXTO 154 A LOS PROGRAMAS DE APLICACIÓN REGISTRADOS PARA RECIBIR ESTA INFORMACIÓN.
La figura 4 es un diagrama de bloques funcional del servidor de red 140, que muestra la memoria 402 que almacena los programas de software de servicios de aplicaciones necesarios para realizar las operaciones de la invención. La memoria está conectada por el bus 404 al caché 144, la base de datos de usuario 146, el adaptador de red TCP/IP 406 y el procesador central 410. La memoria 402 almacena programas que son secuencias de instrucciones ejecutables que, cuando se ejecutan por el procesador 410, llevan a cabo los métodos de la invención.
La figura 4 es un diagrama de bloques funcional del servidor de red, que muestra la memoria que almacena los programas de software de servicios de aplicaciones necesarios para realizar las operaciones de una realización de la invención. La figura 4 describe los componentes funcionales de un servidor de red 140 a modo de ejemplo dispuesto como un modelo de objeto. El modelo de objetos agrupa los programas de software orientados a objetos en
componentes que realizan las principales funciones y aplicaciones en el servidor de red 140. El modelo de objetos para la memoria 402 del servidor de red 140 emplea una arquitectura de tres niveles que incluye el nivel de presentación 415, la partición de objetos de infraestructura 422 y el nivel de lógica de negocios 414. El modelo de objetos divide además el nivel 414 de lógica de negocios en dos particiones, la partición de objetos de aplicación 422 y la partición de objetos de datos 426.
El nivel de presentación 415 retiene los programas que administran las interfaces del dispositivo al servidor de red 140. En la figura 4, el nivel de presentación 415 incluye la interfaz de red 420. Una implementación adecuada del nivel de presentación 415 puede usar servlets Java para interactuar con la puerta de enlace de protocolo WAP 120 a través del protocolo de transferencia de hipertexto ("HTTP"). Los servlets de Java se ejecutaron dentro de un servidor de solicitud/respuesta que gestiona el intercambio de mensajes entre la puerta de enlace de protocolo WAP 120 y el servidor de red 140. Un servlet Java es un programa Java que se ejecuta dentro de un entorno de servidor web. Un servlet Java toma una solicitud como entrada, analiza los datos, realiza operaciones lógicas y emite una respuesta a la puerta de enlace de protocolo WAP 120. La plataforma de tiempo de ejecución de Java agrupa los servlets de Java para atender simultáneamente muchas solicitudes. La interfaz de red 420 acepta mensajes de solicitud de la puerta de enlace de protocolo WAP 120 y pasa la información en la solicitud para visitar el objeto 428 para su posterior procesamiento. El objeto de visita 428 pasa el resultado de ese procesamiento a la interfaz de red 420 para la transmisión de regreso a la puerta de enlace de protocolo WAP 120. La interfaz de red 420 también puede usar el adaptador de red 406 para intercambiar datos con otro dispositivo de usuario.
La partición de objetos de infraestructura 422 retiene los programas que realizan funciones administrativas y del sistema en nombre del nivel 414 de lógica de negocios. La partición de objetos de infraestructura 422 incluye el sistema operativo 425 y un componente de programa de software orientado a objetos para la interfaz del servidor de la base de datos 430 y la interfaz del administrador del sistema 432.
El nivel 414 de lógica de negocios en la figura 4 incluye varias instancias del objeto de visita 428, 428', 428". Existe una instancia separada del objeto de visita 428 para cada sesión de la interfaz de red 420. Cada objeto de visita 428 es un objeto de sesión con estado que incluye un área de almacenamiento persistente desde el inicio hasta la finalización de la sesión, no solo durante una sola interacción o llamada al método. El área de almacenamiento persistente retiene la información asociada con la sesión.
Cuando la puerta de enlace de protocolo WAP 120 envía un mensaje de vector de metadatos 138 al servidor de red 140, el mensaje se envía a la interfaz de red 420 para invocar un método que crea el objeto de visita 428 y almacena información de conexión como un estado en el objeto de visita 428. El objeto de visita 428 puede, a su vez, invocar un método en la aplicación 440 del motor de inferencia de contexto 142 para realizar una inferencia de contexto en el vector de metadatos y devolver un resultado de contexto actual.
Cuando la puerta de enlace de protocolo WAP 120 envía un mensaje de datos de control de privacidad 150' al servidor de red 140, el mensaje se envía a la interfaz de red 420 para invocar un método que crea el objeto de visita 428 y almacena información de conexión como un estado en el objeto de visita 428. El objeto de visita 428 puede, a su vez, invocar un método en la aplicación 442 de control de privacidad 164 para actualizar el perfil de privacidad en caché 144. La aplicación 442, a su vez, hace una llamada al método para la aplicación de actualización del perfil de privacidad 448 para almacenar los datos actualizados 150' en el caché 144.
Cuando la puerta de enlace de protocolo WAP 120 envía un mensaje de actualización de datos de usuario al servidor de red 140, el mensaje se envía a la interfaz de red 420 para invocar un método que crea el objeto de visita 428 y almacena la información de conexión como un estado en el objeto de visita 428. El objeto de visita 428 puede, a su vez, invocar un método en la aplicación de base de datos de usuario 446 para almacenar los datos de usuario en la base de datos 146.
Ed Roman proporciona una descripción de las aplicaciones de programación de servidores desarrolladas con Enterprise Java Beans en el libro titulado "Mastering Enterprise Java Beans", publicado por John Wiley and Sons, 1999. En el libro de Matthew Reynolds titulado "Beginning E-Commerce", Wrox Press Inc, 2000, (ISBN: 1861003986), se proporciona una descripción del uso de un modelo de objetos en el diseño de aplicaciones de servidor. Los servlets de Java y el desarrollo de servidores de sitios web se describen en el libro de Duane K. Fields, et al. titulado "Web Development with Java Server Pages", publicado por Manning Publications Co., 2000.
La invención de servicios web sensibles al contexto resultante permite que un teléfono móvil o dispositivo inalámbrico 100 use técnicas de inferencia de contexto para detectar el entorno del usuario y, en respuesta, proporcionar información útil para el usuario que sea apropiada para el entorno percibido del usuario. El usuario móvil tiene la capacidad de controlar el acceso de los programas de aplicación a cualquier lugar de la red a los datos privados del usuario.
Claims (15)
1. Un método que comprende:
recibir, en un dispositivo inalámbrico (100), señales de sensor que caracterizan una o más condiciones ambientales, que incluyen al menos una primera señal y una segunda señal;
combinar la al menos primera señal y la segunda señal en un vector de metadatos (138);
procesar el vector de metadatos, con un motor de inferencia de contexto (136) en el dispositivo inalámbrico, para determinar un resultado de contexto actual;
generar el resultado del contexto actual del procesamiento;
anexar a un programa de aplicación (106), una autorización para acceder al resultado del contexto actual; otorgar permiso de acceso al programa de aplicación para acceder al resultado del contexto actual basado en la autorización;
proporcionar el resultado del contexto actual al programa de aplicación basado en la concesión del permiso de acceso; y recibir información del programa de aplicación que depende del resultado del contexto actual.
2. El método de la reivindicación 1, en el que el vector de metadatos se relaciona con un estado de salud y/o fatiga de un usuario, y/o en donde la información recibida del programa de aplicación se relaciona con un estado de salud y/o fatiga de un usuario.
3. El método de cualquiera de las reivindicaciones 1 a 2, que comprende además enviar el vector de metadatos a un servidor de red separado (140) para el procesamiento adicional del vector de metadatos dentro del servidor de red separado (140).
4. El método de la reivindicación 3, en el que el dispositivo inalámbrico (100) descarga una parte del procesamiento del vector de metadatos al servidor (140).
5. El método de las reivindicaciones 3 o 4, en el que el procesamiento adicional, dentro del servidor de red separado, del vector de metadatos comprende el procesamiento del vector de metadatos, con un motor de inferencia de contexto (142) en el servidor de red separado, para determinar el resultado del contexto actual;
comprendiendo el método además recibir, en el dispositivo inalámbrico, el resultado del contexto actual del servidor de red separado.
6. El método de la reivindicación 5, que comprende adicionalmente:
enviar, al motor de inferencia de contexto en el servidor de red separado, datos de aplicación desde un programa de aplicación en el dispositivo inalámbrico; y
recibir, en el dispositivo inalámbrico, el resultado del contexto actual del servidor de red separado, en donde el procesamiento por el motor de inferencia de contexto (142) en el servidor de red separado para determinar el resultado del contexto actual comprende procesar el vector de metadatos y los datos de la aplicación.
7. El método de la reivindicación 1, que comprende adicionalmente:
recibir datos de la aplicación de un programa de aplicación en el dispositivo inalámbrico; y
procesar el vector de metadatos y los datos de la aplicación recibidos del programa de aplicación, con el motor de inferencia de contexto (136) en el dispositivo inalámbrico, para determinar el resultado del contexto actual.
8. El método de la reivindicación 1, en el que al menos las señales primera y segunda se reciben desde los al menos primer y segundo sensores respectivamente;
aplicar una ponderación a las al menos primera y segunda señales dependiendo de un valor de peso de los al menos primer y segundo sensores respectivamente;
en donde el motor de inferencia de contexto adapta continuamente el valor de peso del primer y segundo sensores a través de métodos de aprendizaje adaptativo y continuo.
9. El método de la reivindicación 1, que comprende adicionalmente:
proporcionar a un usuario control de acceso sobre el resultado del contexto actual a aplicaciones y servicios sensibles al contexto dentro de un servidor de red (140).
10. Un dispositivo inalámbrico (100) que comprende:
un procesador (210);
una memoria (202) acoplada al procesador, programada para realizar las etapas de:
recibir señales del sensor que caracterizan una o más condiciones ambientales, que incluyen al menos una primera señal y una segunda señal;
combinar la al menos primera señal y la segunda señal en un vector de metadatos (138);
procesar el vector de metadatos, con un motor de inferencia de contexto (136) en el dispositivo inalámbrico, para determinar un resultado de contexto actual;
generar el resultado del contexto actual del procesamiento;
anexar a un programa de aplicación (106), una autorización para acceder al resultado del contexto actual; otorgar permiso de acceso al programa de aplicación para acceder al resultado del contexto actual basado en la autorización;
proporcionar el resultado del contexto actual al programa de aplicación basado en la concesión del permiso de acceso; y recibir información del programa de aplicación que depende del resultado del contexto actual.
11. El dispositivo inalámbrico de la reivindicación 10, en el que la memoria (202) está programada además para realizar las etapas de cualquiera de las reivindicaciones 2 a 9.
12. Un dispositivo inalámbrico móvil, un teléfono móvil o un asistente digital personal inalámbrico que comprende el dispositivo inalámbrico de las reivindicaciones 10 u 11.
13. Un sistema, que comprende:
un dispositivo inalámbrico (100) según se reivindica en las reivindicaciones 10 u 11;
uno o más sensores para proporcionar al menos una primera señal de sensor y una segunda señal de sensor que caracterizan una o más condiciones ambientales; y
un servidor (140).
14. El sistema de la reivindicación 13, en el que el servidor (140) comprende un procesador (410), en donde el procesador (410) está configurado para ejecutar instrucciones almacenadas en una memoria (402) para procesar el vector de metadatos para determinar el resultado del contexto actual; y en donde el servidor (140) está dispuesto para recibir el vector de metadatos enviado desde el dispositivo inalámbrico (100) y completar un procesamiento del vector de metadatos.
15. Un programa informático que, cuando es ejecutado por al menos un procesador (210), hace que se realice el método según se reivindica en una cualquiera o más de las reivindicaciones 1 a 9.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/854,628 US6714778B2 (en) | 2001-05-15 | 2001-05-15 | Context sensitive web services |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2812850T3 true ES2812850T3 (es) | 2021-03-18 |
Family
ID=25319189
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES16173420T Expired - Lifetime ES2812850T3 (es) | 2001-05-15 | 2002-05-07 | Servicios sensibles al contexto |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6714778B2 (es) |
| EP (2) | EP3082324B1 (es) |
| JP (1) | JP2004535000A (es) |
| CN (1) | CN1258903C (es) |
| ES (1) | ES2812850T3 (es) |
| WO (1) | WO2002093877A1 (es) |
Families Citing this family (335)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7789742B1 (en) * | 1999-05-12 | 2010-09-07 | Wilbert Q. Murdock | Smart golf club multiplayer system for the internet |
| US6775536B1 (en) * | 1999-11-03 | 2004-08-10 | Motorola, Inc | Method for validating an application for use in a mobile communication device |
| FI112427B (fi) * | 1999-11-05 | 2003-11-28 | Nokia Corp | Menetelmä langattoman päätelaitteen ominaisuuksien määrittämiseksi multimediasanoman välityspalvelussa, multimediasanoman välityspalvelu ja multimediapäätelaite |
| US20020199001A1 (en) * | 2001-02-25 | 2002-12-26 | Storymail, Inc. | System and method for conducting a secure response communication session |
| FI112307B (fi) | 2000-08-02 | 2003-11-14 | Nokia Corp | Viestintäpalvelu |
| US7400879B2 (en) * | 2001-03-04 | 2008-07-15 | Adomo, Inc. | Method for conducting mobile communications for a network |
| US7296066B2 (en) | 2001-03-04 | 2007-11-13 | Adomo, Inc. | Mobile communication system for a network |
| US20020188666A1 (en) * | 2001-05-23 | 2002-12-12 | Lemon Michael J. | Lightweight dynamic service conversation controller |
| US7464178B2 (en) * | 2001-05-23 | 2008-12-09 | Markport Limited | Open messaging gateway |
| EP1399853A1 (en) | 2001-06-12 | 2004-03-24 | Research In Motion Limited | Certificate management and transfer system and method |
| AU2002311039A1 (en) * | 2001-06-12 | 2002-12-23 | Research In Motion Limited | System and method for compressing secure e-mail for exchange with a mobile data communication device |
| CA2450631C (en) * | 2001-06-12 | 2011-09-13 | Research In Motion Limited | System and method for processing encoded messages for exchange with a mobile data communication device |
| US20030001875A1 (en) * | 2001-06-29 | 2003-01-02 | Black Jason E. | Context-sensitive help for a Web-based user interface |
| CN1554176B (zh) * | 2001-07-10 | 2012-12-05 | 捷讯研究有限公司 | 在无线移动通信设备上处理加密消息的方法和处理对加密内容的多次访问的装置 |
| US7904454B2 (en) * | 2001-07-16 | 2011-03-08 | International Business Machines Corporation | Database access security |
| DE60229645D1 (de) | 2001-08-06 | 2008-12-11 | Research In Motion Ltd | Verfahren und vorrichtung zur verarbeitung von kodierten nachrichten |
| US7328344B2 (en) * | 2001-09-28 | 2008-02-05 | Imagitas, Inc. | Authority-neutral certification for multiple-authority PKI environments |
| US8332275B2 (en) * | 2001-10-31 | 2012-12-11 | Ebay Inc. | Method and apparatus to facilitate a transaction within a network-based facility |
| US20030088647A1 (en) * | 2001-11-06 | 2003-05-08 | Shamrao Andrew Divaker | Communication process for retrieving information for a computer |
| EP1449327B1 (en) * | 2001-11-28 | 2005-10-12 | Nokia Corporation | Instructional method and system using wireless communication |
| US6959420B1 (en) * | 2001-11-30 | 2005-10-25 | Microsoft Corporation | Method and system for protecting internet users' privacy by evaluating web site platform for privacy preferences policy |
| GB2382962A (en) * | 2001-12-07 | 2003-06-11 | Altio Ltd | Data routing without using an address |
| EP1322124A1 (de) * | 2001-12-19 | 2003-06-25 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines Kommunikationsnetzes |
| US7133663B2 (en) * | 2001-12-20 | 2006-11-07 | Accenture Global Services, Gmbh | Determining the context of surroundings |
| US9088961B1 (en) | 2001-12-28 | 2015-07-21 | Qualcomm Incorporated | Method for selecting and configuring wireless connections in an electronic device |
| US20030125063A1 (en) * | 2001-12-31 | 2003-07-03 | Bo Svensson | Peer-to-peer communications within a mobile network |
| US6973301B1 (en) * | 2002-01-08 | 2005-12-06 | Matsushita Electric Industrial Co., Ltd. | System for altering operational aspects of a mobile electronic device based upon location |
| US7003260B1 (en) | 2002-02-04 | 2006-02-21 | Apple Computer, Inc. | Database programs for handheld devices |
| US20030163685A1 (en) * | 2002-02-28 | 2003-08-28 | Nokia Corporation | Method and system to allow performance of permitted activity with respect to a device |
| FR2837652B1 (fr) * | 2002-03-25 | 2004-11-12 | Nortel Networks Ltd | Systeme de communication et procede de supervision associe |
| US7525940B2 (en) * | 2002-04-26 | 2009-04-28 | Nokia Siemens Networks Oy | Relocation of content sources during IP-level handoffs |
| US7706516B2 (en) * | 2002-10-02 | 2010-04-27 | Avaya Inc. | Intelligent handling of message refusal |
| US9558475B2 (en) * | 2002-05-06 | 2017-01-31 | Avaya Inc. | Location based to-do list reminders |
| US20030225590A1 (en) * | 2002-06-04 | 2003-12-04 | Baby Croesus Sa | Web card system |
| GB0213479D0 (en) * | 2002-06-12 | 2002-07-24 | Nokia Corp | Downloadable profiles for mobile terminals |
| WO2003107146A2 (en) | 2002-06-18 | 2003-12-24 | Wink Interactive, Llc | Method, apparatus and system for management of information content for enhanced accessibility over wireless communication networks |
| FI118365B (fi) * | 2002-06-28 | 2007-10-15 | Nokia Corp | Menetelmä ja laite käyttäjän autentikoimiseksi erilaisissa käyttöyhteyksissä |
| US20040203673A1 (en) * | 2002-07-01 | 2004-10-14 | Seligmann Doree Duncan | Intelligent incoming message notification |
| US20040006610A1 (en) * | 2002-07-05 | 2004-01-08 | Anjali Anagol-Subbarao | Architecture and method for configuration validation web service |
| US20040221001A1 (en) * | 2002-07-05 | 2004-11-04 | Anjali Anagol-Subbarao | Web service architecture and methods |
| US7143615B2 (en) * | 2002-07-31 | 2006-12-05 | Sun Microsystems, Inc. | Method, system, and program for discovering components within a network |
| US7512975B2 (en) * | 2002-08-16 | 2009-03-31 | Intel Corporation | Hardware-assisted credential validation |
| US7516491B1 (en) * | 2002-10-17 | 2009-04-07 | Roger Schlafly | License tracking system |
| US7570943B2 (en) * | 2002-08-29 | 2009-08-04 | Nokia Corporation | System and method for providing context sensitive recommendations to digital services |
| US7426579B2 (en) * | 2002-09-17 | 2008-09-16 | Broadcom Corporation | System and method for handling frames in multiple stack environments |
| US8495211B2 (en) * | 2002-09-26 | 2013-07-23 | Hewlett-Packard Development Company, L.P. | Network service system and mechanism for searching service registries |
| US7778438B2 (en) | 2002-09-30 | 2010-08-17 | Myport Technologies, Inc. | Method for multi-media recognition, data conversion, creation of metatags, storage and search retrieval |
| US10721066B2 (en) | 2002-09-30 | 2020-07-21 | Myport Ip, Inc. | Method for voice assistant, location tagging, multi-media capture, transmission, speech to text conversion, photo/video image/object recognition, creation of searchable metatags/contextual tags, storage and search retrieval |
| US6996251B2 (en) | 2002-09-30 | 2006-02-07 | Myport Technologies, Inc. | Forensic communication apparatus and method |
| US20040098591A1 (en) * | 2002-11-15 | 2004-05-20 | Fahrny James W. | Secure hardware device authentication method |
| US7088237B2 (en) * | 2003-02-14 | 2006-08-08 | Qualcomm Incorporated | Enhanced user privacy for mobile station location services |
| JP2004318862A (ja) * | 2003-03-28 | 2004-11-11 | Sony Corp | 情報提供装置及び方法、並びに情報提供システム |
| ATE441994T1 (de) * | 2003-04-03 | 2009-09-15 | Nokia Corp | Verwaltung von kontext-bezogener information mit einer mobilstation |
| US7107010B2 (en) * | 2003-04-16 | 2006-09-12 | Nokia Corporation | Short-range radio terminal adapted for data streaming and real time services |
| US20130090565A1 (en) * | 2003-04-18 | 2013-04-11 | Q-Tec Systems Llc | Method and apparatus for monitoring exercise with wireless internet connectivity |
| US7454368B2 (en) * | 2003-06-30 | 2008-11-18 | At&T Intellectual Property I, L.P. | Method, computer readable medium, and system for assisting a customer in making purchases |
| US7098788B2 (en) * | 2003-07-10 | 2006-08-29 | University Of Florida Research Foundation, Inc. | Remote surveillance and assisted care using a mobile communication device |
| US9239686B2 (en) * | 2003-07-22 | 2016-01-19 | Sheng Tai (Ted) Tsao | Method and apparatus for wireless devices access to external storage |
| EP1503285A1 (en) * | 2003-07-30 | 2005-02-02 | Hewlett-Packard Development Company, L.P. | Communication system and method |
| US20050071439A1 (en) * | 2003-09-29 | 2005-03-31 | Peter Bookman | Mobility device platform |
| US20050091309A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device management server |
| US20050091308A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device |
| WO2005036304A2 (en) * | 2003-09-29 | 2005-04-21 | Realm Systems, Inc. | Mobility device server |
| WO2005040999A1 (en) * | 2003-09-30 | 2005-05-06 | British Telecommunications Public Limited Company | Personalisation |
| DE10346660B4 (de) * | 2003-10-08 | 2006-12-21 | Audi Ag | Informations- und Kommunikationsgerät |
| US7984001B2 (en) * | 2003-10-15 | 2011-07-19 | Alcatel-Lucent Usa Inc. | Neural network-based extension of global position timing |
| US7991843B2 (en) * | 2003-10-29 | 2011-08-02 | Nokia Corporation | System, method and computer program product for managing user identities |
| WO2005048123A1 (en) * | 2003-11-07 | 2005-05-26 | Sony Electronics Inc. | Messaging and service system for mobile computer |
| US7673066B2 (en) | 2003-11-07 | 2010-03-02 | Sony Corporation | File transfer protocol for mobile computer |
| US7739389B2 (en) * | 2003-11-20 | 2010-06-15 | International Business Machines Corporation | Providing web services from a service environment with a gateway |
| EP1536606A1 (fr) | 2003-11-27 | 2005-06-01 | Nagracard S.A. | Méthode d'authentification d'applications |
| US7853786B1 (en) * | 2003-12-17 | 2010-12-14 | Sprint Communications Company L.P. | Rules engine architecture and implementation |
| US7496191B1 (en) | 2003-12-17 | 2009-02-24 | Sprint Communications Company L.P. | Integrated privacy rules engine and application |
| US7506371B1 (en) | 2004-01-22 | 2009-03-17 | Guardium, Inc. | System and methods for adaptive behavior based access control |
| US7278966B2 (en) | 2004-01-31 | 2007-10-09 | Nokia Corporation | System, method and computer program product for managing physiological information relating to a terminal user |
| US7445220B2 (en) | 2004-02-06 | 2008-11-04 | Daimler Trucks North America Llc | Vehicle axle apparatus |
| GB2411331A (en) * | 2004-02-19 | 2005-08-24 | Trigenix Ltd | Rendering user interface using actor attributes |
| US7142848B2 (en) * | 2004-02-26 | 2006-11-28 | Research In Motion Limited | Method and system for automatically configuring access control |
| US20050198525A1 (en) * | 2004-03-02 | 2005-09-08 | Nokia Corporation | System and associated terminal, method and computer program product for conveying context information and providing a context-based service based upon the context information |
| US9176785B2 (en) | 2004-03-13 | 2015-11-03 | Adaptive Computing Enterprises, Inc. | System and method for providing multi-resource management support in a compute environment |
| US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
| US20050219211A1 (en) * | 2004-03-31 | 2005-10-06 | Kotzin Michael D | Method and apparatus for content management and control |
| US7448047B2 (en) * | 2004-04-29 | 2008-11-04 | Sybase, Inc. | Database system with methodology for providing stored procedures as web services |
| WO2005106676A1 (en) * | 2004-04-30 | 2005-11-10 | Research In Motion Limited | Content protection ticket system and method |
| US20060253894A1 (en) * | 2004-04-30 | 2006-11-09 | Peter Bookman | Mobility device platform |
| US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
| US20050289096A1 (en) * | 2004-06-23 | 2005-12-29 | Nokia Corporation | Method, system and computer program to enable SIP event-based discovery of services and content within a community built on context information |
| JP2006011675A (ja) * | 2004-06-24 | 2006-01-12 | Hitachi Ltd | 顧客管理システム |
| US9854058B2 (en) * | 2004-07-23 | 2017-12-26 | At&T Intellectual Property I, L.P. | Proxy-based profile management to deliver personalized services |
| US20060036849A1 (en) * | 2004-08-09 | 2006-02-16 | Research In Motion Limited | System and method for certificate searching and retrieval |
| WO2006016690A1 (en) * | 2004-08-09 | 2006-02-16 | Vodafone K.K. | Measurement data collection method and portable information device |
| US9094429B2 (en) * | 2004-08-10 | 2015-07-28 | Blackberry Limited | Server verification of secure electronic messages |
| US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
| US7631183B2 (en) | 2004-09-01 | 2009-12-08 | Research In Motion Limited | System and method for retrieving related certificates |
| US7549043B2 (en) * | 2004-09-01 | 2009-06-16 | Research In Motion Limited | Providing certificate matching in a system and method for searching and retrieving certificates |
| US8380125B2 (en) * | 2004-09-01 | 2013-02-19 | Kyocera Corporation | Systems and methods for bluetooth resource conservation |
| US7640428B2 (en) * | 2004-09-02 | 2009-12-29 | Research In Motion Limited | System and method for searching and retrieving certificates |
| US7509120B2 (en) * | 2004-09-07 | 2009-03-24 | Research In Motion Limited | System and method for updating message trust status |
| US8130958B2 (en) * | 2004-09-14 | 2012-03-06 | Qualcomm Incorporated | Transmit power control for wireless security |
| US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
| US20060116879A1 (en) * | 2004-11-29 | 2006-06-01 | International Business Machines Corporation | Context enhancement for text readers |
| US20060141985A1 (en) * | 2004-12-23 | 2006-06-29 | Motorola, Inc. | Dynamic management for interface access permissions |
| US20060167983A1 (en) * | 2005-01-07 | 2006-07-27 | Exacore Corporation | Inter-networked knowledge services (INKS) |
| KR100703732B1 (ko) * | 2005-01-19 | 2007-04-05 | 삼성전자주식회사 | 식별 모듈의 레코드 정보를 저장하여 데이터 처리 속도를향상시키는 방법 및 장치 |
| US8068819B2 (en) * | 2005-01-24 | 2011-11-29 | Kyocera Corporation | System and method for increased wireless communication device performance |
| US7330537B2 (en) * | 2005-02-07 | 2008-02-12 | Adomo, Inc. | Integrating messaging server directory service with a communication system voice mail message interface |
| US7808980B2 (en) * | 2005-02-07 | 2010-10-05 | Avaya Inc. | Integrated multi-media communication system |
| US7346150B2 (en) * | 2005-02-07 | 2008-03-18 | Adomo, Inc. | Controlling messaging actions using form-based user interface |
| US7321655B2 (en) * | 2005-02-07 | 2008-01-22 | Adomo, Inc. | Caching user information in an integrated communication system |
| US8175233B2 (en) * | 2005-02-07 | 2012-05-08 | Avaya Inc. | Distributed cache system |
| US20060177014A1 (en) * | 2005-02-07 | 2006-08-10 | Jens Skakkebaek | System and method for providing data on voicemail appliance |
| US8233594B2 (en) * | 2005-02-07 | 2012-07-31 | Avaya Inc. | Caching message information in an integrated communication system |
| US8559605B2 (en) * | 2005-02-07 | 2013-10-15 | Avaya Inc. | Extensible diagnostic tool |
| US7724880B2 (en) * | 2005-02-07 | 2010-05-25 | Avaya Inc. | Networked voicemail |
| US8059793B2 (en) * | 2005-02-07 | 2011-11-15 | Avaya Inc. | System and method for voicemail privacy |
| US7564954B2 (en) * | 2005-02-07 | 2009-07-21 | Adomo, Inc. | Form-based user interface for controlling messaging |
| US20060177011A1 (en) * | 2005-02-07 | 2006-08-10 | Jens Skakkebaek | System and method for providing code on voicemail appliance |
| US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
| US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
| EP2360587B1 (en) | 2005-03-16 | 2017-10-04 | III Holdings 12, LLC | Automatic workload transfer to an on-demand center |
| US7477913B2 (en) * | 2005-04-04 | 2009-01-13 | Research In Motion Limited | Determining a target transmit power of a wireless transmission according to security requirements |
| EP1872249B1 (en) | 2005-04-07 | 2016-12-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
| US7920519B2 (en) * | 2005-04-13 | 2011-04-05 | Cisco Technology, Inc. | Transferring context information to facilitate node mobility |
| US7849154B2 (en) * | 2005-06-27 | 2010-12-07 | M:Metrics, Inc. | Acquiring, storing, and correlating profile data of cellular mobile communications system's users to events |
| US20080091489A1 (en) * | 2005-06-27 | 2008-04-17 | Larock Garrison J | Acquiring, storing, and correlating profile data of cellular mobile communications system's users to Events |
| US7788494B2 (en) * | 2005-06-28 | 2010-08-31 | Intel Corporation | Link key injection mechanism for personal area networks |
| US8447626B2 (en) | 2005-07-29 | 2013-05-21 | Koninklijke Philips Electronics N.V. | System and method for context dependent service discovery for mobile medical devices |
| US7970788B2 (en) * | 2005-08-02 | 2011-06-28 | International Business Machines Corporation | Selective local database access restriction |
| US8020770B2 (en) | 2005-09-07 | 2011-09-20 | International Business Machines Corporation | Display method and display apparatus |
| US8275399B2 (en) * | 2005-09-21 | 2012-09-25 | Buckyball Mobile Inc. | Dynamic context-data tag cloud |
| US9998585B2 (en) * | 2005-10-05 | 2018-06-12 | SITO Mobile R&D IP, LLC | Content selection and delivery of complementary information |
| US7933923B2 (en) * | 2005-11-04 | 2011-04-26 | International Business Machines Corporation | Tracking and reconciling database commands |
| US20070150723A1 (en) * | 2005-12-23 | 2007-06-28 | Estable Luis P | Methods and apparatus for increasing security and control of voice communication sessions using digital certificates |
| US20070174515A1 (en) * | 2006-01-09 | 2007-07-26 | Microsoft Corporation | Interfacing I/O Devices with a Mobile Server |
| US8447829B1 (en) | 2006-02-10 | 2013-05-21 | Amazon Technologies, Inc. | System and method for controlling access to web services resources |
| US8996482B1 (en) | 2006-02-10 | 2015-03-31 | Amazon Technologies, Inc. | Distributed system and method for replicated storage of structured data records |
| US7720505B2 (en) | 2006-03-07 | 2010-05-18 | Marvell World Trade Ltd. | Personal lifestyle device |
| US9626238B2 (en) * | 2006-04-07 | 2017-04-18 | Qualcomm Incorporated | Sensor interface, and methods and apparatus pertaining to same |
| US7841967B1 (en) | 2006-04-26 | 2010-11-30 | Dp Technologies, Inc. | Method and apparatus for providing fitness coaching using a mobile device |
| WO2007143394A2 (en) | 2006-06-02 | 2007-12-13 | Nielsen Media Research, Inc. | Digital rights management systems and methods for audience measurement |
| US7814161B2 (en) | 2006-06-23 | 2010-10-12 | Research In Motion Limited | System and method for handling electronic mail mismatches |
| US8902154B1 (en) | 2006-07-11 | 2014-12-02 | Dp Technologies, Inc. | Method and apparatus for utilizing motion user interface |
| US7729689B2 (en) | 2006-07-13 | 2010-06-01 | International Business Machines Corporation | Mobile wireless device adaptation based on abstracted contectual situation of user using near-field communications and information collectors |
| US20100306318A1 (en) * | 2006-09-28 | 2010-12-02 | Sfgt Inc. | Apparatuses, methods, and systems for a graphical code-serving interface |
| US8069168B2 (en) * | 2006-09-28 | 2011-11-29 | Augme Technologies, Inc. | Apparatuses, methods and systems for information querying and serving in a virtual world based on profiles |
| US8141100B2 (en) | 2006-12-20 | 2012-03-20 | International Business Machines Corporation | Identifying attribute propagation for multi-tier processing |
| US7889139B2 (en) * | 2007-06-21 | 2011-02-15 | Apple Inc. | Handheld electronic device with cable grounding |
| US8483668B2 (en) * | 2007-01-11 | 2013-07-09 | David A. Hurowitz | Content delivery system for mobile device |
| US8204487B2 (en) * | 2007-01-11 | 2012-06-19 | Hurowitz David A | Incentive system for mobile device |
| US8452277B2 (en) * | 2007-01-11 | 2013-05-28 | David A. Hurowitz | Data delivered to targeted mobile device |
| US10134085B2 (en) * | 2007-01-11 | 2018-11-20 | David A. Hurowitz | Bidding and gift registry system and method for mobile device |
| US8478243B2 (en) * | 2007-01-11 | 2013-07-02 | David A. Hurowitz | Redemption system for mobile device |
| US8620353B1 (en) | 2007-01-26 | 2013-12-31 | Dp Technologies, Inc. | Automatic sharing and publication of multimedia from a mobile device |
| US8949070B1 (en) | 2007-02-08 | 2015-02-03 | Dp Technologies, Inc. | Human activity monitoring device with activity identification |
| US8160212B2 (en) | 2007-02-21 | 2012-04-17 | Avaya Inc. | Voicemail filtering and transcription |
| US8107598B2 (en) * | 2007-02-21 | 2012-01-31 | Avaya Inc. | Voicemail filtering and transcription |
| US8064576B2 (en) | 2007-02-21 | 2011-11-22 | Avaya Inc. | Voicemail filtering and transcription |
| US8495367B2 (en) | 2007-02-22 | 2013-07-23 | International Business Machines Corporation | Nondestructive interception of secure data in transit |
| JP5099751B2 (ja) * | 2007-04-24 | 2012-12-19 | 公立大学法人会津大学 | 月経周期推定装置および月経周期推定方法 |
| US8488751B2 (en) | 2007-05-11 | 2013-07-16 | Avaya Inc. | Unified messenging system and method |
| US9838059B2 (en) | 2007-06-21 | 2017-12-05 | Apple Inc. | Handheld electronic touch screen communication device |
| US8555282B1 (en) | 2007-07-27 | 2013-10-08 | Dp Technologies, Inc. | Optimizing preemptive operating system with motion sensing |
| US20090055739A1 (en) * | 2007-08-23 | 2009-02-26 | Microsoft Corporation | Context-aware adaptive user interface |
| TW200912795A (en) * | 2007-09-04 | 2009-03-16 | Ind Tech Res Inst | Context inference system and method thereof |
| US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
| US8943425B2 (en) * | 2007-10-30 | 2015-01-27 | Google Technology Holdings LLC | Method and apparatus for context-aware delivery of informational content on ambient displays |
| US7800044B1 (en) | 2007-11-09 | 2010-09-21 | Dp Technologies, Inc. | High ambient motion environment detection eliminate accidental activation of a device |
| US20090125918A1 (en) * | 2007-11-13 | 2009-05-14 | Microsoft Corporation | Shared sensing system interfaces |
| WO2009068742A1 (en) * | 2007-11-27 | 2009-06-04 | Liquid Air Lab Gmbh | Ad-hoc manipulation of mobile operating system behaviour for information transfer purposes |
| WO2009076752A1 (en) * | 2007-12-14 | 2009-06-25 | Research In Motion Limited | Method and system for specifying, applying and extending application related aspects through policies, rules and/or triggers |
| CN101897209B (zh) * | 2007-12-14 | 2013-05-01 | 捷讯研究有限公司 | 用于即时状态和位置的情境感知机制的方法和系统 |
| CA2708542A1 (en) * | 2007-12-14 | 2009-07-09 | Research In Motion Limited | Method and system for a context aware mechanism in an integrated or distributed configuration |
| US8682960B2 (en) | 2008-03-14 | 2014-03-25 | Nokia Corporation | Methods, apparatuses, and computer program products for providing filtered services and content based on user context |
| US8503991B2 (en) | 2008-04-03 | 2013-08-06 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor mobile devices |
| US7933123B2 (en) | 2008-04-11 | 2011-04-26 | Apple Inc. | Portable electronic device with two-piece housing |
| US8261326B2 (en) | 2008-04-25 | 2012-09-04 | International Business Machines Corporation | Network intrusion blocking security overlay |
| US8285344B2 (en) | 2008-05-21 | 2012-10-09 | DP Technlogies, Inc. | Method and apparatus for adjusting audio for a user environment |
| US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
| US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
| US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
| US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
| US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
| US8832777B2 (en) | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
| US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
| US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
| US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
| US9137739B2 (en) | 2009-01-28 | 2015-09-15 | Headwater Partners I Llc | Network based service policy implementation with network neutrality and user privacy |
| US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
| US8996332B2 (en) | 2008-06-24 | 2015-03-31 | Dp Technologies, Inc. | Program setting adjustments based on activity identification |
| US10257302B2 (en) | 2008-06-27 | 2019-04-09 | Telecom Italia S.P.A. | Method and communication system for providing a context-based communication service |
| EP2151979A1 (en) * | 2008-08-06 | 2010-02-10 | Motorola, Inc. | Method and apparatus for accessing context information |
| US8872646B2 (en) | 2008-10-08 | 2014-10-28 | Dp Technologies, Inc. | Method and system for waking up a device due to motion |
| KR101522025B1 (ko) * | 2008-10-10 | 2015-05-20 | 텔레콤 이탈리아 소시에떼 퍼 아찌오니 | 엔티티의 컨텍스트를 결정하기 위한 방법 및 시스템 |
| US9645225B2 (en) * | 2008-11-21 | 2017-05-09 | Qualcomm Incorporated | Network-centric determination of node processing delay |
| US8892127B2 (en) * | 2008-11-21 | 2014-11-18 | Qualcomm Incorporated | Wireless-based positioning adjustments using a motion sensor |
| US20100135178A1 (en) * | 2008-11-21 | 2010-06-03 | Qualcomm Incorporated | Wireless position determination using adjusted round trip time measurements |
| US20100130230A1 (en) * | 2008-11-21 | 2010-05-27 | Qualcomm Incorporated | Beacon sectoring for position determination |
| US9125153B2 (en) * | 2008-11-25 | 2015-09-01 | Qualcomm Incorporated | Method and apparatus for two-way ranging |
| US8768344B2 (en) | 2008-12-22 | 2014-07-01 | Qualcomm Incorporated | Post-deployment calibration for wireless position determination |
| US8750267B2 (en) * | 2009-01-05 | 2014-06-10 | Qualcomm Incorporated | Detection of falsified wireless access points |
| US12388810B2 (en) | 2009-01-28 | 2025-08-12 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
| US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
| US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
| US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
| US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
| US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
| US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
| US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
| US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
| US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
| US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
| US12432130B2 (en) | 2009-01-28 | 2025-09-30 | Headwater Research Llc | Flow tagging for service policy implementation |
| US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
| US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
| US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
| US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
| US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
| US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
| US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
| US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
| US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
| US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
| US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
| US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
| US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
| US9392462B2 (en) | 2009-01-28 | 2016-07-12 | Headwater Partners I Llc | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
| US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
| US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
| US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
| US12452377B2 (en) | 2009-01-28 | 2025-10-21 | Headwater Research Llc | Service design center for device assisted services |
| US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
| US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
| US12389218B2 (en) | 2009-01-28 | 2025-08-12 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
| US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
| US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
| US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US20100262644A1 (en) * | 2009-04-08 | 2010-10-14 | Research In Motion Limited | Method and system for qualifying a generic trigger |
| US20100262661A1 (en) * | 2009-04-09 | 2010-10-14 | Research In Motion Limited | Method and system for establishing a presence context within a presence platform |
| US8407212B2 (en) | 2009-05-20 | 2013-03-26 | Genieo Innovation Ltd. | System and method for generation of a customized web page based on user identifiers |
| US9529437B2 (en) | 2009-05-26 | 2016-12-27 | Dp Technologies, Inc. | Method and apparatus for a motion state aware device |
| US8446398B2 (en) * | 2009-06-16 | 2013-05-21 | Intel Corporation | Power conservation for mobile device displays |
| US8254957B2 (en) | 2009-06-16 | 2012-08-28 | Intel Corporation | Context-based limitation of mobile device operation |
| US9092069B2 (en) * | 2009-06-16 | 2015-07-28 | Intel Corporation | Customizable and predictive dictionary |
| US20100318656A1 (en) * | 2009-06-16 | 2010-12-16 | Intel Corporation | Multiple-channel, short-range networking between wireless devices |
| US8776177B2 (en) * | 2009-06-16 | 2014-07-08 | Intel Corporation | Dynamic content preference and behavior sharing between computing devices |
| SG177155A1 (en) | 2009-06-16 | 2012-01-30 | Intel Corp | Camera applications in a handheld device |
| US9477947B2 (en) | 2009-08-24 | 2016-10-25 | International Business Machines Corporation | Retrospective changing of previously sent messages |
| US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US9026952B2 (en) * | 2009-12-17 | 2015-05-05 | Microsoft Technology Licensing, Llc | Creating awareness of accesses to privacy-sensitive devices |
| EP3091535B1 (en) | 2009-12-23 | 2023-10-11 | Google LLC | Multi-modal input on an electronic device |
| US11416214B2 (en) | 2009-12-23 | 2022-08-16 | Google Llc | Multi-modal input on an electronic device |
| US8792930B1 (en) | 2010-01-22 | 2014-07-29 | Amazon Technologies, Inc. | Power management for wireless transmissions |
| US8989792B1 (en) | 2010-01-22 | 2015-03-24 | Amazon Technologies, Inc. | Using inertial sensors to trigger transmit power management |
| US20110239011A1 (en) | 2010-03-26 | 2011-09-29 | Nokia Corporation | Method and apparatus for synchronizing wake-ups of offline mobile devices |
| US8781492B2 (en) | 2010-04-30 | 2014-07-15 | Qualcomm Incorporated | Device for round trip time measurements |
| US8473289B2 (en) | 2010-08-06 | 2013-06-25 | Google Inc. | Disambiguating input based on context |
| EP2622918B1 (en) * | 2010-09-29 | 2015-10-14 | British Telecommunications Public Limited Company | Method,mobile apparatus and computer program product of determining location |
| US8352245B1 (en) | 2010-12-30 | 2013-01-08 | Google Inc. | Adjusting language models |
| US20120185569A1 (en) * | 2011-01-14 | 2012-07-19 | Qualcomm Incorporated | Techniques for dynamic task processing in a wireless communication system |
| US8296142B2 (en) | 2011-01-21 | 2012-10-23 | Google Inc. | Speech recognition using dock context |
| US20140087695A1 (en) * | 2011-05-12 | 2014-03-27 | Telefonaktiebolaget L M Ericsson (Publ) | Sensor Data Distribution System |
| US8315620B1 (en) | 2011-05-27 | 2012-11-20 | The Nielsen Company (Us), Llc | Methods and apparatus to associate a mobile device with a panelist profile |
| US8521848B2 (en) | 2011-06-28 | 2013-08-27 | Microsoft Corporation | Device sensor and actuation for web pages |
| CN102244679B (zh) * | 2011-06-30 | 2013-10-30 | 南京邮电大学 | 一种环境感知模型中的环境信息更新方法 |
| ES2401277B1 (es) * | 2011-10-04 | 2014-07-30 | Telefónica, S.A. | Método para detectar y controlar el uso de servicios de pago salientes no deseados en dispositivos de comunicación inteligentes |
| CN102404706B (zh) * | 2011-11-24 | 2014-08-13 | 中兴通讯股份有限公司 | 一种管理资费安全的方法及移动终端 |
| US20130151624A1 (en) | 2011-12-12 | 2013-06-13 | International Business Machines Corporation | Context-Sensitive Collaboration Channels |
| US9588652B2 (en) | 2011-12-12 | 2017-03-07 | International Business Machines Corporation | Providing feedback for screen sharing |
| US9852432B2 (en) | 2011-12-12 | 2017-12-26 | International Business Machines Corporation | Customizing a presentation based on preferences of an audience |
| US8812425B2 (en) | 2011-12-14 | 2014-08-19 | Microsoft Corporation | Method for rule-based context acquisition |
| US9141264B2 (en) | 2011-12-14 | 2015-09-22 | International Business Machines Corporation | Variable refresh rates for portions of shared screens |
| US9124657B2 (en) | 2011-12-14 | 2015-09-01 | International Business Machines Corporation | Dynamic screen sharing for optimal performance |
| US8646032B2 (en) | 2011-12-30 | 2014-02-04 | Nokia Corporation | Method and apparatus providing privacy setting and monitoring user interface |
| US9721105B2 (en) * | 2012-01-18 | 2017-08-01 | Nokia Technologies Oy | Method and apparatus for generating privacy ratings for applications |
| US9191442B2 (en) | 2012-04-03 | 2015-11-17 | Accenture Global Services Limited | Adaptive sensor data selection and sampling based on current and future context |
| US9081986B2 (en) | 2012-05-07 | 2015-07-14 | Nokia Technologies Oy | Method and apparatus for user information exchange |
| US9277364B2 (en) | 2012-06-25 | 2016-03-01 | Nokia Technologies Oy | Methods and apparatus for reporting location privacy |
| US9197848B2 (en) | 2012-06-25 | 2015-11-24 | Intel Corporation | Video conferencing transitions among a plurality of devices |
| US9100360B2 (en) * | 2012-06-28 | 2015-08-04 | Cable Television Laboratories, Inc. | Contextual awareness architecture |
| US9961686B2 (en) | 2012-06-28 | 2018-05-01 | Cable Television Laboratories, Inc. | Contextual awareness architecture |
| US9052896B2 (en) | 2012-07-20 | 2015-06-09 | Facebook, Inc. | Adjusting mobile device state based on user intentions and/or identity |
| JP2015523825A (ja) | 2012-08-03 | 2015-08-13 | ノキア ソリューションズ アンド ネットワークス オサケユキチュア | 方法及び装置 |
| US9086844B2 (en) | 2012-09-12 | 2015-07-21 | International Business Machines Corporation | Invoking a user environment based on device cover |
| CN107092589B (zh) * | 2012-09-18 | 2021-03-09 | 株式会社野村综合研究所 | Web服务器系统、画面控件显示方法以及演示应用生成方法 |
| JP6113983B2 (ja) * | 2012-09-18 | 2017-04-12 | 株式会社野村総合研究所 | 画面コントロール表示システムおよび画面コントロール表示プログラム |
| JP5917350B2 (ja) * | 2012-09-18 | 2016-05-11 | 株式会社野村総合研究所 | 辞書システムおよび辞書呼び出し方法 |
| US20140096261A1 (en) * | 2012-10-01 | 2014-04-03 | Nokia Corporation | Method and apparatus for providing privacy policy for data stream |
| US9544729B2 (en) | 2012-11-02 | 2017-01-10 | Ge Intelligent Platforms, Inc. | Apparatus and method for geolocation intelligence |
| WO2014124811A1 (en) | 2013-02-13 | 2014-08-21 | Koninklijke Philips N.V. | Controlling access to a resource |
| WO2014159862A1 (en) | 2013-03-14 | 2014-10-02 | Headwater Partners I Llc | Automated credential porting for mobile devices |
| US9208439B2 (en) * | 2013-04-29 | 2015-12-08 | Palo Alto Research Center Incorporated | Generalized contextual intelligence platform |
| CN105247502A (zh) * | 2013-06-24 | 2016-01-13 | 英特尔公司 | 上下文显示装置和方法 |
| CN105793839B (zh) * | 2013-12-20 | 2019-08-06 | 英特尔公司 | 执行卸载 |
| US9842592B2 (en) | 2014-02-12 | 2017-12-12 | Google Inc. | Language models using non-linguistic context |
| US9412365B2 (en) | 2014-03-24 | 2016-08-09 | Google Inc. | Enhanced maximum entropy models |
| US10165028B2 (en) | 2014-03-25 | 2018-12-25 | Intel Corporation | Context-aware streaming of digital content |
| US9753990B2 (en) * | 2014-03-28 | 2017-09-05 | Microsoft Technology Licensing, Llc | Building user trust in profile creation and recommendations based on managed interaction with user |
| CN103945533B (zh) * | 2014-05-15 | 2016-08-31 | 济南嘉科电子技术有限公司 | 基于大数据的无线实时位置定位方法 |
| JP6243835B2 (ja) * | 2014-08-27 | 2017-12-06 | 京セラ株式会社 | 携帯電子機器及び制御方法 |
| JP6510231B2 (ja) * | 2014-08-27 | 2019-05-08 | 京セラ株式会社 | 携帯電子機器 |
| US9473505B1 (en) * | 2014-11-14 | 2016-10-18 | Trend Micro Inc. | Management of third party access privileges to web services |
| CA2976777C (en) * | 2015-02-17 | 2021-04-06 | Amazon Technologies, Inc. | Context sensitive framework for providing data from relevant applications |
| US10684866B2 (en) | 2015-02-17 | 2020-06-16 | Amazon Technologies, Inc. | Context sensitive framework for providing data from relevant applications |
| US9740467B2 (en) | 2015-02-17 | 2017-08-22 | Amazon Technologies, Inc. | Context sensitive framework for providing data from relevant applications |
| US10134394B2 (en) | 2015-03-20 | 2018-11-20 | Google Llc | Speech recognition using log-linear model |
| US9875373B2 (en) * | 2015-09-28 | 2018-01-23 | International Business Machines Corporation | Prioritization of users during disaster recovery |
| US9978367B2 (en) | 2016-03-16 | 2018-05-22 | Google Llc | Determining dialog states for language models |
| US11477302B2 (en) | 2016-07-06 | 2022-10-18 | Palo Alto Research Center Incorporated | Computer-implemented system and method for distributed activity detection |
| US10832664B2 (en) | 2016-08-19 | 2020-11-10 | Google Llc | Automated speech recognition using language models that selectively use domain-specific model components |
| US11481690B2 (en) | 2016-09-16 | 2022-10-25 | Foursquare Labs, Inc. | Venue detection |
| CN108289110B (zh) | 2017-01-09 | 2021-10-08 | 斑马智行网络(香港)有限公司 | 设备关联方法、装置、终端设备和操作系统 |
| CN108289111B (zh) * | 2017-01-09 | 2021-10-08 | 斑马智行网络(香港)有限公司 | 服务提供方法、装置、终端设备和操作系统 |
| US10359993B2 (en) | 2017-01-20 | 2019-07-23 | Essential Products, Inc. | Contextual user interface based on environment |
| US10166465B2 (en) | 2017-01-20 | 2019-01-01 | Essential Products, Inc. | Contextual user interface based on video game playback |
| US10311860B2 (en) | 2017-02-14 | 2019-06-04 | Google Llc | Language model biasing system |
| US10129269B1 (en) | 2017-05-15 | 2018-11-13 | Forcepoint, LLC | Managing blockchain access to user profile information |
| US10862927B2 (en) | 2017-05-15 | 2020-12-08 | Forcepoint, LLC | Dividing events into sessions during adaptive trust profile operations |
| US10915643B2 (en) | 2017-05-15 | 2021-02-09 | Forcepoint, LLC | Adaptive trust profile endpoint architecture |
| US10999297B2 (en) | 2017-05-15 | 2021-05-04 | Forcepoint, LLC | Using expected behavior of an entity when prepopulating an adaptive trust profile |
| US10999296B2 (en) | 2017-05-15 | 2021-05-04 | Forcepoint, LLC | Generating adaptive trust profiles using information derived from similarly situated organizations |
| US10447718B2 (en) | 2017-05-15 | 2019-10-15 | Forcepoint Llc | User profile definition and management |
| US9882918B1 (en) | 2017-05-15 | 2018-01-30 | Forcepoint, LLC | User behavior profile in a blockchain |
| US10917423B2 (en) | 2017-05-15 | 2021-02-09 | Forcepoint, LLC | Intelligently differentiating between different types of states and attributes when using an adaptive trust profile |
| US10318729B2 (en) | 2017-07-26 | 2019-06-11 | Forcepoint, LLC | Privacy protection during insider threat monitoring |
| EP3471005B1 (en) * | 2017-10-13 | 2021-11-03 | Nokia Technologies Oy | Artificial neural network |
| US11012555B2 (en) * | 2017-11-20 | 2021-05-18 | International Business Machines Corporation | Non-verbal sensitive data authentication |
| US11989774B1 (en) | 2017-11-20 | 2024-05-21 | Wells Fargo Bank, N.A. | Systems and methods for providing digital trusted data |
| CN109274731B (zh) * | 2018-09-04 | 2020-07-31 | 京东数字科技控股有限公司 | 基于多租户技术的web服务的部署、调用方法和装置 |
| US10853496B2 (en) | 2019-04-26 | 2020-12-01 | Forcepoint, LLC | Adaptive trust profile behavioral fingerprint |
| US12216791B2 (en) | 2020-02-24 | 2025-02-04 | Forcepoint Llc | Re-identifying pseudonymized or de-identified data utilizing distributed ledger technology |
| US12211033B1 (en) | 2021-02-23 | 2025-01-28 | Wells Fargo Bank, N.A. | Dynamic account status indicator via server-to-device secure data exchange |
| US12050624B2 (en) * | 2022-03-18 | 2024-07-30 | Zoho Corporation Private Limited | Entity interaction trends |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1994008403A1 (en) * | 1992-10-01 | 1994-04-14 | Motorola, Inc. | Selective call receiver capable of requesting information from a communication system and method therefor |
| JPH0816619A (ja) * | 1994-06-30 | 1996-01-19 | Casio Comput Co Ltd | 情報処理システム |
| FI101445B (fi) | 1995-10-03 | 1998-06-15 | Nokia Mobile Phones Ltd | Matkaviestimen paikannusjärjestelmä |
| JP3743037B2 (ja) | 1995-11-01 | 2006-02-08 | 株式会社日立製作所 | 移動端末への情報提供方法、情報提供システム及び移動端末 |
| JP3370526B2 (ja) * | 1996-04-24 | 2003-01-27 | 富士通株式会社 | 移動通信システム並びに同移動通信システムに使用される移動端末及び情報センタ |
| US6061570A (en) * | 1997-02-24 | 2000-05-09 | At & T Corp | Unified message announcing |
| JPH1115761A (ja) * | 1997-06-02 | 1999-01-22 | Internatl Business Mach Corp <Ibm> | 赤外線通信機能を持つ情報処理装置及びその制御方法 |
| JP3613936B2 (ja) * | 1997-07-07 | 2005-01-26 | 富士ゼロックス株式会社 | アクセス資格認証装置 |
| GB2329300B (en) * | 1997-09-16 | 2002-07-17 | Nokia Mobile Phones Ltd | Mobile telephone with handwritten data input |
| US6405033B1 (en) * | 1998-07-29 | 2002-06-11 | Track Communications, Inc. | System and method for routing a call using a communications network |
| US6401085B1 (en) * | 1999-03-05 | 2002-06-04 | Accenture Llp | Mobile communication and computing system and method |
| GB9909562D0 (en) * | 1999-04-26 | 1999-06-23 | Nokia Mobile Phones Ltd | A radio terminal |
| US6490443B1 (en) * | 1999-09-02 | 2002-12-03 | Automated Business Companies | Communication and proximity authorization systems |
| US6446069B1 (en) * | 1999-09-17 | 2002-09-03 | International Business Machines Corporation | Access control system for a multimedia datastore |
-
2001
- 2001-05-15 US US09/854,628 patent/US6714778B2/en not_active Expired - Lifetime
-
2002
- 2002-05-07 ES ES16173420T patent/ES2812850T3/es not_active Expired - Lifetime
- 2002-05-07 CN CNB02809946XA patent/CN1258903C/zh not_active Expired - Lifetime
- 2002-05-07 WO PCT/IB2002/001550 patent/WO2002093877A1/en not_active Ceased
- 2002-05-07 EP EP16173420.7A patent/EP3082324B1/en not_active Expired - Lifetime
- 2002-05-07 JP JP2002590624A patent/JP2004535000A/ja active Pending
- 2002-05-07 EP EP02726363.1A patent/EP1388246B1/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP1388246A1 (en) | 2004-02-11 |
| CN1509561A (zh) | 2004-06-30 |
| CN1258903C (zh) | 2006-06-07 |
| JP2004535000A (ja) | 2004-11-18 |
| EP1388246B1 (en) | 2016-07-20 |
| EP3082324B1 (en) | 2020-06-24 |
| US6714778B2 (en) | 2004-03-30 |
| EP1388246A4 (en) | 2010-01-13 |
| WO2002093877A1 (en) | 2002-11-21 |
| EP3082324A1 (en) | 2016-10-19 |
| US20020173295A1 (en) | 2002-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2812850T3 (es) | Servicios sensibles al contexto | |
| US6968334B2 (en) | Method and business process to maintain privacy in distributed recommendation systems | |
| ES2459324T3 (es) | Sistema y método para proporcionar recomendaciones sensibles al contexto a los servicios digitales | |
| US10291760B2 (en) | System and method for multimodal short-cuts to digital services | |
| US7529639B2 (en) | Location-based novelty index value and recommendation system and method | |
| CA2511639C (en) | Proximity-based authorization | |
| CA3082338C (en) | Cryptographically transmitting and storing identity tokens and/or activity data among spatially distributed computing devices | |
| US7079950B2 (en) | Location information conversion device, control method therefor, location information providing system using them, and control method therefor | |
| US11140171B1 (en) | Establishing and verifying identity using action sequences while protecting user privacy | |
| WO2002093422A1 (en) | Method and business process to maintain privacy in distributed recommendation systems | |
| KR20150002673A (ko) | 치한 원죄 입증 시스템, 치한 원죄 입증 방법 및 휴대 정보 단말 | |
| Narain | Sensor Side-Channel Attacks on User Privacy: Analysis and Mitigation | |
| JP2004032326A (ja) | 通信方法 | |
| KR20090027266A (ko) | 개인정보를 이용한 위치정보 제공 장치 및 방법 |