MXPA06001215A - Documentacion de presencia del lado del cliente. - Google Patents

Documentacion de presencia del lado del cliente.

Info

Publication number
MXPA06001215A
MXPA06001215A MXPA06001215A MXPA06001215A MXPA06001215A MX PA06001215 A MXPA06001215 A MX PA06001215A MX PA06001215 A MXPA06001215 A MX PA06001215A MX PA06001215 A MXPA06001215 A MX PA06001215A MX PA06001215 A MXPA06001215 A MX PA06001215A
Authority
MX
Mexico
Prior art keywords
instant messaging
client
document
new
presence information
Prior art date
Application number
MXPA06001215A
Other languages
English (en)
Inventor
John S Holmes
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA06001215A publication Critical patent/MXPA06001215A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Se implementa documentacion de presencia del lado del cliente en una estructura de mensajeria instantanea. En una implementacion descrita, se almacenan localmente documentos de presencia respectivos en dispositivos de cliente respectivos. En consecuencia, se puede compartir informacion de presencia y divulgar de acuerdo con un paradigma de igual a igual. En otra implementacion descrita, los documentos de presencia pueden incluir informacion de presencia que es extensible de acuerdo con un esquema del documento de presencia. En consecuencia, se pueden acomodar mas facilmente nuevos escenarios de mensajeria instantanea. En todavia otra implementacion descrita, nuevos mensajes de notificacion de informacion de presencia incluyen deltas que representan los cambios a articulos de informacion de presencia. Los cambios pueden ser aplicados a los articulos de informacion de presencia con base en las deltas para producir un nuevo documento de presencia. Si un valor de verificacion calculado sobre el nuevo documento de presencia falla para igualar con un valor de confirmacion recibido, entonces un cliente de destino puede solicitar una copia completa del nuevo documento de presencia actual del cliente de origen.

Description

