ES2388469T3 - Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia - Google Patents

Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia Download PDF

Info

Publication number
ES2388469T3
ES2388469T3 ES07102806T ES07102806T ES2388469T3 ES 2388469 T3 ES2388469 T3 ES 2388469T3 ES 07102806 T ES07102806 T ES 07102806T ES 07102806 T ES07102806 T ES 07102806T ES 2388469 T3 ES2388469 T3 ES 2388469T3
Authority
ES
Spain
Prior art keywords
client
instant message
message generation
server
wireless communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES07102806T
Other languages
English (en)
Inventor
H K Michael Hung
Andreea Manolescu
Gerhard D Klassen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Application granted granted Critical
Publication of ES2388469T3 publication Critical patent/ES2388469T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un método que comprende:en un servidor de generación de mensajes instantáneos de ordenador principal (50) en comunicación a travésde una red inalámbrica (60) con un dispositivo de comunicación inalámbrico separado (70):recibir (S402) un indicador de que un cliente de generación de mensajes instantáneos (134) queejecuta dicho dispositivo de comunicación inalámbrica separado (70) se la convertido en latente;como respuesta a dicha recepción, almacenar temporalmente (S406) un conjunto de actualizacionesde presencia (54) destinadas a un cliente de servicio de presencia (135) dentro de dicho cliente degeneración de mensajes instantáneos (134), conteniendo cada actualización de presencia de dichoconjunto información referente a la disponibilidad de al menos un contacto de un conjunto de contactos(71) para la intercomunicación a través de dicho cliente de generación de mensajes instantáneos (134);recibir (S408) un indicador adicional; y como respuesta a dicha recepción de dicho indicador adicional.enviar (S414) dicho conjunto de actualizaciones de presencia a dicho cliente de servicio depresencia (135) a través de una conexión inalámbrica: y transmitir a dicho cliente de servicio depresencia (135) posteriormente las actualizaciones de presencia recibidas destinadas a dichocliente de servicio de presencia,caracterizado porquedicho indicador adicional indica que se ha producido un evento que hará que dicho cliente de generación demensajes instantáneos (134) deje de ser latente, siendo dicho indicador adicional una comunicación destinada adicho cliente de generación de mensajes instantáneos (134), siendo dicha comunicación una comunicación queindica que un contacto de interés de dicho conjunto de contactos (71) ha accedido a un servicio de generación demensajes instantáneos;dicho envió de dicho conjunto de actualizaciones de presencia se realiza como respuesta a la recepción de dichoindicador adicional que indica que el cliente de generación de mensajes instantáneos (134) dejará de ser latente enel futuro; y dicho envió de dicho conjunto de actualizaciones de presencia se realiza a pesar de no recibir, desde elcliente de generación de mensajes instantáneos (134), un mensaje de que el cliente de generación de mensajesinstantáneos (134) ha dejado de ser latente.