DOCUMENTACIÓN DE PRESENCIA DEL LADO DEL CLIENTE CAMPO TÉCNICO Esta descripción se refiere en general a mensajería instantánea y, en particular, a manera de ejemplo, pero no de limitación, para facilitar capacidades de documentos de presencia flexibles y expandidas. ANTECEDENTES La popularidad de la mensajería instantánea ha crecido significativamente en los últimos pocos años. La mensajería instantánea se usó originalmente con el fin de enviar a alguien un mensaje corto con poco esfuerzo relativamente y esencialmente en tiempo real. La habilidad para transmitir emociones, así como también texto, fue introducida también. La mensajería instantánea fue originalmente popular principalmente para uso personal y casual entre y con amigos. Sin embargo, recientemente su uso se ha extendido al mundo de los negocios para facilitar las comunicaciones casuales y/o en tiempo real. El crecimiento global de la mensajería instantánea se debe también, en parte, debido a sus aspectos que se extienden más allá de la mera mensajería. La mensajería instantánea ahora abarca usualmente la diseminación de notificaciones de estatus a los amigos. Por ejemplo, cuando un individuo entra al sistema, se disemina una notificación de estatus de en línea para los amigos interesados. Cuando un individuo sale del sistema, se disemina una notificación de estatus de fuera de línea para los amigos interesados. A los individuos que participan en un sistema de mensajería instantánea se les da también usualmente la oportunidad de seleccionar una imagen para representarlos gráficamente. Estas imágenes gráficas, notificaciones de estatus, emoticones, etc., aumentan discutiblemente la funcionalidad, profundidad y riqueza de la mensajería instantánea. Por lo tanto, es aparente que la aceptación y uso de los programas de mensajería instantánea crecerán posiblemente conforme se agreguen nuevos aspectos. Desafortunadamente, tradicionalmente ha sido un intento difícil y tardado agregar nuevos aspectos a los sistemas de mensajería instantánea. En consecuencia, existe una necesidad de esquemas, mecanismos, técnicas, etc. , que puedan facilitar la introducción de nuevos aspectos a la mensajería instantánea. BREVE DESCRIPCIÓN La documentación de presencia del lado del cliente se implementa en una arquitectura de mensajería instantánea. En una implementación descrita, los documentos de presencia respectivos se almacenan localmente en los dispositivos del cliente respectivo. En consecuencia, la información de presencia puede ser compartida y diseminada de acuerdo con un paradigma de igual a igual. En otra implementación descrita, los documentos de presencia pueden incluir información de presencia que es extensible de acuerdo con un esquema de documentos de presencia. En consecuencia, se pueden acomodar más fácilmente nuevos escenarios de mensajería instantánea. En todavía otra implementación descrita, los nuevos mensajes de notificación de información de presencia incluyen deltas que representan los cambios a los artículos de información de presencia. Los cambios pueden ser aplicados a los artículos de información de presencia con base en las deltas para producir un nuevo documento de presencia. Si un valor de verificación calculado sobre el nuevo documento de presencia falla para igualar con un valor de confirmación recibido, entonces un cliente de destino puede solicitar una copia completa del nuevo documento de presencia actual a partir del cliente que lo origina. En la presente se describen otras implementaciones de método, sistema, enfoque, aparato, dispositivo, medios, procedimiento, API , arreglo, etc. BREVE DESCRIPCIÓN DE LOS DIBUJOS Los mismos números se usan en todos los dibujos para hacer referencia a aspectos, características y componentes similares y/o correspondientes. La Figura 1 es un diagrama de bloques de una arquitectura convencional de mensajería instantánea. La Figura 2 es un ejemplo de diagrama de bloques de una arquitectura de mensajería instantánea que incorpora documentación de presencia del lado del cliente. La Figura 3 es un ejemplo de un documento de presencia extensible.
La Figura 4 es un diagrama de bloques que ilustra un mecanismo de ejemplo para actualizar la información de presencia en un cliente de amigo usando un nuevo mensaje de notificación de documento de presencia. La Figura 5 es un diagrama de bloques que incluye un ejemplo de un nuevo mensaje de notificación de documento de presencia. La Figura 6 es un diagrama de flujo que ilustra un ejemplo de un método para actualizar la información de presencia en un cliente de destino cuando el documento de presencia de un cliente de origen es mantenido en el cliente de origen. La Figura 7 ilustra un ejemplo de un entorno operativo de computación (o dispositivo en general) que es capaz de implementar (total o parcialmente) por lo menos un aspecto de la documentación de presencia del lado del cliente como se describe en la presente. DESCRIPCIÓN DETALLADA Introducción Los sistemas convencionales de mensajería instantánea comparten la información de presencia entre usuarios almacenando un documento de presencia para cada usuario en un servidor central. Cuando dos usuarios son contactos o amigos, sus programas de cliente hacen sonar el servidor central para ver el estatus de presencia mutuamente como está almacenado en sus documentos de presencia ubicados centralmente. Estos enfoques convencionales tienen limitaciones porque el documento de presencia más bien está limitado en alcance porque está ubicado de manera remota. Además, el enfoque con base en el servidor resulta en que la información de presencia se actualice relativamente de manera lenta. Ciertas ¡mplementaciones descritas en la presente, por otra parte, crean una presencia de igual a igual que comparten la arq uitectura en la cual están almacenados localmente los documentos de presencia y compartidos de ig ual a igual. El almacenamiento de documentos localmente permite nuevos escenarios de reporte de presencia, tal como reportar que música se está tocando actualmente en un dispositivo de computación personal o la ubicación física del dispositivo/persona, especialmente con documentos de presencia extensibles. Estos documentos de presencia incrementados pueden ser compartidos a través de la(s) red(es) en una manera de igual a igual, lo cual permite q ue la información de presencia sea actualizada más rápidamente. Para reducir el ancho de banda, una implementación descrita proporciona una metodología en la cual las diferencias en campos de documento de presencia, desde la última vez que fue compartido un documento de presencia, se diseminan más bien de un documento entero de presencia actualizado. Fundamento La Figura 1 es un diagrama de bloques de una arquitectura 1 00 de mensajería instantánea convencional. Como se ilustra, la arquitectura 1 00 está dividida en un lado 1 1 1 de servidor y un lado 1 1 3 de cliente mediante una o más redes 1 09. El lado siendo 13 de cliente incluye múltiples clientes 1 01 . Específicamente, los "n" clientes se muestran : cliente #1 1 01 ( 1 ), cliente #2 1 01 (2)... cliente #n 101 (n). Sin embargo, teóricamente pueden ser servidos cualquier número de clientes 101 dentro de la arquitectura 100 de la mensajería instantánea. Se incluyen también múltiples servidores 105 y 107 como parte de la arquitectura 100 de mensajería instantánea y están interconectados vía algún tipo de red de área local (LAN) 1 15. Los servidores están bifurcados en servidores 105 de presencia y servidores 107 de conexión. Específicamente, se muestran el servidor 105(A) de presencia, el servidor 105(B) de conexión y el servidor 107(B) de conexión. Generalmente, los servidores 107 de conexión manejan conexiones de entrada y de salida a y desde el lado 1 1 1 de servidor con respecto a la red 109. Los servidores 105 de presencia mantienen y hacen disponible la información de presencia. Los servidores 105 de presencia son accedidos a través de los servidores 107 de conexión. Aunque solamente se muestran dos de cada uno de los servidores 105 de presencia y los servidores 107 de conexión, la arquitectura 100 de mensajería instantánea puede incluir cualquier número de cualquiera de tales servidores. Además, el lado 1 1 1 de servidor puede estar configurado de manera diferente; por ejemplo, el lado 1 1 1 de servidor no necesita ser bifurcado en servidores de presencia y servidores de conexión. En operación, cada cliente 101 se asocia con un servidor 105 de presencia, y cada servidor 105 de presencia se asocia con múltiples clientes 101 . La información de presencia para un cliente 101 está ubicada en el servidor 105 de presencia asociado. Como se ilustra, el cliente #1 101 (1 ) se asocia con el servidor 105(A) de presencia. En consecuencia, la información de presencia del cliente #1 101 (1 ) está ubicada en el servidor 105(A) de presencia en la forma de un documento 103(1 ) de presencia correspondiente. Aunque no se muestra explícitamente, otros clientes 101 (2)...101 (n) tienen documentos 103 de presencia correspondientes que se almacenan en el servidor 105(A) o el servidor 105(B) de presencia. En una implementación descrita, el documento 103(1 ) de presencia incluye la información de presencia para el cliente #1 101 (1 ) correspondiente. Tal información de presencia incluye tradicionalmente lo siguiente: información de estatus (por ejemplo, en línea, fuera de línea, no disponible, etc.), dirección de correo electrónico, alias, e información de contacto. Aspectos adicionales de la operación del arquitectura 100 de mensajería instantánea se describen adicionalmente en el contexto del siguiente escenario de ejemplo. El cliente #1 101 (1 ) y el cliente #2 101 (2) son amigos. En consecuencia, el cliente #2 101 (2) es notificado de cambios a la información de presencia del documento 103 (1 ) de presencia por la arquitectura 100 de mensajería instantánea. Los servidores 107 de conexión se asignan típicamente a clientes 101 usando un algoritmo de balance de carga. En este escenario de ejemplo, se supone que el cliente #1 101 (1 ) se conecta a la infraestructura del lado de servidor de la arquitectura 100 de mensajería instantánea a través del servidor 107 (A) de conexión y ese cliente #2 101 (2) se conecta a través del servidor 107 (B) de conexión. Aunque no se ilustra específicamente, el lado 1 1 1 de servidor mantiene usualmente cuatro listas para cada cliente 101 para facilitar la implementación de los aspectos de la arquitectura 100 de mensajería instantánea. Estas cuatro listas se almacenan típicamente en los servidores 105 de presencia. Las cuatro listas son: (1 ) una lista de avance, (2) una lista de paso, (3) una lista de bloqueo, y (4) una lista de reversa dinámica (DRL). Estas cuatro listas pueden ser consideradas como parte de un perfil de presencia global del cliente 101. Estas listas se describen más adelante en términos del cliente #1 101 (1 ). Se debe entender que aunque los términos "amigos" y "contactos" se usan en la presente de manera intercambiable con clientes, los términos "amigos", "contactos" y/o "clientes" son intercambiables también con un usuario corriente de un dispositivo de cliente. La lista de avance incluye aquellos clientes 101 que son amigos del cliente #1 101 (1 ) y ese cliente #1 101 (1 ) está interesado normalmente en ser actualizado. La lista de paso incluye aquellos amigos que han sido autorizados para recibir la información de presencia y actualizaciones de los mismos que corresponden al cliente #1 101 (1 ). La lista de bloqueo incluye aquellos amigos que están excluidos específicamente para recibir la información de presencia o actualizaciones de los mismos del cliente #1 101 (1 ). La DRL incluye aquellos clientes 101 que están monitoreando normalmente al cliente #1 101 (1 ) a través de la arquitectura 100 de la mensajería instantánea. En este escenario de ejemplo, se supone que el cliente #1 101 (1 ) ya está en línea y que el cliente #2 101 (2) ha recibido notificación previamente de este estatus en línea porque el cliente #2 101 (2) se ha suscrito para recibir la información de presencia correspondiente al cliente #1 101 (1 ). En una primera etapa, el cliente #1 101 (1 ) sale de la línea. En una segunda etapa, este estatus fuera de línea se comunica del cliente #1 101 (1 ) al servidor 107 (A) de conexión (por ejemplo, usando un programa de cliente de mensajería instantánea (no mostrado por separado) en el cliente #1 101 (1 )). El servidor 107(A) de conexión determina que el cliente #1 101 (1 ) está asociado con el servidor 105 (A) de presencia (por ejemplo, vía un algoritmo de numeración o similar). En la etapa tres, el servidor 107(A) de conexión envía una notificación al servidor 105(A) de presencia del estatus fuera de línea del cliente #1 101 (1 ). El servidor 105(A) de presencia determina cuáles clientes 101 necesitan ser notificados de este cambio de estatus mediante consulta a la DRL correspondiente al cliente #1 101 (1 ). En este escenario de ejemplo, por lo menos el cliente #2 101 (2) está en la DRL correspondiente al cliente #1 101 (1 ). Así, el servidor 105(A) de presencia envía un mensaje de estatus actualizado que indica que el cliente #1 101 (1 ) ha salido de línea al cliente #2 101 (2) vía el servidor 107(B) de conexión. Un programa de cliente de mensajería instantánea en el cliente #2 101 (2) recibe el mensaje de estatus actualizado y presenta una indicación de que el cliente #1 101 (1 ) ha salido de línea. La arquitectura 100 de mensajería instantánea de la Figura 1 es capaz de implementar efectivamente aspectos básicos de mensajería instantánea. Sin embargo, la arquitectura 100 de mensajería instantánea tiene un número de desventajas e inconvenientes. Primero, la cantidad de información de presencia que puede ser mantenida y diseminada está restringida. Debido a las restricciones de almacenamiento intrínsecas en el lado 1 1 1 de servidor, la cantidad de información de presencia por cliente que puede ser mantenida está limitada efectivamente. Segundo, la actualización de software, protocolos, esquemas, etc. , en el lado 1 1 1 de servidor es relativamente más difícil, tardada, riesgosa y costosa. En consecuencia, la incorporación de nuevos aspectos en el lado 1 1 1 de servidor es emprendida usualmente mucho menos frecuentemente en comparación con el lado 1 13 del cliente. Esto retarda significativamente la habilidad para innovar la arquitectura 100 de mensajería instantánea. Tercero, el enrutamiento de mensajes actualizados de notificación a través de uno o más servidores en el lado 1 1 1 de servidor consume tiempo de transmisión y procesamiento. La latencia global adicional resulta en actualizaciones relativamente más lentas de la información de presencia de uno en los dispositivos de los amigos de uno. Documentación de Presencia del Lado del Cliente La incorporación de información de presencia en los dispositivos de los clientes permite que se almacene una mayor cantidad de información de presencia para cada cliente, facilita la innovación mediante por lo menos desacoplar parcialmente las mejorías para una arquitectura de mensajería instantánea de cambios a la infraestructura del lado del servidor, y acelera la diseminación de actualizaciones de documento de presencia permitiendo que el lado de servidor sea derivado o evitado por lo menos parcialmente. La Figura 2 es un ejemplo de diagrama de bloques de una arquitectura 200 de mensajería instantánea que incorpora documentación de presencia del lado del cliente. En una implementación descrita, la arquitectura 200 de mensajería instantánea está separada en un lado 220 de servidor y un lado 222 de cliente. Una o más redes 206 separan efectivamente la arquitectura 200 de mensajería instantánea en un lado 222 de cliente y un lado 220 de servidor. La red 206 puede abarcar una I nternet, una red telefónica pública conmutada (PSTN), una red de área local (LAN), una red de área amplia (WAN) , una red inalámbrica o alámbrica, algunas combinaciones de las mismas y así sucesivamente. El lado 222 de cliente incluye múltiples clientes 202. Como se ilustra, "n" clientes son capaces de comunicarse con el lado 220 de servidor. Estos "n" clientes incluyen el cliente #1 (C 1 ) 202(1 ) , el cliente #2 (C2) 202(2) ... el cliente #n (Cn) 202(n) . Sin embargo, cualquier número de clientes 202 pueden ser teóricamente operativos dentro de la arquitectura 200 de mensajería instantánea.
El lado 220 del servidor incluye por lo menos un servidor 204. Especialmente en una arquitectura 200 de mensajería instantánea que incorpora documentación de presencia del lado del cliente, el lado 220 del servidor se puede realizar en una miríada de configuraciones. Por ejemplo, el por lo menos un servidor 204 puede abarcar alternativamente uno o más servidores de conexión y uno o más servidores de presencia. Generalmente, el por lo menos un servidor 204 puede abarcar un sólo servidor, múltiples servidores conectados a una o más LANs, múltiples servidores distribuidos en la red 206, alguna combinación de los mismos y así sucesivamente. Los clientes 202 y el servidor 204 son capaces de comunicarse entre ellos vía la red 206. El servidor 204 almacena información 214 del cliente durante por lo menos una porción de clientes 202 (1 ...n). Como se ilustra, el servidor 204 almacena información 214 (1 ) del cliente #1 . Sin embargo, en la arquitectura 200 de mensajería instantánea la información 214 (1 ) del cliente #1 no necesita incluir un documento de presencia. En su lugar, la información 214 (1 ) del cliente #1 incluye una identificación del documento de presencia del cliente #1 (PD-C1 ) 224. La identificación de PD-C1 224 puede ser, por ejemplo, un nombre del PD-C1 , una referencia al PD-C1 , un señalador al PD-C1 , una ubicación del PD-C1 , un asa a un objeto que identifica el PD-C1 , alguna combinación de los mismos y así sucesivamente. Así, la identificación de PD-C1 identifica el PD-C1 208, el cual está ubicado en el cliente #1 (C) 202 (1 ) en la implementación de la documentación de presencia del lado del cliente de la arquitectura 200 de mensajería instantánea. La información 214 (1 ) del cliente #1 puede incluir también otra información relativa al cliente #1 , tal como cualquiera o todas las cuatro listas antes descritas en la presente (por ejemplo, la DRL). En una implementación descrita, el cliente #1 202 (1 ) incluye un mensaje instantáneo o el programa 212 de cliente de mensajería y un documento de presencia relativo para el cliente #1 (PD-C1 ) 208. El PD-C1 208 incluye información del documento (PD) de presencia que es extensible 210. Incorporando información 210 de PD extensible se crea un PD-C1 extensible 208. Debido a que PD-C1 208 es extensible, tipos nuevos, diferentes y/o variables de información de presencia puede ser introducidos, expandidos, aumentados y/o alterados más fácilmente en la arquitectura 200 de mensajería instantánea. Un esquema extensible de ejemplo para PD-C1 208 se describe adicionalmente en la presente más adelante con referencia en particular a la Figura 3. Una implementación de arquitectura 200 de mensajería instantánea se describe adicionalmente en la presente usando el siguiente escenario de ejemplo. El cliente #2 202 (2) incluye también un cliente 212 de mensaje instantáneo (no ilustrado explícitamente) y ha agregado el cliente #1 202 (1 ) a su lista de amigos 216 (por ejemplo, la lista de avance del cliente #2). El cliente #2 202 (2) se ha suscrito igualmente para recibir la información de PD del cliente #1 202 (1 ) siendo agregado a la DRL correspondiente al cliente #1 202 (1 ). Como se describe adicionalmente en la presente más adelante, la DRL puede estar ubicada en el servidor 204 y/o el cliente #1 202 (1 ) . En consecuencia, el cliente #2 202 (2) lejano es provisto con la información de PD del cliente #1 21 8 y actualiza al mismo. Como se indicó antes, esta información de PD es extensible en una implementación descrita. La Figura 3 es un ejemplo de un documento de presencia extensible para el cliente #1 (PD-C1 ) 208. El PD-C1 208 incluye información de documento de presencia que es extensible 21 0. En una implementación descrita, la información de PD 21 0 extensible incluye múltiples lengüetas 302 respectivas que están asociadas con campos 304 múltiples de información de presencia respectivos. Como se ilustra, la lengüeta 302 (1 ) está asociada con el campo 304 (1 ) de información de presencia, la lengüeta 302 (2) está asociada con el campo 304 (2) de información de presencia ... la lengüeta 302 (m) está asociada con el campo 304 (m) de información de presencia. Debido a que las lengüetas 302 respectivas indican el significado de la información de presencia en los campos 304 respectivos, la información de presencia puede extenderse para incluir nuevos tipos de información de presencia. Un esquema, por ejemplo, puede ser usado para definir y/o explicar las lengüetas 302 disponibles o incluidas y sus significados correspond ientes. U n esquema de ejemplo para documentos de presencia extensibles es : <presencia_doc> <presencia_artículo_1 attr1 =foo>valor</presencia_ artículo_1 > <presencia_ artículo_2attr2=bar> algún otro valor</ presencia_ artículo_2> </presencia_doc>. Así, para una categoría musical, se le puede dar a un atributo del artista el valor del nombre del intérprete, y se le puede dar a un atributo de la canción el valor del título de la canción. Un formato de ejemplo para un documento de presencia extensible es un lenguaje de beneficio extensible (XML), pero se pueden emplear otros formatos alternativamente. Ejemplos de información de presencia que se pueden incluir como parte de un documento de presencia extensible incluyen, pero no están limitados a: información de estatus predeterminada (por ejemplo, en línea, fuera de línea, lejos, ocupado, en el teléfono, etc.), sitio de red actual que se está viendo, música actual que se está escuchando, otros amigos de contacto que se les está enviando mensajes instantáneos actualmente, una ubicación física actual, un mensaje de estatus personal, un programa de software que se está ejecutando (por ejemplo, un juego, un procesador de palabras, etc.), una reunión a la que se está asistiendo actualmente, información de dirección sobre cómo conectarse con un usuario en un modo de igual a igual, una ubicación de blog de usuario, si se está conduciendo o no actualmente una sesión de cámara de red o conversación por audio, un estatus de panorama actual, una información de dirección de usuario para propósitos de contacto en vivo, una escucha de punto final de red para conexiones de igual a igual para protocolo de inicio de sesión (SIP), cualquier otra cosa que alguien podría querer compartir sobre sí mismo y/o actividades en línea de uno con otros usuarios, alguna combinación de los mismos y así sucesivamente. La Figura 4 es un diagrama de bloque que ilustra un mecanismo 400 de ejemplo para información de presencia de actualización en un cliente de amigo usando un nuevo mensaje 402 de notificación de documento de presencia. El escenario de ejemplo antes introducido con referencia a la Figura 2 se continúa para el mecanismo 400. Inicialmente, la información de PD para el amigo C1 218, el cual es un amigo de contacto del cliente #2 202 (2), se conoce en el cliente #2 202 (2). Un programa 212 de cliente de mensaje instantáneo (no mostrado explícitamente) del cliente #2 202 (2) puede desplegar información de PD del amigo C1 218 a un usuario del cliente #2 202 (2). Para una implementación descrita, el mecanismo 400 se explica en términos de 4 (1 -4) fases que están indicadas en la Figura 4 con números circulados y flechas asociadas. En una primera fase, la información de PD (por ejemplo, información 210 de PD de PD-C1 208) sufre un cambio. Este cambio podría ser una adición de nueva información o una alteración o eliminación de información existente. En otras palabras, y a manera de ejemplo solamente, el cliente #1 202 (1 ) puede empezar a escuchar música o puede cambiar a una nueva fuente de canciones/música. Como parte de la primera fase, se envía un nuevo mensaje 402 de notificación (información) de PD del cliente #1 202 (1 ) al servidor 204. En una segunda fase, el servidor 204 accede la DRL para el cliente #1 202 (1 ) y extrae aquellos clientes 202 que están monitoreando actualmente al cliente #1 202 (1 ). En un escenario de ejemplo, estos clientes 202 incluyen al cliente #2 202 (2). El servidor 204, por lo tanto, envía un nuevo mensaje 402 de notificación de PD a los clientes 202 en la DRL correspondiente al cliente #1 202 (1 ), incluyendo el cliente #2 202 (2). Una formulación de ejemplo para un nuevo mensaje 402 de notificación de PD se describe adicionalmente en la presente más adelante con referencia en particular a la Figura 5. Adicionalmente, una implementación alternativa descrita en la presente más adelante con referencia en particular a la Figura 5 involucra (por lo menos una copia de) la DRL para el cliente #1 202 (1 ) que se ubica en el cliente #1 202 (1 ) y siendo usada por el cliente #1 202 (1 ) para reducir o eliminar la participación del servidor 204 en ciertas acciones del sistema de mensajería instantánea. En una tercera fase, el cliente #2 202 (2) solicita una actualización de información del documento de presencia para C1 218 del cliente #1 202 (1 ) usando un nuevo mensaje 404 de solicitud de PD. El programa 212 del cliente de mensajes instantáneos en el cliente #1 101 (1 ) recibe un nuevo mensaje 404 de solicitud de PD del cliente #2 202 (2). En respuesta a la recepción del nuevo mensaje 404 de solicitud de PD, en una cuarta fase el programa 212 de cliente de mensajería instantánea envía un nuevo mensaje 406 (información) de PD desde el cliente #1 101 (1 ) para el cliente #2 202 (2). El nuevo mensaje 406 de PD incluyen por lo menos aquella parte de la información de PD 210 que ha sido cambiada y tanto como la totalidad de PD-C1 208. Después de recibir un nuevo mensaje 406 de PD, el cliente #2 202 (2) puede actualizar la información de PD para el amigo C1 218 y despliega opcionalmente la información 218 de PD actualizada. Como se ilustra en la Figura 4, un nuevo mensaje 404 de solicitud de PD y un nuevo mensaje 406 de PD se intercambian puramente de igual a igual sin enrutar a través del servidor 204. Sin embargo, cualquiera o ambos de estos mensajes 404 y 406 pueden ser enrutados alternativamente a través de uno o más servidores tal como el servidor 204. Los mensajes 402, 404 y 406 pueden referirse a un documento de presencia entero (por ejemplo, todos los PD-C1 208). Alternativamente, uno o más de estos mensajes 402, 404, y 406 se pueden referir a solamente una porción de PD-C1 208. Por ejemplo, un programa de cliente de mensajería instantánea del cliente #2 202 (2) podría ser capaz de analizar el nuevo mensaje 402 de notificación de PD para determinar si toda o solamente parte de la información 210 de PD se requiere para actualizar completamente la información de PD del amigo C1 218. Un ejemplo de esta implementación de ahorro de banda ancha se describe adicionalmente en la presente más adelante con referencia en particular a las Figuras 5 y 6. La Figura 5 es un diagrama de bloques que incluye un ejemplo de un nuevo mensaje 402* de notificación de documento de presencia.
El nuevo mensaje 402* de notificación de PD es un ejemplo específico del nuevo mensaje 402 de notificación de PD en general (de la Figura 4). Como se ilustra, el nuevo mensaje 402* de notificación de PD incluye una identificación del cliente #1 502, una identificación de PD-C1 504, y una o más (por ejemplo, "k") deltas 506 (1 -k) de PD. Estas tres porciones 502, 504, y 506 de ejemplo del nuevo mensaje 402* de modificación de PD se describen más adelante. En la Figura 5 global, en una primera fase, por un cambio a la información de presencia de PD-C1 208 en el cliente #1 202 (1 ), se trasmite el nuevo mensaje 402* de notificación de PD desde el cliente #1 202 (1 ) al servidor 204. En una segunda fase, después de consultar una DRL para el cliente #1 202 (1 ), se transmite un nuevo mensaje 402* de notificación de PD desde el servidor 204 a aquellos clientes que se han suscrito a la información de presencia del cliente #1 202 (1 ), como se indica por sus estadías enlistadas en la DRL. En la Figura 5, los dos clientes 202 que reciben el nuevo mensaje 402* de notificación de PD son el cliente #2 202 (2) y el cliente #3 202 (3). Para una primera porción de ejemplo del nuevo mensaje 402* de notificación de PD, la identificación 502 del cliente #1 indica la identidad del cliente #1 202 (1 ) originador. Generalmente, una versión del nuevo mensaje 402* de notificación de PD que es transmitido desde el cliente #1 202 (1 ) al servidor 204 puede diferir de una versión de nuevo mensaje 402* de notificación de PD que es transmitido desde el servidor 204 a uno o más clientes 202 (2) y 202 (3) de divulgación o destino. Por ejemplo, la identificación 502 del cliente #1 puede ser omitida de la versión del nuevo mensaje 402* de notificación de PD que es transmitido desde el cliente #1 202 (1 ) al servidor 204 porque el cliente originador es implícitamente conocido o determinable por el servidor 204. Para una segunda porción de ejemplo del nuevo mensaje 402* de notificación de PD, la identificación de PD-C1 504 identifica a PD-C1 208. La identificación de PD-C1 504 proporciona suficiente información para permitir que los clientes 202 amigos interesados adquieran el PD-C1 208 directa o indirectamente. Por ejemplo, la identificación de PD-C1 504 puede ser idéntica a la identificación de PD-C1 224, la cual está almacenada en el servidor 204 y puede abarcar una referencia a PD-C1 208. Así, puede permitir que el cliente 202 de divulgación recupere directamente el PD-C1 208 del cliente #1 202 (1 ). Alternativamente, puede otorgar poderes meramente a los clientes 202 de divulgación para solicitar un tercer dispositivo (por ejemplo, servidor 204, otro servidor, otro cliente 202, una entidad diferente, etc.) para proporcionar el PD-C1 208. A manera de ejemplo solamente, la identificación de PD-C1 504 puede comprender un nombre de tienda de objeto, y el PD-C1 208 puede almacenarse en una tienda de objetos del cliente #1 202 (1 ). Las tiendas de objetos se describen en la Solicitud de Patente de E. U. co-pendiente que se titula "Tienda de Objetos de Mensajería Instantánea", Solicitud No. 10/61 1 ,599, presentada el primero de julio de 2003. Esta Solicitud de Patente de E. U . No. 10/61 1 ,599 tiene el mismo cesionario que la solicitud de Patente del momento.
La solicitud de Patente de E. U . No . 1 0/61 1 ,599 se incorpora por referencia en su totalidad en la presente. Sin embargo, en la presente se ofrece una breve descripción de una modalidad de la tecnología de tienda de objetos para mensajería instantánea. Las tecnologías de tienda de objetos habilitan a los dispositivo respectivos para almacenar información en sus tiendas de objetos respectivas. Además, las tecnologías de tiendas de objetos habilitan a un dispositivo para ubicar y recuperar información que está almacenada en otra tienda de objetos de otro dispositivo. Cuando se almacena información en una tienda de objetos, la tienda de objetos proporciona un nombre de la tienda de objetos que permite a cualq u ier dispositivo configurado apropiadamente ubicar la información a partir del nombre de la tienda de objetos. En consecuencia , el nombre de la tienda de objetos de información , tal como u n documento de presencia, puede ser pasado alrededor para permitir el acceso a la información mediante y desde otros dispositivos. En una implementación descrita de la solicitud de Patente No. 1 0/61 1 ,599 antes mencionada, cada nombre de tienda de objetos comprende una cuerda y es hasta de u n kilobyte de longitud . El nombre de la tienda de objetos incluye, por ejemplo, un valor numerado que cambia para cada entidad de información , un nombre del arch ivo q ue tiene la información en una memoria del dispositivo del cliente, un nombre de usuario del d ispositivo del cliente y el tipo de información almacenada . U na situación de actualización de información de presencia de ejemplo en el contexto de la tecnología de tiendas de objetos es como sigue: primero, una canción que está siendo tocada en un dispositivo de origen, cambia. Segundo, la nueva canción se escribe en un archivo de documento de presencia (por ejemplo, que esta formateado en un lenguaje de margen de ganancia extensible (XML)). Tercero, el archivo de documento de presencia cambiado se guarda en la tienda de objetos. Cuarto, la tienda de objetos proporciona un nuevo nombre de tienda de objetos para este documento almacenado. Quinto, el dispositivo de origen notifica al servidor central del nuevo nombre de tienda de objetos del documento de presencia. Sexto, el servidor envía el nuevo nombre de tienda de objetos del documento de presencia a los dispositivos de destino que se han suscrito para ser amigos del dispositivo de origen. Séptimo, los dispositivos de destino reciben el nuevo nombre de tienda de objetos del documento de presencia. Octavo, los dispositivos de destino aseveran que el documento de presencia ha cambiado con base en el nuevo nombre de tienda de objetos del documento de presencia. Noveno, los clientes de destino pueden usar el nuevo nombre de tienda de objetos del documento de presencia para solicitar una copia del nuevo documento de presencia a partir del dispositivo de origen. Con referencia otra vez a la Figura 5, para una tercera porción de ejemplo de nuevo mensaje 402* de notificación de PD, las deltas 506 (1 -k) de PD comprenden deltas "k" o diferencias de información de presencia de PD-C1 208. En otras palabras, en lugar de transmitir automáticamente la totalidad de PD-C1 208 a clientes 202(2) y 202(3) amigos interesados, el cliente #1 202 (1 ) transmite los cambios para artículo(s) de información de presencia individual(es). Así, si han cambiado tres artículos de información de presencia, una delta 506 (1 ) de PD, una delta 506 (2) de PD, y una delta 506 (3) de PD están incluidas en el nuevo mensaje 402* de notificación de PD. Como se indicó antes, el ancho de banda consumido por el sistema de mensajería instantánea puede ser reducido si las diferencias de información de presencia son enviadas a clientes 202 de divulgación en lugar de enviar automáticamente el PD-C1 208 entero por cada cambio de información de presencia. Cuando un cliente 202 amigo interesado, tal como el cliente #2 202 (2), recibe un nuevo mensaje 402* de notificación de PD, el cliente #2 202 (2) instituye los cambios de información de presencia indicados por las deltas 506 (1 -k) de PD. En este sentido, el nuevo mensaje 402 (y 402*) de notificación de PD comprende de manera más general un nuevo mensaje de notificación de presencia de información (Pl). Después, el cliente #2 202 (2) puede calcular un nuevo valor de verificación con base en las nuevas versiones de la información de presencia del cliente #1 202 (1 ). Este valor de verificación se compara con un valor de confirmación (no mostrado explícitamente en la Figura 5) que se incluye como parte del nuevo mensaje 402* de notificación de PD. Si los dos valores son equivalentes, el nuevo mensaje 402* de notificación de PD ha sido manejado apropiadamente. Si, por otra parte, el nuevo valor de verificación no es equivalente al valor de confirmación recibido, entonces el cliente #2 202 (2) solicita el PD-C1 208 completo del cliente #1 202 (1 ). Este procedimiento se describe adicionalmente más adelante con referencia en particular a la Figura 6. Como una implementación alternativa de ejemplo, el servidor 204 puede ser omitido completa o parcialmente de la arquitectura de mensajería instantánea como sigue. Una o más de las cuatro listas antes descritas pueden ser almacenadas en los clientes 202 en lugar de en el servidor 204. Por ejemplo, una DRL para el cliente #1 202 (1 ) puede ser almacenada en el cliente #1 202 (1 ). Así, cuando el cliente #2 202 (2) se suscribe al sistema de mensajería instantánea para monitorear normalmente la información de presencia del cliente #1 202 (1 ), el cliente #1 202 (1 ) agrega al cliente #2 202 (2) a la DRL ubicada en el cliente #1 202 (1 ). Cuando cambia un artículo de la información de presencia, el cliente #1 202 (1 ) puede acceder la DRL almacenada localmente y enviar un nuevo mensaje de notificación de Pl directamente al cliente #2 202 (2) sin usar al servidor 204 como un intermediario. La Figura 6 es un diagrama 600 de flujo que ilustra un ejemplo de un método para actualizar la información de presencia en un cliente de destino cuando el documento de presencia de un cliente de origen es mantenido en el cliente de origen. El diagrama 600 de flujo incluye catorce (14) bloques. Aunque las acciones del diagrama 600 de flujo pueden ser efectuadas en otros entornos y con una variedad de combinaciones de hardware y software, las Figuras 2 a 5 se usan en particular para ilustrar ciertos aspectos y ejemplos del método. A manera de ejemplo solamente, las cuatro (4) acciones 602 a 608 del diagrama 600 de flujo pueden ser efectuadas mediante un cliente 212 del programa de mensajería instantánea en un cliente 202 (O) de origen (por ejemplo, el cliente #1 202 (1 )), y las diez (10) acciones 610 a 628 pueden ser realizadas por un cliente 212 del programa de mensajería instantánea en un cliente 202 (D) de destino/divulgación (por ejemplo el cliente #2 202 (2)). En el bloque 602, se detecta si hay un cambio en la información de presencia. Por ejemplo, el cliente 202 (O) de origen puede detectar si/cuando ocurre un cambio en su información de presencia. La detección continúa hasta que se detecta un cambio. Después de que se detecta (en el bloque 602) un cambio, en el bloque 604 se formula un nuevo mensaje de notificación de información de presencia (Pl). Por ejemplo, el cliente 202 (O) de origen puede formular un nuevo mensaje de notificación de Pl similar al nuevo mensaje 402* de notificación de PD. Por ejemplo, el nuevo mensaje de notificación de Pl puede incluir una identificación del cliente 202 (O) de origen, una identificación del PD del cliente 202 (O) de origen (por ejemplo, una referencia al documento de presencia), por lo menos una delta de Pl y un valor de confirmación. El valor de confirmación puede ser, por ejemplo, un valor numerado determinado que responde al nuevo PD. En el bloque 606, el nuevo mensaje de notificación de Pl es enviado a clientes amigos. Por ejemplo, el nuevo mensaje de notificación de PD puede ser enviado desde el cliente 202 (O) de origen a aquellos clientes amigos que están enlistados en la DRL del cliente 202 (O) de origen . En este ejemplo, aquellos clientes amigos incluyen al cliente 202 (D) de destino. El nuevo mensaje de notificación de Pl puede ser enviado desde el cliente 202 (O) de origen al cliente 202 (D) de destino a través de la red 206 ya sea vía el servidor 204 o directamente (es decir, directamente derivando al servidor 204 usando una DRL almacenada localmente) . En el bloque 61 0, se recibe el nuevo mensaje de notificación de Pl . Por ejemplo, el nuevo mensaje de notificación de Pl puede ser recibido en el cliente 202 (D) de destino. En el bloque 612, se verifica si el nuevo P l ya existe. Por ejemplo, el cliente 202 (D) de destino puede comparar el valor de confirmación recibido (i) con un valor de verificación existente correspondiente al PD para el cliente 202 (O) de origen como ya almacenado en el cliente 202 (D) de destino y/o (ii) con un valor de confirmación recibido previamente. Si por alguna razón el Pl ya ha sido actualizado, entonces el diagrama de flujo termina en el bloque 624. De otra manera, el nuevo P l ya no existe, y el método continúa en el bloque 614. En el bloque 614, se verifica si existe u na vieja versión del PD . Por ejemplo, se puede verificar si una versión previa del PD para el cliente 202 (O) de origen ya existe en el cliente 202 (D) de destino. Si no, entonces el método continúa en el bloque 628, el cual se describe adicionalmente en la presente más adelante. Si , por otra parte, no existe una versión previa del PD en el cliente 202 (D) de destino, entonces el método continúa en el bloque 61 6. En el bloq ue 61 6, la información de presencia es actualizada usando las deltas recibidas. Por ejemplo, el cliente 202 (D) de destino puede actualizar la Pl en el PD correspondiente al cliente 202 (O) de origen con base en la por lo menos una delta de Pl recibida con el nuevo mensaje de notificación de Pl. Por ejemplo, el valor previo de Pl puede ser reemplazado por el valor delta recibido. Los campos 304 de Pl diferentes puede ser identificados mediante lengüetas 302 asociadas. En el bloque 618, se calcula un nuevo valor de verificación. Por ejemplo, el cliente 202 (D) de destino puede calcular un nuevo valor de verificación que responde al nuevo PD actualizado con las deltas de Pl. El valor de verificación puede ser calculado, por ejemplo, usando un algoritmo de numeración, tal como una numeración criptográfica. Ejemplos de números criptográficos incluyen SHA-1 , MD5 y así sucesivamente. Otra operación o procedimiento de verificación de ejemplo puede utilizar deltas que abarcan la información de cambio real y un número de versión. Con tal implementación de número de delta/versión, si un número de versión actual de un cliente lejano para el amigo es uno menor que uno recibido en el nuevo mensaje de PD, el cliente lejano puede aplicar el (los) cambio(s) para igualar el PD para el número de versión más reciente. Si, sin embargo, el número de versión del cliente lejano difiere en más de uno, es aparente que el cliente lejano perdió una o más actualizaciones del amigo y que el cliente de mensajería instantánea lejano necesita obtener una nueva versión completa del PD.
En el bloque 620, se determina si el valor de confirmación recibido es equivalente al valor de verificación calculado. Por ejemplo, se puede determinar si el valor de confirmación recibido en el nuevo mensaje de notificación de Pl es equivalente (por ejemplo, igual) al valor de verificación calculado que responde al nuevo PD actualizado con las deltas de Pl . Si no (por ejemplo porque un cliente lejano estuvo fuera de línea durante una o más actualizaciones previas de tipo delta de un cliente amigo), entonces el método continúa en el bloque 628, el cual se describe adicionalmente en la presente más adelante. Si, por otra parte, el valor de confirmación recibido se determina que es equivalente al valor de verificación calculado, entonces el método continúa en el bloque 622. En el bloque 622, se almacena el nuevo PD actualizado. Por ejemplo, el PD actualizado que corresponde al cliente 202 (O) de origen puede ser almacenado en el cliente 202 (D) de destino. La Pl actualizada puede ser desplegada también o de otro modo comunicada a un usuario del cliente 202 (D) de destino. En otras palabras, desde una perspectiva más general, el PD actualizado puede ser utilizado almacenándolo, comunicando la Pl a un usuario, realizando de otra manera una acción relacionada con la mensajería instantánea, y así sucesivamente. En el bloque 624, termina el método del diagrama 600 de flujo. La(s) acción(es) del bloque 628 se realiza(n) cuando el cliente 202 (D) de destino no tiene una versión vieja del PD del cliente 202 (O) de origen (como se asevera en el bloque 614) o cuando una nueva versión actualizada del PD del cliente 202 (O) de origen no confirma ser preciso (por ejemplo, mediante una comparación de valores numéricos en el bloque 620). En el bloque 628, se recupera una copia del PD completo a partir del cliente de origen. Por ejemplo, el cliente 202 (D) de destino puede solicitar del cliente 202 (O) de origen vía un nuevo mensaje 404 de solicitud de PD un PD completo del cliente 202 (O) de origen. Esta solicitud puede ser efectuada usando la identificación del PD del cliente 202 (O) de origen (y/o la identificación del cliente 202 (O) de origen). En el bloque 608, se proporciona una copia del PD completo por solicitud. Por ejemplo, el cliente 202 (O) de origen puede proporcionar un PD-C1 208 al cliente 202 (D) de destino en un nuevo mensaje 406 de PD. Después de recibir una copia del PD completo desde el cliente de origen (con la recuperación del bloque 628), en el bloque 626 se almacena el PD real completo en el cliente de destino. Alternativamente, y de manera más general, el PD completo real se utiliza en el cliente 202 (D) de destino. El método del diagrama 600 de flujo termina en el bloque 624. Los dispositivos, acciones, aspectos, características, funciones, procedimientos, módulos, estructuras de información, programas, componentes, etc. , de las Figuras 1 a 6 se ilustran en diagramas que están divididos en bloques múltiples. Sin embargo, el orden las interconexiones, las interrelaciones, la distribución, etc., en las cuales se describen y/o muestran las Figuras 1 a 6 no se pretende que se interpreten como una limitación , y se puede modificar, combinar, rearreglar, aumentar, omitir, etc., cualquier número de los bloques, en cualquier manera para implementar uno o más sistemas, métodos, dispositivos, procedimientos, medios, aparatos, APIs, esquemas, arreglos, etc. , para documentación de presencia del lado del cliente. Además, aunque la descripción en la presente incluye referencias a implementaciones específicas (incluyendo un dispositivo general de la Figura 7), las implementaciones ilustradas y/o descritas pueden ser implementadas en cualquier hardware, software, firmware o combinación de los mismos y usar cualquier formulación(es) de documento de presencia adecuada(s), esquema(s) de documento de presencia, protocolo(s) de transmisión, formato(s) de mensaje y/o algoritmo(s) de verificación y así sucesivamente. ENTORNO DE OPERACIÓN DE EJEMPLO PARA COMPUTADORA U OTRO DISPOSITIVO La Figura 7 ¡lustra un entorno 700 de operación de computación (o dispositivo en general) de ejemplo que es capaz de (total o parcialmente) implementar por lo menos un sistema, dispositivo, aparato, componente, arreglo, protocolo, enfoque, método, procedimiento, medios, inferíase de programación de aplicación (API), esquemas, alguna combinación de los mismos, etc., para documentación de presencia del lado del cliente como se describe en la presente. El entorno 700 de operación puede ser utilizado en la computadora y arquitecturas de red antes descritas. El entorno 700 de operación de ejemplo es solamente un ejemplo de un entorno y no se pretende sugerir alguna limitación en cuanto al alcance de uso o funcionalidad de las arquitecturas del dispositivo aplicable (incluyendo computadora, nodo de red , dispositivo de entretenimiento, aparato móvil , dispositivo electrónico en general, etc.). Tampoco el entorno 700 de operación (o los dispositivos del mismo) debe ser interpretado como teniendo alguna dependencia o requerimiento con relación a cualq uiera o a cualquier combinación de componentes como se ilustra en la Fig ura 7. Adicionalmente, las implementaciones para documentación de presencia del lado del cliente pueden ser realizadas con numerosos otros entornos o configuraciones de dispositivos (incluyendo sistema de computación) de propósito especial o propósito general. Ejemplos de dispositivos, sistemas, entornos y/o configuraciones bien conocidos que pueden ser adecuados para uso incluyen , pero no están limitados a, computadoras personales, computadoras de servidor, clientes delgados, clientes gruesos, asistentes digitales personales (PDAs) o teléfonos móviles, relojes, dispositivos manuales o de laptop, sistemas de multiprocesador, sistemas con base en microprocesadores, cajas de fijación superior, electrónicos de consumo programables, máquinas de videojuegos, consolas de juego, unidades de juego portátiles o manuales, PCs de red , equipo de video para conferencias, minicomputadoras, computadoras centrales, nodos de red , entornos de computación distribuida o de procesamiento múltiple que incluyen cualq uiera de los sistemas o dispositivos anteriores, alg una combinación de los mismos y así sucesivamente. Las implementaciones para documentación de presencia del lado del cliente pueden ser descritas en el contexto general de instrucciones ejecutables por procesador. Generalmente, las instrucciones ejecutables por procesador incluyen rutinas, programas, protocolos, objetos, funciones, interfases, componentes, estructuras de datos, etc. , que realizan y/o permiten tareas particulares y/o implementan tipos de información abstracta en particular. Las realizaciones para la documentación de presencia del lado del cliente, como se describe en ciertas implementaciones en la presente, pueden ser practicadas también en entornos de procesamiento distribuido donde se realizan tareas mediante dispositivos de procesamiento vinculados remotamente que están conectados a través de un vínculo y/o una red de comunicaciones. Especialmente, pero no exclusivamente, en un entorno de computación distribuida, las instrucciones ejecutables por procesador pueden ser ubicadas en medios de almacenamiento separados, ejecutadas por diferentes procesadores, y/o propagadas por los medios de transmisión. Los ejemplos del entorno 700 de operación incluyen un dispositivo de computación de propósito general en la forma de una computadora 702, la cual puede comprender cualquier dispositivo (por ejemplo, electrónico) con capacidades de computación/procesamiento. Los componentes de la computadora 702 pueden incluir, pero no están limitados a, uno o más procesadores o unidades 704 de procesamiento, una memoria 706 de sistema, y una barra colectora 708 de sistema que acopla varios componentes del sistema, incluyendo el procesador 704, a la memoria 706 del sistema.
Los procesadores 704 no están limitados por los materiales a partir de los cuales están formados o los mecanismos de procesamiento empleados en los mismos. Por ejemplo, los procesadores 704 pueden estar constituidos por semiconductor(es) y/o transistores (por ejemplo, circuitos electrónicos integrados (ICs)). En tal contexto, las instrucciones ejecutables por procesador pueden ser instrucciones electrónicamente ejecutables. Alternativamente, el mecanismo de o para los procesadores 704, y así de o para la computadora 702, pueden incluir, pero no están limitados a, computación de quantum, computación óptica, computación mecánica (por ejemplo, usando nanotecnología), y así sucesivamente. La barra colectora 708 del sistema representa una o más de cualquiera de muchos tipos de estructuras de barra colectora alámbrica o inalámbrica, incluyendo una barra colectora de memoria o controlador de memoria, una conexión de punto a punto, una tela de conmutación, una barra colectora periférica, un puerto para gráficas aceleradas y un procesador o barra colectora local que usa cualquiera de una variedad de arquitecturas de barra colectora. A manera de ejemplo, tales arquitecturas pueden incluir una barra colectora de Industry Standard Architecture (ISA), una barra colectora de Micro Channel Architecture (MCA), una barra colectora de Enhanced ISA (EISA), una barra colectora local de Video Electronics Standard Association (VESA), una barra colectora de Peripheral Components Interconnects (PCI) conocida también como barra colectora de Mezzanine, PCI express, alguna combinación de las mismas y así sucesivamente. La computadora 702 incluye típicamente una variedad de medios accesibles por procesador. Tales medios pueden ser cualquier medio disponible que sea accesible por la computadora 702 u otro dispositivo (por ejemplo, electrónico), e incluye medios tanto volátiles como no volátiles, medios removibles y no removibles, y medios de almacenamiento y transmisión. La memoria 706 del sistema incluye medios de almacenamiento accesibles por el procesador en la forma de memoria volátil, tales como la memoria de acceso aleatorio (RAM) 710, y/o memoria no volátil, tal como la memoria de lectura solamente (ROM) 712. Un sistema de entrada/salida (BIOS) 714, que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 702, tal como durante el arranque, se almacena típicamente en la ROM 712. La RAM 710 contiene típicamente módulos/instrucciones de datos y/o programas que son accesibles inmediatamente a y/o que son operados en el presente por una unidad 704 de procesamiento. La computadora 702 puede incluir también otros medios de almacenamiento removible/no removible y/o volátil/no volátil. A manera de ejemplo, la Figura 7 ilustra un impulsor de disco duro o arreglo 716 de impulsor de disco para leer de y escribir en un medio magnético (típicamente) no removible, no volátil (no mostrado por separado); un impulsor 718 de disco magnético para leer de y escribir en un disco 720 magnético (típicamente) removible, no volátil (por ejemplo, un "disco flexible"); y un impulsor 722 de disco óptico para leer de y/o escribir en un disco 724 (típicamente) removible, no volátil tal como un CD, DVD u otro medio óptico. El impulsor 716 de disco duro, el impulsor 718 de disco magnético, y el impulsor 722 de disco óptico están conectados cada uno a la barra colectora 708 del sistema mediante una o más interfases 726 del medio de almacenamiento. Alternativamente, el impulsor 716 de disco duro, el impulsor 718 de disco magnético y el impulsor 722 de disco óptico pueden estar conectados a la barra colectora 708 del sistema mediante una o más otras interfases separadas o combinadas (no mostradas). Los impulsores de disco y sus medios accesibles por procesador asociados proporcionan almacenamiento no volátil de instrucciones ejecutables por procesador, tales como estructuras de datos, módulos de programa y otros datos para la computadora 702. Aunque la computadora 702 de ejemplo ilustra un disco duro 716, un disco 720 magnético removible y un disco 724 óptico removible, se debe apreciar que otros tipos de medios accesibles por procesador pueden almacenar instrucciones que son accesibles mediante un dispositivo, tales como cartuchos magnéticos u otros dispositivos magnéticos de almacenamiento, memoria instantánea, discos compactos (CDs) , discos versátiles digitales (DVDs) u otros almacenamientos ópticos, RAM, ROM , memorias de lectura solamente programables que se pueden borrar eléctricamente (EEPROM) y así sucesivamente. Tales medios pueden incluir también los llamados chips de IC de propósito especial o alambrado duro. En otras palabras, cualquier medio accesible por procesador puede ser utilizado para realizar el medio de almacenamiento del entorno 700 de operación de ejemplo. Cualquier número de módulos de programa (u otras unidades o conjuntos de instrucciones ejecutables por procesador) puede ser almacenado en el disco duro 716, el disco magnético 720, el disco óptico 724, ROM 712 y/o RAM 710, incluyendo a manera de ejemplo general, un sistema 728 operativo, uno o más programas 730 de aplicación, otros módulos 732 de programa, y datos 734 de programa. Estas instrucciones ejecutables por procesador pueden incluir, por ejemplo, uno o más de: un documento 208 de presencia que tiene información 210 de presencia extensible, un cliente 212 de mensajes instantáneos, mensajes 402/402*/404/406, un esquema que describe la información 210 de presencia extensible, alguna combinación de los mismos y así sucesivamente. Un usuario puede introducir comandos y/o información a la computadora 702 vía dispositivos de alimentación tales como un teclado 736 y un dispositivo apuntador 738 (por ejemplo, un "ratón"). Otros dispositivos 740 de introducción (no mostrados específicamente) pueden incluir un micrófono, una palanca para juegos, un cojín para juegos, una antena para satélite, un puerto serial, una cámara de video, un explorador (scanner), y/o los similares. Estos y otros dispositivos de alimentación se conectan a la unidad 704 de procesamiento vía las interfases 742 de entrada/salida que se acoplan con la barra colectora 708 del sistema. Sin embargo, los dispositivos de entrada y/o dispositivo de salida se pueden conectar alternativamente mediante otra interfase y estructuras de barra colectora, tales como un puerto paralelo, un puerto para juegos, un puerto de barra colectora serial universal (USB), un puerto de infrarrojo, una inferíase IEEE 1394 ("Firewire") , una interfase inalámbrica IEEE 802.1 1 , una interfase inalámbrica Bluetooth® y así sucesivamente. También se puede conectar una pantalla 744 de monitor/visión u otro tipo de dispositivo de exhibición a la barra colectora 708 del sistema vía una interfase, tal como un adaptador 746 para video. El adaptador 746 para video (u otro componente) puede ser o puede incluir una tarjeta para gráficas para procesar cálculos con muchas gráficas y para manejar requerimientos de despliegue de demanda. Típicamente, una tarjeta para gráficas incluye una unidad de procesamiento de gráficas (GPU), RAM para video (VRAM), etc. , para facilitar la exhibición expedita de gráficas y el desempeño de operaciones gráficas. Además del monitor 744, los dispositivos periféricos de salida pueden incluir componentes tales como altoparlantes (no mostrados) y una impresora 748, la cual puede estar conectada a la computadora 702 vía las interfases 742 de entrada/salida. La computadora 702 puede operar en un entorno en redes usando las conexiones lógicas con una o más computadoras lejanas, tal como un dispositivo 750 de computación lejano. A manera de ejemplo, el dispositivo 750 de computación lejano puede ser un dispositivo periférico, una computadora personal, una computadora portátil (por ejemplo computadora laptop, computadora de tableta, PDA, estación móvil, etc.), una computadora de mano o de tamaño de bolsillo, un reloj, un dispositivo para juegos, un servidor, un enrutador, una computadora de red , un dispositivo igual , otro nodo de red , u otro dispositivo del tipo como se enlista anteriormente y así sucesivamente. Sin embargo, el dispositivo 750 de computación lejano, se ilustra como una computadora portátil que puede incluir muchos o todos los elementos y aspectos descritos en la presente con respecto a la computadora 702. Las conexiones de lógica entre la computadora 702 y la computadora 750 lejana se representan como una red de área local (LAN) 752 y una red de área amplia general (WAN) 754. Tales entornos en red son lugares comunes en oficinas, redes de computadoras amplias de empresas, intranets, la Internet, redes de teléfonos fijos y móviles, redes inalámbricas ad hoc y de infraestructura, redes de malla, otras redes inalámbricas, redes para juegos, alguna combinación de las mismas y así sucesivamente. Tales redes y las conexiones de lógica y físicas de comunicaciones son ejemplos adicionales de medios de transmisión . Cuando se implementa en un entorno de red LAN , la computadora 702 se conecta usualmente a LAN 752 vía una interfase de red o adaptador 756. Cuando se implementa en un entorno de red WAN , la computadora 702 incluye típicamente un modem 758 u otro componente para establecer comunicaciones por la WAN 754. El modem 758 que puede ser interno o externo a la computadora 702 , puede conectarse a la barra colectora 708 del sistema vía interfases 742 de entrada/salida o cualquier otro mecanismo apropiado. Se debe apreciar que las conexiones de red ilustradas son ejemplos y que se pueden emplear otras maneras para establecer vínculos de comunicación entre las computadoras 702 y 750. En un entorno de red, tal como aquella ilustrada con el entorno 700 de operación, los módulos de programa u otras instrucciones que se representan con relación a la computadora 702, o porciones de los mismos, se pueden almacenar completa o parcialmente en un dispositivo de almacenamiento de medios remoto. A manera de ejemplo, el programa 760 de aplicación remota reside en un componente de la memoria de la computadora 750 remota, pero puede ser utilizable o de otra manera accesible vía la computadora 702. También, para propósitos de ilustración, los programas 730 de aplicación y otras instrucciones ejecutables por procesador tales como el sistema 728 operativo se ilustran en la presente como bloques discretos, pero se reconoce que tales programas, componentes y otras instrucciones residen en varios momentos en componentes de almacenamiento diferentes del dispositivo 702 de computación (y/o dispositivo 750 remoto de computación) y son ejecutados mediante procesador(es) 704 de la computadora 702 (y/o aquellos del dispositivo 750 remoto de computación). Aunque los sistemas, medios, dispositivos, métodos, procedimientos, aparatos, técnicas, esquemas, enfoques, procedimientos, arreglos y otras implementaciones se han descrito en un lenguaje específico para los aspectos y/o diagramas estructurales, lógicos, algorítmicos y funcionales, se entiende que la invención definida en las reivindicaciones adjuntas no está necesariamente limitada a los aspectos o diagramas específicos descritos. Más bien, los aspectos y diagramas específicos se describen como formas ejemplares para implementar la invención reivindicada.

Claims (1)

  1. REIVINDICACIONES 1 . Uno o más medios accesibles por procesador que incluyen instrucciones ejecutables por procesador que comprenden por lo menos parte de un programa de cliente de mensajería instantánea, el programa de cliente de mensajería instantánea capaz de almacenar un documento de presencia localmente; el programa de cliente de mensajería instantánea adaptado para proporcionar por lo menos una porción del documento de presencia a un cliente remoto de acuerdo con un paradigma de igual a igual. 2. El uno o más medios accesibles por procesador como se menciona en la reivindicación 1 , en donde el programa de cliente de mensajería instantánea está adaptado además para emitir un nuevo mensaje de notificación de información de presencia que es transmitido al cliente remoto en respuesta a un cambio a la información de presencia del documento de presencia almacenado localmente. 3. El uno o más medios accesibles por procesador como se menciona en la reivindicación 2, en donde el cliente remoto comprende un programa de cliente remoto de mensajería instantánea; en donde el programa de cliente de mensajería instantánea es capaz además de almacenar una lista de reversa dinámica (DRL) que incluye el programa de cliente de mensajería instantánea remoto; y en donde el programa de cliente de mensajería instantánea está adaptado además para transmitir el nuevo mensaje de notificación de información de presencia a través de una o más redes al programa de cliente de mensajería instantánea remoto sin enrutar a través de un servidor central de mensajería instantánea. 4. El uno o más medios accesibles por procesador como se menciona en la reivindicación 2, en donde el nuevo mensaje de notificación de información de presencia incluye por lo menos una delta respectiva que indica un cambio para por lo menos un artículo de información de presencia respectivo. 5. El uno o más medios accesibles por procesador como se menciona en la reivindicación 2, en donde el nuevo mensaje de notificación de información de presencia incluye una identificación del documento de presencia. 6. El uno o más medios accesibles por procesador como se menciona en la reivindicación 5, en donde la identificación del documento de presencia comprende un nombre de tienda de objetos que permite que el cliente remoto solicite el documento de presencia de una tienda de objetos de un dispositivo en el cual se está ejecutando actualmente el programa de cliente de mensajería instantánea. 7. El uno o más medios accesibles por procesador como se menciona en la reivindicación 1 , en donde el documento de presencia comprende uno o más artículos de información de presencia seleccionados de un grupo de artículos de información de presencia que comprende: información de estatus predeterminado, una dirección de correo electrónico, un alias, un sitio de la red que se está viendo actualmente, una selección musical actual que se está escuchando, una ubicación física actual, un mensaje de estatus personal, un programa de software que se está ejecutando, otros amigos de contacto a quienes se están enviando mensajes instantáneos actualmente, una reunión a la que se está asistiendo actualmente, información sobre cómo conectar con un usuario en un modo de igual a igual, una ubicación de un blog de usuario, si se está conduciendo o no actualmente una sesión de cámara por red o conversación de audio, un estatus de panorama actual, una información de dirección de usuario para propósitos de contacto en vivo. 8. El uno o más medios accesibles por procesador como se menciona en la reivindicación 1 , en donde el documento de presencia es extensible de acuerdo con un esquema de documento de presencia; y en donde el programa de cliente de mensajería instantánea está adaptado además para manipular el documento de presencia extensible. 9. El uno o más medios accesibles por procesador que incluyen instrucciones ejecutables por procesador que comprenden por lo menos parte de un programa de cliente de mensajería instantánea, el programa de cliente de mensajería instantánea capaz de utilizar un documento de presencia que está configurado para incluir información de presencia extensible. 10. El uno o más medios accesibles por procesador como se menciona en la reivindicación 9, en donde el programa de cliente de mensajería instantánea está adaptado para manipular la información de presencia extensible del documento de presencia de acuerdo con un esquema de documento de presencia. 1 1 . El uno o más medios accesibles por procesador como se menciona en la reivindicación 9, en donde la información de presencia extensible comprende múltiples lengüetas respectivas que están asociadas con múltiples campos de información de presencia respectivos, cada lengüeta dada que indica un significado de un campo asociado de información de presencia dado. 12. El uno o más medios accesibles por procesador como se menciona en la reivindicación 9, en donde el documento de presencia está formateado de acuerdo con un lenguaje de margen de ganancia extensible (XML). 13. El uno o más medios accesibles por procesador como se menciona en la reivindicación , en donde el programa de cliente de mensajería instantánea es capaz además de recibir un nuevo mensaje de notificación de información de presencia desde un cliente de origen que incluye por lo menos una delta que indica un cambio a por lo menos un artículo de la información de presencia de un documento de presencia correspondiente; y en donde el programa de cliente de mensajería instantánea está adaptado para instituir el cambio a por lo menos un artículo de la información de presencia con base en por lo menos una delta para crear un documento de presencia actualizado que corresponde al cliente de origen. 14. El uno o más medios accesibles por procesador como se menciona en la reivindicación 13, en donde el programa de cliente de mensajería instantánea está adaptado además para realizar una operación de verificación de equivalencia mediante comparación de un valor de verificación calculado en respuesta al documento de presencia actualizado con un valor de confirmación recibido con el nuevo mensaje de notificación de información de presencia. 15. El uno o más medios accesibles por procesador como se menciona en la reivindicación 14, en donde el programa de cliente de mensajería instantánea está adaptado además para solicitar una copia del documento de presencia actualizado del cliente de origen si la operación de verificación de equivalencia falla para verificar la equivalencia. 16. Un método que comprende: recibir un nuevo mensaje de notificación de información de presencia que incluye por lo menos una delta que indica un cambio a por lo menos un artículo de información de presencia correspondiente de un documento de presencia; actualizar el por lo menos un artículo de información de presencia con base en la por lo menos una delta correspondiente para producir un documento de presencia actualizado; calcular un valor de verificación que responde al documento de presencia actualizado; determinar si el valor de verificación es equivalente a un valor de confirmación recibido; y si se determina que el valor de verificación es equivalente al valor de confirmación recibido, utilizar el documento de presencia actualizado. 17. El método como se menciona en la reivindicación 16, en donde el documento de presencia corresponde a un cliente de origen; y en donde el método comprende además: si no se determina que el valor de verificación es equivalente al valor de confirmación recibido, solicitar una copia completa del documento de presencia del cliente de origen. 18. El método como se menciona en la reivindicación 16, en donde el documento de presencia corresponde a un cliente de origen; y en donde el método comprende además: determinar, antes de actualizar, si existe una versión vieja del documento de presencia; y si no se determina que existe una versión vieja del documento de presencia, recuperar una copia completa del documento de presencia del cliente de origen. 19. El método como se menciona en la reivindicación 16, en donde el nuevo mensaje de notificación de información de presencia incluye además el valor de confirmación recibido; y en donde el cálculo comprende: realizar una operación numérica en el documento de presencia actualizado. 20. El método como se menciona en la reivindicación 16, en donde utilizar comprende por lo menos uno de: almacenar el documento de presencia actualizado; o desplegar el por lo menos un artículo de información de presencia a un usuario.