Description

Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia.
La presente invención se refiere generalmente a servicios de presencia, y más concretamente a la transmisión eficiente de información de actualización de presencia a clientes de servicios de presencia.
La generación de mensajes instantáneos (“IM”) es una conocida forma de comunicación sustancialmente en tiempo real entre dos o más dispositivos de ordenador que está a menudo basada en el texto tecleado. El texto (y más recientemente, otros tipos de datos, tales como archivos electrónicos, contenido en continuo o incluso voz) se conoce entre los dispositivos de ordenador en una red tal como Internet. Cada dispositivo de ordenador ejecuta una aplicación de software de cliente IM (a veces referido simplemente como un “cliente IM”) asociado con un servicio de IM. El servicio IM define un protocolo para la generación de mensajes instantáneos que puede estar patentado. Los servicios de generación de mensajes instantáneos en la red pública de Internet actualmente incluyen. NET Messenger Service, AOL@ Instant MessengerTM (AIM), Excite®Pal, Gadu-Gadu, Google TalkTM, ¡Chat®, ICQ®, Jabber®, QnextTM, QQ®, Skype® y Yahoo!®Messenger. Clientes multi-protocolo tales como Gaim, TrillianTM y Miranda pueden eliminar o reducir la necesidad de aplicaciones de software de cliente separadas para diferentes servicios de IM. Las soluciones populares de IM de empresas incluyen IBM Lotus SametimeTM, Novel GroupWise® y Microsoft® Office Live Communications Server.
La mayoría, si no todos, los servicios de IM tienen un servicio de presencia asociado. Un servicio de presencia permite que cada usuario vea si otros usuarios en un conjunto de usuarios específico de contactos (comúnmente cónicos como “lista de contactos” o “lista de amigos”) están actualmente inactivos y disponibles para intercambiar mensajes instantáneos. La disponibilidad de cada contacto puede ser indicada por medio de un indicador de estado de presencia, tal como “disponible”, “atareado” “en espera”, “no molestar” o “fuera para comer” por ejemplo, que se puede presentar por el cliente de IM. La información de presencia es actualizada por medio de actualizaciones de presencia, que son enviadas automáticamente a los usuarios que han elegid recibirlas con respecto a un conjunto específico de contactos. Un cliente de servicio de presencia que está asociado con, y que en muchos casos integrado en, el cliente de IM maneja las actualizaciones de presencia y generalmente mantiene los indicadores de presencia para presentar al usuario, típicamente por medio de la interfaz de usuario de cliente de IM. Los clientes de servicio de presencia también pueden ser utilizados en asociación con otros tipos de clientes de comunicación, tales como clientes de Voz sobre Protocolo de Internet (VoIP). Cuando un cliente de servicios de presencia de contactos detecta que la disponibilidad del contacto ha cambiado, automáticamente informa de la disponibilidad modificada a otros usuarios. Esto se hace típicamente por medio de un servicio central, que en el caso del sistema de generación de mensajes instantáneos es un servidor central de IM. Específicamente, el informe referencia al estado modificado es enviado la servicio de IM central, que a su vez informa de la disponibilidad modificada por medio de actualizaciones de presencia que son enviadas a todos los usuarios de IM conectado que han elegido recibir tales actualizaciones referentes a ese contacto. Una actualización de presencia es una comunicación (por ejemplo un mensaje) que proporciona una indicación de la disponibilidad actual del contacto para la comunicación (por ejemplo, generación de mensajes instantáneos). Los servicios de presencia y la generación de mensajes instantáneos ambos están descritos con más detalle en “RFC 2778- A Model for Presence and Instant Messaging”, que está disponible en www.ietf.org/rfc2778.txt y es conocidos por los expertos en la técnica.
En algunos casos; el dispositivo de ordenador que ejecuta el cliente de servicio de presencia es un dispositivo de comunicación inalámbrico. Por ejemplo, un aparato y método para generación de mensajes instantáneos se describe en la Publicación de patente de Estadios Unidos Nº 2006/0142030 A1. La aplicación de software de cliente de IM que se ejecuta en un dispositivo de comunicación inalámbrico se puede referir como “cliente de IM de móvil” y el cliente de servicio de presencia asociado se puede denominar como “cliente de servicio de presencia de móvil”. Los clientes de servicio de presencia de móvil pueden recibir actualizaciones de presencia sobre una conexión inalámbrica. Si la frecuencia y el número de actualizaciones de presencia son altos, como ocurre cuando el número de contactos de la lista de contactos del usuario de dispositivo de comunicación inalámbrico es grande, pueden surgir varios problemas. En primer lugar, una gran parte del ancho de banda de conexión inalámbrica se puede consumir por la entrada de actualizaciones de presencia. Debido a que muchos proveedores de servidores inalámbricos cargan abonados (al menos en parte) en base a la cantidad de datos recibidos, la recepción de frecuencia y numerosas actualizaciones de presencia pueden incrementar de manera desventajosa los costes de suscripción. En segundo lugar, la recepción y procesamiento de un gran número de actualizaciones de presencia pueden consumir una cantidad significativa de potencia en el dispositivo de comunicación inalámbrico, lo cual puede a su vez acortar la vida de la batería. Esto puede ser especialmente cierto si cada actualización de presencia hace que el dispositivo de comunicación inalámbrico “se despierta” de un modo de ahorro de energía y permanece en ese modo “despierto” (sin ahorro de energía) durante algún periodo de tiempo mínimo. En tercer lugar, debido a que algunos proveedores inalámbricos o tipo de red inalámbrica pueden considerar cada transmisión de uno o más actualizaciones de presencia para constituir una “llamada” cualesquiera estadísticas de llamada que son mantenidas para el dispositivo pueden ser significativamente sesgadas por la transmisión de actualizaciones de presencia individuales frecuentes. finalmente, la transmisión de frecuencia de mensajes que contienen sólo una pieza de actualización de presencia pueden ser ineficaces debido a la cabecera asociada con cada mensaje (por ejemplo la
información de cabecera de generación, comunicación en interpretación, tales como las sumas de comprobación) puede ser inaceptablemente alta. Estas deficiencias pueden ser endémicas en presencia de servicios independientemente de si están asociados con la generación de mensajes instantáneos u otras formas de comunicación (por ejemplo VoIP). Una solución que mitiga o evita uno o más de estos inconvenientes sería deseable.
El documento DE 10 2004 047689 expone un método para realizar un servicio de presencia con una lista de amigos que se puede presentar en un dispositivo de presentación de un terminal. En un estado activado, la propia lista de amigos es presentada, y en un estado no activado la lista de amigos no es visible. La lista de amigos es actualizada por un dispositivo de control durante un cambio en el estado de al menos un abonado que es controlado y/o de al menos un dispositivo asignado al abonado.
El documento WO 2005/072494 expone un método para facilitar la presencia inalámbrica basado en los servicios en los que un ordenador principal o proxy de presencia inalámbrico acumula actualizaciones de presencia tales como actualizaciones de presencia de listas de amigos, a partir de un servidor de presencia para una estación de móviles. El ordenador principal de presencia inalámbrica mantiene la información de presencia para la transferencia a la estación de móviles cuando existe una condición de actualización. El ordenador principal de presencia inalámbrica también actualiza el servidor de presencia, en nombre de la estación de móviles, cuando el estado de presencia de la estación de móviles cambia. El documento 2004/0128310 expone una arquitectura con un ordenador principal de cliente de IM que almacena temporalmente mensajes y un teléfono celular que actúa como un ordenador principal para una PDA que ejecuta una aplicación de IM.
El documento US 2005/198545 expone un dispositivo de usuario que envía automáticamente un mensaje de presencia a un servidor de presencia cuando el dispositivo es introducido en el sistema. A continuación, el dispositivo puede enviar un mensaje durmiente al servidor de presencia después de apagarse o un periodo de inactividad prolongado, o se puede requerir que el dispositivo envía mensajes periódicos al servidor de presencia para mantenerlo y estar en la lista como un dispositivo activo.
GENERAL El problema técnico formulado anteriormente se resuelve mediante las reivindicaciones adjuntas.
En una realización, puede haber dispuesto un método que comprende las etapas de: en un dispositivo de ordenador en comunicación con un dispositivo de comunicación inalámbrico separado: recibir un indicador de que un cliente de comunicación que se ejecuta en o que comprende dicho dispositivo de comunicación inalámbrico separado ha legado a ser latente; en respuesta a dicha recepción, almacenar temporalmente un conjunto de actualizaciones de presencia destinado a un cliente de servidor de presencia asociado con dicho cliente de comunicación, conteniendo cada actualización de presencia de dicho conjunto información referente a la disponibilidad de al menos un contacto de un conjunto de contactos para la intercomunicación a través de dicho cliente de comunicación; recibir un indicador adicional y como respuesta a dicha recepción de dicho indicador adicional: enviar dicho conjunto de actualizaciones de presencia a dicho cliente de servicio de presencia a través de una conexión inalámbrica; y transmitir a dicho cliente de servicio de presencia las actualizaciones de presencia posteriormente recibidas destinadas a dicho cliente de servicios de presencia, caracterizado porque dicho indicador adicional indica que se ha producido un evento que causará que dicho cliente de comunicación sea latente, siendo dicho indicador adicional una comunicación destinada a dicho cliente de comunicación, siendo dicha comunicación o bien diferente de una actualización de presencia o bien, cuando dicho cliente de comunicación es un cliente de generación de mensajes instantáneos, siendo una comunicación que indica que el contacto de interés de dicho conjunto de contactos ha entrado en un servicio de generación de mensajes instantáneos.
En otra realización, se proporciona un dispositivo de ordenador que comprende al menos un procesador y memoria en comunicación con dicho al menos un procesador, dichas instrucciones de almacenamiento de memoria que, cuando son ejecutada por dicho al menos un procesador, se adaptan a dicho dispositivo de ordenador para realizar todas las etapas del método anteriormente mencionado.
En otra realización más, puede haber dispuesto un medios leíble por máquina que almacena instrucciones que, cuando se ejecutan por al menos un procesador de un dispositivo de ordenador, se adaptan a dicho dispositivo de ordenador para realizar todas las etapas del método anteriormente mencionado.
Los expertos en la técnica encontrarán evidentes otros aspectos y características después de la revisión de la siguiente descripción de las realizaciones específicas en combinación con las figuras adjuntas.
BREVE DESCRIPCIÓN DE LOS DIBUJOS En las figuras que ilustran las realizaciones a modo de ejemplo:
la Figura 1 es un diagrama esquemático de un sistema de IM con un servicio de presencia asociado; la Figura 2 es un diagrama esquemático de un componente de dispositivo de comunicación inalámbrico del sistema de IM de la Figura 1;
la Figura 3 es una representación de una lista de contactos asociada con una aplicación de software de cliente de IM de móvil; la Figura 4 es una carta de flujo que ilustra la operación de un componente de software de servidor de IM de ordenador principal del sistema de IM de la Figura 1; la Figura 5 es una carta de flujo que ilustra el funcionamiento de un componente de aplicación de software del sistema de IM de la Figura 1; la Figura 6 es una máquina de estado efectuada por el software de servidor de IM de ordenador principal cuyo funcionamiento se ilustra en la Figura 4; la Figura 7 es una máquina de estado efectuada por la aplicación de software de cliente de IM de móvil cuyo funcionamiento se ilustra en la Figura 5; las Figuras 8 y 9 ilustran el formato de dos tipos de mensajes enviados por el componente del dispositivo de comunicación inalámbrico del sistema de IM de la Figura 1; la Figura 10 es una representación esquemática de un conjunto de actualizaciones de presencia almacenadas temporalmente por un componente de servicio de IM de ordenador principal del sistema de IM de la Figura 1; la Figura 11 es una representación esquemática del conjunto de actualizaciones de presencia almacenado temporalmente de la Figura 10 después de que hayan sido reconciliados; y la Figura 12 ilustra un diagrama esquemático de un sistema, de IM alternativo.
DESCRIPCIÓN DE LAS REALIZACIONES PREFERIDAS Haciendo referencia a la Figura 1, se ilustra un sistema 10 de generación de mensajes instantáneos (IM). El sistema 10 de IM permite que los usuarios de varios tipos de dispositivos de ordenador conectados al sistema 10 (a través tanto de conexión con cable como inalámbricas) intercambien mensajes instantáneos de texto por medio de un servicio de IM. Aunque ciertos aspectos del sistema de IM 10 ilustrados en la Figura 1 son convencionales, como se describirá, el sistema 10 incorpora una capacidad novedosa para la transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia.
Como se ha ilustrado el sistema de IM 10 incluye un número de dispositivos de ordenador a modo de ejemplo 20A, 20B, 20C y 70 operados por los usuarios 24A, 24B, 24C y 73 respectivamente, así como una red 30 (que en la realización ilustrada es la red pública Internet), un servidor de IM 40, un servidor 50 de IM de ordenador principal y una red inalámbrica 60.
Los dispositivos de ordenador 20A, 20B y 20C (colectivamente dispositivos 20 y generalmente dispositivo 20) son dispositivo de ordenador convencional, tales como ordenadores personales basados en procesadores Intel® o AMDTM. Los dispositivos de ordenador 20 tiene varios componentes convencionales, tales como tarjetas de interfaz de red para proporcionar conectividad con Internet 30 por medio de una Línea de Abonado Digital (DSL) o conexión de módem por cable por ejemplo, dispositivos de entrada tales como teclados y ratones para introducir lo datos y controlar el funcionamiento de los dispositivos 20, dispositivos de presentación tales como pantallas de cristal líquido (LCDs) para presentar interfaces de usuario gráficas (GUIs) de aplicaciones de software de ejecución, y memoria volátil o no volátil para el software del sistema de operación de almacenamiento y aplicaciones de software ejecutables junto con los datos (no expresamente ilustrados).
La memoria de cada dispositivo 20 almacena una aplicación de software de cliente de IM (“cliente de IM”) 22. El cliente de IM es una programa de ordenador que permite que un usuario se conecte en generación de mensajes instantáneos con otros usuarios de un servicio de IM particular (por ejemplo Yahoo!® Messenger, AIM o Google TalkTM) que están también ejecutando los clientes de IM compatibles en los dispositivos de ordenador remotos. Las responsabilidades del cliente de IM 22 incluyen enviar y recibir mensajes instantáneos en la solicitud del usuario e intercomunicar automáticamente con un servidor de IM central 40 que utiliza un protocolo de IM especifico del servicio para informar de los cambios en la disponibilidad del usuario de cliente de IM (siendo esta ultima posibilidad manejada por un cliente de servicio de presencia integrado con el cliente de IM 22). El cliente de IM 22 puede por ejemplo es el cliente 1.0.0.100 de Google TalkTM, el cliente de Yahoo!® Messenger con Voz (BETA) (8.0.0.508), el cliente de Windows Live Messenger 8,0, o el cliente de GAIM 2.0.0 beta 3.1.
Aunque sólo están ilustrados en la Figura 1 tres dispositivos de ordenador 20A, 20B, 20C y tres usuarios correspondientes 24A, 24B y 24C, se entiende que el número de dispositivos de ordenador y los correspondientes usuarios pueden realmente ser mucho mayor que tres, posiblemente cientos o más.
El dispositivo 70 es un dispositivo de paginación de dos formas Research in Motion Limited (RIM) BlackBerryTM. El dispositivo 70 es una forma de dispositivo de comunicación inalámbrico que puede alternativamente estar referido como “dispositivo de móvil” o “estación de móvil”. El dispositivo 70 ejecuta una aplicación de software de cliente de IM móvil (“cliente de IM de móvil”) 134. Al igual que el cliente de IM 22, el cliente de IM de móvil 134 es un programa de ordenador que se adapta al dispositivo 70 para permitir que un usuario 73 se conecte a una generación de mensajes instantáneos con otros usuarios del mismo servicio de IM. Las responsabilidades del cliente de IM de móvil 134 incluyen enviar y recibir mensajes instantáneos a solicitud del usuario 73. El cliente de IM de móvil 134 tiene un cliente de servicio de presencia integrado 135 que es responsable de la intercomunicación automática con el servidor central de IM 40, utilizando el protocolo de IM operativo, para informar de cambios en la disponibilidad del
usuario 73. El cliente 135 de servicio de presencia mantiene también una lista de contactos definida por el usuario 71 que identifica todo los usuarios en un sistema de IM 10 con cuyo usuario 73 está frecuentemente en contacto, como se describe con más detalle a continuación. Como se hará evidente, el cliente de servicio de presencia 135 incorpora lógica de programa que coopera con la lógica de programa en el servidor de ordenador principal de IM 50 (descrito más adelante) para soportar la transmisión eficiente de información de actualización de presencia al dispositivo 70.
El servidor de IM 40 es un servidor convencional que ejecuta un software de servidor de IM convencional 42 con capacidad de servicio de presencia integrada. El software de servidor de IM 42 efectúa un servicio de IM público, tal como Yahoo!® Messenger, AIM o Google TalkTM, que facilita la generación de mensajes instantáneos ente los clientes de IM, tales como clientes de IM 22 y cliente de IM de móvil 134, que se ejecuta en varios dispositivos de ordenador remotos, tales como 20A, 20B, 20C y 70. El servicio de IM está referido como un servicio “público” porque generalmente es accesible a miembros del público que eligen subscribirse a ese servicio. Esto se distingue de un servidor de IM de empresa, tal como IBM Lotus SametimeTM, Novell GroupWise® y Microsoft® Office Live Communications Server, que está típicamente desarrollado dentro de una red corporativa segura que generalmente no es accesible al público. Una realización alternativa que implica un servicio de IM de empresa se describe más adelante. Las responsabilidades del software de servidor de IM incluye registrar los usuarios de IM cunando entran (es decir se conectan) en el servicio de IM, recibir los informes referentes a la disponibilidad de los usuarios cuando son enviados automáticamente por los clientes de IM 22 y 134, y, como respuesta a los informes recibidos, enviar actualizaciones de presencia referente a los cambios en la disponibilidad a cualesquiera usuarios que han elegido recibir tales actualizaciones.
El software de servidor de IM 42 mantiene una lista de contactos universal 44. La lista de contacto universal 44 es una fusión de la información de la lista de contactos última procedente de cada usuario del servicio de IM, que en el ejemplo presente incluye usuarios de IM 24A, 24B, 24C y 73. El software de servidor de IM 42 mantiene la lista de contacto universal 44 con el fin de soportar su capacidad de servicio de presencia. Cada vez que el software de servidor de IM 42 recibe un informe de disponibilidad cambiada de un usuario de IM particular procedentes de un cliente de IM 22 o 134 de ese usuario (o cliente de servicio de presencia asociado), el software 42 consulta la lista 44 para determinar que otros usuarios de IM han expresado un interés de recibir actualizaciones de presencia referentes a ese usuario de IM. El software de servicio de IM 42 procede entonces a envían actualizaciones de presencia a aquellos usuarios. En el resultado, se proporciona a cada usuario con la última información referente a la disponibilidad de los contactos de IM de interés. La lista de contactos 44 puede adoptar la forma de un informe de base de datos o archivo electrónico por ejemplo.
El servidor de IM de ordenador principal 50 es un servidor convencional que ejecuta un software de servidor de IM de ordenador principal 52. El papel de servidor de IM de ordenador principal 50 dentro del sistema de IM 10 es actuar como un ordenador principal para el servidor de IM 40 desde la perspectiva del dispositivo de comunicación inalámbrico 70, y cualquier otro dispositivo de comunicación inalámbrico en comunicación con el servidor de IM de ordenador principal 50 a través de la red inalámbrica 60 (de la cual ninguna se muestra en la Figura 1). El servidor de IM de ordenador principal 50 recibe las comunicaciones referentes a IM destinadas al servidor de IM 40 procedentes del dispositivo de comunicación inalámbrico 70. Las comunicaciones están en el control patentado del servicio de IM pero son llevadas por uno o más transportes subyacentes y protocolos de de red inalámbrica de red empleados por la red inalámbrica 60. Por ejemplo, los protocolos pueden incluir un protocolo de Generación de Mensajes instantáneos de RIM Blackberry (BBIM) que contiene funciones de generación de mensajes instantáneos soportadas yo una versión compatible-inalámbrica modificada del protocolo Yahoo! nativo. El servidor de IM de ordenador principal 50 a su vez transmite estas comunicaciones al servidor de IM real 40. Para transmitir las comunicaciones, el servidor de IM de ordenador principal 50 esencialmente mantiene la esencia de las comunicaciones en el protocolo de servidor de IM operativo pero cubre el transponte subyacente y los mecanismos de red para que cualquier protocolo(s) sea apropiado para la red 30. En el ejemplo ilustrado, en el que la red 30 es la red pública Internet, los últimos protocolos típicamente comprende TCP/IP. En la dirección opuesta, el servidor de IM de ordenador principal 50 sirve como un ordenador principal para el cliente de IM de móvil 134, que recibe todas las comunicaciones referidas al IM destinadas al dispositivo de comunicación inalámbrico 70 y que convierte los protocolos subyacentes en la dirección inversa. Los tipos de comunicaciones referidas al IM que pueden ser transmitidos por el servidor de IM de ordenador principal 50 incluyen mensajes instantáneos de actualizaciones de presencia.
El software de servidor de IM de ordenador principal 52 incorpora lógica de programa que coopera con la lógica de programa en el cliente de servicio de presencia 135 para transmitir de forma eficiente la información de actualización de presencia al dispositivo 70. De acuerdo con esta lógica de programa, el software de servidor de IM de ordenador principal 52 almacena temporalmente actualizaciones de presencia destinadas al dispositivo de comunicación inalámbrica 70 cuando la aplicación de software de cliente de IM 134 se ha transformado en latente. Este almacenamiento temporal da lugar a un conjunto de actualizaciones de presencia 54 almacenadas temporalmente, que cuyo conjunto se muestra esquemáticamente en la Figura 1. Las actualizaciones de presencia 54 son enviadas en última instancia al dispositivo de comunicación inalámbrico, una vez que la aplicación de software de cliente de IM de móvil 134 deja de ser latente o está a punto de dejar de ser durmiente, como se describe con más detalle más
adelante. Cuando el cliente de IM de móvil 134 no ha sido latente durante algún tiempo, puede no haber conjunto de actualizaciones de presencia 54 en el servidor 50.
El software de servidor de IM de ordenador principal 52 también almacena una lista de contactos para cada cliente de IM de móvil para el cual actúa como un ordenador principal. En la Figura 1, sólo se muestra una lista de contactos 71, correspondiente al cliente de IM de móvil 134 del dispositivo 70. La lista de contactos 71 identifica todos los usuarios del sistema de IM 10 con cuyo usuario 73 está en contacto frecuente. La lista de contactos 71 se genera por el usuario 73 a través de la interacción con la aplicación de software de cliente de IM de móvil 134 y está integrado con el cliente de servicio de presencia 135 en el dispositivo 70, y está automáticamente comunicado por el cliente de IM de móvil 134 al servidor de IM de ordenador principal 50 a través de la red inalámbrica 60. Otras listas de contacto correspondientes a otros casos de cliente de IM de móvil 134 que se ejecutan en otros dispositivos de comunicación inalámbricos en la comunicación inalámbrica con el servidor de IM de ordenador principal 50 (no ilustrado) están omitidas para mayor claridad. La lista de contactos 71 se describe con más detalle más adelante.
Una imagen ejecutable (por ejemplo instrucciones que se pueden leer con una máquina) del software de servidor de IM de ordenador principal 52 puede ser cargada desde el medio que puede leer con máquina 55 en la memoria volátil o no volátil del servidor 50 antes de su ejecución por el servidor 50. El medio 55 pueden incluir además una imagen ejecutable de aplicación de software de cliente de IM de móvil (que incluye cliente de servicio de presencia 135), que puede ser descargada al dispositivo de comunicación inalámbrico 70 a través de la red inalámbrica 60 por medio de una descarga en el aire.
La red inalámbrica 60 es una red de comunicación de datos de móvil, tal como la MobitexTM, DataTACTN o la red de Servicio de Radio de Paquetes General (GPRS). La red inalámbrica 60 puede estar diseñada para operar con cualquier variedad de redes de comunicación de voz, tales como Servicio de Teléfono Móvil (AMPS), Acceso Múltiple de División de Tiempo (TDMA), Acceso Múltiples de División de Código (CDMA), Servicios de Comunicación Personales (PCS), Sistema Global para Comunicación de Móviles (GSM), inalámbrica de tercera generación (3G) o Estándar de Telecomunicaciones de Móvil Universal (UTMS) por ejemplo, para soportar comunicaciones de voz en el dispositivo de comunicación inalámbrico 70. La red inalámbrica 60 efectúa una conexión inalámbrica entre el servicio de IM de ordenador principal 50 y el dispositivo de comunicación inalámbrico 70. La red inalámbrica 60 podría alternativamente ser una red inalámbrica (“Wifi”) que cumple con la norma de IEEE 802.11, con cambios apropiados a la tipología de red.
Haciendo referencia a la Figura 2, el dispositivo de comunicación inalámbrico 70 de la Figura 1 está ilustrado con más detalle. El dispositivo 70 es un dispositivo de comunicación de RF de dos vías que toma capacidades de comunicación de voz y de datos. El dispositivo 70 incluye un alojamiento, y un teclado 74 y una pantalla 76 que puede ser una pantalla de cristal líquido de color (LCD) por ejemplo. Un procesador, a saber el procesador 78, está acoplado al teclado 74 y a la pantalla 76. El microprocesador 78 controla el funcionamiento de la pantalla 76, así como el funcionamiento del dispositivo de comunicación inalámbrico 70, como respuesta a la actuación de las teclas del teclado 74 por el usuario 73 y la recepción de datos y/o la información de voz sobre la red inalámbrica 60. El teclado puede incluir una tecla de selección de modo, u otro hardware o software para conmutar entre entrada de texto y entrada de telefonía.
Otras diversas partes del dispositivo de comunicación inalámbrico 70 se muestran esquemáticamente en la Figura 2. Estas incluyen: un subsistema de comunicaciones 100; un subsistema de comunicaciones de corto alcance 102; un conjunto de dispositivos de I/O auxiliares 106; un puerto en serie 108, un altavoz 111, un micrófono 112; así como dispositivos de memoria que incluyen una memoria temporal 116 y Memoria de Acceso Aleatorio (RAM) 118; y varios otros subsistemas de dispositivo 120. El dispositivo 70 puede tener una batería 121 para alimentar los elementos activos del dispositivo. En la realización presente el dispositivo de comunicación inalámbrica 70 incluye capacidades de comunicación de voz. Sin embargo, las capacidades de comunicación de voz no están presentadas en las realizaciones alternativas. El procesador 78 ejecuta el software de sistema operativo (no ilustrado expresamente) que puede estar almacenado en un almacenamiento persistente, tal como la memoria temporal 116,
o puede estar almacenado en otros tipos de dispositivo de memoria leíbles por ordenador, tales como una memoria de sólo lectura (ROM – no ilustrada expresamente) y otros medios de almacenamiento. El sistema operativo de la presente realización es un sistema operativo de multitarea patentado diseñado por Research In Motion Limited (RIM) que es capaz de conmutar entre aplicaciones de software de ejecución de forma concurrente y múltiple. En un momento dado, una aplicación es ejecutada como un proceso de primer plano mientras que una o más aplicaciones pueden ser ejecutadas como un proceso de fondo. Un usuario 73 interactúa con el dispositivo 70 para hacer que el sistema operativo cambia una aplicación desde la ejecución como proceso de fondo a la ejecución como proceso de primer plano (y viceversa) de manera conocida en la técnica. Cuando las aplicaciones son ejecutadas, pueden ser cargadas temporalmente, total o parcialmente, en el almacenamiento volátil, tal como la RAM 118. Las señales de comunicación recibidas por el dispositivo de comunicación inalámbrico también pueden ser almacenadas en la RAM
118.
La memoria temporal 116 almacena varias aplicaciones de software 130, 132 y 134 que se pueden ejecutar por el procesador 78. Un conjunto predeterminado de aplicaciones que controlan las operaciones básicas del dispositivo, tales como comunicaciones de datos y voz 130 y 132 se pueden instalar durante la fabricación del dispositivo 70.
Otras aplicaciones se pueden instalar o bien durante la fabricación o bien posteriormente. Estas otras aplicaciones incluyen aplicación de software de cliente de IM de móvil 134 y cliente de servicio de presencia integrado 135, que es un centro de la presente invención y se describe con las detalle más adelante. La memoria temporal 116 puede contener además un cierto número de otros módulos de software 136. Cada módulo 136 pueden tener un icono asociado que es presentado por el sistema operativo en una pantalla doméstica (esto también es cierto para cliente de IM de móvil 134). El conjunto de iconos pueden estar referidos como una “cinta”. La selección del usuario de un icono de una cinta puede hacer que el módulo correspondiente 136 (o cliente 134) sea invocado.
La RAM 118 almacena la lista de contactos 71. Como se ha mencionado anteriormente, la lista de contacto 71 es una lista generada por el usuario 73 que identifica todos los usuarios del sistema de IM 10 con quien el usuario está frecuentemente en contacto. La lista 71 puede ser un informe de datos, un archivo electrónico u otra representación de datos. Aunque la lista 71 se ilustra separada de la aplicación de software de cliente de IM 134 en la Figura 2, se apreciará que la lista 71 pueden formar parte de la aplicación 134 dentro de la RAM 118, en donde la aplicación 134 pueden también estar almacenada durante su ejecución. La lista de contacto 71 se muestra en la Figura 3 con mayor detalle.
Haciendo referencia a las Figura 3, la lista de contacto 71 está representada como una tabla. Cada fila de la tabla representa un único contacto de IM. Por brevedad, sólo tres contactos de IM están representados en la Figura 3; el número real de los contactos de IM representados puede ser mayor que tres. Cada contacto está identificado en la columna “Nombre del Contacto” por el nombre del usuario de IM del contacto. En el ejemplo ilustrado, los nombres de usuario “Joe”, “Bob” y “Mary” en las filas 1, 2 y 3 de la tabla representan usuarios 24A, 24B y 24C respectivamente de la Figura 1. La columna “Notificación de Acceso” indica la preferencia del usuario 73 de recibir notificación de acceso inmediata con respecto al contacto de IM representada por la flecha. Un valor de “habilitado” en esa columna indica que el usuario 73 desea ser notificado inmediatamente cuando el contacto entra, lo cual, a su vez indica que el servidor de IM de ordenador principal 50 no debería almacenar temporalmente las actualizaciones de presencia para este contacto un valor de “inhabilitado” indica que no se desea tal notificación y que las actualizaciones de presencia pueden ser por consiguiente almacenadas temporalmente. La Columna “Estado” representa el estado de presencia actual del contacto (es decir, la capacidad de contacto para la generación de mensajes instantáneos) como se ha determinado a partir de las actualizaciones de presencia recibidas con respecto al contacto. En el ejemplo ilustrado, los estados indican que el usuario “Joe” está disponible para generación de mensajes instantáneos; el usuario “Bob” está en espera y el usuario “Mary” ha salido para comer. El estado para “Joe” y “Bob” puede ser reportado por sus respectivos clientes de IM 22 de estos usuarios basados en la actividad o inactividad detectada automáticamente de estos clientes de IM 22, en cambio, el estado para “Mary” puede ser establecido manualmente por el usuario. Para mayor claridad la expresión “notificación de acceso” se refiere a un cambio en la presencia del estado “fuera de línea” a cualquier estado “no fuera de línea”. Por ejemplo, si un usuario accede con estado de “invisible” (como se permite en algunas redes) esto puede constituir una notificación de acceso.
Haciendo de nuevo referencia a la Figura 2, las funciones de comunicación, que incluyen comunicaciones de datos y de voz, se realizan mediante el dispositivo 70 a través del subsistema de comunicación 100 y posiblemente a través del los subsistemas de comunicación de corto alcance. El subsistema de comunicación 100 incluye un receptor 150, un transmisor 152, y una o más antenas 154 y 156. Además, el subsistema de comunicación 100 incluye también un módulo de procesamiento, tal como un procesador de señal digital (DSP) 158, y osciladores locales (LOs) 160. El diseño e implementación específicos del subsistema de comunicación 100 es dependiente de la red de comunicación en la que el dispositivo de comunicación inalámbrico 70 está destinado a funcionar. Por ejemplo, el subsistema de comunicación 100 del dispositivo de comunicación inalámbrico 70 puede estar diseñado para funcionar con redes de comunicación de datos MobitexTM, DataTACTM y también puede estar diseñado para funcionar con cualquiera de la variedad de redes de comunicación de voz, tales como AMPS, TDMA, CDMA, PCS, GSM, WiFi, inalámbrica 3G y/o UTMS. Otros tipos de redes de datos y de voz, tanto separadas como integradas, también se pueden utilizar con el dispositivo de comunicación inalámbrico 70.
Los requisitos de acceso de red varían dependiendo del tipo de sistema de comunicación. Por ejemplo, en las redes MobitexTM y DataTACTM, los dispositivos de comunicación inalámbricos son registrados en la red utilizando un número de identificación personal único ó PIN asociado con cada dispositivo. En las redes GPRS, sin embargo, el acceso de red está asociado con un abonado o usuario de un dispositivo. Un dispositivo GPRS por tanto requiere un módulo de identidad de abonado, comúnmente denominado tarjeta SIM, para funcionar en una red GPRS.
Cuando se requiera registro de red o se hayan completado procesos de activación, el dispositivo de comunicación inalámbrico 70 puede enviar y recibir señales de comunicación en la red de comunicación 60. Las señales recibidas procedentes de la red de comunicación 60 por la antena 154 son llevadas al receptor 150, que proporciona amplificación de señal, conversión de baja frecuencia, filtrado, selección de canal, etc., y pueden también proporcionar conversión de analógico a digital. La conversión de analógico a digital de la señal recibida permite que el SDP 158 realice funciones de comunicación más complejas, tales como desmodulación y decodificación. De manera similar, las señales que van a ser transmitidas a la red 60 son procesadas (por ejemplo moduladas y codificadas) por el DSP 158 y son entonces proporcionadas al transmisor 152 para conversión digital a analógica,
conversión de alta frecuencia, filtrado, amplificación y transmisión a la red (o redes) de comunicación 60 a través de la antena 156.
Además de las señales de comunicación de procesamiento, el DSP 158 proporciona el control del receptor 150 y el transmisor 152. Por ejemplo, las ganancias aplicadas a las señales de comunicación en el receptor 150 y el transmisor 152 pueden ser controladas adaptativamente a través de algoritmos de control de ganancia automáticos implementados en el DSP 158.
En el modo de comunicación de datos, una señal recibida, tal como un mensaje instantáneo, mensaje de texto o descarga de página web, es procesada por el subsistema de comunicación 100 como una entrada al microprocesador 78. La señal recibida es entonces procesada adicionalmente por el microprocesador 78 para la salida a la pantalla 76, por ejemplo, de acuerdo con una aplicación o módulo de software de ejecución, o alternativamente a algunos otros dispositivos de I/O auxiliares 106. Un usuario del dispositivo también puede componer artículos de datos, tales como mensajes instantáneos o mensajes de correo electrónico, utilizando el teclado 74 y/o alguno otros dispositivo de I/O auxiliar 106, tal como una pantalla táctil, una esfera de pista, interruptor basculante, una rueda de pulgar, o algún otro tipo de dispositivo de entrada. Los artículos compuestos por datos pueden entonces ser transmitidos en la red de comunicación 60 a través del subsistema de comunicación 100. La comunicación de datos de mensaje instantáneo por el dispositivo 70 se describe con más detalle más adelante.
En un modo de comunicación de voz, el funcionamiento global del dispositivo es sustancialmente similar al modo de comunicación de datos, excepto en que las señales recibidas son enviadas al altavoz 111, y las señales para la transmisión son generadas por un micrófono 112. Los subsistemas de I/O de voz o audio, tales como un subsistema de grabación de mensaje de voz, también pueden ser implementados en el dispositivo 70. Además, la pantalla 76 puede ser utilizada en modo de comunicación de voz, por ejemplo para presentar la identidad de la parte que llama, la duración de la llamada de voz, u otra información relacionada.
El subsiste de comunicaciones de corto alcance 102 hace posible la comunicación entre el dispositivo de comunicación inalámbricos 70 y otros sistemas o dispositivos próximos que no necesariamente tienen que ser dispositivos similares. Por ejemplo, los subsistemas de comunicaciones de corto alcance pueden incluir un dispositivo de infrarrojos y circuitos asociados y componentes, o módulo de comunicación de BluetoothTM para proporcionar sistemas y dispositivos habilitados de manera similar.
La operación de la realización ilustrada de comunicación eficiente de información de actualización de presencia a los clientes de servicio de presencia se muestra en las Figuras 4-11. Las Figuras 4 y 5 son diagramas de flujo que ilustran la operación 400 del software de servidor de IM de ordenador principal 52 y la operación 500 de a aplicación de software de cliente de IM 134 respectivamente. Las Figuras 6 y 7 ilustran máquinas de estado 600 y 700 efectuadas por el software de servidor de IM de ordenador principal 52 y el dispositivo de comunicación inalámbrico durante el transcurso de la operación 400 y 500 respectivamente. Con respecto a la Figura 4, se ha de apreciar que la operación ilustrada 400 es con respecto al un único cliente de IM 134, y que el software de servidor de IM de ordenador principal 52 puede ser capaz de realizar la operación 400 con respecto a múltiples cliente de IM soportados de manera simultáneo. También se debería apreciar que la operación del software de servidor de IM de ordenador principal 52 para manera varios tipos de mensajes relacionados con IM (por ejemplo menajes instantáneos, que pueden ser recibidos a intervalos irregulares) está omitida en la Figura 4 para mayor claridad. Con respecto a la Figura 5, se apreciará que la operación ilustrada puede ser implementada por el cliente de servicio de presencia 135.
Inicialmente se asume que los usuarios 24A, 24B, 24C y 73 han utilizado sus clientes de IM 22 ó 134 para especificar los nombres de usuario de IM de “Joe”, “Bob”, “Mary” y “Steve” (respectivamente) mediante lo cual serán conocidos por otros usuarios del mismo servicio de IM, como se indica en la Figura 1. también se supone que, cuando la operación comienza, es decir a la hora 11:15, sólo los usuarios 24C (“Mary”) y 72 (“Steve”) han invocado sus clientes de IM 22 y 134 respectivamente y registrado en el servicio de IM. El estado de IM de ambos usuarios es inicialmente “disponible”. Además, se asume que el usuario 73 ha listado a los usuarios Joe, Bob y Mary en su lista de contactos 71 y deshabilitado la notificación de acceso con respecto a estos usuarios, como se muestra en la Figura 3.
En la descripción de la operación a continuación se utilizarán las siguientes definiciones:
(1) Actividad de Usuario: En un dispositivo de comunicación inalámbrico 70, cualquier manipulación del teclado 74 o su dispositivo de entrada de los dispositivos de I/O auxiliares 106 (por ejemplo una pantalla táctil, esfera de pista, rueda de pulgar o ratón) cuando el dispositivo 70 no está en un estado bloqueado por el teclado o estado de bloqueada por clave de acceso (como se define más adelante) es considerado para sustituir la actividad del usuario. Cuando el dispositivo 70 está en un estado bloqueado por el teclado o bloqueado por clave de acceso – incluyendo manipulación para introducir una clave de acceso o para intentar desbloquear el dispositivo (es decir para sacar al dispositivo de un estado bloqueado por el teclado o un estado bloqueado por clave de acceso) no se considera que constituya actividad de usuario. La actividad de usuario con respecto a una aplicación de software significa actividad
de usuario detectada por una aplicación de software de ejecución, y puede ser denominada interacción de usuario con la aplicación de software.
(2)
Bloqueado por el teclado: El dispositivo 70 se considera que está bloqueado por teclado cuando “mantiene” el estado cuando el dispositivo 70 rechaza todas las entradas excepto una combinación de desbloqueado prefinida que saca al dispositivo del estado bloqueado por el teclado. La finalidad de este estado es “bloquear las teclas” de forma eficaz del dispositivo 70 (es decir, hacer que los botone su otros tipos de mecanismos de entrada estén inoperativos) para evitar la generación accidental de entradas falsas, como puede ocurrir sin los botones son presionados de forma accidental cuando es dispositivo 70 está en un bolsillo del usuario o en una cartera. El dispositivo puede ser llevado a un estado bloqueado por el teclado por la manipulación de un mecanismo de entrada electromecánico o control, como un conmutador deslizable que resiste la presión inadvertida, o automáticamente después del paso de un periodo de tiempo predeterminado sin actividad de usuario. El dispositivo se puede sacar del estado bloqueado por el teclado mediante la entrada de una combinación de desbloqueo predefinida, que puede ser una manipulación complementaria de un control (por ejemplo deslizar el conmutador deslizable en la dirección opuesta a la que hace que el dispositivo se bloqueado por el teclado). En el caso del dispositivo de BlackBerry, el bloqueo por teclado puede solo estar disponible sin se deshabilita el bloqueo por clave (descrito más adelante). Para bloquear por teclado el dispositivo BlackBerry, la rueda de pulgar es presionada dos veces sucesivamente. Dependiendo del tipo de fabricante del dispositivo de comunicación inalámbrico 70, los datos de aplicación pueden ser o no visibles cuando el dispositivo está bloqueado por el teclado. Por ejemplo, los dispositivos BlackBerry no muestran ningún dato de aplicación cuando están bloqueados por el teclado. Por consiguiente, el estado de bloqueo por teclado para un dispositivo BlackBerry es casi el mismo que el estado bloqueado por clave de acceso (definido más adelante) excepto en que la entrada de la clave de acceso no requiere el desbloqueo del dispositivo. Esto no es necesariamente cierto para otros tipos de dispositivo de comunicación inalámbricos.
(3)
Bloqueado por clave de acceso: El dispositivo 70 se considera que está en un estado bloqueado por clave de acceso cuando se debe introducir una clave de acceso para acceder al dispositivo. El dispositivo se puede poner en el estado bloqueado por clave de acceso en la iniciación del usuario (por ejemplo, a través de la selección de un control GUI) o automáticamente, después de detectar que el dispositivo ha sido colocado en una funda o detectando el paso de un periodo de tiempo predeterminado sin actividad de usuario. Cuando en este estado, no se presentan datos de aplicación (incluyendo información de presencia, en el caso de aplicación de software de cliente de IM 134) en una pantalla del dispositivo hasta que no se introducida la clave de acceso correcta.
(4)
Información de Presencia Presentable: La información de presencia se considera presentable por una aplicación de software de cliente de IM 134 o cliente de servicio de presencia 135 en el dispositivo de comunicación inalámbrica 70 cuando el dispositivo 70 es capaz de presentar la información de presencia de contacto de IM actual en la pantalla 76 sustancialmente en tiempo real. En el caso del dispositivo BlackBerry, esto ocurre cuando: (a) la aplicación de software de cliente de IM 134 se ejecuta en primer plano; (b) el dispositivo no está bloqueado por teclado; y (c) el dispositivo no está bloqueado por clave de acceso. En otros tipos de dispositivos de comunicación inalámbricos, el conjunto de condiciones a cumplir para que la información de presencia sea considerada presentable puede ser diferente. Por ejemplo, algunos dispositivos pueden ser capaces de estar en estadio de “información de presencia presentable” incluso cuando están bloqueados por teclado, si continúan presentando datos de aplicación actuales mientras están bloqueados por el teclado. En otro ejemplo, la aplicación de software de cliente GUI puede ser minimizada y de este modo puede no ser considerada “en primer plano” en un sentido convencional, pero puede continuar presentando al menos alguna información de presencia actual, por ejemplo, dentro de un icono en una “bandeja del sistema”, o una construcción GUI similar, en cuyo caso la información de presencia puede ser considerada presentable.
(5)
Información de Presencia No Presentable: La información se considera no presentable por una aplicación de software de cliente de IM en un dispositivo de comunicación inalámbrico 70, cuando el dispositivo 70 no presenta información de presencia de contacto de IM actual de la aplicación en la pantalla 76 sustancialmente en tiempo real. En el caso de un dispositivo BlackBerry, esto puede ser por fallo del dispositivo en cumplir cada una de las condiciones (a), (b) y (c) descritas anteriormente. En algunas realizaciones de dispositivo de comunicación inalámbrico, el estado de “información de presencia no presentable” también puede ser introducido o bien cuando la pantalla del dispositivo ha sido colocada en un modo de ahorro de potencia o bien cuando la pantalla ha sido activada – evitando cada una de estas situaciones que la información de presencia de IM actual sea vista por el usuario.
Haciendo referencia a la Figura 6, en el servidor de IM de ordenador principal 50, el estado inicial efectuado por el software de servidor de IM de ordenador principal 53 es el estado de ACTUALIZACIONES DE PRESENCIA DEENVÍO 602. En este estado, cualesquier actualizaciones de presencia recibidas por el software de servidor de IM de ordenador principal 52 procedentes del servidor de IM 40 con respecto a cualquiera de los usuarios Joe, Bob y Mary son enviadas (transmitidas) a la aplicación de software de cliente de IM de móvil 134 e integradas en el cliente de servicio de presencia 135 a través de la red inalámbrica 60. De este modo, si el usuario Mary establece temporalmente su estado (manualmente) en “no molestar” a las 11:16 AM y después manualmente cambia su estado a “disponible” a las 11:17 AM mediante la interacción con su cliente 22 en el dispositivo de ordenador 20C (Figura 1) sería recibidos dos actualizaciones de presencia que reflejan estos cambios en la disponibilidad
procedentes del servidor 40 sustancialmente en tiempo real y transmitidos al cliente de IM de móvil 134/cliente de servicio de presencia 135 a través de una red inalámbrica 60. Esto se representa en la Figura 4 mediante la operación S402 y S404.
En el dispositivo de comunicación inalámbrico 70, se supone que, desde las 11:15 AM en adelante, el dispositivo 70 no está ni bloqueado por teclado ni bloqueado por clave de acceso y el cliente de IM de móvil 134 ejecuta una proceso de primer plano. Haciendo referencia a la Figura 7, el estado inicial efectuado por el dispositivo decomunicación inalámbrico 70 es por consiguiente el estado ACTIVO DE CLIENTE DE IM DE MÓVIL 702. En ese estado, cualesquiera actualizaciones de presencia recibidas desde el software de servidor de IM de ordenador principal 52 (tales como las dos mencionadas anteriormente) son procesada por el cliente de servicio de presencia 135 del cliente de IM de móvil 134, con cualesquiera cambios en la disponibilidad que se reflejan (sustancialmente en tiempo real) en la representación GUI de la lista de contactos que está presentada en la pantalla 76 del dispositivo 70. La recepción de tales actualizaciones de presencia no da lugar a un cambio en la máquina de estado 700 y de este modo se representa como una transición 724 desde el estado 702 de nuevo al estado 702. Se produce la misma transición 724 cuando son recibidos mensajes instantáneos en el estado 702.
Se supone que, a las 11:25 AM la aplicación de software de cliente de IM de móvil 134 se vuelve “latente”. Esto puede ocurrir en una de las dos maneras. Primero, la información de presencia puede volverse no presentable (como se ha descrito anteriormente) y permanecer no presentable durante un periodo de tiempo predeterminado T0, que puede ser, por ejemplo, 5 minutos (Figura 7, transición 710). La información de presencia podría llegar a ser no presentable si una de las condiciones (a), (b) ó (c) descritas anteriormente deja de cumplirse. Por ejemplo, la condición (a) podría dejar de cumplirse si el usuario 73 hace que el cliente de IM de móvil 134 se ejecute como un proceso de fondo ejecutando una aplicación distinta en el primer plano (por ejemplo una aplicación de correo electrónico) durante el periodo de tiempo T0. El usuario puede decidir utilizar la aplicación distinta sin finalizar la aplicación de software de cliente de IM 134 basada en su conocimiento que, si la aplicación de software de cliente de IM 134 recibe un mensaje instantáneo mientras está siendo utilizada la aplicación distinta, el dispositivo 70 generará un tono de notificación o notificará de otros modo al usuario, el mensaje instantáneo, para que el usuario pueda elegir conmutar de nuevo a la aplicación de IM si lo desea. Las razones para requerir que la información de presencia permanezca no presentada durante al menos el periodo de tiempo T0 se describen más delante. En segundo lugar, puede haber una ausencia de interacción de usuario con la aplicación de software de cliente de IM 134 durante un periodo de tiempo de al menos T1 (Figura 7, transición 712). Las razones para requerir que la pérdida de actividad de usuario sea al menos el periodo de tiempo T1 de duración se describen más adelante. En cualquier caso, la aplicación de software 134 realiza una transición a un nuevo estado LATENTE DE CLIENTE DE IM DE MÓVIL 704.
Haciendo referencia a las Figura 5, que muestra la operación de la aplicación de software de cliente de IM 134 con cliente de servicio de presencia integrado 135, la determinación en S502 se hacer por consiguiente en el positivo. Como resultado se envía una comunicación al software de servidor de IM de ordenador principal 52 para hacer que comience a almacenar temporalmente las actualizaciones de presencia destinadas al dispositivo 70 (véase la Figura 5, S504). En la presente realización, la comunicación adopta la forma de un mensaje RETENIDO 800, cuyo formato se ilustra en la Figura 8. Como se muestra en la Figura 8, el mensaje RETENIDO 800 tiene un campo de tipo de mensaje 802 y un campo de habilitado/deshabilitado 804, que son cada uno de un bit de longitud en la presente realización. El valor 0x43 en el campo de tipo de mensaje 802 indica que el mensaje pertenece al esquema para la transmisión eficiente de información de actualización de presencia descrito aquí. El valor 0x01 en el campo de tipo de mensaje 804 indica “habilitado” es decir mensajes de actualización de presencia retenidos.
El mensaje RETENIDO 800 es recibido por el software de servidor de IM de ordenador principal 52 poco después de ser enviado, dando lugar a una transmisión 610 de la máquina de estado 600 del estado de ACTUALIZACIONES DEPRESENCIA DE ENVÍO 602 a un estado de ACTUALIZACIONES DE PRESENCIA RETENIDAS 604 (Figura 6). El mensaje retenido 800 sirve como indicador de que el cliente de IM de móvil 134 ha llagado a ser latente (Figura 4, S402). Como resultado, el software de servidor de IM de ordenador principal 52 empieza a almacenar temporalmente cualesquiera actualizaciones de presencia destinadas al cliente de IM de móvil 134 (S406).
En los siguientes cuarenta minutos, se supone que las actualizaciones de presencia referentes a los usuarios Joe, Bob y Mary son recibidas por el software de servidor de IM de ordenador principal 52 y son almacenadas temporalmente. El conjunto de actualizaciones de presencia 54 almacenado temporalmente se ilustra en forma de tabla en la Figura 10.
Haciendo referencia a la FIS 10, cada actualización de presencia está representada como una fila dentro de la tabla. Cada actualización de presencia, información de marca de tiempo, información de nombre de contacto, e información de evento de presencia está representada. La información de marca de tiempo indica el tiempo en el que se recibió la actualización de presencia. La información de nombre de contacto indica el nombre del usuario de IM del contacto con respecto al cual se va a enviar la actualización de presencia. La información de evento de presencia indica el evento que ha ocurrido que tiene impacto en la disponibilidad del contacto para generación de mensajes instantáneos. De este modo, como se muestra en la Figura 10, a las 11:26 AM y a las 11:28 AM respectivamente, los usuarios Joe y Bob utilizaron sus clientes de IM 22 para acceder al servicio de IM. A las 11:48
AM, el cliente de IM de Bob reportó un estado de “en espera”, que era resultado de un fallo del usuario Bob para interactuar con su cliente de IM 22 durante algún periodo de tiempo predeterminado (tal como 10 minutos, por ejemplo). Después, a las 12:00 PM, el usuario Mary manualmente estableció su propio estado de “fuera para comer” para permitir que otros usuarios sepan que no se encontrará disponible.
Posteriormente, se produce un evento en el dispositivo de comunicación inalámbrico 70 que da lugar a que el cliente de IM de móvil 134 deje de ser latente. el evento puede ser uno de: la información de presencia vuelve a ser presentable (Figura 7, transición 714- esto supone que la transición 710 ha sido la razón de que la aplicación de software de cliente de IM 134 esté en el estado 704); la interacción de usuario con la aplicación de software de cliente de IM 134 (Figura 7, transición 716 – esto supone que la transición 712 ha sido la razón de que la aplicación de software de cliente de IM 134 estuviera en el estado 704); o la recepción por la aplicación de software de cliente de IM 134 de o bien un mensaje instantáneo procedente de otro usuario de IL o bien una notificación de acceso referente a un contacto de IM de interés (Figura 7, transición 718) ambos de los cuales pueden producir que se genere una notificación (por ejemplo un tono o vibración) por el dispositivo 70. En el caso de la transición 714, el evento que hace que la transición puede por ejemplo ser entrada de usuario una clave de acceso para hacer que el dispositivo salga de un estado de bloqueo por clave de acceso o la manipulación del usuario de un control del dispositivo que hace que el dispositivo salga de un estado de bloqueo por teclado, seguid de la interacción de usuario con el cliente de IM 134.
Se apreciará que la transición 718 se diferencia de las transiciones 714 y 716 debido a que está basada en una condición (es decir, la recepción de un mensaje instantáneo o la notificación de acceso) que es conocida por el software de servidor de IM de ordenador principal 52 antes de que sea conocida por el cliente 34 (desde entonces el mensaje instantáneo o notificación de acceso habrían venido del software de servidor de ordenador principal 52). Por esta razón, cuando ocurre la transición 718, se puede decir que el software de servidor de IM de Ordenador Principal 52 ha “sacado al cliente de IM 134 del modo latente”. Esto es al contrario que el cliente de IM 134 “saliendo el mismo del modo latente” en base a las condiciones conocidas localmente por el cliente de IM 134 pero no conocidas por el servidor de IM de Ordenador Principal 50 (como para las transiciones 714 y 716).
A pesar de que las transiciones 714, 716 y 781 han ocurrido, la aplicación de software 134 habrá realizado latransición desde el estado LATENTE DE CLIENTE DE IM DE MÓVIL 704 de nuevo al estado ACTIVO DE CLIENTE DE IM DE MÓVIL 702. Se apreciara que entrar de nuevo en el estado ACTIVO DE CLIENTE DE IM DE MÓVIL 702 no necesariamente significa que la información de presencia se ha vuelto de nuevo presentable (suponiendo que la transición 710 ha sido la razón de que la máquina de estado 700 esté en el estado 704). Por ejemplo, si un mensaje de instante ha sido recibido en el cliente de IM 134 pero el dispositivo 70 permanece bloqueado por el teclado, la máquina de estado 700 podría estar en el estado 702 a pesar del hecho de que la información de presencia permanece no presentable.
Las transiciones 714 y 716 al estado ACTIVO DE CLIENTE DE IM DE MÓVIL 702 reflejan el hecho de que el cliente de IM de móvil 134 ha dejado de ser latente. Esto se detecta en S506 (Figura 5). Por consiguiente, cuando ocurre la transición o bien de 714 o bien de 716 al estado 702, es enviada una comunicación desde el dispositivo 70 para hacer que el software de servidor de IM de ordenador principal 52 envía cualesquiera actualizaciones de presencia almacenadas temporalmente al cliente de servicio de presencia 135 (Figura 5, S508). En la presente realización, la comunicación adopta la forma de un mensaje NO RETENIDO 900, cuyo formato está ilustrado en la Figura 9. Como se muestra en la Figura 9, el mensaje de NO RETENIDO 900 tiene el mismo formato que el mensaje retenido 800 de la Figura 8, con un campo de tipo de mensaje 902 y un campo de habilitación/deshabilitación 904, siendo cada uno de un bit de longitud. El mismo valor 0x43 aparece en el campo de tipo de mensaje 902 que en el campo de tipo de mensaje 802, mientas que el valor 0x00 en el campo de tipo de mensaje 804 indica “deshabilitado”, es decir mensajes de actualización de presencia no retenidos.
Haciendo referencia a la Figura 4, el mensaje de NO RETENIDO 900 es recibido por el software de ordenador principal de IM 52 y sirve como indicador de que el cliente de IM de móvil 134 ha dejado de ser latente (S408). Esto desencadena la transición 612 de la máquina de estado 600 del estado de ACTUALIZACIONES DE PRESENCIA RETENIDAS 604 de nuevo al estado de ACTUALIZACIONES DE PRESENCIA DE ENVIÓ 602 (Figura 6).
Haciendo referencia de nuevo a la Figura 7, se apreciará que la transición 718 no hace que un mensaje NO RETENIDO sea enviado desde el dispositivo 70 al servidor de IM de ordenador principal 50 (a diferencia de las transiciones 714 y 716). Esto es para evitar el tráfico de mensajes innecesarios y por tanto conservar ancho de banda. El mensaje de NO RETENIDO es innecesario porque el software de servidor de IM de ordenador principal 52 se dará cuenta de los eventos que causan la transición 718 – es decir, la recepción de un mensaje instantáneo o notificación de acceso. Incluso antes de que la aplicación de software de cliente de IM 134 se dé cuenta de ellas, dado que transmite tales comunicaciones al dispositivo 70 en donde la aplicación 134 se ejecuta. Por consiguiente, cuando o bien un mensaje instantáneo o bien una notificación de acceso son recibidos por el software de servidor de IM de ordenador principal 52, esto sirve como indicación de que la aplicación de software de cliente de IM 134 dejará de ser latente en un futuro cercano, después de que el software de servidor de IM de ordenador principal 52 transmita la comunicación a la aplicación 134 de manera que produce la transición 718 de la Figura 7. Más concretamente, haciendo referencia a la Figura 6, si un mensaje de instante destinado al cliente de IM de móvil 134
es recibido en el software de servidor de IM de ordenador principal 52 (por ejemplo, procedentes de un cliente de IM 22 en otro dispositivo de ordenador 20), la máquina de estado 600 realizará la transición 614 desde el estado de ACTUALIZACIONES DE PRESENCIA RETENIDAS 604 al estado de ACTUALIZACIONES DE PRESENCIA DE ENVÍO 602. De manera similar, si se recibe una notificación de acceso referente a un contacto de interés (por el ejemplo un usuario contenido en la lista de contactos 71 del usuario 73) se producirá la transición 616 desde el estado 604 al estado 606. De este modo, las actualizaciones de presencia almacenadas temporalmente son enviadas a la aplicación de software de cliente de IM de móvil 134 a pesar del hecho de que la aplicación 134 no envió un mensaje de NO RETENIDO al software de servidor de IM de ordenador principal 52.
Posteriormente, el software de servidor de IM de ordenador principal 52 realiza el procesamiento para enviar las actualizaciones de presencia almacenadas temporalmente 54 (Figura 10) al cliente de servidor de presencia 135. Haciendo referencia a la Figura 4, se hace una determinación inicialmente en cuanto a si es posible reconciliar cualesquiera actualizaciones de presencia dentro del conjunto almacenado temporalmente 54 (S410). La reconciliación puede ser posible cuando dos o más actualizaciones de presencia se pueden combinar en una única actualización de presencia en la que se note la información de presencia obsoleta. Por ejemplo, haciendo referencia a la Figura 10, se puede determinar que la actualización de presencia “introducida” par el usuario Bob recibida a las
11:28 AM es obsoleta en vista de la actualización de presencia posterior para el usuario Bob recibida a las 11:48 AM indicando que el usuario Bob es “en espera” (ya que el último estado inherentemente indica que Bob se ha introducido en el sistema). Como resultado, se pueden reconciliar las dos actualizaciones de presencia (S412) retirando la anterior actualización de presencia del conjunto 54. Esto crea un nuevo conjunto de actualizaciones de presencia 54´, como se muestra en la Figura 11. De manera ventajosa, el tamaño del conjunto 54´ es menor que el conjunto original 54´. Esto reduce la cantidad de ancho de banda utilizado cuando el conjunto 54´ es enviado a la aplicación de software de cliente de IM de móvil 134 en el dispositivo 70 (S414, Figura 4). Además, en la medida en que las actualizaciones de presencia reconciliadas puedan ser transmitidas como una única “ráfaga”, se puede mejorar la eficiencia en comparación con la transición de actualizaciones de presencia individualmente. Eficiencia mayor puede dar lugar a dispositivos que estén programados para “despertar” de un modo de ahorro de energía y permanecer en ese modo despierto (son ahorro de energía) durante algún periodo mínimo de tiempo cada vez que se reciba una actualización de presencia, debido a que el dispositivo puede gastar menos tiempo total en el estado despierto cuando las actualizaciones de presencia llegan en ráfagas. La eficiencia se puede mejora también cuando son transmitidas múltiples actualizaciones de presencia mediante un único mensaje, en cuyo caso, el sobrecoste asociado con cada actualización de presencia se puede reducir en comparación con la transmisión de cada actualización de cada actualización de presencia en un mensaje separado. Además, en las redes inalámbricas que empelan compresión de mensajes, el grado de compresión alcanzable cuando son enviadas múltiples actualizaciones de presencia en un mensaje puede ser mayor que el alcanzable cuado las actualizaciones de presencia son transmitidas individualmente, ya que la compresión puede ser más efectiva para tamaños de mensaje mayores. También, la precisión de las estadísticas de llamada mantenidas por los proveedores inalámbricos o redes inalámbricas que consideran cada transmisión de una o más actualizaciones de presencia para constituir una “llamada” se puede mejorar. Otro ejemplo de reconciliación puede ocurrir para clientes de IM que son capaces de indicar la canción actual a la cual el contacto de IM está listando, en donde las actualizaciones de presencia referentes a cancines oídas anteriormente son omitidas.
Posteriormente, la operación 400 y 500 de las Figuras 4 y 5, y las transiciones de las máquinas de estado 600 y 700, repiten como necesarias cuando la aplicación de software de cliente de IM de móvil 134 se hace latente y deja de ser latente en el tiempo.
De la descripción anterior se apreciara, que para cada transición al estado ACTIVO DE VCLIENTE DE IM DE MÓVIL 702, la máquina de estado 700 permanece en ese estado durante al menos el tiempo T0 ó T1. Esto se hace de forma intencionada, para asegurar que una vez que el cliente de IM de móvil 134 deja de ser latente pasa al menos el tiempo T0 ó T1 en un estado no latente (es decir, el estado 702). Si esto no se hiciera, y si una de las condiciones que hacen de otro modo que la transición 710 ó 712 ya esté presente cuando la máquina de esto se realiza la transición al estado 702, entonces el resultado podría ser una transición inmediata de nuevo al estado LATENTE DE CLIENTE DE IM DE MÓVIL 704. Dado que la transición al estado ACTIVO DE CLIENTE DE IM DE MÓVIL 702 produce la transición de un mensaje de NO RETENIDO 900 al software 52 (al menos en el caso de transiciones 714 y 716) y la transición de nuevo al estado LATENTE DE CLIENTE DE IM DE MÓVIL 704 causa la transmisión de un mensaje retenido 800 desde el dispositivo 70 al software de servidor de IM de ordenador principal 52, tales transiciones rápidas pueden dar lugar a un aluvión de comunicaciones entre el dispositivo de comunicación inalámbrico 70 y el servidor de IM de ordenador principal 50. Requerir que la máquina de estado 700 permanezca en el estado 702 durante al menos el tiempo T0 ó T1 sirve para mitigar esta eventualidad. Dicho de otra forma, si un usuario ha recibido un mensaje instantáneo recientemente, es probable que el usuario reciba de nuevo otro mensaje instantáneo pronto. Esto es deseable para evitar una transición de nuevo al estado 704 demasiado pronto, incluso si el usuario, por ejemplo, ha colocado la aplicación en el fondo o bloqueado por clave de acceso (o bloqueado por el teclado) el dispositivo. Por supuesto, para algunas realizaciones, o en ciertas situaciones, se puede determinar que el tráfico de mensaje adicional es aceptable. En ese caso, las duraciones de periodo de tiempo mínimo se pueden reducir o, en el caso de T0, evitar totalmente. El uso, de dos períodos de tiempo T0 y T1 permite flexibilidad en la configuración del comportamiento de sistema. En algunas realizaciones, esta flexibilidad puede no ser requerida, de
manera que sólo se puede utilizar un periodo de tiempo para ambas transiciones (que es lo que efectivamente ocurre si los periodos de tiempo T0 y T1 ambos se establecen de la misma duración).
En la realización descrita anteriormente, el servidor de IM de ordenador principal 50 sobre el que el software de servidor de IM de ordenador principal 52 es ejecutado puede enviar tráfico de mensaje de IM al dispositivo de comunicación inalámbricos 70 por medio de un servidor de transmisión que almacena y envía las comunicaciones (no solo mensajes instantáneos, sino otras comunicaciones tales como correo electrónico por ejemplo) que están destinados al dispositivo de comunicación inalámbrico 70. En una configuración convencional, el servidor de transmisión puede estar situado entre el servidor de IM de ordenador principal 50 y la red inalámbrica 60 de la Figura
1. El servidor de transmisión puede de este modo servir como “cuello de botella” para las comunicaciones, incluyendo las comunicaciones de IM, destinadas al dispositivo de comunicación inalámbrico 70. Implementando el servidor de IM de ordenador principal 52 de esta manera, la capacidad de actualizaciones de presencia de almacenamiento temporal puede ser proporcionadas cómodamente en el servidor 52, o bien para un servidor de IM único o para más de un servicio de IM, ya que todas las comunicaciones relacionadas con IM hacia y desde el dispositivo de comunicación inalámbrico 70 serán encaminadas a través del servidor de transmisión. Además, debido a que no requiere modificación del software de servidor de IM 42, la capacidad se puede efectuar por una entidad diferente del proveedor de servicio de IM. Por supuesto, tal implementación no se requiere. Por ejemplo, la capacidad del servidor de ordenador principal que se ha descrito anteriormente en combinación con las Figuras 4 y 6 se podría efectuar en el servidor de IM 40 de una realización alternativa.
En otra alterativa, cuando se utiliza un servidor de IM de empresa para proporcionar servicio de IM a los usuarios conectados a una red corporativa segura dentro de una empresa, la capacidad del servidor de ordenador principal descrita anteriormente con relación a las Figuras 4 y 6 se puede efectuar en un servidor conectado a la red corporativa, en lugar de a un servidor de transmisión. Una realización alternativa que ilustra esta posibilidad se muestra esquemáticamente en la Figura 12.
Como se ilustra en la Figura 12, el sistema de IM 1000 incluye un número N de dispositivos de ordenador a modo de ejemplo 1002A a 1002N que ejecutan el software de IM de cliente 22, como se ha descrito anteriormente. Los dispositivos 1002A a 1002N están conectados a una red de área local segura (LAN) 1004 que es administrada por una empresa. También conectado a la LAN 1004 está el servidor de IM de empresa 1006, tal como IBM Lotus SametimeTM, Novell GroupWise® o Microsoft® Office Live Communications Server. El servidor de IM de empresa proporciona servicio de IM a los usuarios de los dispositivos 1002A a 1002N, así como a los usuarios remotos de los dispositivos de comunicación inalámbricos tales como el dispositivo 70 que ejecutan la aplicación de software de cliente de IM 134 con el cliente de servicio de presencia integrado 135. Además, conectado a la LAN 1004 hay un servidor de IM de ordenador principal 50´ que ejecuta un software de servidor de IM de ordenador principal 52´, que son similares al servidor 50 y al software 52, descritos anteriormente. Se observa que, en la realización de la Figura 12, el servidor de IM de ordenador principal 50 es efectuado en un BlackBerry Enterprise ServerTM, no mostrad en la Figura 1. El BES generalmente es responsable de controlar las cantidades de correos electrónicos de usuarios y dispositivos de comunicación inalámbricos tales como el dispositivo 70 e “impulsar” (enviar) cualesquiera mensajes recibidos a los dispositivos de comunicación inalámbricos por medio del cortafuegos 1010, Internet 30, servidor de transmisión 1008 y red inalámbrica 60. Puede ser deseable llevara acabo el software de servidor de IM de ordenador principal 52´ en la BES en este escenario debido a que la BES sirva como “cuello de botella” para las comunicaciones de IM hacia y desde el dispositivo de comunicación inalámbrico 70, y posiblemente otros dispositivos de comunicación inalámbricos. El software de servidor de IM de ordenador principal 52´ puede estar denominado por el nombre comercial BlackBerry Collaboration Service software. Otros componentes del servidor 50´ se han omitido para mayor claridad.
Los expertos en la técnica apreciarán que se pueden hacer modificaciones en las realizaciones anteriormente descritas. Por ejemplo, el dispositivo de comunicación inalámbrico 70 no necesita ser un dispositivo BlackBerry que utilice un sistema operativo RIM patentado. Se podrían empelar otras formas de dispositivos de comunicación inalámbricos, tales como dispositivos basados en el sistema operativo WinCE o PalmOS, o posiblemente incluso dispositivos que ejecutan software de sistema operativo que no es capaz de multitarea.
En algunas realizaciones, el formato de los mensajes RETENIDOS y NO RETENIDOS puede ser diferente de los formatos mostrados en las Figuras 8 y 9. Por ejemplo, el mensaje retenido puede ser parte de una “alerta de notificación de acceso” enviada por el cliente de IM 134 a uno o más contactos de IM de interés.
No es absolutamente necesario que el software de servidor de IM de ordenador principal almacene la lista de contacto 71. Dado que las actualizaciones de presencia que llegan del servidor de IM 40 pueden contener toda la información que la aplicación de software de cliente de IM 134 necesita, el software de servidor de IM de ordenador principal 52 puede simplemente mantener las actualizaciones de presencia almacenadas temporalmente 54 sin mantener la lista de contacto 71.
En las realizaciones descritas anteriormente, cuando la notificación de acceso está habilitada con respecto a un contacto de IM, ninguna actualización de presencia en absoluto es almacenada temporalmente para ese contacto (notificaciones de acceso o de otro modo). En realizaciones alternativas, este ajuste sólo puede evitar el almacenamiento temporal de notificaciones de acceso. Otros tipos de actualizaciones de presencia serán almacenadas temporalmente de forma verosímil.
Fundamentalmente, se apreciará que las técnicas descritas en la presente invención son aplicables a servicios de
5 presencia y clientes de servicio de presencia utilizados en cualquier sistema de comunicación, si están asociados con generación de mensajes instantáneos, llamadas VoIP, o de otro modo. Los clientes de servicio de presencia pueden estar integrados o asociados de otro modo con las aplicaciones de software de cliente de comunicación (tales como clientes de IM o clientes de VoIP). Tales aplicaciones de software de clientes de comunicación podrían ser implementadas en firmware o hardware en lugar de en el software, y de este modo se pueden denominar
10 genéricamente “clientes de comunicación”. De este modo, la expresión “cliente de comunicación” se puede utilizar para hacer referencia a una aplicación de software o firmware que ejecuta un dispositivo de comunicación inalámbrico o el propio dispositivo de comunicación inalámbrico. Generalmente, los contactos de IM se pueden denominar “contactos” generalmente para tales sistemas.
15 También, se debe apreciar que la presente invención se aplica a realizaciones de igual a igual en las que no existe servidor central o intermedio. En tales realizaciones, las actualizaciones de presencia pueden habitualmente ser enviadas directamente desde cualquier dispositivo en el que se haya producid un campo en el estado de presencia de uno o más dispositivos (iguales) que han sido configurados para recibir (por ejemplo, en un cliente de servicio de presencia) actualizaciones de presencia con respecto a ese dispositivo. En tales realizaciones, un primer dispositivo
20 de comunicación inalámbrico en el que se han producir cambios en el estado de presencia puede almacenar temporalmente actualizaciones de presencia destinadas a un segundo dispositivo de comunicación inalámbrico (peer) después de recibir un indicador que indica que un cliente de comunicación que se ejecuta en un que comprende el segundo dispositivo se ha vuelto latente. Después de recibir un indicador que indica que el cliente de comunicación ha dejado de ser latente, un conjunto de actualizaciones de presencia almacenadas temporalmente,
25 posiblemente reconciliada para eliminar información redundante u obsoleta, se puede enviar al segundo dispositivo.
Serán evidentes para los expertos en la técnica y, por tanto, la invención está definida en las reivindicaciones.