MXPA06001215A 2005-02-28 2006-01-30 Documentacion de presencia del lado del cliente. MXPA06001215A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/068,731 US20060195532A1 (en) 2005-02-28 2005-02-28 Client-side presence documentation

Publications (1)

Publication Number Publication Date
MXPA06001215A true MXPA06001215A (es) 2006-09-19

Family

ID=36499445

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06001215A MXPA06001215A (es) 2005-02-28 2006-01-30 Documentacion de presencia del lado del cliente.

Country Status (8)

Country Link
US (1) US20060195532A1 (es)
EP (1) EP1703453B1 (es)
JP (1) JP4824429B2 (es)
KR (1) KR101545912B1 (es)
CN (1) CN1829226B (es)
BR (1) BRPI0600185A (es)
CA (1) CA2533373A1 (es)
MX (1) MXPA06001215A (es)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406533B2 (en) * 2003-10-08 2008-07-29 Seiko Epson Corporation Method and apparatus for tunneling data through a single port
US20060053485A1 (en) * 2004-09-08 2006-03-09 Chia-Hsin Li Network connection through NAT routers and firewall devices
US8230456B2 (en) * 2005-01-05 2012-07-24 Yahoo! Inc. Framework for delivering a plurality of content and providing for interaction with the same in a television environment
US20060200517A1 (en) * 2005-03-03 2006-09-07 Steve Nelson Method and apparatus for real time multi-party conference document copier
US20060240855A1 (en) * 2005-04-22 2006-10-26 Amit Kalhan Systems and methods for updating presence in a mobile communication network
KR100757338B1 (ko) * 2005-05-31 2007-09-11 엔에이치엔(주) 동일한 리플리케이션 그룹에 속하는 구성원 서버의 상태를동기화하는 방법 및 시스템
GB0514031D0 (en) * 2005-07-08 2005-08-17 Nokia Corp Multi-user services in a communications system
ATE515869T1 (de) * 2005-10-21 2011-07-15 Research In Motion Ltd Sofortmitteilungsvorrichtung/serverprotokoll
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4862463B2 (ja) * 2006-04-11 2012-01-25 ブラザー工業株式会社 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP4655986B2 (ja) * 2006-04-12 2011-03-23 ブラザー工業株式会社 ノード装置、記憶制御プログラム及び情報記憶方法
US7792903B2 (en) 2006-05-31 2010-09-07 Red Hat, Inc. Identity management for open overlay for social networks and online services
US8185584B2 (en) * 2006-05-31 2012-05-22 Red Hat, Inc. Activity history management for open overlay for social networks and online services
US8615550B2 (en) * 2006-05-31 2013-12-24 Red Hat, Inc. Client-side data scraping for open overlay for social networks and online services
US9165282B2 (en) * 2006-05-31 2015-10-20 Red Hat, Inc. Shared playlist management for open overlay for social networks and online services
US8612483B2 (en) * 2006-05-31 2013-12-17 Red Hat, Inc. Link swarming in an open overlay for social networks and online services
US8688742B2 (en) 2006-05-31 2014-04-01 Red Hat, Inc. Open overlay for social networks and online services
US8780925B2 (en) 2006-08-17 2014-07-15 Fonality, Inc. Mobile use of a PBX system
US20080242277A1 (en) * 2006-09-29 2008-10-02 Funmobiltiy Inc. Communicating community features for mobile electronic devices
JP4962963B2 (ja) * 2006-10-19 2012-06-27 ヤフー株式会社 ステータス変更情報に関するシステム
US8832277B2 (en) * 2006-11-30 2014-09-09 Red Hat, Inc. Community tagging of a multimedia stream and linking to related content
US8812582B2 (en) * 2006-11-30 2014-08-19 Red Hat, Inc. Automated screen saver with shared media
US20080133475A1 (en) * 2006-11-30 2008-06-05 Donald Fischer Identification of interesting content based on observation of passive user interaction
US9021045B2 (en) * 2006-11-30 2015-04-28 Red Hat, Inc. Sharing images in a social network
US8091032B2 (en) * 2006-11-30 2012-01-03 Red Hat, Inc. Automatic generation of content recommendations weighted by social network context
US9405827B2 (en) * 2006-11-30 2016-08-02 Red Hat, Inc. Playlist generation of content gathered from multiple sources
US8463893B2 (en) * 2006-11-30 2013-06-11 Red Hat, Inc. Automatic playlist generation in correlation with local events
US8060827B2 (en) * 2006-11-30 2011-11-15 Red Hat, Inc. Method and system for preloading suggested content onto digital video recorder based on social recommendations
US8176191B2 (en) 2006-11-30 2012-05-08 Red Hat, Inc. Automated identification of high/low value content based on social feedback
US8943210B2 (en) * 2006-11-30 2015-01-27 Red Hat, Inc. Mastering music played among a plurality of users
US20080147727A1 (en) * 2006-12-14 2008-06-19 Nortel Networks Limited Media context information
WO2008079823A2 (en) * 2006-12-22 2008-07-03 Palm, Inc. Data processing apparatus and a method of operating data processing apparatus for generating representations of availability status for application programs
US8693659B2 (en) * 2007-03-09 2014-04-08 Fonality, Inc. System and method for centralized presence management of local and remote users
US8098810B2 (en) 2007-03-09 2012-01-17 Fonality, Inc. Intelligent presence management in a communication routing system
US8379832B1 (en) 2007-05-03 2013-02-19 Fonality, Inc. Universal queuing for inbound communications
US7890592B2 (en) * 2007-06-29 2011-02-15 Microsoft Corporation Processing data obtained from a presence-based system
US8291067B2 (en) 2007-06-29 2012-10-16 Microsoft Corporation Providing access to presence information using multiple presence objects
US10097695B2 (en) 2007-08-10 2018-10-09 Fonality, Inc. System and method for providing carrier-independent VoIP communication
JP5106958B2 (ja) * 2007-09-14 2012-12-26 株式会社リコー プレゼンス情報処理システム、情報処理装置、プレゼンス文書スキーマ管理サーバ、プレゼンスサーバ及びプレゼンス情報処理プログラム
EP2194679B1 (en) * 2007-09-26 2019-05-15 Alibaba Group Holding Limited A method and system for managing the user information in the instant messaging system
JP5182853B2 (ja) * 2007-10-26 2013-04-17 ソフトバンクモバイル株式会社 通信端末、通信方法、およびプログラム
JP2009208430A (ja) * 2008-03-06 2009-09-17 Ricoh Co Ltd 画像形成装置、画像形成システム、画像形成方法および画像形成プログラム
JP5343383B2 (ja) 2008-03-25 2013-11-13 富士通株式会社 プログラム及び連携方法
US20120191973A1 (en) * 2008-09-10 2012-07-26 National Ict Australia Limited Online presence of users
US7853712B2 (en) * 2008-09-29 2010-12-14 Eloy Technology, Llc Activity indicators in a media sharing system
US8051136B2 (en) * 2008-10-13 2011-11-01 International Business Machines Corporation Optimizing a presence enabled managed service
US8719386B2 (en) 2009-01-08 2014-05-06 Fonality, Inc. System and method for providing configuration synchronicity
US10318922B2 (en) 2009-03-16 2019-06-11 Fonality, Inc. System and method for automatic insertion of call intelligence in an information system
US9443244B2 (en) 2009-03-16 2016-09-13 Fonality, Inc. System and method for utilizing customer data in a communication system
US20110161791A1 (en) * 2009-12-31 2011-06-30 Travis Amy D Method and system for notification of recent activity on a website
KR101039555B1 (ko) * 2010-03-30 2011-06-09 주식회사 엘지유플러스 프레즌스 서비스 제공 단말기, 이를 포함하는 프레즌스 서비스 제공 시스템 및 그 제공 방법
US9134873B2 (en) 2010-09-28 2015-09-15 Qualcomm Incorporated Apparatus and methods for presenting interaction information
EP2445149B1 (en) * 2010-10-25 2015-03-04 BlackBerry Limited System and method for enabling applications to communicate using a peer-to-peer (P2P) system
KR101807520B1 (ko) * 2011-07-19 2017-12-11 삼성전자주식회사 이동 통신 시스템에서 인증 기반의 인핸스드 어드레스 북 서비스를 제공하기 위한 장치 및 방법
US9137141B2 (en) 2012-06-12 2015-09-15 International Business Machines Corporation Synchronization of load-balancing switches
US8938521B2 (en) * 2012-08-29 2015-01-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Bi-directional synchronization enabling active-active redundancy for load-balancing switches
US9092778B2 (en) 2013-03-15 2015-07-28 Varsgen, Llc Bank account protection method utilizing a variable assigning request string generator and receiver algorithm
WO2016190657A1 (ko) * 2015-05-26 2016-12-01 김태정 단말 및 단말의 동작 방법

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278955A (en) * 1990-06-18 1994-01-11 International Business Machines Corporation Open systems mail handling capability in a multi-user environment
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5446888A (en) * 1994-01-14 1995-08-29 Pyne; Charles F. Remote file transfer method and apparatus
WO1996017306A2 (en) * 1994-11-21 1996-06-06 Oracle Corporation Media server
WO1997019429A1 (en) * 1995-11-20 1997-05-29 Motorola Inc. Displaying graphic messages in a radio receiver
US5802282A (en) * 1995-12-28 1998-09-01 Intel Corporation Recovering missing data during background data transfer in multipoint conferencing
US5943478A (en) * 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
US5987515A (en) * 1997-08-29 1999-11-16 International Business Machines Corporation Internet protocol assists using multi-path channel protocol
US6003088A (en) * 1997-08-29 1999-12-14 International Business Machines Corporation Blocking IP datagrams in a multi-path channel point-to-point environment
US6052531A (en) * 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
US6490615B1 (en) * 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
TW428146B (en) * 1999-05-05 2001-04-01 Inventec Corp Data file updating method by increment
US7286115B2 (en) * 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US6549937B1 (en) * 1999-07-21 2003-04-15 Microsoft Corporation System and method for multi-protocol communication in a computer network
US6434568B1 (en) * 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
JP2001175550A (ja) * 1999-12-07 2001-06-29 Kizna.Com Inc クライアントサーバシステム及びクライアントサーバシステムのデータ伝送方法並びにそのプログラムを記録した媒体
US7031956B1 (en) * 2000-02-16 2006-04-18 Verizon Laboratories Inc. System and method for synchronizing and/or updating an existing relational database with supplemental XML data
ES2239564T3 (es) * 2000-03-01 2005-10-01 Sony International (Europe) Gmbh Gestion de datos de perfiles de usuarios.
ATE350857T1 (de) * 2000-05-17 2007-01-15 Ibm System und methode um den aufenthalt oder die verfügbarkeit eines telefonnutzers zu erkennen und die rufnummer im internet zu veröffentlichen
US6453294B1 (en) * 2000-05-31 2002-09-17 International Business Machines Corporation Dynamic destination-determined multimedia avatars for interactive on-line communications
US7984098B2 (en) * 2000-07-25 2011-07-19 AOL, Inc. Video messaging
US6990452B1 (en) * 2000-11-03 2006-01-24 At&T Corp. Method for sending multi-media messages using emoticons
US7870196B2 (en) * 2000-11-08 2011-01-11 Nokia Corporation System and methods for using an application layer control protocol transporting spatial location information pertaining to devices connected to wired and wireless internet protocol networks
KR100377936B1 (ko) * 2000-12-16 2003-03-29 삼성전자주식회사 이동통신 단말기의 감정 아이콘 입력방법
US7080139B1 (en) * 2001-04-24 2006-07-18 Fatbubble, Inc Method and apparatus for selectively sharing and passively tracking communication device experiences
DE60203798T2 (de) * 2001-05-11 2006-02-09 Nokia Corp. Mobiler instant-messaging- und präsenzdienst
US6983305B2 (en) * 2001-05-30 2006-01-03 Microsoft Corporation Systems and methods for interfacing with a user in instant messaging
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US6987991B2 (en) * 2001-08-17 2006-01-17 Wildseed Ltd. Emoticon input method and apparatus
US7765484B2 (en) * 2001-09-28 2010-07-27 Aol Inc. Passive personalization of lists
US7233979B2 (en) * 2002-03-14 2007-06-19 Microsoft Corporation Instant messaging session invite for arranging peer-to-peer communication between applications
US7203356B2 (en) * 2002-04-11 2007-04-10 Canesta, Inc. Subject segmentation and tracking using 3D sensing technology for video compression in multimedia applications
US7689649B2 (en) * 2002-05-31 2010-03-30 Aol Inc. Rendering destination instant messaging personalization items before communicating with destination
US7779076B2 (en) * 2002-05-31 2010-08-17 Aol Inc. Instant messaging personalization
US20030225848A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Remote instant messaging personalization items
US20030217142A1 (en) * 2002-05-15 2003-11-20 Microsoft Corporation Method and system for supporting the communication of presence information regarding one or more telephony devices
US7552204B2 (en) * 2002-05-15 2009-06-23 Microsoft Corporation Method and system for supporting the communication of presence information among computing devices of a network
US20030225847A1 (en) * 2002-05-31 2003-12-04 Brian Heikes Sending instant messaging personalization items
US7657597B2 (en) * 2002-09-26 2010-02-02 Sun Microsystems, Inc. Instant messaging using distributed indexes
US7774410B2 (en) * 2002-11-18 2010-08-10 Aol Inc. Handling a multimedia object associated with an electronic message
US7289520B2 (en) * 2002-11-20 2007-10-30 Hewlett-Packard Development Company, L.P. Method, apparatus, and system for expressway routing among peers
US7523165B2 (en) * 2002-12-24 2009-04-21 Telefonaktiebolaget L M Ericsson (Publ) Transmission of application information and commands using presence technology
US7185285B2 (en) * 2003-02-19 2007-02-27 Microsoft Corporation User interface and content enhancements for real-time communication
US7296223B2 (en) * 2003-06-27 2007-11-13 Xerox Corporation System and method for structured document authoring
JP3788447B2 (ja) * 2003-06-30 2006-06-21 株式会社日立製作所 セッション制御サーバ、プレゼンスサーバ、セッション制御装置、当該セッション制御装置に適用されるソフトウェア、セッション制御方法、およびネットワークシステム
WO2005017660A2 (en) * 2003-07-01 2005-02-24 Apple Computer, Inc. Peer-to-peer content sharing
US7539727B2 (en) * 2003-07-01 2009-05-26 Microsoft Corporation Instant messaging object store
JP4046654B2 (ja) * 2003-07-04 2008-02-13 日本電信電話株式会社 P2p通信システム
AU2003903994A0 (en) * 2003-07-31 2003-08-14 Canon Kabushiki Kaisha Collaborative editing with automatic layout
US7315866B2 (en) * 2003-10-02 2008-01-01 Agency For Science, Technology And Research Method for incremental authentication of documents
US7437374B2 (en) * 2004-02-10 2008-10-14 International Business Machines Corporation Efficient XML schema validation of XML fragments using annotated automaton encoding
US20060015560A1 (en) * 2004-05-11 2006-01-19 Microsoft Corporation Multi-sensory emoticons in a communication system
US20050273472A1 (en) * 2004-06-04 2005-12-08 Prakash Reddy Verifying incremental updates to hierarchicaly structured information
TWI262678B (en) * 2004-06-30 2006-09-21 Inst Information Industry Peer-to-peer communication system, method and machine-readable storage medium
US7437364B1 (en) * 2004-06-30 2008-10-14 Google Inc. System and method of accessing a document efficiently through multi-tier web caching
US7302270B1 (en) * 2004-08-02 2007-11-27 Cisco Technology, Inc. Time interval processing and annotation in presence systems
US7552430B2 (en) * 2004-08-31 2009-06-23 Microsoft Corporation Patch sequencing
US20100177048A1 (en) * 2009-01-13 2010-07-15 Microsoft Corporation Easy-to-use soft keyboard that does not require a stylus