Claims (9)

  1. REIVINDICACIONES
    1. Un método que comprende:
    en un servidor de generación de mensajes instantáneos de ordenador principal (50) en comunicación a través de una red inalámbrica (60) con un dispositivo de comunicación inalámbrico separado (70):
    recibir (S402) un indicador de que un cliente de generación de mensajes instantáneos (134) que ejecuta dicho dispositivo de comunicación inalámbrica separado (70) se la convertido en latente; como respuesta a dicha recepción, almacenar temporalmente (S406) un conjunto de actualizaciones de presencia (54) destinadas a un cliente de servicio de presencia (135) dentro de dicho cliente de generación de mensajes instantáneos (134), conteniendo cada actualización de presencia de dicho conjunto información referente a la disponibilidad de al menos un contacto de un conjunto de contactos
    (71) para la intercomunicación a través de dicho cliente de generación de mensajes instantáneos (134); recibir (S408) un indicador adicional; y como respuesta a dicha recepción de dicho indicador adicional.
    enviar (S414) dicho conjunto de actualizaciones de presencia a dicho cliente de servicio de presencia (135) a través de una conexión inalámbrica: y transmitir a dicho cliente de servicio de presencia (135) posteriormente las actualizaciones de presencia recibidas destinadas a dicho cliente de servicio de presencia,
    caracterizado porque
    dicho indicador adicional indica que se ha producido un evento que hará que dicho cliente de generación de mensajes instantáneos (134) deje de ser latente, siendo dicho indicador adicional una comunicación destinada a dicho cliente de generación de mensajes instantáneos (134), siendo dicha comunicación una comunicación que indica que un contacto de interés de dicho conjunto de contactos (71) ha accedido a un servicio de generación de mensajes instantáneos; dicho envió de dicho conjunto de actualizaciones de presencia se realiza como respuesta a la recepción de dicho indicador adicional que indica que el cliente de generación de mensajes instantáneos (134) dejará de ser latente en el futuro; y dicho envió de dicho conjunto de actualizaciones de presencia se realiza a pesar de no recibir, desde el cliente de generación de mensajes instantáneos (134), un mensaje de que el cliente de generación de mensajes instantáneos (134) ha dejado de ser latente.
  2. 2.
    El método de la reivindicación 1, en el que dicho indicador es una comunicación (800) procedente de dicho cliente de generación de mensajes instantáneos (134).
  3. 3.
    El método de la reivindicación 1, en el que dicha comunicación destinada a dicho cliente de generación de mensajes instantáneos (134) es un mensaje instantáneo.
  4. 4.
    El método de una cualquiera de las reivindicaciones 1 a 3, que además comprende, antes de dicho envío:
    determinar (S410) si las actualizaciones de presencia múltiples de dicho conjunto (54) son capaces de reconciliación en una actualización de presencia única; y si dicha determinación es positiva, reconciliar (S402) dichas actualizaciones de presencia múltiples en una única actualización de presencia omitiendo la información de presencia obsoleta.
  5. 5.
    Un servidor de generación de mensajes instantáneos de ordenador principal o proxy (50) que comprende al menos un procesador y memoria en comunicación con dicho al menos un procesador, almacenando dicha memoria instrucciones que, cuando son ejecutadas por dicho al menos un procesador, se adaptan a dicho servidor de generación de mensajes instantáneos de ordenador principal (50) para realizar todas las etapas del método de una cualquiera de las reivindicaciones 1 a 4.
  6. 6.
    Un medio legible con máquina (55) que almacena instrucciones que, cuando son ejecutadas por al menos un procesador de un servidor de generación de mensajes instantáneos de ordenador principal (50), se adaptan a dicho servidor de generación de mensajes instantáneos de ordenador principal (50) para realizar todas las etapas del método de una cualquiera de las reivindicaciones 1 a 4.
  7. 7.
    El método de la reivindicación 1 que además comprende:
    en dicho dispositivo de comunicación inalámbrico separado (70):
    después de detectar (S502) que el cliente de generación de menajes instantáneos (134) que ejecuta en dicho sistema de comunicación inalámbrico (70) se ha vuelto latente, dicho cliente de generación de mensajes instantáneos (134) para adaptar dicho dispositivo (70) para intercomunicar a través de una conexión inalámbrica con cualquiera de un conjunto de contactos especificados por el usuario (71) y que tiene dicho cliente de servicio de presencia asociado (135) para recibir actualizaciones de presencia a través de dicha conexión inalámbrica referente a la disponibilidad de cualquiera de dicho conjunto de contactos para la intercomunicación a través de dicho cliente de generación de mensajes instantáneos (134), enviar (S504) una comunicación (800) para hacer que dichas actualizaciones de presencia sean almacenadas temporalmente en dicho servidor de generación de mensajes
    5 instantáneos (50); y después de detectar (S506) que dicho cliente de generación de mensajes instantáneos (134) ha dejado de ser latente, recibiendo dicho conjunto de actualizaciones de presencia almacenado temporalmente (54) en dicho cliente de servicio de presencia (135) desde dicho servidor de generación de mensajes instantáneos (50) a través de dicha conexión inalámbrica, en donde dicho cliente de generación de mensajes instantáneos (134) que es latente comprende o bien:
    10 información de presencia que no es presentable a dicho dispositivo de comunicación inalámbrico durante la menos un periodo de tiempo T0; o bien una falta de interacción de usuario con dicho cliente de generación de mensajes instantáneos (134) durante la menos un periodo de tiempo T1.
  8. 8. El método de la reivindicación 7, en el que dicha información de presencia que no es presentable comprende al 15 menos una de las etapas de:
    introducir el dispositivo de comunicación inalámbrica (70) en un estado bloqueado por el teclado o estado bloqueado por clave de acceso en el que no se presenta información de presencia en el dispositivo de comunicación inalámbrico (70);
    20 la activación del un salvapantallas en el dispositivo de comunicación inalámbrico (70) que evita que la información de presencia sea presentada en el dispositivo de comunicación inalámbrico (70); la activación de un modo de ahorro de energía en el dispositivo de comunicación inalámbrico (70) que evita que la información de presencia sea presentada en el dispositivo de comunicación inalámbrico (70); y la conmutación de dicho cliente de generación de mensajes instantáneos (134) de la ejecución como proceso
    25 de primer plano a la ejecución como proceso de fondo de manera que ninguna información de presencia es presentada en el dispositivo de comunicación inalámbrico (70).
  9. 9. El método de la reivindicación 7, en el que dicho cliente de generación de mensajes instantáneos (134) deja de
    ser latente, comprende recibir un mensaje instantáneo o una notificación de acceso referente a un contacto en dicho30 cliente de generación de mensajes instantáneos (134).