Also Published As

Publication number Publication date
JP4824429B2 (ja) 2011-11-30
US20060195532A1 (en) 2006-08-31
JP2006244494A (ja) 2006-09-14
BRPI0600185A (pt) 2007-07-17
CN1829226B (zh) 2011-03-23
EP1703453B1 (en) 2015-11-11
EP1703453A3 (en) 2006-11-08
EP1703453A2 (en) 2006-09-20
CA2533373A1 (en) 2006-08-28
KR20060095457A (ko) 2006-08-31
KR101545912B1 (ko) 2015-08-24
CN1829226A (zh) 2006-09-06

Similar Documents

Publication Publication Date Title
MXPA06001215A (es) Documentacion de presencia del lado del cliente.
US8051462B2 (en) Secure communication modes in a virtual universe
US7756836B2 (en) Peer-to-peer file sharing
KR101095092B1 (ko) 피어투피어 네트워크에서 복수의 수신자로의 부하 분산된 데이터 분배
US8775562B2 (en) Mapping file fragments to file information and tagging in a segmented file sharing system
US20050004985A1 (en) Peer-to-peer identity-based activity sharing
US8341531B2 (en) Content formatting and installation techniques
JP4515839B2 (ja) インスタントメッセージングオブジェクトストア
CN101167069B (zh) 文件对等同步的系统和方法
US7499926B1 (en) Maintaining and replicating chat histories
US9224150B2 (en) Identifying highly valued recommendations of users in a media recommendation network
US8335836B2 (en) System and method for generating a consistent user name-space on networked devices
KR20080025689A (ko) 데이터 공유가 행해지는 인스턴트 메시징
JP3907184B2 (ja) データベース検索システム及びデータ共有システム
CN111935236B (zh) 促进屏幕设备与客户端设备间互操作性的方法、设备和介质
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d&#39;information dans un système de distribution de contenu, dispositif terminal et support d&#39;enregistrement incorporant son programme enregistré
US8245221B2 (en) Content formatting and installation techniques
CN107277012A (zh) 一种信息共享方法与装置
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
EP1644840A2 (en) Peer-to-peer content sharing
JP2007235243A (ja) 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム
CN114827074B (zh) 社交消息处理方法、装置、服务器、终端及介质
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
JP2011138193A (ja) 情報処理装置、データ授受方法、および情報処理システム
JP2010067072A (ja) 保存指示装置、ノード装置、及び保存指示処理プログラム、ノード処理プログラム及び保存指示方法

Legal Events

Date Code Title Description
FG Grant or registration