ES07102806T 2007-02-21 2007-02-21 Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia Active ES2388469T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP07102806A EP1962473B1 (en) 2007-02-21 2007-02-21 Efficient transmission of presence update information to presence service clients

Publications (1)

Publication Number Publication Date
ES2388469T3 true ES2388469T3 (es) 2012-10-15

Family

ID=38235376

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07102806T Active ES2388469T3 (es) 2007-02-21 2007-02-21 Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia

Country Status (4)

Country Link
EP (1) EP1962473B1 (es)
CN (1) CN101286955B (es)
CA (1) CA2622054C (es)
ES (1) ES2388469T3 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467767B1 (ko) 2008-03-31 2014-12-03 엘지전자 주식회사 단말기 및 이것의 인스턴트 메시징 서비스 수행 방법
TW201008234A (en) * 2008-08-12 2010-02-16 Acer Inc Energy-saving method for handheld Internet accessing device, the handheld Internet accessing device, and the real-time message system
CN102083052B (zh) * 2009-12-01 2014-02-19 华为技术有限公司 一种成员呈现信息订阅控制方法、系统及装置
US9521621B2 (en) * 2010-06-02 2016-12-13 Qualcomm Incorporated Application-proxy support over a wireless link
CN102347912B (zh) 2010-08-02 2014-11-05 腾讯科技(深圳)有限公司 即时通讯软件中获取动态更新的方法及系统
US8473577B2 (en) * 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
US9727124B2 (en) * 2011-04-19 2017-08-08 Apple Inc. Power saving application update in a portable electronic device
EP2699028A4 (en) * 2011-05-18 2014-03-12 Huawei Device Co Ltd METHOD AND APPARATUS FOR SENDING MESSAGES
DE102011081452B3 (de) * 2011-08-24 2013-02-21 Conti Temic Microelectronic Gmbh Verfahren zum Übertragen von Botschaften in einem Kommunikationsnetzwerk.
US8954100B2 (en) * 2011-11-04 2015-02-10 Facebook, Inc. Server-side rate-limiting algorithms for piggybacking social updates for mobile devices
US8989818B2 (en) 2011-11-04 2015-03-24 Facebook, Inc. Device actions based on device power
CN103795554A (zh) * 2012-10-29 2014-05-14 华为技术有限公司 一种管理终端状态的方法,装置和系统
CN103841003B (zh) * 2012-11-23 2017-12-01 腾讯科技(深圳)有限公司 即时通讯中进行信息交互的方法及系统
CN103929347B (zh) * 2013-01-15 2017-06-20 杭州华为企业通信技术有限公司 一种实现即时消息代理业务的方法、装置及系统
CN103297323B (zh) * 2013-05-02 2016-09-07 华为软件技术有限公司 一种发送用户状态的方法和装置
US20150033139A1 (en) * 2013-07-23 2015-01-29 Microsoft Corporation Communication with on-calls and machines using multiple modalities through single historical tracking
DE112013007545B4 (de) * 2013-10-31 2020-09-24 Nokia Technologies Oy Leistungsoptimierung für Benutzereinrichtung
WO2016095219A1 (zh) * 2014-12-19 2016-06-23 华为技术有限公司 下行数据传输装置及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2726830C (en) 2002-09-19 2015-11-10 Research In Motion Limited Apparatus and method of wireless instant messaging
US7269629B2 (en) * 2002-12-30 2007-09-11 Intel Corporation Method and apparatus for distributing notification among cooperating devices and device channels
US20050009537A1 (en) 2003-07-11 2005-01-13 Crocker Ronald T. Method and apparatus for facilitating wireless presence-based services
US20050198545A1 (en) 2004-02-12 2005-09-08 Sony Corporation Automatic user device presence registration system
DE102004047689A1 (de) 2004-09-30 2006-04-13 Siemens Ag Verfahren zur Realisierung eines Presence Services und Presence System
US8452852B2 (en) * 2005-12-21 2013-05-28 Alcatel Lucent System and method for providing an information service to distribute real-time information to users via a presence system

Also Published As

Publication number Publication date
EP1962473B1 (en) 2012-05-30
CA2622054C (en) 2012-12-18
CA2622054A1 (en) 2008-08-21
CN101286955B (zh) 2011-05-11
EP1962473A1 (en) 2008-08-27
CN101286955A (zh) 2008-10-15

Similar Documents

Publication Publication Date Title
ES2388469T3 (es) Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia
US8095603B2 (en) Efficient transmission of presence update information to presence service clients
US10412678B2 (en) Managing notification service connections
US8396463B2 (en) Managing notification service connections and displaying icon badges
US7379732B2 (en) System and method of wireless instant messaging
US7269629B2 (en) Method and apparatus for distributing notification among cooperating devices and device channels
US8472435B2 (en) System and method of wireless device activity messaging
JP5837237B2 (ja) プロキシベースのプッシュ型サービス
US20060252435A1 (en) Enabling application wakeup on a mobile device with a hybrid client
US20070238476A1 (en) Managing page cycle periods of access terminals
EP2671371A1 (en) Saving power in a wireless communication device
US20130344848A1 (en) System and Method for Controlling Mobile Device Profile Tones