ES2353225T3 - Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura. - Google Patents

Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura. Download PDF

Info

Publication number
ES2353225T3
ES2353225T3 ES08150922T ES08150922T ES2353225T3 ES 2353225 T3 ES2353225 T3 ES 2353225T3 ES 08150922 T ES08150922 T ES 08150922T ES 08150922 T ES08150922 T ES 08150922T ES 2353225 T3 ES2353225 T3 ES 2353225T3
Authority
ES
Spain
Prior art keywords
coverage
mail
messages
email
worker
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08150922T
Other languages
English (en)
Inventor
Sarinder Virk
Harshad N. Kamat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Application granted granted Critical
Publication of ES2353225T3 publication Critical patent/ES2353225T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • 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/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Un sistema de comunicaciones (20) que comprende: un motor (22) de red, capaz de funcionar para comunicarse con una pluralidad de dispositivos de comunicaciones inalámbricos y móviles (38) suscritos por un usuario, y capaz de funcionar para determinar cuándo un dispositivo de comunicaciones inalámbrico y móvil (38) está fuera de cobertura o se ha desconectado o apagado y es incapaz de comunicarse con el motor (22) de red; y un servidor de acceso directo (42), capaz de funcionar con el motor (22) de red para consultar o examinar buzones de correo electrónico (48) de usuarios y recuperar mensajes electrónicos de los buzones de correo electrónicos, e impulsar o hacer pasar cualesquiera mensajes electrónicos a través del motor (22) de red a dispositivos de comunicaciones inalámbricos y móviles (38) suscritos por usuario y seleccionados, caracterizado por que dicho servidor de acceso directo (42) es capaz de funcionar para suspender el examen de los buzones de correo electrónico de usuario cuando se ha determinado que un dispositivo de comunicaciones inalámbrico y móvil (38) asociado con el usuario está fuera de cobertura o se ha desconectado y es incapaz de comunicarse, a fin de conservar los recursos de examen dentro del servidor de acceso directo (42).

Description

Sistema de distribución y sincronización de correo electrónico ("email") de acceso directo con notificación de fuera de cobertura.
Solicitud relacionada
Esta Solicitud está basada en la Solicitud provisional previa depositada con Número de Serie 60/911.611, depositada el 13 de abril de 2007.
Campo de la invención
La presente invención se refiere al campo de los sistemas de comunicaciones y, más particularmente, a sistemas de comunicaciones de correo electrónico ("email") y a métodos relacionados.
Campo de la invención
El correo electrónico ("email") se ha convertido en una parte integral de las comunicaciones de empresa y personales. De esta forma, muchos usuarios tienen múltiples cuentas de correo electrónico para uso laboral y doméstico. Además, con la creciente disponibilidad de dispositivos celulares e inalámbricos de red de área local (LAN -"local area network") que son capaces de enviar y recibir correos electrónicos, muchos usuarios acceden de forma inalámbrica a correos electrónicos desde buzones de correo almacenados en diferentes servidores de almacenamiento de correo electrónico (por ejemplo, un servidor de almacenamiento de correo electrónico corporativo, Yahoo, Hotmail, AOL, etc.).
Con todo, la distribución y la sincronización a través de múltiples buzones de correo y por redes inalámbricas puede ser ciertamente un desafío, particularmente cuando esto se hace a gran escala, para un gran número de usuarios. Por ejemplo, pueden configurarse diferentes cuentas de correo electrónico de un modo distinto y con criterios de acceso no uniformes. Por otra parte, conforme los correos electrónicos se reciben en el dispositivo de comunicaciones inalámbrico, pueden seguir estando presentes copias de los correos electrónicos en los buzones de correo de origen, lo que puede hacer que sea difícil para los usuarios mantener su correo electrónico organizado.
Un sistema particularmente ventajoso de distribución y sincronización de correo electrónico del tipo de "impulsión" se divulga en la Patente norteamericana Nº 6.779.019, que se ha asignado al presente Asignatario y se incorpora, por la presente, aquí como referencia. Este sistema impulsa o hace avanzar elementos de datos seleccionados por el usuario desde un sistema principal o anfitrión a un dispositivo de comunicaciones inalámbrico y móvil, al detectar la ocurrencia de uno o más desencadenantes de suceso definidos por el usuario. El usuario puede entonces desplazar (o archivar) los elementos de datos hasta una carpeta particular dentro de la jerarquía de carpetas almacenada en el dispositivo de comunicaciones inalámbrico y móvil, o bien puede llevar a cabo alguna otra operación del sistema sobre un elemento de datos. La programación o software que opera en el dispositivo y en el sistema anfitrión sincroniza entonces la jerarquía de carpetas del dispositivo con una jerarquía de carpetas del sistema anfitrión, y cualesquiera acciones llevadas a cabo sobre los elementos de datos en el dispositivo son entonces reproducidas automáticamente en los mismos elementos de datos almacenados en el sistema anfitrión, con lo que se elimina así la necesidad de que el usuario repita o reproduzca manualmente acciones en el sistema anfitrión que se han ejecutado en el dispositivo de comunicaciones inalámbrico y móvil.
El anterior sistema aporta, ventajosamente, una gran comodidad a los usuarios de los dispositivos de comunicación de correo electrónico inalámbricos para organizar y gestionar sus mensajes de correo electrónico. Con todo, pueden desearse características de comodidad y de eficiencia adicionales en los sistemas de distribución y sincronización de correo electrónico a medida que continúa creciendo en popularidad el uso del correo electrónico.
El documento US 2005/0041652 A1 (Teamon Systems, Inc.) divulga un sistema de comunicación que puede incluir al menos un dispositivo de almacenamiento de datos destinado a almacenar mensajes para usuarios respectivos, así como una pluralidad de dispositivos de comunicaciones inalámbricos, cada uno de los cuales está asociado con un usuario respectivo para el acceso a los mensajes almacenados en el al menos un dispositivo de almacenamiento de datos. Por otra parte, el sistema de comunicaciones puede, adicionalmente, incluir un motor de consulta o examen adaptativo destinado a examinar el al menos un dispositivo de almacenamiento de datos en busca de mensajes almacenados, y a proporcionar los mensajes examinados a los dispositivos móviles de los respectivos usuarios. El motor de examen adaptativo puede, ventajosamente, aprender respectivas configuraciones de uso de los usuarios para cada dispositivo móvil, así como cambiar una velocidad de transmisión respectiva de examen para dispositivo móvil basándose en las mismas.
El documento US 2007/0072589 A1 (Teamon Systems, Inc.) divulga un sistema para dotar a un dispositivo de comunicaciones inalámbrico y móvil de la capacidad para presentar visualmente características específicas de cuenta o de dispositivo. El sistema incluye una base de datos para almacenar una pluralidad de características de presentación visual para diferentes portadores inalámbricos, proveedores de servicios de correo electrónico, y tipos de dispositivo. Un módulo de configuración accede a la base de datos y carga las características de presentación visual de al menos uno de entre el portador inalámbrico, el proveedor de servicios de correo electrónico o el tipo de dispositivo, en el dispositivo móvil, al hacer posible que el dispositivo móvil acceda al correo electrónico desde una posición distante o remota.
Los aspectos principales de la invención objeto de la presente se establecen en las reivindicaciones independientes. Características subsidiarias de las principales se establecen en las reivindicaciones dependientes.
Sumario de la invención
Un sistema de comunicaciones incluye un motor de red que se comunica con una pluralidad de dispositivos de comunicaciones inalámbricos y móviles de abonado, y es capaz de funcionar para determinar cuándo un dispositivo de comunicaciones inalámbrico y móvil está fuera de cobertura o desconectado y es incapaz de comunicarse con el motor de red. Un servidor de acceso directo es capaz de funcionar con el motor de red y consulta o examina los buzones de correo de los usuarios para recuperar mensajes electrónicos de los buzones de correo, e impulsa o hace avanzar cualesquiera mensajes electrónicos por medio del motor de red con el fin de seleccionar dispositivos de comunicaciones inalámbricos móviles suscritos por el usuario.
El servidor de acceso directo suspende el examen de esos buzones de correo electrónico de un usuario cuando se ha determinado que un dispositivo de comunicaciones inalámbrico y móvil asociado con un usuario se encuentra fuera de cobertura o desconectado y es incapaz de comunicarse, a fin de preservar los recursos de examen dentro del servidor de acceso directo.
Breve descripción de los dibujos
Otros objetos, características y ventajas se pondrán de manifiesto de forma evidente por la descripción detallada que sigue, al considerarla a la luz de los dibujos que se acompañan, en los cuales:
La Figura 1 es un diagrama de bloques esquemático de un sistema de distribución y sincronización de correo electrónico ("email") de acceso directo, de acuerdo con ejemplos no limitativos.
La Figura 2 es un diagrama de arquitectura o estructura de red para mensajes, destinado a mensajes para entregar en mano (MTH -"message to handheld").
La Figura 3 es un diagrama de arquitectura de red para mensajes entregados en mano (MFH -"message from handheld").
La Figura 4 es un diagrama de bloques que muestra una estructura de directorio y otros componentes que se utilizan en el sistema de correo electrónico de acceso directo que se muestra en la Figura 1.
La Figura 5 es un diagrama de bloques que muestra componentes básicos de un Gestor de Asignación de Recursos, tal y como se utiliza en el sistema de correo electrónico de acceso directo que se ha mostrado en la Figura 1.
La Figura 6 es un diagrama de bloques que muestra los componentes básicos que operan con el módulo de SOAP [Protocolo de Objetos de Acceso Simple -"Simple Object Access Protocol"] que se muestra en el sistema de correo electrónico de acceso directo de la Figura 1.
La Figura 7 es un diagrama de bloques que muestra los componentes básicos que operan con el Servidor de Suceso, según se muestra en el sistema de acceso directo de la Figura 1.
La Figura 8 es un diagrama de bloques que muestra componentes que interactúan con el Representante de Acceso Directo ("Direct Access Proxy") que se muestra en el sistema de correo electrónico de acceso directo de la Figura 1.
La Figura 9 es un diagrama de bloques que muestra los componentes básicos que operan con el Representante de Acceso Directo para soporte de SMTP [Protocolo de Transferencia de Correo Simple -"Simple Mail Transfer Protocol"].
La Figura 10 es un diagrama de bloques que muestra los componentes básicos del Representante de Acceso Directo con el Proveedor de Correo de IMAP [Protocolo de Acceso a Mensajes de Internet -"Internet Message Access Protocol"].
La Figura 11 es un diagrama de flujo que muestra las etapas funcionales para IDLE de IMAP [extensión de IMAP para aviso y sincronización a la llegada de un correo].
La Figura 12 es un diagrama de bloques que muestra los componentes básicos del Organizador Temporal de Fuente ("Source Scheduler") y la interacción entre los componentes.
La Figura 13 es un diagrama de flujo que muestras las etapas básicas para el soporte libre de IMAP.
\newpage
La Figura 14 es un diagrama de bloques que muestra los componentes básicos de un Organizador Temporal de Fuente para el Representante de Acceso Directo.
La Figura 15 es un diagrama secuencial que muestra transacciones entre la Plataforma de Oficina Móvil y el trabajador para la notificación de situación fuera de cobertura.
La Figura 16 es un diagrama de bloques esquemático que ilustra un dispositivo de comunicaciones inalámbrico y móvil proporcionado a modo de ejemplo, que puede ser utilizado con el sistema de correo electrónico de Acceso Directo mostrado en la Figura 1.
Descripción detallada de las realizaciones preferidas
Se describirán a continuación diferentes realizaciones de una forma más completa, en lo que sigue, con referencia a los dibujos que se acompañan, en los cuales se muestran realizaciones preferidas. Pueden exponerse muchas formas diferentes y las realizaciones descritas no deben interpretarse como limitadas a las realizaciones que se exponen aquí. En lugar de ello, estas realizaciones se proporcionan de forma tal, que esta divulgación será exhaustiva y completa, y abarcará plenamente el ámbito para los expertos de la técnica. Los mismos números de referencia aluden a elementos similares en todas ellas.
En la Figura 1 se muestran los componentes del sistema de correo electrónico de Acceso Directo 20. El motor 22 de cliente de web o de red tiene diversos componentes. El trabajador 24 es un agente de procesamiento o tratamiento que es responsable de la mayor parte del tratamiento en el motor 22, e incluye soporte de servidor de SMTP [Protocolo de Transferencia de Correo Simple -"Simple Mail Transfer Protocol"], o de HTTP [Protocolo de Transferencia de Hipertexto -"HyperText Transfer Protocol"]. Este determina la información de situación fuera de cobertura (O.C.
-"out-of-coverage"), como se explicará más adelante. Acepta correo electrónico procedente del representante de DA y de dispositivos de encaminamiento de correo externos, formatea el correo electrónico en CMIME, y lo envía al agente 26 de acceso o puerta y a otros componentes. El agente 26 de puerta actúa como una capa de transporte entre la infraestructura del sistema de correo electrónico y el resto del motor 22. El dispositivo de encaminamiento 28 de correo electrónico es un MTA (Agente de Transferencia de Correo -"Mail Transfer Agent") y es el responsable de remitir los mensajes al almacén 30 de correo, el cual está destinado a abonados anfitriones. Es también el responsable de aceptar/remitir notificaciones de correo electrónico.
El almacén 30 de correo es un almacén de mensaje de MIME [Extensiones de Correo por Internet de Múltiples Propósitos -"Multipurpose Internet Mail Extensions"] que reside o está radicado en un sistema de almacenamiento central con el fin de proporcionar soporte a características de MORE/remisión/respuesta y de visión de anexo. El servidor 32 de anexo proporciona un servicio de peticiones de conversión de documentos/anexo procedentes de los trabajadores.
El símbolo "dir" que se ha añadido a una línea ilustra que se ha efectuado una consulta en directorio con el fin de determinar la instancia del servicio a la que se ha de llamar, por ejemplo, de la que puede recuperar el representante de DA un correo electrónico para código de entrada/libro de servicio particular. El símbolo "f", añadido a un componente, ilustra que este se registra a sí mismo con un directorio de PDS [servicio de directorio de PWP -"PWP directory service"]. El añadido triangular en los componentes de WAP [Protocolo de Aplicaciones Inalámbricas -"Wireless Application Protocol"] y de HTML [Lenguaje de Etiquetado de Hipertexto -"HyperText Markup Language"] ilustra que se trata de un cliente de un Servicio de Despliegue de Recursos.
El retransmisor 34 opera con la Red de Comunicaciones Inalámbrica 36, tal como una red celular o WLAN [Red de Área Local de Banda Ancha -"Wideband Local Area Network"], y coopera con un Agente 26 de Puerta utilizando el GUID [Identificador Único Global -"Global Unique Identifier"]. La Red 36 se comunica con uno o más dispositivos de comunicación inalámbricos 38, tales como dispositivos de comunicaciones inalámbricos y portátiles.
La plataforma de oficina móvil 40 tiene diferentes componentes. El representante de DA (DA) 42 incluye un servicio por medio del cual se entregan a, o se recuperan de, el trabajador 24 los mensajes de fuente integrados. Es el responsable de las fuentes de consulta o examen tales como los buzones de correo, de las notificaciones de la fuente de tratamiento, así como de la recuperación y actualización de los mensajes de fuente a través del representante universal 44. El representante universal (UP -"universal proxy") 44 abstrae el acceso con el de desencadenar almacenamientos de correo electrónico en un protocolo común. El servidor 46 de suceso es un procedimiento de poco peso en un servidor que recibe notificaciones de fuentes externas (ISP [Proveedor de Servicios de Internet -"Internet Service Provider"] y SMC [Compilador de Máquina de Estado -"State Machine Compiler"]) y de buzones de correo de diferentes usuarios, y los procesa o trata de forma asíncrona sin bloquear el remitente de las notificaciones. Las fuentes de correo integradas 48, como proveedores de servicios de correo electrónico, incluyen ejemplos no limitativos tales como Yahoo!, Gmail, IMAP [Protocolo de Acceso a Mensajes de Internet -"Internet Message Access Protocol"], POP [Protocolo de Oficina de Correos -"Post Office Protocol"], Lotus Notes, y Exchange. Los servidores de SMTP 49 están asociados con los proveedores de servicios de correo electrónico según se explica con mayor detalle más adelante. La salida de servicio 50 del motor es un servicio de altas prestaciones ubicado en el servidor, capaz de validar un gran número de fuentes integradas de forma concurrente. Este motor 50 se utiliza en un procedimiento de integración de fuentes con el fin de validar los ajustes de acceso a un buzón de correo electrónico. El SOAP 52 es una interfaz primaria para interrogación, actualización y modificación de datos contenidos en las bases de datos central y de partición, 54 y 58. También implementa lógica comercial que dispara o desencadena otros flujos de trabajo dentro del sistema (por ejemplo, enviar o borrar libros de servicio). La base de datos central 54 almacena extensos datos de todo sistema relacionados con sitios/portadores, proveedores de buzón de correo (AOL. Yahoo), libros de servicio, dispositivos y cuentas de usuario. La base de datos de partición 58 es un almacén de datos primario para los usuarios. Almacena datos para un conjunto fijo de usuarios. El directorio 56 es un sistema responsable de la asignación, localización y distribución de los usuarios y de sus cargas de trabajo asociadas a través de las instancias de servicio. El gestor de asignación de fuente (SAM -"source assignment manager") 60 asigna fuentes al representante de DA 42 para los propósitos de detección de correo (consulta o examen, suscripción, etc.). El PDS (servicio de directorio de PWP -"PWP directory service") 62 es un registro de servidores de PWP [páginas web personales -"Personal Web Pages"] y es el responsable del equilibrado de la carga de clientes del conectador de correo (MC -"mail connector") a través de las instancias de servidor de PWP.
Se utilizan cualesquiera del servidor de PWP y los componentes de conectador de correo, conjuntamente, para acceder a buzones de correo cuando el sistema es incapaz de acceder directamente a una fuente de correo externa (por ejemplo, la fuente se encuentra detrás de un cortafuegos corporativo). El Sistema de Despliegue de Recursos (RDS -"Resource Deployment System") 64 permite el despliegue dinámico de nuevos recursos específicos de marca y de lenguaje.
Existen también diversos componentes de UI/web. El representante de HTML 70 proporciona una interfaz de usuario de HTML para que los usuarios gestionen su cuenta. El representante de WAP 72 proporciona una interfaz de usuario de WML [Lenguaje de Etiquetado Inalámbrico -"Wireless Markup Language"] y XHTML [HTML Extendido -"eXtended HTML"] con el fin de que los usuarios gestionen su cuenta. El representante 74 de WEB ADMIN [administrador de red] y de ADMIN [administrador] proporciona una interfaz de usuario de HTML para que los portadores lleven a cabo funciones administrativas en sus cuentas de cliente. Se ha desplegado un cliente de sobremesa por medio de un CD de dispositivo, que permite al usuario integrar fuentes con una UI Win32 nativa. Un cliente de dispositivo permite al usuario integrar fuentes utilizando una UI basada en Java, instalada en el dispositivo. Puede también tener lugar el aporte o aprovisionamiento (PRV) 76. También se ha ilustrado el servidor de SMTP interno 77, capaz de funcionar con una tabla 78 de base de datos y asociado con la MOP [Programación Orientada al Mensaje -"Message Oriented Programming"]. Un organizador temporal 104 de fuente y un módulo de conexión Libre de IMAP ("IMAP-Idle") 120 se muestran y explican con mayor detalle más adelante.
Como se muestra en la Figura 2, existen dos recorridos o caminos de mensaje posibles para los mensajes para entregar en mano (MTH -"message to handheld"). El primer camino es por medio de un dispositivo de encaminamiento de correo externo, a través de un SMTP. Este camino se utiliza para todas las fuentes de BBM y soportadas en el sistema anfitrión. Todos los mensajes llegarán al motor 22 de red a través del dispositivo de encaminamiento 28 de correo, el cual realizará una consulta en directorio y, a continuación, remitirá el mensaje al trabajador 24 apropiado. El trabajador 24 tratará el mensaje y enviará el mensaje al agente 26 de puerta menos ocupado. Por último, el agente 26 de puerta suministrará el mensaje el retransmisor 34, el cual enviará, a su vez, el mensaje al dispositivo 38.
El segundo camino es a través de los representantes Universal y de DA, 44 y 42. Este camino se utiliza para todas las fuentes integradas. Cuando el representante de DA 42 detecta un nuevo correo procedente de una fuente integrada, el representante de DA 42 recuperará y cargará el mensaje a través del Representante Universal 44, llevará a cabo una consulta en directorio para encontrar el trabajador adecuado, y hará llegar el mensaje al trabajador. El trabajador realizará entonces la misma operación que hizo para el correo soportado en el sistema anfitrión.
Tal como se muestra en la Figura 3, existen dos rutas de encaminamiento posibles para un mensaje entregado en mano (MFH -"message from handheld"). La primera es enviarlo a través de un dispositivo de encaminamiento 28 de correo. Este camino se utiliza para fuentes soportadas en el sistema anfitrión. Este camino se utilizará también para un subconjunto de fuentes integradas que no requiere una capacidad funcional mayor que la del envío de correo. El Retransmisor 34 recibirá el mensaje proveniente del dispositivo 38 y remitirá, a continuación, el mensaje al agente 26 de puerta. El agente 26 de puerta llevará a cabo una consulta en directorio y enviará el mensaje al trabajador 24 apropiado. El trabajador 24 descodificará, a continuación, el mensaje y lo enviará al dispositivo de encaminamiento 28, el cual, a su vez, entregará el mensaje al buzón de correo de destino.
El segundo camino es a través del representante de DA 42. Se precisa este camino para las fuentes integradas que requieren más capacidades funcionales que las que proporciona el envío de correo. Por ejemplo, las fuentes de Google requieren que los mensajes se envíen a través de servidores de SMTP con el fin de proporcionar soporte a una carpeta enviada. Siguiendo el mismo camino hasta el trabajador que el correo soportado en el sistema anfitrión, el trabajador realizará una consulta en directorio y enviará el mensaje al representante de DA 42 apropiado. El representante de DA 42 compondrá entonces una petición en HTTP Mail (Correo de HTTP) al objeto enviar un mensaje, que se impulsará o hará pasar al representante universal 44, el cual traducirá la petición en HTTPMail a un formato apropiado para enviar el correo, ya sea a través de un dispositivo de encaminamiento de correo externo, ya sea a través de un protocolo dependiente del tipo de fuente (por ejemplo, HTTPMail para intercambio). Cualquiera de los dispositivos de encaminamiento puede ser externo.
El trabajador 24 constituye un componente principal del motor 22 de red. El trabajador 24 es el responsable de la conversión de mensajes entre MIME y CMIME, de la encriptación o cifrado y la desencriptación o descifrado de los mensajes, de la compresión y la descompresión de los mensajes, y de la vista de los anexos. El trabajador 24 hará posible la afinidad con el usuario. Las ventajas de esto son que el sistema tiene una plantilla global de trabajadores, en lugar de dividir los usuarios por celdas. Esto permitirá que los trabajadores se ordenen en escala o jerarquía horizontalmente según un criterio de N + 1. También permitirá un mejor uso de un límite de trabajos pendientes por cada libro de servicio. Asimismo, reducirá el tamaño de la memoria caché del usuario dentro del trabajador.
Los trabajadores 24 se registrarán con el Directorio 56. Para todos los MHT, el dispositivo de encaminamiento de correo contactará con el Directorio 56 con el fin de determinar a qué trabajador 24 se han de encaminar los mensajes. Para todos los MFH, los agentes 26 de puerta contactarán con el Directorio 56 con el fin de determinar a qué trabajador se han de encaminar los mensajes. El Directorio 56 equilibrará en carga a los usuarios a través de los trabajadores 24. El sistema se ve simplificado por el hecho de tener sólo un componente a cargo de la afinidad de usuario y del equilibrado de la carga. Los trabajadores implementarán los filtros principales.
El trabajador 24 almacenará una memoria caché en una memoria de todos los registros de usuario conocidos. Esta memoria caché reducirá el número de peticiones de "Obtener Libro de Servicio" dirigidas al representante de DA 42. El trabajador 24 proporcionará soporte a una notificación de HTTP para extraer un registro de su memoria caché (enviado cuando se actualiza un registro). Existirá un tiempo de expiración rígido o inflexible para cada registro de memoria caché. Este tiempo de expiración forzará un registro a ser extraído de la memoria caché después de un intervalo de tiempo preestablecido (aproximadamente un día, pero esto es configurable). El propósito de este tiempo de expiración es extraer registros sin utilizar de la memoria caché cuando un usuario se equilibra en cara para otro trabajador. El tiempo de expiración rígido también proporcionará protección contra notificaciones perdidas (registros caducos).
El trabajador 24 aceptará mensajes a través de dos protocolos, el SMTP y el HTTP, tal y como se ilustra por las referencias 24a y 24b. Todos los mensajes para un mensajero ("Messenger") de dispositivo y fuentes soportadas en el sistema anfitrión, llegarán a través de SMTP. Los mensajes llegarán a cualesquiera dispositivos de encaminamiento 28 de correo. El dispositivo de encaminamiento 28 de correo consultará el trabajador apropiado 24 en el Directorio 56 y encaminará el mensaje hasta el trabajador correspondiente por medio de SMTP. Todos los mensajes para fuentes integradas serán enviados al trabajador a través de HTTP. El mensaje será entregado en forma de notificación de correo nuevo. La notificación incluirá también el mensaje de MIME, en vez de solo un identificador de mensaje. Ambos protocolos implementarán una Confirmación (ACK -"Acknowledgement") retardada. El trabajador 24 no dará ACK de la fuente entrante hasta que, bien el mensaje haya sido entregado al dispositivo 38, ó bien el mensaje haya sido paginado en disco sobre un temporizador. El trabajador no bloqueará, típicamente, ningún hilo o vínculo mientras espera a que se envíe la ACK. El representante de DA 42 no bloqueará, típicamente, su vínculo con el cliente mientras aguarda a recibir la ACK.
Los almacenes de trabajo se guardarán en un dispositivo de almacenamiento central. El trabajador 24 implementará el paradigma de ACK retardada que se implementó en un mensajero de dispositivo. Bajo este paradigma, el trabajador 24 no almacenará los mensajes de CMIM de inmediato, sino que, en lugar de ello, organizará temporalmente un temporizador para inscribir en disco el trabajo. En el caso de que el trabajo se haya completado antes de que se dispare el temporizador, el temporizador es entonces cancelado y el trabajo no se inscribe en disco. Si el trabajo no se completa antes de que se dispare el temporizador, entonces el trabajo es inscrito en disco. El trabajo 24 no dará ACK de la fuente del mensaje (SMTP o HTTP) hasta que, bien el trabajo se haya completado, o bien el trabajo se haya paginado en disco. Si el trabajador 24 sufre un fallo antes de se haya dado ACK del trabajo (se haya completado o paginado), entonces la fuente de origen del mensaje es la responsable de reintentar llevar a cabo el trabajo. Si el trabajador sufre un fallo una vez que se ha dado ACK del trabajo, entonces el trabajador es el responsable de reintentar el trabajo, al recuperar el trabajo de CMIME del disco. El método de recuperación ser utilizará para usuarios de Messenger, correo soportado por el sistema anfitrión, así como fuentes de correo integradas.
Toda la recuperación en el trabajador 24 se realizará por medio del almacén de trabajos de CMIME. Cuando un trabajador 24 se pone en marcha, escaneará o explorará su almacén de trabajos en busca de cualesquiera trabajados que estuviesen en curso cuando el trabajador se desactivó o apagó previamente. El trabajador 24 proseguirá, entonces, reanudando el tratamiento de estos trabajos. Con esta estrategia, es posible que acceda más de un trabajador al mismo buzón de correo. Todos los mensajes nuevos para el buzón de correo serán entregados al trabajador activo en ese momento (a través del componente de Directorio). Sin embargo, cualesquiera trabajados en curso serán tratados por el trabajador original. Esto puede conducir a que los usuarios superen su límite de trabajo pendiente, ya que cada trabajador gestiona su propio límite. Sin embargo, esto únicamente ocurrirá mientras los trabajos están siendo recuperados, y no afectará a los trabajos nuevos.
El agente 26 de acceso o puerta es el responsable de la codificación/descodificación de GME de los mensajes de CMIME, enviando mensajes al retransmisor y recibiendo mensajes de este. El agente 24 de puerta puede, opcionalmente, comprimir y encriptar o cifrar mensajes MTH.
Un mensaje para entregar en mano (MTA) es el responsable de aceptar mensajes al interior del sistema para cuentas de corro soportadas en el sistema anfitrión, y de remitirlos a un trabajador apropiado. El MTA permitirá preguntas al directorio a través de una interfaz de LDAP [Protocolo Ligero de Acceso a Directorios -"Lightweight Directory Access Protocol"] estándar, que utilizará los MTA construidos en mecanismos de consulta para la reescritura de envoltorio. La necesidad de software externo para actuar como intermediario o interfaz con el directorio será eliminada, lo que reducirá la complejidad global. El MTA tendrá la capacidad de tapar/limitar las conexiones desde el canal de entrada o desde el de entrega, el cual puede ser sintonizado para adherirse al perfil de conexión del Almacén de Correo de MIME.
El Almacén de Correo de MIME 30 consistirá en una solución de almacenamiento central que sea compartida por todos los trabajadores. Puede añadirse al trabajador un almacén de mensaje de MIME. Este dará soporte a MORE/REMISIÓN/RESPUESTA y a la vista de anexo. El almacén de correo residirá en un dispositivo de almacenamiento central, por medio de una NetApp u otra SAN [Red de Área de almacenamiento -"Storage Area Network"], a fin de permitir a cualquier trabajador acceder a cualquier mensaje desde cualquier usuario y dar soporte al equilibrado de carga dinámico de los usuarios entre trabajadores. Puede haber un buzón de correo por cada libro de servicio. Algunos mensajes pueden no necesitar ser almacenados en el almacén de correo. Los mensajes que son más pequeños que punto de truncamiento de MORE y que no contienen anexos, no necesitan ser almacenados en el almacén 30 de correo. Los mensajes que no son almacenados en el almacén de correo pueden ser entregados al dispositivo 38 con una etiqueta o indicador que le dice al dispositivo que remita los mensajes con su contenido original, en vez de por su ID de referencia. Esta optimización reducirá la carga sobre cualquier almacén central.
Puede utilizarse la NettApp u otra aplicación para conseguir una solución de almacenamiento central. Es posible que una única NettApp no sea capaz de manejar la carga de todo el espacio de usuarios. Cuando esto ocurre, puede añadirse otra NettApp a la infraestructura. A fin de dar cabida a esta, puede añadirse una nueva columna a la base de datos de usuario, la cual describirá en qué punto de soporte reside el buzón de correo. Es posible utilizar un esquema de equilibrado de carga para determinar qué NettApp se ha de utilizar a la hora de añadir un nuevo buzón de correo. Antes de que el motor 22 pueda acceder al almacén de correo para un buzón de correo dado, consultará, primeramente, el punto de soporte en la base de datos y, a continuación, procederá a acceder al buzón de correo. Esto permitirá al sistema ordenar en escala o jerarquía las NettApps horizontalmente utilizando una metodología de regulación en escala de N + 1.
El almacén 30 de correo es capaz de almacenar mensajes utilizando un ID de referencia como su identificador único o exclusivo. No está garantizado que los ID de referencia sean únicos a través de todos los libros de servicio. En consecuencia, cada libro de servicio debe tener su propio buzón. Se utiliza el ID de referencia porque todas las peticiones de MORE/REMISIÓN/RESPUESTA y de anexo incluyen el ID de referencia original.
Los mensajes son, típicamente, comprimidos antes de ser guardados en disco, en el Almacén de Correo de MIME 30. Ensayos de comportamiento han demostrado que una biblioteca de compresión viable es la compresión de LZO [una librería de compresión de datos]. El uso de la compresión de LZO reducirá la carga en la red, la carga en el almacén central, así como el espacio de almacén total requerido. Esto permitirá al sistema proporcionar soporte al mismo número de usuarios al tiempo que utiliza menos soporte físico o hardware en el almacén central. La compresión de LZO puede configurarse de forma que se active/desactive. Algunos mensajes pueden no beneficiarse de la compresión (por ejemplo, los mensajes con anexos JPEG). El almacén 30 de Correo puede implementar optimizaciones con el fin de determinar qué mensajes deben ser comprimidos y cuáles no deben ser comprimidos, basándose en la naturaleza del contenido del mensaje. Esta optimización puede reducir la carga sobre la CPU (unidad central de procesamiento -"central processing unit") anfitriona.
Cada buzón de correo puede tener un índice de autoenvejecimiento que realizará un seguimiento de la cuota de uso y dictará el orden en que los mensajes deben ser eliminados del dispositivo de almacenamiento cuando se supera la cuota. El almacén 30 de correo almacenará el correo tanto soportado por el sistema anfitrión como integrado. La cuota para los buzones de correo integrado será pequeña (suficiente para almacenar, en promedio, el producto de un día de correo).
Cuando se añade un mensaje al almacén de correo, la cuota es analizada y, si se alcanza el límite, entonces se eliminan uno o más mensajes del buzón de correo para liberar el suficiente espacio para el nuevo mensaje.
El almacén de datos se divide en una base de datos central 54 y en múltiples bases de datos de partición 58. Lógicamente, la base de datos central 54 contiene todos los datos a lo largo y ancho del sistema, así como un directorio de todas las cuentas de usuario. Físicamente, la base de datos central 54 puede ser dividida en diferentes bases de datos. Los datos de cuenta de usuario contienen la suficiente información como para consultar la cuenta, en virtud de varios id externos (por ejemplo, SUBID, PIN, Buzón de correo ("Mailbox")), para determinar qué base de datos de partición 58 contiene los datos de usuario detallados.
Los datos de todo el sistema almacenados en una base de datos central pueden incluir información acerca de:
a)
Sitios/portadores, por ejemplo, tmobile, cingular;
b)
Proveedores de buzón de correo (aol, yahoo);
c)
Libros de servicio;
d)
Información del dispositivo; y
e)
Relaciones de correspondencia de Buzón de correo soportadas en el sistema anfitrión.
\vskip1.000000\baselineskip
Se accede a la base de datos central 54 por el componente de SOAP 52 y por el Directorio 56. La base de datos central debe aumentarse de escala para manejar un número siempre creciente de usuarios. Se almacena una cantidad mínima de datos en la base de datos central, y las cargas de petición se limitan por la dotación de memoria caché de sus datos en el componente de Directorio 56.
Una base de datos de partición 58 contiene datos relativos a una cuenta de usuario y fuentes integradas, tales como: fuentes integradas, reglas de aviso, firma y elementos similares. La base de datos de partición contiene también algunos datos globales reproducidos desde la base de datos central 54 con el fin de mantener la carga de la base de datos central 54 en el mínimo, por ejemplo, libros de servicio. Al grueso de los datos contenidos en la base de datos de partición 58 se encuentra en el seguimiento de los UID de mensaje para cada fuente integrada. Esta tabla es actualizada, potencialmente, cada vez que se examina una fuente. Se accede a la base de datos de partición por medio del SOAP52 y del representante de DA 42. La base de datos de partición es el principal mecanismo de regulación en escala del almacén de datos. Esta se encarga de un número fijo de usuarios. A medida que el número de usuarios crece, pueden añadirse más particiones, lo que permite al sistema regularse en escala.
El directorio 56 es un sistema responsable de asignar y determinar un usuario para una instancia de servicio para servicios que requieren un cierto grado de afinidad con el usuario. Las asignaciones se distribuyen uniformemente a lo largo y ancho de todas las instancias de servicio de un tipo particular. Siempre que se haya de enviar una petición a un servicio, debe determinarse la instancia de servicio para el Directorio. El Directorio 56 distribuye las afinidades uniformemente a través de todas las instancias de servicio de un tipo particular. El Directorio proporciona soporte al Representante de DA y a las consultas de Trabajador. Pueden asignarse a la instancia de Representante de DA usuarios de la partición a los que está dando servicio. Puede asignarse cualquier usuario al Trabajador.
El directorio 56 es realmente un sistema de Nodos de Directorio. Cada nodo comparte el cometido de almacenar relaciones de correspondencia de instancia de usuario a servicio, así como la carga de petición de red asociada con las consultas. La estrategia es asignar un valor de remezcla a cada nodo. Conforme se realiza cada consulta en directorio, la clave de consulta es remezclada hasta obtener uno de los valores de remezcla, y se remite la consulta a la instancia de directorio a la que se asigna ese valor de remezcla, a fin de determinar la relación de correspondencia. Si no existe una relación de correspondencia para la consulta, entonces la determinación implicará una asignación a una instancia de servicio.
En la Figura 4, el Directorio 56 se ha representado con tres componentes lógicos: el Dispositivo de encaminamiento 80 para remezclar la clave de consulta y remitirla a la instancia de directorio apropiada; la Memoria caché 82, que almacena las relaciones de correspondencia; y el Registro 84, que carga balances a través de las instancias de servicio registradas.
El dispositivo de encaminamiento 80 tiene una lista de nodos de directorio y el valor de remezcla con el que se han hecho corresponder. El valor de remezcla es, simplemente, una enumeración desde 0 a N - 1, donde N es el número de nodos. Cada nodo tendrá exactamente la misma tabla. La función del Dispositivo de encaminamiento 80 es remezclar la clave de consulta entrante hasta obtener un valor de remezcla, y remitir la petición al nodo al que se ha asignado ese valor de remezcla. Si el valor de remezcla se ha asignado a este nodo, entonces la consulta se hace en una Memoria caché 82 del nodo.
La Memoria caché 82 contiene una lista de relaciones de correspondencia entre claves de consulta e instancias de servicio. Para el representante de DA, la clave de consulta es el PIN [Número de Identificación Personal -"Personal Identification Number"]. Para un Trabajador, ésta es bien el PIN o bien la Dirección de Correo Electrónico. Para el trabajador, existen dos claves que identifican al usuario y que pueden ser utilizadas como clave de consulta. Estas dos claves se remezclarán, probablemente, en valores diferentes y provocarán que se creen dos relaciones de correspondencia para el mismo usuario. A causa de esto, una de las claves debe ser designada como la clave primaria, y todas las consultas efectuadas a través de una clave secundaria darán como resultado una clave primaria, la cual puede ser entonces utilizada en una consulta para determinar la instancia de servicio.
Todas las instancias de servicio crean y mantienen una conexión con el Registro 84 para registrar su servicio. Esta conexión se utiliza también para detectar fallos de instancia de servicio. El Registro 84 es también el responsable de distribuir asignaciones a lo largo de instancias de servicio.
El Directorio 56 proporciona soporte a dos interfaces de LDAP y a una interfaz de LBAC [control de acceso basado en etiqueta -"Label-Based Access Control"] Extendida. La interfaz de LDAP se ha proporcionado para que el dispositivo de encaminamiento de correo lleve a cabo consultas de Trabajador por dirección de correo electrónico. El dispositivo de encaminamiento de correo proporciona soporte a consultas de LDAP y se encargará de hacer funcionar tanto de la interfaz de LDAP como sea necesario para su implementación.
Cuando el representante de DA 42 descubre y descarga un nuevo mensaje desde una fuente integrada, pregunta al Directorio 56 por el Trabajador 24 que se encargará de los mensajes para el usuario asociado. La pregunta contiene el PIN que remezcla el dispositivo de encaminamiento 80 de Directorio. Si el resultado de la remezcla es su id de remezcla asignado, entonces procesará o tratará la petición; en caso contrario, remitirá la petición a la instancia de Directorio que está a cargo de ese resultado de remezcla. El Directorio que se encarga de ese resultado de remezcla comprobará, en ese momento, su conjunto de relaciones de correspondencia para ver si existe una relación de correspondencia establecida para ese PIN. Si no existe ninguna relación de correspondencia, entonces se selecciona un trabajador con el menor número de relaciones de correspondencia y se asigna al PIN. El trabajador es entonces devuelto al cliente. Un procedimiento similar se produce para PIN para el Representante de DA 42.
Cuando el dispositivo de encaminamiento 28 de correo recibe un mensaje, pregunta al Directorio por el trabajador que se encargará de los mensajes para el usuario asociado. La pregunta contiene la dirección de correo electrónico que remezcla el Directorio. Si el resultado de la remezcla es su id de remezcla, entonces éste procesará la petición. En caso contrario, remitirá la petición a la instancia de Directorio que es responsable para ese resultado de remezcla. El Directorio que se encarga de ese resultado de remezcla comprobará a continuación su conjunto de relaciones de correspondencia para comprobar si existe una relación de correspondencia para esa dirección de correo electrónico; si no es así, se realizará una búsqueda en base de datos para recuperar el PIN asociado. Se llevará a cabo seguidamente una consulta
de PIN para Trabajador. Una vez completada la consulta, el valor puede ser guardado en memoria caché y devuelto.
El Gestor de Asignación 60 de Fuente, según se muestra en la Figura 5, es el responsable de garantizar que se está dando servicio a las fuentes de una partición por parte de una instancia de Representante de DA 42. El Gestor de Asignación 60 de Fuente garantiza de forma activa que cada fuente es asignada por el directorio a un representante de DA 42, y que se notifica al representante de DA de que cada fuente a la que ha de dar servicio.
El componente de Directorio 56 es el responsable de asignar fuentes, mediante pin o número de identificación personal, a representantes de DA 42. Las asignaciones de representante de DA deben realizarse de forma proactiva, a fin de que comience el proceso de examen, y deben ocuparse de las condiciones que resultan de la pérdida de una asignación cuando una instancia de Directorio sufre un fallo. Debe asegurarse de que todas las fuentes estén siendo examinadas, y debe garantizar que las fuentes borradas dejan de ser examinadas de una forma regulada en el tiempo. El componente de Directorio 56 también garantiza que únicamente está dando servicio un solo representante de DA a una fuente particular cualquiera. Las fuentes susceptibles de ser suscritas y que son elegibles para suscripción (por ejemplo, que no están suspendidas) son suscritas. Las operaciones deben ser capaces de efectuar un seguimiento del estado de las colas de examen y de otras medidas de "salud".
La base de datos de partición 58 coloca un sello temporal en cada fuente, que especifica la última vez que se cambió la fuente. Se proporcionan dos indagaciones. La primera indagación da como resultado toda la lista de fuentes con campos relacionados con el servicio a la fuente (por ejemplo, indicadores de examen), así como un sello temporal que puede utilizarse en la segunda indagación. La segunda indagación, dado un sello temporal desde la última indicación, arroja como resultado todas las fuentes cambiadas desde la última indagación, así como otro sello temporal para uso en la siguiente indagación.
Un gestor de examen, como parte del representante de DA y del organizador temporal de fuente, mantiene una lista de todas las fuentes pertenecientes a su partición configurada. Para cada fuente de la lista, efectúa un seguimiento de los datos relacionados con el servicio a la fuente, para los propósitos de actualizaciones de detección, inserciones y borrados. Por otra parte, la asignación de representante de DA es supervisada con el fin de permitir notificaciones de reasignación y/o disminución de la reasignación (debido a fallos en el directorio). Puede también efectuarse el seguimiento de un sello temporal. El sello temporal es un valor que es devuelto por la base de datos y que puede utilizarse para recuperar fuentes que han cambiado desde la última pregunta o indagación.
Al arrancar, un Gestor de Examen se registra con el Directorio 56 y realiza una pregunta a la base de datos de partición configurada con el fin de recuperar todas las fuentes y los datos relevantes que hacen funcionar la lógica de servicio de cada fuente. El PIN de las fuentes se hace pasar en uno o más lotes al servicio de Directorio para localizar el representante de DA que dará servicio a cada fuente. Esta información es almacenada. A continuación, se envía una notificación a cada representante de DA al que se han asignado una o más fuentes, que contiene las fuentes a las que ha de dar servicio el representante de DA.
Con el fin de garantizar que se está dando servicio a las fuentes, el Gestor de Examen pregunta, a intervalos configurados, a la base de datos de partición 58 para recuperar todas las fuentes que pueden ser nuevas o cambiadas, basándose en un sello temporal devuelto por la última pregunta. El nuevo sello temporal puede ser utilizado en la siguiente pregunta. La lista de fuentes se compara con los resultados de la indagación al objeto de determinar qué fuentes han sido cambiadas, o bien borradas o insertadas. Para las fuentes insertadas, se llama al Directorio a fin de recuperar la asignación de representante de DA. Se envía un mensaje a todos los representantes de DA que tienen cambios o añadidos a una o más fuentes a las que están dando servicio.
Se utilizan notificaciones de SOAP para asegurarse de que, cuando una fuente es actualizada, borrada o insertada, se le dará servicio de forma inmediata o en tiempo real de acuerdo con el nuevo estado de las fuentes. El módulo de SOAP envía notificaciones al Gestor de Examen mediante la realización de una consulta en el directorio sobre el Gestor de Examen de la partición a la que pertenece la fuente. El Gestor de Examen envía entonces una notificación al representante de DA que está dando servicio a la fuente. Las Notificaciones de SOAP se realizan a través de una Interfaz de HTTP que implementará el Gestor de Examen.
Cuando se detecta un fallo del Directorio, se le notifica de ello al Gestor de Examen por parte del directorio. El Gestor de Examen supone que puede haberse establecido una nueva relación de correspondencia de todas sus fuentes. Todas las fuentes son entonces consultadas en el directorio, en uno o más lotes. Si el Gestor de Examen está realizando un seguimiento de la asignación de representante de DA, entonces puede sugerir al Directorio el representante de acceso directo para el que debe establecerse una relación de correspondencia con la fuente con el fin de reducir la cantidad de reasignación.
Cuando un representante de DA falla o se recupera un representante de DA, las fuentes pueden ser reasignadas. La reasignación de recuperación es causada por la necesidad de reequilibrar la carga. Cuando se produce uno de estos sucesos, se le notifica de ello al Gestor de Asignación 60 de Fuente perteneciente a la partición de DA que ha fallado/recuperada, por parte del Directorio. El Gestor de Examen se asegura de que todas las fuentes son asignadas a un representante de DA y que el representante de DA tiene conocimiento de ello. Esto se hace repitiéndolo para todas las fuentes, y realizando una consulta en directorio y notificando a los representantes de DA qué fuentes han sido reasignadas/no asignadas.
El componente de SOAP 52 proporciona una interfaz de SOAP para preguntar sobre, actualizar, modificar y borrar información procedente tanto de la base de datos central como de la de partición. El componente de SOAP 52 existe con el fin de minimizar el número de conexiones a las bases de datos, proporcionar abstracción a la posición física (central frente a partición) y al esquema de los datos, e implementar lógica comercial para notificar a los componentes los cambios de datos que pueden desencadenar otros flujos de trabajo tales como:
a)
Cambios de PIN (a saber, representante de DA, Trabajador y Directorio);
b)
Mensaje de Bienvenida de creación de cuenta a través del representante de DA;
c)
El añadido de fuente integrada envía un libro de servicio a través de DA; y
d)
Peticiones de suscripción.
\vskip1.000000\baselineskip
También proporciona API [Interfaz de Programación de Aplicaciones -"Application Programming Interface"] para permitir la integración con sistemas externos e implementa lógica simple de estimación de aprovisionamiento a través de reglas de base de datos y salida de servicio de motor.
Las interfaces se agrupan por su funcionamiento y también por los requisitos de los subsistemas externos. El aporte de interfaces específicas para cada uno de los subsistemas minimiza el efecto sobre otros sistemas cuando uno de los sistemas requiere un cambio. Las interfaces se definen como Servicios de web y se distribuyen como WSDL [Lenguaje de Descripción de Servicios Web -"Web Services Description Language"], de tal manera que los subsistemas externos sean tales, que no se imponga ningún requisito de plataforma o de lenguaje en el subsistema externo.
La salida de servicio 50 de motor alberga un motor de agregación 80, tal como se muestra en la Figura 6. El motor de agregación 90 es un componente capaz de validar, examinar y descargar frente a un gran número de fuentes de correo externas de forma concurrente. Este recibe instrucciones para hacerlo así en forma de lotes. Para llevar esto a cabo, utiliza Java y un hilo o vínculo para manejar todas las peticiones contenidas en un lote. La Salida de Servicio 50 de Motor se utiliza por su capacidad para validar fuentes. Por lo que respecta al examen y la descarga, estos cometidos se dejan al Representante de DA 42.
Haciendo referencia a la Figura 6, la validación es un procedimiento que tiene lugar durante el simple aprovisionamiento. Cuando el usuario introduce la dirección de correo electrónico y la palabra de paso para que sea integrada una cuenta, se envía una petición al componente de SOAP 52 para crear el buzón de correo de la fuente. Como parte del procedimiento de creación, el componente de SOAP aplica las credenciales a un conjunto de reglas aprendidas y almacenadas en la base de datos 52 para producir un conjunto de evaluaciones. Estas evaluaciones se componen de una dirección de servidor, una palabra de paso (según se aporta), un protocolo y una identificación de acceso, de forma similar al procedimiento establecido en la Patente norteamericana asignada en común Nº 6.959.325, cuya descripción se incorpora aquí como referencia en su totalidad. La base de datos central 54 es interrogada para seleccionar un motor 90. Las evaluaciones son entonces agrupadas en lotes y enviadas a la salida de servicio 50 del motor para su validación. La salida de servicio 50 del motor suministra las "evaluaciones" al motor de agregación 90, el cual se conecta e inicia el procedimiento de introducción de identificación de acceso frente a todos los servidores, de acuerdo con el protocolo evaluado. A continuación, espera las respuestas. Los resultados de la introducción de identificación de acceso son recogidos y se formula un resultado que es devuelto al componente de SOAP 52. Si el resultado de la validación no es satisfactorio, el usuario puede ser dirigido a una pantalla de aprovisionamiento más avanzada. En caso contrario, se crea el buzón de voz de fuente.
El Servidor 46 de Suceso es un procedimiento que actúa como una cola de mensajes para las notificaciones de HTTP procedentes de fuentes externas (ISP y SMC). Los mensajes son tratados de forma asíncrona para que no bloqueen la fuente. El tratamiento del mensaje implica despacharlo al servicio apropiado. El servidor de suceso se utiliza también internamente para enviar al exterior una petición de suscripción por medio de SOAP.
La Figura 7 ilustra una nueva petición de correo procedente de una fuente externa 96 que es entregada al representante de DA 42, así como una petición de suscripción procedente del Representante de DA 42 que es entregada al SOAP y a la fuente externa 96.
El Servidor de Suceso 46 es accesible desde la Internet, y se accede a él a través de una agrupación de BigIP. Con el fin de añadir capacidad, pueden añadirse instancias de Servidor de Suceso adicionales a la agrupación de BigIP. El número de instancias requeridas depende del número de usuarios que tienen fuentes susceptibles de suscripción.
Cuando el sistema es incapaz de acceder directamente a una fuente de correo externa (por ejemplo, un cortafuego corporativo), se utilizan el Conectador 100 de Correo y el Servidor de PWP 102 conjuntamente para acceder al buzón de correo. El conectador 100 de correo es una aplicación/servicio basado en Win32 que un usuario instala, como parte del procedimiento de integración de fuente, dentro de una red en la que es posible acceder a la fuente. Es capaz de acceder a un buzón de correo de intercambio a través de MAPI [Interfaz de Programación de Aplicaciones de Mensajes -"Message Application Programming Interface"], y a un buzón de correo de Lotus Notes a través de "Notes API". El Servidor de PWP 102 actúa como un punto de encuentro entre el Representante Universal (UP -"Universal Proxy") 44 y el Conectador 100 de Correo. El Conectador 100 de Correo se conecta, típicamente, a un Servidor de PWP 102 que aguarda tratar peticiones procedentes del UP 44. El Servidor de PWP garantiza que el conectador de peticiones y el UP, para una fuente dada, están hablando con el mismo Servidor de PWP. Es también responsable de distribuir las fuentes para todas las instancias del Servidor de PWP. Para las fuentes que requieren y utilizan el Conectador 100 de Correo, el Representante Universal 44 envía todas las peticiones de correo de HTTP al Servidor de PWP 102, conjuntamente con el GUID de PWP que identifica al cliente.
El representante universal 44 proporciona acceso a las fuentes de correo externas 48 a través de una interfaz de Correo de HTTP mejorada. El UP 44 da soporte a las siguientes fuentes de correo, en un ejemplo no limitativo:
a)
IMAP con implementaciones especiales para AOL/Compuserve, Yahoo;
b)
POP con implementaciones especiales para MSN, RPA, Gmail;
c)
Conectador de Correo para el acceso a Domino y Exchange;
d)
Hotmail; y
e)
Acceso de web a Outlook.
\vskip1.000000\baselineskip
El acceso a una fuente de correo está demarcado o delimitado por una Sesión de HTTP. Toda la información necesaria para acceder a la fuente de correo viene proporcionada por la petición inicial de la Sesión. Con el fin de traducir la petición de Correo de HTTP al protocolo apropiado, existe un conjunto de objetos denominados conectadores. Hay un conectador para cada tipo de fuente de correo.
El representante de DA 42 es el conducto para enviar un recibir correos electrónicos entre el motor 22 y las fuentes de correo integradas 48. De manera adicional, el representante de DA es el responsable de detectar correo nuevo procedente de fuentes de correo externas y de impulsarlo o hacerlo avanzar hasta el motor 22. Se utilizan tres mecanismos de detección para el examen, la suscripción al buzón de correo para notificaciones, y las conexiones permanentes a las fuentes.
También proporciona al motor el acceso a los datos de Usuario. Trata los mensajes de MFH para fuentes integradas (correo nuevo, respuesta, remisión, borrado). Y también hace avanzar libros de servicio hasta el motor.
El Representante de DA 42 proporciona una interfaz de HTTP sincrónica. Todas las peticiones de cliente son inmediatamente dispuestas en cola y respondidas por medio de una Respuesta de HTTP con la referencia 200. Cuando sea aplicable, la petición especifica una dirección de HTTP a la que debe ser enviada la "respuesta" en otra petición de HTTP. Cuando se envían peticiones por duplicado por el mismo componente, éstas se dejan caer una por una. Pueden manejarse diferentes peticiones de forma asincrónica por el representante de DA 42. Estas incluyen:
a)
Recuperación de información de usuario (Motor 22);
b)
Recuperación de mensaje procedente de una fuente integrada (Motor 22);
c)
Nueva notificación de correo desde fuente suscrita (Servidor 46 de Suceso);
d)
Envío de libros de servicio, Mensajes de PIN y Cambio de PIN (SOAP); y
e)
Asignación de Fuente (SAM) 60.
\vskip1.000000\baselineskip
El representante de DA 42 es el responsable de detectar activamente cambios en las fuentes asignadas a él por el Gestor de Asignación 60 de Fuente. El representante de DA mantiene un conjunto de fuentes 102 que organiza temporalmente para dar servicio. Cada fuente tiene un cierto nivel o grado de examen. Se realiza un menor examen para las fuentes que dan soporte a la suscripción o a una notificación basada en una conexión. La Figura 8 ilustra, a un nivel alto, los componentes de la detección de correo, incluyendo un organizador temporal 104 de fuente, destinado a organizar temporalmente diferentes fuentes 102, así como también un gestor 106 de suceso, como parte del representante de DA 42 y de las fuentes Libres de IMAP.
El examen de las fuentes se organiza temporalmente a intervalos regulares (habitualmente de 15 minutos). En ocasiones, se expedita un examen de fuente si la heurística determina que es probable encontrar nuevo correo. Existen tres tipos de exámenes. El "IgnorarExamenAntiguo" ("IgnoreOldPoll") trabaja como un examen que recupera todos los ID de mensajes procedentes de la fuente y los inscribe en la base de datos de Partición 58. El propósito de esto es impedir la detección de correo nuevo en ciertos puntos lógicos, tales como una fuente que se acaba de integrar o el usuario al que se ha levantado la suspensión.
El examen completo recupera todos los id de mensaje de un buzón de correo de fuente con el fin de realizar una reconciliación completa frente a todos los id de mensaje (UID) que han encontrado los exámenes previos. Para cada nuevo UID que se encuentra, el mensaje es recuperado y enviado al motor 22 para su entrega al dispositivo 38. Para los UID no encontrados (borrados), el UID es eliminado de la base de datos. Los nuevos UID son también inscritos en la base de datos. El representante de DA 42 lleva a cabo un examen completo en una fuente cuando se ha almacenado algo más que el valor en la base de datos desde el último examen completo, o cuando se ha inhabilitado un examen rápido para esta fuente.
El Examen Rápido recupera sólo una "página" de los ID de mensaje de fuente cada vez. Se detiene una vez que encuentra un UID que ya ha visto. Llegado a este punto, supone que ha encontrado todos los nuevos mensajes. Los nuevos mensajes son entonces recuperados y enviados al Motor 22 para ser entregados al dispositivo. No se inscriben nuevos UID en la base de datos.
Para los tipos de fuente que proporcionan soporte a un mecanismo de notificación a través de una suscripción (por ejemplo, Yahoo, Google), el representante 42 comprueba periódicamente que estas fuentes se han suscrito en correspondencia. Si una fuente se encuentra en un estado en el que debe haberse suscrito, se envía una petición de suscripción; en caso contrario, no se hace nada.
Algunos tipos de fuentes (IMAP IDLE) dan soporte a un mecanismo de notificación por medio de una conexión permanente a la fuente. El representante es el responsable de asegurarse de que estas conexiones se creen, gestionen y destruyan de manera apropiada.
El representante de DA 42 se comunica con el trabajador 24 a través de una interfaz de HTTP. El trabajador responde a la petición con una ACK [confirmación -"acknowledgement"] con respecto al éxito de la petición (por ejemplo, se ha aceptado de forma satisfactoria). Cuando se detecta nuevo correo, el representante de DA impulsa o hace avanzar un correo de cada vez, y aguarda a la ACK. Puesto que la ACK puede llevar algún tiempo, el hilo o vínculo de examen no es bloqueado en espera de la ACK. Si se da una NACK [no confirmación] para un mensaje, el representante de DA dejará de impulsar o hacer pasar el correo nuevo que se encontró, y tan sólo inscribirá los UID de correo impulsados con éxito en la base de datos. Para los propósitos de reintento, el representante de DA se asegurará de que se ha programado un examen para la fuente en un lapso razonable de tiempo (por ejemplo, en 15 minutos).
El representante de DA 42 no necesita acceder a la Internet, si bien accede a la base de datos de Partición 58, al SOAP 52, al Servidor 44 de Suceso, al Directorio 56, al Trabajador 24 y a su UP configurado 44 (por lo común, el anfitrión local). El representante de DA se ocupa de un número fijo de usuarios para una partición particular. El número de usuarios que un representante de DA puede manejar se calcula midiendo su rendimiento. Cuantos más usuarios se hayan asignado a una partición, más representantes de DA desplegará el sistema. La carga se distribuye uniformemente entre los representantes de DA a través de los componentes de Directorio.
Un Servidor de Despliegue de Recursos (RDS -"Resource Deployment Server") 64 permite que se desplieguen dinámicamente recursos específicos de marca y de lenguaje. Los recursos están compuestos, típicamente, de Juegos de Recursos de Java, archivos XSTL e Imágenes, si bien no están limitados por éstos. Cualquier archivo puede ser desplegado a través del RDS, siempre y cuando la ubicación especificada en el sistema de objetivo sea bien conocida (por ejemplo, directorio de plantilla, web-inf/clases, etc.).
Un paquete de despliegue de recursos consiste en un contenedor que contiene uno o más contenedores de recursos y un archivo descriptor que describe cada contenedor de recursos y el modo como ha de ser desplegado. En esencia, describe a qué directorio bien conocido se ha de expandir un contenedor de recursos, y qué versión de los recursos representa el contenedor de recursos.
Un Gestor de Sobremesa es una aplicación que proporciona una interfaz de usuario para la configuración de cuentas de correo electrónico. El cliente de Sobremesa proporcionado por el sistema "se enchufa" dentro del Gestor de Sobremesa y proporciona una UI específica para la configuración de fuentes integradas. Una API de Gestión proporciona una interfaz de SOAP para la creación de cuentas y para la integración de fuentes de correo electrónico. Un gestor de Sobremesa proporciona una interfaz de usuario para integrar y gestionar cuentas de correo electrónico. Se procurará un aprovisionamiento tanto simple como avanzado.
Cualesquiera apps [aplicaciones] manejadas en Java pueden utilizar TCP (HTTP) como su transporte. Esto permite el uso de API de dispositivo ya existentes que proporcionan y gestionan todos los aspectos del tráfico de TCP (HTTP) hacia y desde el dispositivo. Dentro del envoltorio de HTTP existirá un componente de datos de XML [Lenguaje de Etiquetado Extensible -"eXtensible Markup Language"].
Existen también dos aspectos del SMTP utilizado con el sistema. Los proveedores de servicios desean que el correo limitado exteriormente para sus usuarios vaya a través de sus servidores de SMTP 49. El sistema, según se ha descrito, quiere utilizar los servidores de correo de ISP para evitar problemas tales como el "marcado como correo-basura o spam". El sistema puede utilizar, y utiliza, en parte, su propio servidor de SMTP interno 77 para confinar exteriormente el correo en la actualidad. Los usuarios finales no siempre pueden saber o recordar sus servidores de SMTP cuando están configurando su buzón de correo integrado. La configuración del sistema hace posible la especificación de un servidor de SMTP 49 dada una combinación de protocolos de correo-acceso-servidor. Una vez que se ha integrado un buzón de correo, si la integración coincide con una combinación dada (servidor, protocolo), es posible utilizar el servidor de SMTP 49 especificado en la configuración. El sistema puede, potencialmente, utilizar otros parámetros en el futuro. Para proveedores de servicios que pueden especificar un servidor de SMTP, el sistema puede automáticamente utilizar sus servidores de SMTP 49 para sus usuarios. Los usuarios no tienen por qué pasar por etapas adicionales para configurar sus servidores de SMTP. Esta implementación trabajará automáticamente para buzones de voz de dominio soportado por el sistema anfitrión, ya que estos utilizan, típicamente, un servidor de acceso a correo específico del proveedor de correo. Cabe la posibilidad de implementar una evaluación automática de servidores de SMTP en el caso de que el sistema trate de enviar un correo electrónico a una dirección de servidor conocida, a través de un servidor de SMTP "evaluado", utilizando las credenciales de acceso a correo.
El sistema habrá configurado automáticamente el servidor de SMTP 49 incluso cuando el sistema no tenga una configuración preexistente. La lógica de evaluación puede incluir el usuario del servidor de acceso a correo de los usuarios o el servidor de mezcla de su dominio de correo de ID de correo electrónico (DNS). Es posible extender la solución para permitir a los usuarios especificar sus servidores de SMTP 49. Si el servidor-dominio del servidor de SMTP coincide con el servidor-dominio del servidor de acceso a correo, el sistema "aprenderá" esta información y tratará de utilizar esto para otros usuarios que también utilizan el servidor de acceso a correo.
Para los proveedores de servicios que pueden especificar un servidor de SMTP 49, el sistema utilizará automáticamente su servidor de SMTP para sus usuarios. Los usuarios no tienen por qué pasar por etapas adicionales para configurar sus servidores de SMTP. Esta implementación trabajará automáticamente para buzones de correo de dominio soportado en el sistema anfitrión, puesto que estos también utilizan un servidor de acceso a correo específico del proveedor de correo. El sistema puede también implementar una evaluación automática de servidores de SMTP cuando el sistema trata de enviar un correo electrónico a una dirección conocida a través de un servidor de SMTP "evaluado", utilizando las credenciales de acceso a correo. Si funciona, el sistema automáticamente configura el servidor de SMTP incluso cuando el sistema no tiene una configuración preexistente. La lógica de evaluación puede incluir el uso del servidor de acceso a correo de los usuarios o un servidor max de su dominio de correo de ID de correo electrónico (DNS).
Existen diferencias con la técnica anterior que utiliza el sistema como se ha descrito. Una versión del Outlook Express (terminal de sobremesa de correo de Windows en vivo -"Windows Live Mail Desktop") configura automáticamente un servidor de POP/SMTP para una dirección de correo electrónico dada, para ISP populares. El WLMD [terminal de sobremesa de correo de Windows en vivo -"Windows Live Mail Desktop"] se configura automáticamente en una dirección de correo electrónico de usuario. Una "KnowledgeBase" (Base de Conocimiento) para ISP popular es descargada de los servidores y utilizada cuando la dirección de correo electrónico del usuario coincide con la encontrada en la "KnowledgeBase".
El sistema entrega un protocolo de servidor de fuente integrada y un protocolo SMTP externo envía el correo electrónico. El sistema configura el servidor de SMTP 49. El usuario envía el correo y consulta el correo de envío externo del usuario del servidor de SMTP. El sistema se sirve de sus propios servidores de SMTP internos para enviar el correo electrónico, lo que permite al sistema configurar de forma preliminar un servidor de SMTP externo 49 para el envío del correo electrónico. La configuración se realiza de antemano con un proveedor de servicios y, una vez que se ha configurado cualquier sistema en forma de correo de envío, un usuario del dispositivo envía el correo a un servidor externo y el dispositivo mira en un servidor de SMTP externo para obtener la información necesaria. A diferencia del Outlook Express, dado que se trata de un servidor de acceso a correo, trata de hacerse una idea de qué servidor utilizar. El correo de sobremesa de Windows, por ejemplo, para Comcast, tiene una lista de servidores de SMTP populares (los ISP populares están también en la lista).
El sistema puede implementar servidores de invitado y utilizar lógica de averiguación automática.
El Soporte de SMTP de ISP puede ser añadido para obtener un conjunto configurable de ISP. El Soporte de SMTP de ISP puede dar soporte a una autorización basada en srcmbox.login (identificación de acceso.srcmbox) y en srcmbox.password (palabra de paso.srcmbox). El Soporte de SMTP de ISP puede dar soporte a conexiones por SSL [capa de conexión segura -"Secure Socket Layer"] cuando se configura.
La Figura 9 ilustra aspectos básicos de los componentes según se han descrito. Se ha ilustrado el representante de DA 42, que es susceptible de hacerse funcionar con el representante de UP 44 como un componente 52 de salida de servicio y SOAP, a modo de "Soapservlet", incluyendo una memoria caché. Se ilustra el proveedor 48 de servicios de correo, que es susceptible de hacerse funcionar con el representante de UP 44. Una tabla 112 de base de datos que forma parte del servidor y de la plataforma 40 de oficina móvil, se ha titulado "SmtpProviders" (Proveedores de Smtp), con datos enviados a la memoria caché del SOAP 52. El buzón de correo 114 de fuente ("Sourcemailbox") es susceptible de hacerse funcionar con el SOAP 52 para comunicarse en relación con el servidor y protocolo.
Puede haber una nueva tabla de base de datos y un procedimiento almacenado en la Base de Datos Central, "Soap Servlet" (Salida de Servicio de SOAP), Representante de DA ("DA Proxy"), UpServlet. La tabla 112 se ha añadido para permitir la configuración/especificación de sus servidores de STMP de ISP, conocida como "SmtpProvider". La tabla 112 de StmpProvider se utilizará para almacenar información de servidor de SMTP para un servidor/Nombre de Protocolo ("protocolName") del srcMbox 114. Si no se ha especificado en esta tabla un servidor/Nombre de protocolo para un srcMbox, se utilizarán los servidores de SMTP internos para enviar el correo.
Tal como se muestra en la Figura 9, la base de datos incluirá una tabla 112 de SmtpProvider y datos relativos al servidor, tales como el nombre de anfitrión ("hostname") o dirección de IP (Protocolo de Internet -"Internet Protocol") de servicio de correo de srcMbox; el Nombre de protocolo, tal como el protocolo de srcMbox utilizado por los ajustes de servidor especificado, incluyendo, como ejemplo no limitativo:
\vskip1.000000\baselineskip
bit 0: utilizar SSL
0 = no utilizar SSL;
1 = utilizar SLL;
bits 1-15: sin utilizar.
\vskip1.000000\baselineskip
Otra información de la tabla está relacionada con el "smtpServer" como nombre de anfitrión de servidor de SMTP, y con la "smtpPort" como, por ejemplo, puerta de SMTP (defecto = 25). Otros datos se referirán a ajustes, descripción y elementos de datos creados y modificados. Existirán procedimientos almacenados, tales como el "sSmtpProviderMapping" (establecimiento de relaciones de correspondencia de proveedor de sSmtp) que es utilizado por la Salida de Servicio de SOAP para seleccionar todas las filas de la tabla de smtpProvider.
El sistema modificará el "SendMessageHandler" (Gestor de Mensajes de Envío) para que incluya el smtpServer, la smtpPort, y el booleano de "useSSL" (utilizar SSL) en peticiones de envío de correo electrónico que son enviadas a la Salida de Servicio 52. El sistema modificará la Salida de Servicio de SOAP 52 de manera que incluya el smtpServer, la smtpPort y el booleano de useSSL en una respuesta "UserInfo" (información de usuario).
La salida de Servicio de SOAP 52 guardará en memoria caché los datos de Proveedor de SMTP hasta obtener un objeto único. Puede añadirse una orden de Gestor de Salida de Servicio ("clearSMTPProvCache" -"despejar la memoria caché de proveedor de SMTP") para permitir el refrescamiento dinámico de esta memoria caché sin que sea necesario un reinicio de la Salida de Servicio de SOAP. Los datos pueden ser almacenados en un Conjunto de relaciones de correspondencia ("Map") y, típicamente, no debe haber más de varios cientos de entradas en esta tabla.
El sistema proporciona soporte a una auto-configuración de buzón de correo integrado, dada una dirección de correo electrónico de usuario. Esto se hace utilizando el dominio de correo de la dirección de correo electrónico y confrontándolo con la base de conocimiento del sistema. El sistema construye su propia base de conocimiento basándose en la evaluación (en el dominio de correo) y en el aprendizaje de las integraciones anteriores. Para los proveedores de correo que dan soporte a los dominios albergados en el sistema anfitrión, existen diversos dominios soportados en el sistema anfitrión, cada uno de los cuales es utilizado por un pequeño conjunto de usuarios. Por otra parte, el dominio de correo del usuario puede no coincidir con el dominio de correo del servidor de acceso al correo. Por ejemplo, el ID de correo electrónico puede ser [email protected] y el servidor de acceso al correo electrónico puede ser server.register.com.
El sistema no trabajará para la mayoría de los usuarios de dominio soportados en el sistema anfitrión, ya que el conjunto de la audiencia es un mayor número de dominios, cada uno con un número más pequeño de usuarios, en oposición a un número mayor de usuarios para un número más pequeño dominios. La adición de una entrada de configuración a la base de conocimiento será también embarazosa, ya que el número de entradas aumentaría de forma explosiva.
El sistema simplifica la integración de dominios de correo soportados en el sistema anfitrión. El sistema mantiene una base de conocimiento de registros de MX [intercambio de correo -"mail exchange"] procedentes del DNS y se confronta con la base de conocimiento para recuperar la configuración de acceso al correo para ese buzón de correo.
Esto permite al sistema configurar automáticamente un buzón de correo integrado para todos los dominios soportados en el sistema anfitrión, pertenecientes a un ISP, con independencia de si otro usuario procedente de un dominio especificado soportado en el sistema anfitrión tiene integrado su buzón de correo. Esto también hace posible que la base de conocimiento únicamente contenga una entrada para todos los dominios soportados en el sistema anfitrión, pertenecientes a un proveedor de correo, lo que simplifica enormemente la base de conocimiento. El sistema puede utilizar, potencialmente, una solución similar también para la recuperación de servidores de SMTP (configuración de STMP limitada exteriormente frente a configuración de acceso a correo limitada interiormente), con lo que se amplía la solución a la configuración de otros servicios, no solo el acceso al correo. En el futuro, el sistema puede implementar la estimación basándose en patrones de registros de MX, si es que no hay coincidencias en la base de conocimiento. El sistema puede también aprender por sí mismo en la base de conocimiento, ampliando de esta la base de conocimiento. En el futuro, el sistema puede también extender las consultas a otros aspectos del DNS (o a algún otro servicio), y recupera del DNS la dirección de IP, realizando una consulta de PTR [pagar por leer -"pay to read"] para ver si va a un dominio diferente y utiliza un servidor dentro de ese dominio.
Un registro de intercambio de correo (MX -"mail exchange") puede constituir una entrada en una base de datos de nombres de dominio que identifica un servidor de correo que es responsable de hacerse cargo del correo electrónico para el nombre de dominio. Pueden introducirse diferentes registros de MX para cualquier nombre de dominio individual que esté utilizando más de un servidor de correo. Puede obtenerse la prioridad por un número de preferencia, el cual indica el orden en el que pueden utilizarse los servidores de correo. Esto permitirá la posibilidad de servidores de correo primario y de refuerzo. De esta forma, un registro de MX establece una relación de correspondencia de un nombre de dominio con una lista de servidores de intercambio de correo para ese dominio.
Otros tipo de relación de correspondencia desde un nombre hacia una dirección de IP es un registro de dirección (A -"address"), por ejemplo, del nombre de anfitrión a una relación de correspondencia de dirección de IP. Típicamente, en los registros de MX de la técnica anterior, el número de preferencia más pequeño tiene la prioridad más alta.
Debe comprenderse que, si bien el sistema de DNS proporciona soporte a diferentes tipos de sistemas de registro, el registro A es, típicamente, un conjunto de relaciones de correspondencia directas entre un nombre y una o más direcciones de IP. El registro de MX se utiliza, por lo común, para encaminar tráfico de correo electrónico, por ejemplo, para el encaminamiento de correos electrónicos de un nombre de dominio particular a un servidor particular que puede ser diferente del que se encuentra en los registros A. Típicamente, el registro de MX es un buen indicador de adónde está el servidor de nombre de dominio de correo electrónico encaminando el correo, y puede ser utilizado para comprobar si se produce una coincidencia, pero también para mejorar la lógica de estimación, tal y como se explicará más adelante. Si el registro de MX no coincide, podría haber un fallo y el sistema puede no tratar de autentificar, sino que pediría a un usuario que reintrodujera los parámetros de dirección de correo electrónico particulares. El sistema y el método pueden tomar una porción tras la @ y realizar una indagación de DNS en la Internet en busca de los registros de MX y A. Pueden extraerse un cierto número de registros de MX, de manera que se escoge el mejor para cumplir con lo aportado y determinar de qué servidor se ha de extraer el correo, especialmente cuando una compañía tiene varios servidores con diferentes registros de MX actuando como respaldos o refuerzos. Esto es importante para los nombres de dominio personalizados o de ostentación. Si existe un registro A, puede haber o no una introspección adicional en lo que se ha aportado, si bien en algunos casos puede utilizarse el registro A para determinar una dirección válida. Es también posible realizar diversas predicciones o pronósticos, según se explica más adelante. En caso contrario, se indica al usuario que se trata de una dirección no válida.
Se producen mejoras en el IMAP-Idle. El IMAP-Idle se describe en la RFC [Petición de comentarios -"Request For Comments"] 2177, la cual se incorpora aquí como referencia en su totalidad. Existen ciertas ventajas en cuanto a los límites de conexión de IMAP-Idle atendiendo a criterios basados en el usuario y a criterios basados en el servidor, así como ventajas para estos. Hay dos problemas que acomete esta mejora en el IMAP-Idle.
En primer lugar, un sistema principal o anfitrión único, tal como el AOL, puede tener una cantidad X de usuarios y permitir una cantidad Y de conexiones de TCP simultáneas (siendo X > Y). Si los X usuarios de AOL proporcionan soporte a IMAP-Idle, se realizarán intentos de conexión para los X usuarios, incluso aunque solo se dé soporte a Y conexiones. Si esto no se acometiera, otros sistemas anfitriones serían incapaces de realizar otras conexiones de TCP con el sistema anfitrión.
En segundo lugar, una cuenta de correo electrónico de IMAP de un único usuario tan solo puede dar soporte a una conexión simultánea de TCP. En el caso de que se utilice una segunda conexión para recuperar datos de usuario de la misma cuenta, la primera conexión o la segunda conexión pueden ser desactivadas o desconectadas con o sin aviso. Suponiendo que esto no se tuviera en cuenta, la integración de correo fallaría de forma indefinida.
Se ha implementado en el sistema un gestor de conexión de Java de IMAP-Idle, Debido a que hay tantos límites de conexión de TCP que varían de un dominio a otro, no es deseable establecer un límite de conexión de TCP limitado externamente y codificado en soporte físico para estos dominios. En lugar de ello, se introduce un gestor de conexión de IMAP-Idle con el fin de gestionar los fallos de conexión de IMAP-Idle. Si una conexión de IMAP-Idle sufre una anotación de fallo, la gestión por parte del gestor de IMAP-Idle se incrementa en uno hasta que alcanza un límite. Si se alcanza o supera el límite, la fuente se marca como "inhabilitada" para IMAP-Idle, de manera que la fuente no será conectada para establecer una conexión de IMAP-Idle. En consecuencia, si el dominio A tiene un límite D establecido y el sistema se conecta con éxito en el instante D, todos los intentos de conexión subsiguientes de IMAP-Idle y examen fallarán. Al marcar fuentes como no válidas para este tipo de conexión, se garantiza que todas las fuentes tienen acceso a este dominio. En el caso de que se cayese la conexión de IMAP-Idle, el sistema determina si se ha caído mientras estaba en progreso un examen de correo electrónico (conexión secundaria). Si es así, la cuenta se marca como "inhabilitada" para IMAP-Idle, de manera que no se realizarán suscripciones en la cuenta en el futuro, con lo que se preservan recursos y se mejora la experiencia de entrega de correo electrónico para el usuario.
La definición de IMAP-Idle establece que el servidor de IMAP presenta visualmente el término IDLE cuando se pregunta al servidor por las capacidades a las que da soporte. Si el servidor afirma dar soporte a IMAP-Idle pero no consigue entrar en el estado IDLE, el sistema trata, de forma continua, de establecer conexiones de IMAP-Idle cuando una no es posible. Se ha implementado un gestor de IMAP-Idle que comprueba el resultado de la tentativa de establecer una conexión de IMAP-Idle. Si la conexión falla X veces seguidas, la característica de IMAP-Idle será inhabilitada, de tal manera que el sistema puede dejar de intentar conectarse a un servicio al que no se da soporte o que se ha configurado incorrectamente.
Son éstos casos en los que el servidor de correo electrónico informa de las capacidades IDLE de IMAP pero no consigue entrar realmente en el estado IDLE. En este caso, el gestor de IDLE de IMAP efectuará un seguimiento del número de intentos de establecer una conexión de IDLE de IMAP con ese servidor y, si el fallo supera un umbral previamente especificado, entonces el sistema puede dejar de tratar de conectarse a un servicio al que no se ha proporcionado soporte.
El entorno de examen del sistema puede tratar de examinar la cuenta en un intervalo razonable, esperando encontrar nuevos mensajes de correo. Si el nuevo correo está disponible, es descargado y enviado al usuario a través de su dispositivo. Si esta cuenta es susceptible de ser suscrita (se da soporte a IMAP-Idle), el sistema puede reducir la cantidad de conexiones y de intentos de conexión con el sistema anfitrión, el cual no acepta elevadas tasas o velocidades de conexión. El sistema puede minimizar la cantidad de datos enviados a través de la Internet y produce un sistema de entrega rápida del correo electrónico.
La conexión de IMAP-Idle es capaz de supervisar la cuenta con respecto a los cambios que se producen y cargar de inmediato nueva información cuando se presenta un suceso. Esto permite que el sistema se salte exámenes vacíos o sin contenido (innecesarios) para una fuente que no ha recibido ningún correo nuevo. El salto de las consultas o exámenes ahora transferencia de datos y cualesquiera tentativas de conexión o conexión de TCP innecesarias, así como también entrega de correo electrónico de forma inmediata o en tiempo real. Esta implementación se centraliza y representa como una suscripción, en contraposición a los sistemas PALM y MS, que están basados en el dispositivo y en la aplicación.
El IDLE de IMAP es una expansión o ampliación opcional del protocolo de acceso a correo electrónico de IMAP que permite al servidor enviar actualizaciones de mensaje nuevo al cliente en tiempo real. En lugar de hacer que se compruebe el programa de correo electrónico del sistema en busca de correo nuevo cada pocos minutos, el IDLE de IMAP permite al servidor notificar el programa de correo electrónico una vez que han llegado nuevos mensajes. El sistema puede ver el correo entrante de inmediato. El uso de IDLE de IMAP es conocido. Sin embargo, la diferencia con respecto al PALM es que el sistema implementa este en el sistema, al igual que con el representante de DA 42, no en el dispositivo.
Los servidores de IMAP se ajustan para permitir una conexión de TCP de 30 minutos antes de que puedan desconectarlos de acuerdo con el FRC de IMAP. Si el sistema ha de mantener una conexión de IMAP-Idle indefinidamente, debe encontrar un método para evitar esto sin perderse nuevos sucesos de correo producidos por la conexión de IMAP-Idle entretanto. Debido a que se conocen diversos dominios de Internet para desconectar conexiones de TCP antes de 30 minutos, el sistema se vuelve a suscribir cada X minutos, siendo X susceptible de reconfigurarse. A fin de suscribir el sistema rápidamente, este genera una "recogida y carga de datos" con el fin de comprobar si se ha recibido correo nuevo antes de reentrar en el IDLE (estado suscrito o abonado). Esto garantiza que la conexión se mantiene viva y que no se pierden nuevos sucesos de correo electrónico.
De acuerdo con ejemplos no limitativos, el protocolo de IMAP es actualizado con una nueva orden IDLE, con cuya utilización los clientes se sitúan en un modo "libre". En este modo, un servidor de IMAP envía cambios de buzón de correo a modo de respuestas no etiquetadas al cliente "libre", tal como cuando se añaden nuevos mensajes o cuando son borrados. Los clientes se salen de este modo "libre" emitiendo un "DONE" (HECHO).
La MOP 40, como servidor de Acceso Directo, proporciona soporte en la actualidad a un modelo de suscripción/notificación para entrega de correo en tiempo real. En este modelo, un buzón de correo - proveedor notifica a la MOP de cuándo lleva un correo nuevo a un buzón de correo. No existe ninguna conexión persistente entre la MOP 40 y el proveedor de correo.
Al dar soporte a IDLE de IMAP, la MOP 40 puede facilitar a los proveedores de correo dar soporte a la entrega de correo en tiempo real. A fin de dar soporte a IDLE de IMAP, la MOP necesitará mantener una conexión persistente con el proveedor de correo. La conexión utilizada en esta implementación de IMAP-Idle se utilizará tan solo para detectar nuevo correo y notificar que la fuente relacionada está lista para ser examinada. Todos los trabajos previos de MTH y de MFH permanecen como trabajo completado por la cola de trabajo del representante de DA y por su salida de servicio de UP. El sistema da soporte a notificaciones en tiempo real para todas las fuentes de IMAP que proporcionan soporte a la capacidad de IDLE.
Las suscripciones externas son suscripciones persistentes hechas con proveedores de correo externos tales como Yahoo y Gmail. Se producen fallos de identificación de acceso de Idle después de haberse recibido un intento de introducción de identificación de acceso no válida que trata de inicializar una conexión de IMAP-Idle. La recepción de este fallo aumentará en uno el cómputo de fallos de introducción de identificación de acceso ya existente.
Un cómputo de fallos de suscripción libre incluirá todos los errores relacionados con la conexión y con órdenes cuando se trata de establecer un estado libre o inactivo para una fuente de IMAP particular. Típicamente, no se incluyen en la cuenta características de la identificación de acceso.
Con el fin de dar soporte a IDLE de IMAP, el sistema mantendrá una "ConexiónLibreImap" ("ImapIdleConnection") 120 para cada usuario en el Representante de DA 42, según se muestra en la Figura 10.
La ConexiónLibreImap 120 descubre la presencia de nuevo correo y esto desencadena o dispara el mecanismo de examen normal que pasa por la Salida de Servicio de UP, la cual seguirá siendo utilizada para el examen y para todas las operaciones de MFH. La creación de ConexionesLibresImap 120 en el Representante de DA ayuda a que el sistema de examen contenido en el Representante de DA mantenga el seguimiento de estas conexiones para cada fuente. Una "BombaES" ("IOPump") 122 sirve como gestor de conexión para todas las ConexionesLibresImap 120.
A diferencia de las suscripciones externas que se conservan en la base de datos, las suscripciones de IMAP-Idle se consideran transitorias y se encuentran solo en la memoria del Representante de DA.
El Organizador Temporal 104 de Fuente y el Representante de DA mantienen el seguimiento de las suscripciones IDLE de IMAP. A diferencia de las suscripciones externas, que se mantienen en la tabla de SrcMbox con un "Idsuscripción" ("subscriptionId"), estas suscripciones se encuentran en la memoria. Una vez que se ha realizado un examen con éxito, el Organizador Temporal 104 de Fuente determina si una fuente capaz de IMAP-IDLE no ha sido aún suscrita. El Organizador Temporal de Fuente 104 crea una ConexiónIdleImap para este buzón de correo 114 de fuente, e inicia el procedimiento de suscripción. Las fuentes que se marcan con "inhabilitarSuscripción" ("disableSubscribe") 115 no se suscribirán.
Después de cada examen, el Organizador Temporal 104 de Fuente actualiza la suscripción en una ConexiónLibreImap. Las actualizaciones a una "MarcaAguaalta" ("highWaterMark"), tal como se muestra en el diagrama de flujo de la Figura 11, permiten a la ConexiónLibreImap descubrir apropiadamente los nuevos mensajes cuando se cierra una conexión "libre". Adicionalmente, esto permitirá que una ConexiónLibreImap recoja cualesquiera cambios en el buzón de correo de fuente como actualizaciones en los datos de buzón de correo de fuente, tales como el servidor/usuario/palabra de paso.
La Figura 11 ilustra introducción de identificación de acceso, determinación e IDLE con el fin de mostrar la conexión de IMAP-Idle a la hora de descubrir nuevos correos.
Es posible realizar una optimización para las fuentes de IMAP-IDLE, a fin de cambiar de inmediato el "siguienteExamen" ("nextPoll") a después de 6 horas. Para las suscripciones externas, el sistema puede cambiar el siguienteExamen solo después del siguiente examen si quiere captar cualesquiera correo nuevos entre el último examen y una petición de suscripción con éxito. La ConexiónLibreImap es capaz de descubrir cualquier nuevo correo desde el último examen. Como resultado de ello, es posible realizar esta optimización.
Si el Organizador Temporal 104 de Fuente descubre que una fuente no debe ser consultada o examinada ya más, se lo notifica a cualquier ConexiónLibreImap 120 existente para que detenga cualesquiera notificaciones adicionales y limpie o despeje la ConexiónLibreImap.
Se le notifica al Organizador Temporal 104 de Fuente acerca de cuándo la ConexiónLibreImap 120 descubre nuevo correo en el buzón de correo. El Organizador Temporal de Fuente organiza temporalmente un examen al recibir dicha notificación. En el caso de que la ConexiónLibreImap 120 no pueda ponerse en el modo libre, le notifica al Organizador Temporal de Fuente que la suscripción ha fracasado. Algunos de los fallos son fallos de identificación de acceso Libres y el resto son fallos de suscripciones Libres.
Tal como se muestra en el diagrama de flujo de la Figura 11, para utilizar la conexión de IMAP-Idle 120, el Organizador Temporal 104 de Fuente debe primero determinar si la Fuente de IMAP es susceptible de ser suscrita. Con el fin de determinar esto, el Representante de DA realiza una llamada de vuelta al Organizador Temporal de Fuente una vez completado un examen para esta fuente. La llamada de vuelta lista nuevas propiedades tales como la marca de agua alta y la susceptibilidad de suscripción.
Si ocurre que la fuente es susceptible de suscribirse, entonces el organizador temporal de fuente creará un nuevo trabajo de suscripción y lo añadirá a la cola de tratamiento de Representante de DA. Estos trabajos son manejados por los gestores de suscripción y de reversión de la suscripción.
La primera tarea de los gestores es determinar el recurso que se ha de utilizar para completar su trabajo. Para la ConexiónLibreImap, ese recurso es el Organizador Temporal de Fuente. El gestor hace una llamada al Organizador Temporal de fuente con el fin de suscribir o abonarse a esta fuente específica, y se proporciona un código de respuesta para el éxito o el fracaso de ese procedimiento, tal como se muestra en la Figura 11.
Se realiza una llamada de vuelta al completarse el trabajo de suscripción. En el caso de que la suscripción haya tenido éxito, la etiqueta o indicador de disponibilidad de suscripción se anulará y se marcará la fuente como una fuente suscrita.
La Figura 12 es un diagrama que muestra el organizador temporal 110 de fuente y la cola de examen 140 cuando una fuente ya ha sido marcada como disponible para suscripción por la llamada de vuelta previa desde el examen al Organizador Temporal de Fuente. La cola de examen 140, se ilustran la cola de trabajo 142 de representante de DA y el servidor 144 de nombre, que trabajan conjuntamente, tal como se muestra.
Si una ConexiónLibreImap 120 se encuentra con un error de conexión o un error a la hora de emitir órdenes, le notifica al Organizador Temporal 104 de Fuente que la suscripción ha fallado al devolver un fallo de suscripción libre. El Organizador Temporal de Fuente mantiene el seguimiento del error y hace que el siguiente examen se dirija a esa fuente dentro de 15 minutos desde el último examen. Si el "Cómputofallos" ("failureStreak") para este error supera un límite considerable, esta fuente se marcará con un bit de ajuste de "inhabilitarSuscripción" ("disableSubscribe").
En el caso de que la ConexiónLibreImap descubra un fallo de introducción de identificación de acceso, devuelve un fallo de identificación de acceso libre al Organizador Temporal de Fuente. El Organizador Temporal de Fuente incrementa el cómputo existente de fallos de identificación de acceso en la fuente. Cualquier fuente con un Cómputofallos > 0 no será susceptible de suscripción. Los fallos de identificación de acceso no tendrán como resultado un bit de "inhabilitarSuscripción" permanente.
Algunas implementaciones del protocolo de IMAP exhiben una situación de competencia o carrera. Si un buzón de correo recibe un correo nuevo después de que el cliente se haya situado en un estado seleccionado y antes de que se haya emitido una orden libre, el sistema devolverá una respuesta de "existe" carente de indicador o etiqueta, indicando la presencia de un nuevo correo. La Figura 13 ilustra un diagrama de flujo del método.
El sistema mitiga esto al emitir de forma inmediata una orden "libre" una vez que el sistema recibe una repuesta para una orden de "recogida y carga de datos". El sistema reconoce la respuesta de "recogida y carga de datos" de forma asincrónica después de que se haya emitido la orden "libre". La situación de carrera no se evita por completo, sino que se reduce a un intervalo muy corto, que se espera sea de menos de un segundo.
Este problema se mitiga adicionalmente por el mecanismo originalmente diseñado para restablecer temporizadores de vencimiento de IMAP. A fin de restablecer el temporizador de vencimiento, el objeto de ConexiónLibreImap emitirá un "HECHO", para salir del estado de funcionamiento libre de IMAP, seguido de un "FETCH" ["recogida y carga de datos"] para restablecer el temporizador y comprobar si se ha recibido nuevo correo. Si se perdió correo durante la situación previa de carrera o como consecuencia de una implementación libre defectuosa, será captado aquí. Esto se llevará a cabo cada 5 minutos, pero será susceptible de configurarse.
El Organizador Temporal de Fuente mantiene un seguimiento del nuevo correo descubierto en las reconexiones. Si descubre sucesivamente correo nuevo solo al reconectarse y llega hasta un límite configurable (valor por defecto es de 0 a infinito), realiza una llamada de vuelta al Organizador Temporal de Fuente (él mismo), inhabilitando la suscripción, y marca adicionalmente "inhabilitarSuscripción" de la fuente. En notificaciones de correo nuevo, la ConexiónLibreImap informa al Organizador Temporal de Fuente sobre si el hallazgo procede de una reconexión (examen) o de una notificación libre.
Estableciendo el valor por defecto en infinito, la conexión existente proporciona una alternativa de examen más ligera y es, por tanto, aún aceptable.
Si el Organizador Temporal de Fuente descubre correo nuevo durante los exámenes de reserva, mantiene el seguimiento de los cómputos de "nuevoCorreoEnReserva" ("newMailOnFallback"). Si llega a un máximo configurable, a fuente de IMAP-Idle se marcará con "inhabilitarSuscripción", que se mantiene en la base de datos. Para las suscripciones externas, se deshará la suscripción de estas y se volverán a suscribir en un siguiente examen. El valor por defecto para este límite es 3.
De manera adicional, para mejorar la experiencia del usuario, el Organizador Temporal de Fuente cambia el siguiente examen por el valor por defecto de 15 minutos cuando se halla nuevo correo en un examen de reserva. Para las suscripciones externas, se deshará la suscripción de estas y se volverán a suscribir en la siguiente consulta o examen. El sistema puede, por tanto, encaminarse cuando las suscripciones quedan fuera de sincronismo.
Si un proveedor de correo restringe el número de conexiones permitidas, el sistema hallará estas limitaciones como fallos de conexión normales, lo que tiene como resultado que se marca el buzón de correo como "inhabilitarSuscripción". Esto es también válido para el AOL.
Similarmente a los POP [Protocolos de Oficina de Correos -"Post Office Protocols"], los servidores de IMAP pueden también devolver errores "de buzón de correo bloqueado". Si la ConexiónLibreIMAP devuelve un error de "buzón de correo bloqueado", se deshace o revierte inmediatamente la suscripción de la fuente y esta se marca como "inhabilitarSuscripción". Por otro lado, si se devuelve como error "buzón de correo bloqueado" durante los exámenes normales, el Organizador Temporal de Fuente lo reconoce y, si hay una ConexiónLibreImap ya existente para la fuente, deshace la suscripción de esta, y marca la fuente con "inhabilitarSuscripción".
Si una conexión de IMAP-Idle está desconectada mientras el organizador temporal de fuente está tratando una nueva notificación de correo, el organizador temporal incrementará el cómputo de fallos de suscripción de IMAP y proseguirá con la siguiente fuente. Suponiendo que el examen ha tenido éxito, la fuente será marcada como disponible para suscrición o no disponible para suscripción por el mecanismo de consulta o examen. Si el examen no ha tenido éxito, el organizador temporal de fuente continuará examinando esta fuente cada 15 minutos.
Si falla una conexión de examen mientras existe una conexión de IMAP-Idle, el organizador temporal deshará la suscripción de la fuente, incrementará el cómputo de fallos y expedirá el examen. Al proporcionar un mecanismo para restablecer o restituir los cómputos de fallos, el sistema no incurrirá en problemas a largo plazo y encontrará todas las fuentes en "inhabilitarSuscripción".
El sistema puede evitar la situación de carrera de IMAP-Idle utilizando otra conexión para comprobar si hay nuevos correos una vez que las conexiones de IMAP-Idle se han situado en un modo libre. Esto puede hacerse también desencadenando un examen adicional cada vez que se entra en el modo libre. Algunos servidores pueden cerrar los servidores mucho más a menudo, y el sistema no necesariamente quiere realizar un examen en cada cierre de conexión. El sistema entra en un modo libre cada vez que se cierra una conexión. El sistema puede emitir órdenes de "recogida y carga de datos" y de "funcionamiento libre" de forma simultánea, con lo que se reduce aún más el estado
de carrera.
La supervisión de IMAP-Idle se utiliza para supervisar la salud de la característica. Los siguientes campos permitirán a un gestor determinar si un organizador de fuente particular es capaz de abonarse a fuentes de IMAP y cómo fluctúa la cantidad de suscripciones (errores recibidos) durante los intervalos de examen. Puede hacerse un seguimiento de diferentes campos, tales como:
número de conexiones libres (acumulativo);
tiempo para suscribirse (acumulativo);
número de peticiones de suscripción (acumulativo);
nueva notificación de correo - libre (acumulativo);
nueva notificación de correo - reconexión (acumulativo);
fallos de identificación de acceso (acumulativo);
buzón de correo bloqueado (acumulativo);
conexiones perdidas (acumulativo);
órdenes de IMAP fallidas (acumulativo);
pérdida de estado libre (acumulativo);
examen fallido (acumulativo); y
cuántos bits de inhabilitarSuscripción se establecieron (acumulativo).
\vskip1.000000\baselineskip
En lo que sigue se dan más detalles referentes al examen y detalles relativos a las notificaciones de estado fuera de cobertura con el fin de ahorrar recursos en el Representante de DA.
La MOP 40 y los trabajadores 24, según se muestra en la Figura 15 y se explica con mayor detalle más adelante, interactúan para suspender el examen de fuentes de correo electrónico basándose en el hecho de que los dispositivos de usuario se encuentran fuera de cobertura o han sido apagados o desconectados. Esto permite evitar un examen innecesario cuando un usuario o usuaria no puede, en cualquier caso, recibir su correo. Sin embargo, los problemas se presentan a la hora de designar un abonado como fuera de cobertura, en tanto en cuanto las notificaciones a los trabajadores 24 de situación en cobertura o fuera de cobertura pueden no llegar en orden. Es más, existe la posibilidad de que tales notificaciones se pierdan, tal como ocurre cuando hay un suceso de fallo de trabajador. Una operación especial de examen "seguro frente a fallos" ("failsafe") para fuentes que están fuera de cobertura, permite a los trabajadores corregir el estado de MOP si se produce una situación de error o "situación de carrera" que no se había detectado de otro modo.
Debe comprenderse que existen constantemente fuentes que son atribuidas a una cuenta cuyo dispositivo de mano está fuera de cobertura (o desconectado). En la actualidad, estas fuentes siguen siendo examinadas en busca de correo nuevo incluso cuando se encuentran fuera de cobertura. Este examen no es útil, ya que no se puede entregar el correo al dispositivo cuando este se encuentra fuera de alcance. En consecuencia, el examen consume anchura de banda y utiliza los recursos del sistema innecesariamente.
\newpage
\global\parskip0.900000\baselineskip
De acuerdo con ejemplos no limitativos, el organizador temporal 104 de fuente recibe una petición de contención de retransmisión por medio del Representante de DA 42 para cada dispositivo 38 que se encuentra fuera de cobertura. El propósito de manejar peticiones de contención de retransmisión en la MOP es:
1) ahorrar anchura de banda y no examinar fuentes que están fuera de cobertura;
2) reanudar el examen de fuentes cuando un usuario vuelve a estar en cobertura; y
3) reducir el número de mensajes que deben guardarse en la memoria caché del disco de los trabajadores.
\vskip1.000000\baselineskip
Un dispositivo 38 que entra y sale de cobertura (esto podría suceder si alguien se encuentra cerca de una señal débil) tiene como resultado que se producen las peticiones de contención de retransmisión con relativa frecuencia para el trabajador. No hay seguridad de que estas peticiones no queden fuera de servicio alguna vez a lo largo del recorrido o camino hasta el trabajador 24. Por otra parte, la naturaleza asincrónica del motor 22 de cliente de web, la MOP 40 y los protocolos de retransmisión ubicados dentro del retransmisor 34 se encaminan a un número ilimitado de frecuencias y magnifican la posibilidad de una situación de carrera entre las notificaciones fuera de cobertura y las notificaciones dentro de cobertura. El trabajador 24 necesita, bien mantener las notificaciones en un sincronismo o bien detectar y desestimar cualesquiera notificaciones fuera de sincronismo.
Existe también el problema de un suceso de fallo de un trabajador, con el que se da la posibilidad de que la notificación dentro de cobertura procedente del retransmisor 34 se "pierda" y la MOP 40 no reciba la notificación. Si no hay mensajes en su cola de trabajo cuando el trabajador vuelve a estar en línea, éste no marcará la cola como dentro de cobertura y, por lo tanto, no los enviará a la MOP en una notificación dentro de cobertura. En este caso, la fuente seguirá estando marcada como fuera de cobertura en la MOP y, potencialmente, nunca será examinada en busca de un correo de fuente entrante. Esencialmente, el problema es que el trabajador 24 únicamente tiene conocimiento de los usuarios que tienen mensajes que se están tratando. Si, por alguna razón, se han completado todos los trabajos existentes en el trabajador pero la MOP tiene el usuario etiquetado como fuera de cobertura, no hay forma de que el trabajador 24 sepa a quién ha de examinar o consultar el estatus (el usuario no existe por lo que respecta al trabajador). El trabajador únicamente solicita al usuario información cuando entran en el sistema nuevos trabajos. En este "caso de situación de carrera" no llegará correo nuevo porque la MOP ha dejado de examinar y el usuario seguirá estando marcado como fuera de cobertura.
A fin de evitar la situación que se acaba de describir, la MOP 40 lleva a cabo periódicamente un "examen seguro ante fallos" para todas las fuentes susceptibles de ser examinadas y que se encuentren fuera de cobertura (una fuente susceptible de ser examinada no está suspendida ni de otro modo inhabilitada). En otras palabras, el trabajador 24 corregirá la MOP en el caso de que se haya producido una situación de carrera o una situación de error que no se detectase de otra manera.
Un modo de hacer esto es de tal manera que el Representante de DA de MOP 42 examine el trabajador para saber su estatus de fuera de cobertura. Este examen es desencadenado por el intervalo de examen para el buzón de correo de fuente, por parte del organizador temporal 104 de fuente. Si el trabajador sabe que este usuario se encuentra aún fuera de cobertura, informará de ello como tal en cualquier caso, esto es, está enviando mensajes a un usuario dentro de cobertura o no tiene conocimiento del usuario en absoluto, e informará de un estatus fuera de cobertura. Esta solución tiene las siguientes ventajas: a) en la mayoría de los casos, el flujo/examen de correo se reanudará inmediatamente tan pronto como el usuario vuelva a estar en cobertura, b) si el sistema se pierde notificaciones o queda fuera de servicio, el sistema tendrá un examen seguro ante fallos que pueda descubrir/notificar estatus y sincronizarse de forma relativamente rápida en caso necesario, y c) en el caso de que un trabajador sufra un fallo, el Representante de DA examinará el trabajador 24 al que se reasignará el usuario situado fuera de cobertura, y el trabajador informará del estado en cobertura, ya que no sabe nada acerca de este usuario.
La base de datos 58 de partición pone un sello temporal en cada fuente, que especifica la última vez que se cambió la fuente. Se proporcionan dos indagaciones. La primera indagación simplemente devuelve la lista completa de fuentes dentro de la partición y puede utilizarse un sello temporal en la segunda indagación. La segunda indagación, dado un sello temporal desde la última indagación, devuelve todas las fuentes cambiadas desde la última indagación, y otro sello temporal destinado a utilizarse en la siguiente indagación.
A continuación siguen detalles de la MOP 40 relativos al examen, a fin de comprender mejor el procedimiento de notificación de situación fuera de cobertura.
El Gestor de Asignación 60 de Fuente es un servicio del nivel de partición, que es el responsable de garantizar que se está dando servicio a todas las fuentes de una partición.
El SAM [Gestor de Asignación de Fuente -"Source Assignment Manager"] 60 mantiene una lista de todas las fuentes pertenecientes a su partición configurada. Para cada fuente contenida en la lista, efectúa un seguimiento de datos relativos a la identificación de forma unívoca de cada fuente. Por otra parte, se efectúa un seguimiento de la asignación de Representante de DA 42 y de la asignación de nodo de directorio con el fin de hacer posibles las notificaciones de reasignación y/o disminuir las notificaciones de reasignación debido al Representante de DA y al fallo de directorio.
\global\parskip1.000000\baselineskip
Se realiza también el seguimiento de un sello temporal. El sello temporal es un valor devuelto por la base de datos y que puede ser utilizado para recuperar fuentes que se han cambiado desde el último examen. El SAM mantiene el "SrcMboxId" y el "MboxAcctId", además del PIN y el "IdLibroServicio" ("ServiceBookId") ya que el "SrcMboxId" y el "MboxAcctId" el son propiedades de una fuente, en contraposición al PIN y al IdLibroServicio, y ayudan al SAM a verificar la identidad de una fuente después de que haya cambiado un pin o número de identificación personal.
Cuando se inicia el sistema, es responsabilidad del Gestor de Asignación de Fuente (SAM) comenzar la asignación de todas las fuentes a representantes de DA. Lo que sigue es una secuencia de las etapas para asignar todas las fuentes:
1) Registrar en el Directorio las notificaciones de sucesos. El SAM registrará los sucesos de DA y de fallo de directorio.
2) Apelar a la DB [base de datos -"database"] de la partición para adquirir una lista de todas las fuentes existentes. La base de datos también devolverá una etiqueta o sello temporal que puede ser utilizado para indagar acerca de cualesquiera fuentes nuevas o cambiadas.
3) Para cada fuente, apelar al Directorio de uno o más lotes con el fin de obtener asignaciones de Representante de DA y guardar en memoria caché esta información.
4) Agrupar las fuentes por el Representante de DA al que se hayan asignado.
5) Realizar una llamada por lotes a cada Representante de DA que contiene fuentes asignadas.
6) Cada Representante de DA, al recibir las asignaciones, añade las fuentes a su cola de fuentes.
\vskip1.000000\baselineskip
Periódicamente, el SAM 60 preguntará a la base de datos por todas las fuentes que son nuevas o se han cambiado, utilizando el sello temporal que se devolvió en respuesta a la indagación realizada al comienzo. Expenderá entonces notificaciones al representante de DA para cada una de estas fuente. Este paso es necesario para "garantizar" que se están examinando todas las fuentes. Por defecto, se llevará a cabo un barrido cada 15 minutos desde el barrido previo. Este intervalo será configurable. El SAM guardará en memoria caché la información de asignación de Representante de DA. Las ventajas de hacerse con esta información son como sigue:
1) En el caso de un fallo de Representante de DA, le permite al SAM realizar una consulta en directorio solo para las fuentes asignadas al Representante de DA que ha fallado. En caso contrario, el SAM tendrá que efectuar una consulta en base de datos para encontrar las fuentes que han cambiado desde la última indagación, utilizando el sello temporal devuelto por la última indagación.
2) En el caso de un fallo de Directorio, le permite al SAM sugerir al directorio con qué Representante de DA debe establecer una relación de correspondencia para cada fuente con el fin de reducir la cantidad de reasignación.
3) En ambos tipos de fallos (Representante de DA y Directorio 56), se evita un conflicto entre bases de datos para encontrar todas las fuentes cambiadas desde el último sello temporal en la partición, puesto que la información está guardada en la memoria caché. El Representante de DA 42 es el responsable de dar servicio a, y gestionar, las fuentes que le han sido asignadas por parte del SAM 60. El Organizador Temporal 104 de Fuente gestiona y da servicio a las fuentes y puede iniciar las suscripciones. El Organizador Temporal 104 de Fuente mantiene todas las fuentes que se han de examinar en una cola de prioridad basándose en una pila de prioridades. La cola está siempre ordenada en el orden en que se han de examinar las fuentes. La cabecera de la cola es el último elemento con respecto al ordenamiento especificado, que es "nextPollTime" ("siguienteTiempoExamen").
\vskip1.000000\baselineskip
El organizador temporal tomará cada fuente de la cabecera de una cola, a fin de examinarla, ajusta su "TiempoúltimaRecogida" ("lastPickedTime") como "Ahora" ("Now") y se presenta a la cola de tratamiento. Calculará entonces el siguienteTiempoExamen y lo insertará de vuelta en la cola. La fuente también se marcará como "en progreso". Una vez que se ha completado el trabajo de examen por parte del DA, llamará de vuelta al organizador temporal para que informe de la ultimación del tratamiento utilizando el método de interfaz de resultadoExamen ("pollResult") (). La llamada de vuelta se utilizará para despejar o poner a cero el estado "en progreso" de la fuente. Si una fuente que está aún "en progreso" llega a tener que examinarse, esto significará que el Representante de DA está corriendo por detrás y no ha llegado todavía a las proximidades del último trabajo de examen, y será empujado de vuelta a la cola con un nuevo siguienteTiempoExamen.
Una fuente será sometida a la cola de tratamiento de Representante de DA para su examen en el caso de que tenga un siguienteTiempoExamen <= Ahora. En caso contrario, el organizador temporal permanecerá libre o inactivo. Dicha situación indicará que el sistema está corriendo por delante de su organizador temporal de examen. En lugar de permanecer libre o inactivo, el organizador temporal puede permitir que continúe el examen, incluso si este está corriendo por delante. Sin embargo, con el fin de evitar intentos de examen demasiado frecuentes a los servidores remotos, puede definirse una propiedad que especifique cuán lejos por delante puede correr el sistema. Por ejemplo, si esta se ajusta en 5 minutos, garantizará que hay al menos 10 minutos entre dos exámenes sucesivos, suponiendo que se ha establecido el intervalo de examen normal en 15 minutos; es decir, las fuentes con (siguienteTiempoExamen - tiempoCarreraPordelante ("runAheadTime")) <= Ahora se organizarán temporalmente para su examen.
El procedimiento de "expedir" un examen en una fuente significará desplazar la fuente hacia la cabecera de la cola con el fin de que sea examinada antes de su siguiente examen programado u organizado temporalmente. Para las cuentas "no válidas" que cambian su estado a "válidas" debido a acciones externas, esto significará desplazar el siguienteTiempoExamen a "ahora", en tanto que para fuentes que han visto correo nuevo en el examen en curso en ese momento, significará desplazar el siguienteTiempoExamen a "ahora + x", donde x es, póngase por caso, 3 minutos.
El representante de DA recibe notificaciones del Gestor de Asignación de Fuente, el cual especifica una lista de fuentes que añadir, eliminar o actualizar desde el organizador temporal de fuente. La notificación puede también especificar que se trata de una notificación "de refresco", por cuanto que listará todas las fuentes a las que se ha de dar servicio por parte del Representante de DA, lo que significa que la lista vigente en ese momento de fuentes a las que se está dando servicio debe ser eliminada. La notificación "de refresco" será utilizada por un SAM de refuerzo cuando asuma las funciones del SAM primario debido a un fallo. Se utilizará el método de interfaz notificaciónDesdeSAM ("notificationFromSAM") () para actualizar el organizador temporal en este caso.
Las notificaciones de "NuevoCorreo" ("NewMail") procedentes del ServidorSuceso ("EventServer") 46 para fuentes suscritas harán que la fuente sea expedida en "ahora" en el organizador temporal. Si se recibe una notificación de NuevoCorreo para una fuente suscrita que tiene puesto el indicador o etiqueta "en progreso", ya sea debido a dos o más notificaciones de NuevoCorreo sucesivas procedentes del Servidor de Suceso, ya sea debido a que su siguienteTiempoExamen <= Ahora como consecuencia de su inactividad, entonces la fuente se marcará como "PendienteExpediciónExamen" ("ExpeditePollPending") y se expedirá cuando se complete el trabajo de examen en curso en ese momento.
Una vez que se ha completado un trabajo de examen, cuando el gestor de examen llama de vuelta al organizador temporal para informar de la ultimación del trabajo, se creará una nueva suscripción para las fuentes que no estén suscritas en ese momento pero que satisfacen los criterios de ser "susceptibles de suscripción", y se añadirá a la cola de tratamiento de DA tan solo si el sistema puede introducir una identificación de acceso con éxito para entrar en el buzón de correo.
A continuación siguen detalles del procedimiento de notificación de situación fuera de servicio.
El Organizador Temporal 104 de Fuente recibe una petición de contención de retransmisión para cada fuente o dispositivo que se encuentra fuera de cobertura. El propósito de manejar peticiones de contención de retransmisión en la MOP es:
1) Ahorrar anchura de banda y no consultar o examinar fuentes que se encuentran fuera de cobertura.
2) Reanudar el examen de las fuentes cuando un usuario vuelve a entrar en cobertura.
3) Reducir el número de mensajes que deben ser guardados en la memoria caché del disco en los Trabajadores 24.
\vskip1.000000\baselineskip
En el motor 22, los mensajes son almacenados/dispuestos en cola y entregados al Retransmisor 34 sobre la base de un PIN/SB. Por otra parte, el Retransmisor implementa la contención según un criterio por mensaje. Así, cada mensaje entregado al Retransmisor 34 puede ser retenido o "contenido" si el usuario se encuentra fuera de cobertura. Cada cola de mensajes del trabajador (es decir, el combo PIN/SB) mantiene el seguimiento de estos mensajes contenidos en su transmisión y determina si el usuario se encuentra dentro o fuera de cobertura. En consecuencia, cada cola enviará una etiqueta o indicador de "fuera de cobertura" o "dentro de cobertura" a la MOP 40.
El indicador de contención se encuentra en el nivel de la fuente en lugar de en el nivel de usuario debido a que no implica la desmultiplexación de los múltiples niveles de fuente hasta obtener un único nivel de usuario, y hace que la situación de carrera de la actualización sea más fácil de controlar. La MOP 40 recibe una notificación por cada fuente que tiene al menos un mensaje pendiente en el trabajador. El trabajador puede permitir que se envíe al dispositivo al menos un trabajo para cada libro de servicio (11 libros de servicio como máximo). Puede haber 11 actualizaciones de un representante de DA en este ejemplo no limitativo cada vez que el dispositivo se encuentra dentro y fuera de cobertura.
Si el trabajador 24 acepta MTH procedentes del Representante de DA 42 mientras un dispositivo está fuera de cobertura, esos mensajes NO se pierden. Cuando el dispositivo vuelve a estar en cobertura, los mensajes son retomados y enviados al dispositivo. El Trabajador los conservará hasta que el dispositivo esté nuevamente en cobertura o hasta que expiren algunos trabajos previamente enviados, por ejemplo, 7 días después, desde un Agente de Puerta 26, a fin de dejar espacio para que se envíe o expida el (los) siguiente(s) trabajo(s) pendiente(s).
En lo que sigue se describe la naturaleza de la retención o contención de retransmisión en el Motor 22:
1) El trabajador 24 tiene x mensajes (siendo x > 0) que ha convertido y entregado al Retransmisor.
2) El Retransmisor retiene y mensajes (siendo y > 0). En teoría, x = y, pero no tiene por qué ser así, dada la naturaleza poco fiable de este protocolo desde el Lado del Retransmisor.
3) De los y mensajes, 1 se marca como trabajo de CONSERVACIÓN. Un trabajo de CONSERVACIÓN se retoma periódicamente (cada 4 horas) como medida de seguridad. En consecuencia, se colocan de nuevo y - 1 mensajes en la cola y la cola se marca como "fuera de cobertura". Los y - 1 mensajes no se vuelven a entregar mientras estén en este estado, y no se facilita ningún nuevo mensaje entrante para su entrega. Los mensajes son colocados en la cola del Trabajador.
4) Dos sucesos pueden indicar un estado "dentro de cobertura":
a)
el Retransmisor notifica que el usuario ha entrado de nuevo en cobertura, o
b)
el trabajo de CONSERVACIÓN periódicamente refacilitado llega de vuelta como ENTREGADO. La cola se marca como "en cobertura" y los mensajes de la cola son refacilitados (siguiendo el "número máximo de trabajos asignados por regla PIN/SB", como es habitual).
\vskip1.000000\baselineskip
Un dispositivo que entra y sale de cobertura (esto podría suceder si un dispositivo se encuentra cerca de una señal débil) tiene como resultado que el Retransmisor 34 realiza peticiones de retención o contención de forma relativamente frecuente al Trabajador. No hay seguridad de que estas peticiones nunca lleguen a quedar fuera de servicio en el camino hasta el Trabajador. Por otra parte, debido a la naturaleza asincrónica del Motor 22, la MOP y los protocolos de Retransmisión se encaminan a numero ilimitado de secuencias y magnifican la posibilidad de una situación de carrera entre las notificaciones de fuera de cobertura y las notificaciones dentro de cobertura. El trabajador necesita, bien mantener las notificaciones en sincronismo o bien detectar y no hacer caso de las notificaciones que no están en sincronismo.
Existe también el problema de un suceso de fallo de un Trabajador, con la posibilidad de que la notificación dentro de cobertura procedente del Retransmisor 34 se "pierda" y la MOP 40 no reciba la notificación. Si no existen mensajes en su cola de trabajos cuando el trabajador vuelve a estar conectado o en línea, no marcará la cola como dentro de cobertura y, por tanto, no enviará a la MOP una notificación dentro de cobertura. En este caso, la fuente permanecerá marcada como fuera de cobertura en la MOP y, potencialmente, nunca será examinada en busca de correo de fuente entrante. Esencialmente, el problema es que el Trabajador solo tiene conocimiento acerca de usuarios que tienen mensajes que se están siendo procesados o tratados. Si, por alguna razón, todos los trabajos dentro del Trabajador se han completado pero la MOP tiene al usuario etiquetado como fuera de cobertura, no hay manera de que el Trabajador sepa a quién examinar para averiguar el estatus, debido a que el usuario no existe por lo que respecta al Trabajador. El Trabajador 24 únicamente solicita información de usuario cuando llegan al sistema nuevos trabajos, pero en este "caso de situación de carrera", no entrará ningún correo nuevo puesto que la MOP ha dejado de examinar y el usuario permanecerá marcado como fuera de cobertura.
Con el fin de evitar la situación anteriormente descrita, la MOP lleva a efecto periódicamente un "examen seguro ante fallos" para todas las fuentes susceptibles de examinarse y que estén fuera de cobertura, de tal manera que una fuente susceptible de examinarse no esté suspendida o de otro modo inhabilitada. El Trabajador 24 corregirá la MOP si se hubiera producido una situación de carrera o situación de error que no hubiese sido detectada de otra manera.
Una forma de hacer esto es que el Representante de DA 42 de MOP examine al Trabajador 24 por lo que respecta al estatus fuera de cobertura. Este examen es desencadenado por el intervalo de examen para el buzón de correo de fuente por parte del Organizador Temporal 104 de Fuente. Si el Trabajador sabe que este usuario está aún fuera de cobertura, lo notificará como tal en cualquier caso, esto es, está enviando mensajes a un usuario dentro de cobertura o no tiene conocimiento del usuario en absoluto, e informará de un estatus fuera de cobertura. Esta solución tiene las siguientes ventajas: a) en la mayoría de los casos, el flujo/examen de correo se reanudará inmediatamente tan pronto como el usuario vuelva a estar en cobertura, b) si se pierden notificaciones o quedan fuera de servicio, el sistema tendrá un examen seguro ante fallos que pueda descubrir/notificar estatus y sincronizarse de forma relativamente rápida en caso necesario, y c) en el caso de que un Trabajador sufra un fallo, el Representante de DA examinará el trabajador 24 al que se reasignará el usuario situado fuera de cobertura, y el trabajador informará del estado en cobertura, ya que no sabe nada acerca de este usuario.
El Organizador Temporal 104 de Fuente dispara periódicamente el Representante de DA 42 para enviar una notificación de "disparar y olvidar" al Trabajador 24. En respuesta, si el Trabajador determina que la fuente está bajo cobertura, actualiza el estatus de notificación de fuera de cobertura en "falso", con lo que se indica que la fuente está de nuevo en un estatus dentro de cobertura. En el caso de que la notificación de "disparo y olvido" se pierda o de que el Trabajador esté fuera de funcionamiento, entonces el trabajador enviará una actualización de notificación de dentro de cobertura a la MOP y el estado de la fuente permanecerá fuera de cobertura.
La Figura 15 es un diagrama secuencial de las transacciones de comunicación de notificación.
\newpage
Todas las fuentes de una cuenta deben ser consideradas fuera de cobertura en el caso de que una fuente de la cuenta reciba una notificación de contención desde el retransmisor. Parte de esta optimización puede implementarse en la MOP para marcar todas las fuentes que están fuera de cobertura. Sin embargo, el mayor beneficio se obtendría, probablemente, si el motor 22 se optimizase de manera que considerase las retenciones de retransmisión en el nivel de cuenta y ligase las colas entre sí en el nivel de cuenta. De otro modo, cualesquiera mensajes que ya están en la cola continuarán siendo reintentados.
El trabajador no necesita responder con una "ACK [CONFIRMACIÓN -``ACKNOWLEDGEMENT''] de fuera de cobertura" cuando el MPO lo examina en busca de fuentes fuera de cobertura. Tan solo tiene que responder para tener una marca de MOP dentro de cobertura. Esto ahorrará algo de la información de encabezamiento de procesar peticiones y respuestas de fuera de cobertura.
Componentes proporcionados a modo de ejemplo de un dispositivo de comunicaciones inalámbrico móvil y de mano 1000 que puede ser utilizado de acuerdo con semejante sistema, se describen adicionalmente en el ejemplo proporcionado más adelante, con referencia a la Figura 1. El dispositivo 1000 incluye, de modo ilustrativo, un alojamiento 1200, un cuadro o placa de teclas 1400 y un dispositivo de salidas 1600. El dispositivo de salida mostrado es un dispositivo de presentación visual 1600, que es, preferiblemente, un LCD [dispositivo de presentación visual de cristal líquido -"liquid cristal display"] de gráficos completo. Otros tipos de dispositivos de salida pueden utilizarse de forma alternativa. Un dispositivo de tratamiento 1800 está contenido dentro del alojamiento 1200 y está acoplado entre una placa de teclas 1400 y el dispositivo de presentación visual 1600. El dispositivo de tratamiento 1800 controla el funcionamiento del dispositivo de presentación visual 1600, así como el funcionamiento global del dispositivo móvil 1000, en respuesta al accionamiento de las teclas de la placa de teclas 1400 por parte del usuario.
El alojamiento 1200 puede ser alargado verticalmente, o bien puede tener otros tamaños y adoptar otras formas (incluyendo estructuras de alojamiento de concha de almeja). La placa de teclas puede incluir una tecla de selección de modo u otro hardware o software para conmutar entre la entrada de texto y la entrada de telefonía.
Además del dispositivo de tratamiento 1800, en la Figura 6 se muestran esquemáticamente otras partes del dispositivo móvil 1000. Estas incluyen un subsistema de comunicaciones 1001; un subsistema de comunicaciones de corto alcance 1020; el teclado 1400 y el dispositivo de presentación visual 1600, conjuntamente con otros dispositivos de entrada/salida 1060, 1080, 1100 y 1120; así como dispositivos de memoria 1160, 1180 y diversos otros subsistemas 1201 de dispositivo. El dispositivo móvil 1000 es, preferiblemente, un dispositivo de comunicaciones de RF de doble sentido que tiene capacidades de comunicaciones de voz y de datos. Además, el dispositivo móvil 1000 tiene, preferiblemente, la capacidad de comunicarse con otros sistemas informáticos a través de la Internet.
El software de sistema operativo ejecutado por el dispositivo de tratamiento 1800 es, preferiblemente, almacenado en un dispositivo de almacenamiento permanente, tal como la memoria 1160 de tipo flash o de refrescamiento por impulsos, si bien puede ser almacenado en otros tipos de dispositivos de memoria, tales como una memoria de solo lectura (ROM -"read only memory") o elemento de almacenamiento similar. Además, el software del sistema, las aplicaciones de dispositivo específicas, o partes de los mismos, pueden ser almacenados temporalmente en un dispositivo de almacenamiento volátil, tal como la memoria de acceso aleatorio (RAM -"random access memory") 1180. Las señales de comunicaciones recibidas por el dispositivo móvil pueden ser también almacenadas en la RAM 1180.
El dispositivo de tratamiento 1800, además de sus funciones de sistema operativo, permite la ejecución de aplicaciones de software 1300A-1300N en el dispositivo 1000. Un conjunto predeterminado de aplicaciones que controlan operaciones básicas del dispositivo, tales como comunicaciones de datos y de voz 1300A y 1300B, puede ser instalado en el dispositivo 1000 durante su fabricación. Además, una aplicación de gestor de información personal (PIM -"personal information manager") puede ser instalada durante la fabricación. El PIM es, preferiblemente, capaz de organizar y gestionar elementos de datos, tales como correo electrónico, sucesos de calendario, correos o mensajes de voz, citas y elementos de tarea. La aplicación de PIM es también, preferiblemente, capaz de enviar y recibir elementos de datos a través de una red inalámbrica 1401. Preferiblemente, los elementos de datos de PIM son integrados sin discontinuidades, sincronizados y actualizados a través de la red inalámbrica 1401, estando los elementos de datos correspon-
dientes del usuario del dispositivo almacenados en, o asociados con, un sistema informático principal o anfitrión.
Las funciones de comunicación, incluyendo comunicaciones de datos y de voz, se llevan a cabo por medio del subsistema de comunicaciones 1001 y, posiblemente, a través del subsistema de comunicaciones de corto alcance. El subsistema de comunicaciones 1001 incluye un receptor 1500, un transmisor 1520 y una o más antenas 1540 y 1560. Además, el subsistema de comunicaciones 1001 también incluye un módulo de tratamiento, tal como un procesador de señal digital (DSP -"digital signal processor") 1580, y osciladores locales (LO -"local oscillators") 1601. El diseño y la implementación específicos del subsistema de comunicaciones 1001 dependen de la red de comunicaciones en la que está destinado a operar el dispositivo móvil 1000. Por ejemplo, un dispositivo móvil 1000 puede incluir un subsistema de comunicaciones 1001 diseñado para funcionar con las redes de comunicaciones de datos móviles Mobitex^{TM}, Data TAC^{TM} o del Servicio General de Radio en Paquetes (GPRS -"General Packet Radio Service"), y está también diseñado para funcionar con cualquiera de una variedad de redes de comunicaciones de voz, tales como AMPS, TDMA, CDMA, WCDMA, PCS, GSM, EDGE, etc. Otros tipos de redes de datos y de voz, tanto independientes como integradas, pueden también utilizarse con el dispositivo móvil 1000. El dispositivo móvil 1000 puede también adaptarse a otras normas de comunicación tales como sGSM, 3GPP, UMTS, etc.
Los requisitos de acceso de red varían dependiendo del tipo de sistema de comunicación. Por ejemplo, en las redes Mobitex y DataTAC, los dispositivos móviles son registrados en la red utilizando un número de identificación personal único o exclusivo o PIN asociado con cada dispositivo. En las redes de GPRS, sin embargo, el acceso a la red está asociado con un abonado o usuario de un dispositivo. Un dispositivo de GPRS requiere, por tanto, un módulo de identidad de abonado, comúnmente referido como tarjeta de SIM ("subscriber identity module"), para operar en una red de GPRS.
Cuando se han completado los procedimientos de registro o activación de red requeridos, el dispositivo móvil 1000 puede enviar y recibir señales de comunicación a través de la red de comunicación 1401. Las señales recibidas desde la red de comunicaciones 1401 por la antena 1540 son encaminadas al receptor 1500, el cual hace posible la amplificación de la señal, la conversión de frecuencia en sentido descendente, la filtración, la selección de canal, etc., y puede también proporcionar conversión de digital a analógica. La conversión de digital a analógica de la señal recibida hace posible que el DSP 1580 lleve a cabo funciones de comunicaciones más complejas, tales como la desmodulación y la descodificación. De un modo similar, las señales que se han de transmitir a la red 1401 son tratadas (por ejemplo, moduladas y codificadas) por el DSP 1580 y se proporcionan entonces al transmisor 1520 para su conversión de digital a analógica, su conversión de frecuencia en sentido ascendente, su filtración, amplificación y transmisión a la red (o redes) de comunicación 1401 a través de la antena 1560.
Además de tratar las señales de comunicaciones, el DSP 1580 hace posible el control del receptor 1500 y del transmisor 1520. Por ejemplo, las ganancias aplicadas a las señales de comunicaciones en el receptor 1500 y en el transmisor 1520 pueden ser controladas de forma adaptativa por medio de algoritmos de control de ganancia automáticos implementados en el DSP 1580.
En el modo de comunicaciones de datos, una señal recibida, tal como un mensaje de texto o descarga de página web, es tratada por el subsistema de comunicaciones 1001 y se introduce en el dispositivo de tratamiento 1800. La señal recibida es entonces tratada adicionalmente por el dispositivo de tratamiento 1800 para su suministro como salida al dispositivo de presentación visual 1600, ó, alternativamente, a algún otro dispositivo de E/S [Entrada/Salida -"Input/Output"] auxiliar 1060. Un usuario de dispositivo puede también componer elementos de datos, tales como mensajes de correo electrónico, utilizando la placa de teclas 1400 y/o algún otro dispositivo de E/S auxiliar 1060, tal como una almohadilla táctil, un conmutador basculante, una ruedecilla o algún otro tipo de dispositivo de entrada. Los elementos de datos compuestos pueden ser entonces transmitidos a través de la red de comunicaciones 1401 por medio del subsistema de comunicaciones 1001.
En un modo de comunicaciones de voz, el funcionamiento global del dispositivo es sustancialmente similar al modo de comunicaciones de datos, a excepción de que las señales recibidas son suministradas como salida a un altavoz 1100, y las señales para transmisión son generadas por un micrófono 1120. Pueden también implementarse en el dispositivo 1000 subsistemas de E/S de voz o de audio alternativos, tales como un subsistema de grabación de mensajes de voz. Además, el dispositivo de presentación visual 1600 puede ser también utilizado en el modo de comunicaciones de voz, por ejemplo, para presentar visualmente la identidad de una parte llamante, la duración de una llamada de voz u otra información relacionada con la llamada de voz.
El subsistema de comunicaciones de corto alcance permite la comunicación entre el dispositivo móvil 1000 y otros sistemas o dispositivos próximos, que no han de ser necesariamente dispositivos similares. Por ejemplo, el subsistema de comunicaciones de corto alcance pude incluir un dispositivo de infrarrojos y circuitos y componentes asociados, o bien un módulo de comunicaciones Bluetooth^{TM} para hacer posible la comunicación con sistemas y dispositivos similarmente capacitados.
Muchas modificaciones y realizaciones diferentes de la invención vendrán a la mente de un experto de la técnica que disfruta del beneficio de las enseñanzas presentadas en las anteriores descripciones y en los dibujos asociados. En consecuencia, se comprende que la invención no ha de estar limitada por las realizaciones específicas divulgadas, y es la intención que esas modificaciones y realizaciones estén incluidas dentro del ámbito de las realizaciones que se acompañan.

Claims (16)

  1. \global\parskip0.930000\baselineskip
    1. Un sistema de comunicaciones (20) que comprende:
    un motor (22) de red, capaz de funcionar para comunicarse con una pluralidad de dispositivos de comunicaciones inalámbricos y móviles (38) suscritos por un usuario, y capaz de funcionar para determinar cuándo un dispositivo de comunicaciones inalámbrico y móvil (38) está fuera de cobertura o se ha desconectado o apagado y es incapaz de comunicarse con el motor (22) de red; y
    un servidor de acceso directo (42), capaz de funcionar con el motor (22) de red para consultar o examinar buzones de correo electrónico (48) de usuarios y recuperar mensajes electrónicos de los buzones de correo electrónicos, e impulsar o hacer pasar cualesquiera mensajes electrónicos a través del motor (22) de red a dispositivos de comunicaciones inalámbricos y móviles (38) suscritos por usuario y seleccionados, caracterizado por que dicho servidor de acceso directo (42) es capaz de funcionar para suspender el examen de los buzones de correo electrónico de usuario cuando se ha determinado que un dispositivo de comunicaciones inalámbrico y móvil (38) asociado con el usuario está fuera de cobertura o se ha desconectado y es incapaz de comunicarse, a fin de conservar los recursos de examen dentro del servidor de acceso directo (42).
    \vskip1.000000\baselineskip
  2. 2. El sistema de comunicaciones (20) de acuerdo con la reivindicación 1, en el cual dicho motor (22) de red comprende, de manera adicional, un módulo de trabajador (24) capaz de funcionar para aceptar correo electrónico procedente del servidor de acceso directo (42) y de cualesquiera dispositivos de encaminamiento de correo, y formatear el correo electrónico para su comunicación a través de una red de comunicaciones (36), y un módulo de retransmisor (34), capaz de funcionar para recibir mensajes del módulo de trabajador (24) y hacer pasar los mensajes a dispositivos de comunicaciones inalámbricos y móviles (38) a través de la red de comunicaciones (36).
  3. 3. El sistema de comunicaciones (20) de acuerdo con la reivindicación 2, en el cual dicho módulo de retransmisor (34) es capaz de funcionar para retener o hacer pasar de vuelta mensajes al módulo de trabajador (24) cuando un dispositivo de comunicaciones inalámbrico y móvil (38) está fuera de cobertura o desconectado y los mensajes no pueden hacerse llegar a dicho dispositivo.
  4. 4. El sistema de comunicaciones (20) de acuerdo con la reivindicación 3, en el cual dicho módulo de retransmisor (34) es capaz de funcionar para hacer pasar de vuelta mensajes a un módulo de trabajador (24) según un criterio por mensaje, de tal manera que cada mensaje que el trabajador entrega al módulo de retransmisor (34) puede hacerse pasar de vuelta al módulo de trabajador (24).
  5. 5. El sistema de comunicaciones (20) de acuerdo con la reivindicación 3, en el cual dicho módulo de trabajador (24) es capaz de funcionar para mantener un registro del número de mensajes que se han hecho pasar de vuelta desde el módulo de retransmisor (34), y para determinar, a partir del número de mensajes que se han hecho pasar de vuelta, si el dispositivo de comunicaciones inalámbrico y móvil (38) para el que se han hecho pasar de vuelta los mensajes pretendidos, está fuera de cobertura.
  6. 6. El sistema de comunicaciones (20) de acuerdo con la reivindicación 1, en el cual dicho motor (22) de red es capaz de funcionar para enviar una etiqueta o indicador de fuera de cobertura o de dentro de cobertura al servidor de acceso directo (42), indicando que el dispositivo de comunicaciones inalámbrico y móvil (38) al que están destinados los correos electrónicos está fuera de cobertura o desconectado.
  7. 7. El sistema de comunicaciones (20) de acuerdo con la reivindicación 1, en el cual dicho servidor de acceso directo (42) es capaz de funcionar para reanudar el examen de los buzones de correo electrónico (48) para los que ha sido suspendido el examen cuando el dispositivo de comunicaciones inalámbrico y móvil (38) asociado del usuario está dentro de cobertura o conectado y es capaz de reanudar las comunicaciones.
  8. 8. El sistema de comunicaciones (20) de acuerdo con la reivindicación 1, en el cual dicho servidor de acceso directo (42) es capaz de funcionar para examinar de forma segunda frente a fallo dicho motor (22) de red con respecto al estatus de dispositivos de comunicaciones inalámbricos y móviles (38) que se consideran fuera de cobertura o apagados y dentro de cobertura.
  9. 9. El sistema de comunicaciones (20) de acuerdo con la reivindicación 8, en el cual dicho servidor de acceso directo (42) comprende un módulo (104) organizador temporal de fuente, capaz de funcionar para organizar temporalmente un intervalo de examen de buzones de correo electrónico (48), de tal manera que dicho examen seguro frente a fallos es disparado o desencadenado por dicho intervalo de examen.
  10. 10. El sistema de comunicaciones (20) de acuerdo con la reivindicación 9, en el cual dicho motor de red (22) comprende, adicionalmente, un módulo de trabajador (24), capaz de funcionar para aceptar correo electrónico procedente del servidor de acceso directo (42) y de cualesquiera dispositivos de encaminamiento de correo electrónico, y formatear correo electrónico para su comunicación a través de una red de comunicaciones, de tal manera que dicho módulo (104) organizador temporal de fuente se comunica con dicho módulo de trabajador (24) para enviar notificaciones a dicho módulo de trabajador en forma de examen seguro frente a fallos.
    \global\parskip1.000000\baselineskip
  11. 11. Un método de comunicaciones que comprende:
    determinar cuándo un dispositivo de comunicaciones inalámbrico y móvil (38) suscrito por un usuario está fuera de cobertura o desconectado y es incapaz de comunicarse con un motor (22) de red como módulo que impulsa o hace pasar correos electrónicos recibidos desde un servidor de acceso directo (42) a un dispositivo de comunicaciones inalámbrico y móvil (38);
    consultar o examinar buzones de correo electrónico (48) del usuario desde el servidor de acceso directo (42);
    recuperar mensajes electrónicos desde los buzones de correo electrónico (48);
    hacer pasar cualesquiera mensajes electrónicos a través del motor (22) de red, hasta un dispositivo de comunicaciones inalámbrico y móvil (38) suscrito por un usuario;
    determinar cuándo el dispositivo de comunicaciones inalámbrico y móvil (38) está fuera de cobertura o desconectado y es incapaz de comunicarse, caracterizado por:
    suspender el examen de los buzones de correo electrónico (48) pertenecientes al usuario si se determina que el dispositivo de comunicaciones inalámbrico y móvil (38) está fuera de cobertura o desconectado y es incapaz de comunicarse.
    \vskip1.000000\baselineskip
  12. 12. El método de acuerdo con la reivindicación 11, que comprende adicionalmente formatear correo electrónico para su comunicación dentro de un módulo de trabajador (24) que acepta correo electrónico procedente del servidor de acceso directo (42), y recibir mensajes de correo electrónico dentro de un módulo de retransmisor (34) desde el módulo de trabajador (24), y hacer pasar los mensajes desde el módulo de retransmisor (34) al dispositivo de comunicaciones inalámbrico y móvil (38) a través de una red de comunicaciones (36).
  13. 13. El método de acuerdo con la reivindicación 12, que comprende adicionalmente retener o hacer pasar de vuelta mensajes al módulo de trabajador (24) desde el módulo de retransmisor (34) cuando un dispositivo de comunicaciones inalámbrico y móvil (38) se encuentra fuera de cobertura o desconectado y los mensajes no pueden hacerse pasar a dicho dispositivo.
  14. 14. El método de acuerdo con la reivindicación 13, que comprende adicionalmente hacer pasar de vuelta mensajes según un criterio por mensaje.
  15. 15. El método de acuerdo con la reivindicación 13, que comprende adicionalmente mantener un registro del número de mensajes que se han hecho pasar de vuelta desde el módulo de retransmisor (34), y determinar, a partir del número de mensajes que se han hecho pasar de vuelta, si el dispositivo de comunicaciones inalámbrico y móvil (38) en el que se han hecho pasar de vuelta los mensajes deseados se encuentra fuera de cobertura o desconectado.
  16. 16. El método de acuerdo con la reivindicación 11, que comprende adicionalmente enviar una etiqueta o indicador de fuera de cobertura o de dentro de cobertura al servidor de acceso directo (42), indicando que el dispositivo de comunicaciones inalámbrico y móvil (38) al que están destinados los correos electrónicos está fuera de cobertura o desconectado.
ES08150922T 2007-04-13 2008-01-31 Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura. Active ES2353225T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91161107P 2007-04-13 2007-04-13
US911611P 2007-04-13

Publications (1)

Publication Number Publication Date
ES2353225T3 true ES2353225T3 (es) 2011-02-28

Family

ID=39535349

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08150922T Active ES2353225T3 (es) 2007-04-13 2008-01-31 Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura.

Country Status (7)

Country Link
US (4) US8626841B2 (es)
EP (4) EP1981231B1 (es)
AT (4) ATE445955T1 (es)
CA (3) CA2628765C (es)
DE (3) DE602008002621D1 (es)
ES (1) ES2353225T3 (es)
HK (3) HK1123412A1 (es)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266098A1 (en) * 2005-05-05 2007-11-15 Raz Gordon System and method for emailing an entity using its non-email attributes
US7805489B2 (en) * 2006-06-27 2010-09-28 Research In Motion Limited Electronic mail communications system with client email internet service provider (ISP) polling application and related methods
ATE445955T1 (de) 2007-04-13 2009-10-15 Teamon Systems Inc Direktzugangs-e-mail-verteilungs- und synchronisationssystem mit imap-idle- implementierung
US7900149B2 (en) * 2007-06-08 2011-03-01 Apple Inc. Methods and systems for editing of web pages in an application capable of displaying web page content
US8914009B2 (en) 2007-07-27 2014-12-16 Blackberry Limited Administration of wireless systems
US9270682B2 (en) 2007-07-27 2016-02-23 Blackberry Limited Administration of policies for wireless devices in a wireless communication system
EP2031910A3 (en) * 2007-07-27 2009-04-29 Research In Motion Limited Administration of wireless devices in a wireless communication system
US8086677B2 (en) * 2007-07-27 2011-12-27 Research In Motion Limited Information exchange in wireless servers
EP2424194B1 (en) * 2007-07-27 2017-04-19 BlackBerry Limited Method and system for resource sharing
ES2346165T3 (es) 2007-07-27 2010-10-11 Research In Motion Limited Aparato y metodos para el funcionamiento de un servidor inalambrico.
EP2112842B1 (en) 2007-07-27 2013-08-21 Research In Motion Limited Wireless communication systems
EP2034776B1 (en) 2007-07-27 2013-02-13 Research In Motion Limited Wireless communication system installation
DE602008004389D1 (de) 2007-07-27 2011-02-24 Research In Motion Ltd Vorrichtung und Verfahren zur Koordination von drahtlosen Systemen
EP2031909B1 (en) * 2007-07-27 2011-02-16 Research In Motion Limited Remote control in a wireless communication system
US8346874B2 (en) * 2008-01-22 2013-01-01 Microsoft Corporation Mail object migration
US7984100B1 (en) * 2008-04-16 2011-07-19 United Services Automobile Association (Usaa) Email system automatically notifying sender status and routing information during delivery
US8516095B2 (en) 2008-05-23 2013-08-20 Research In Motion Limited Remote administration of mobile wireless devices
US8135392B2 (en) 2008-06-06 2012-03-13 Apple Inc. Managing notification service connections and displaying icon badges
US9516116B2 (en) * 2008-06-06 2016-12-06 Apple Inc. Managing notification service connections
US8504001B2 (en) 2008-08-12 2013-08-06 Apple Inc. Unified settings for multiple account types
US9305288B2 (en) * 2008-12-30 2016-04-05 Ford Global Technologies, Llc System and method for provisioning electronic mail in a vehicle
US20100190439A1 (en) * 2009-01-29 2010-07-29 Ford Global Technologies, Llc Message transmission protocol for service delivery network
CA2693724C (en) 2009-02-20 2014-05-06 Research In Motion Limited Caching email unique identifiers
US9407686B2 (en) * 2009-02-27 2016-08-02 Blackberry Limited Device to-device transfer
US8065361B2 (en) 2009-02-27 2011-11-22 Research In Motion Limited Apparatus and methods using a data hub server with servers to source and access informational content
US8880619B2 (en) * 2009-03-24 2014-11-04 Blackberry Limited Direct access electronic mail (email) distribution and synchronization system with trusted or verified IMAP-Idle implementation
KR101649623B1 (ko) * 2009-06-11 2016-08-19 엘지전자 주식회사 이동단말기 및 그의 이메일 관리방법
US8620365B2 (en) * 2009-07-20 2013-12-31 Halter's Chop Chop Method for handling an electronic request with the aid of an intermediary entity
EP2296327A1 (en) * 2009-09-10 2011-03-16 Research in Motion Limited Automatic integration of a mail server with internet server (IS)
EP2362593B1 (en) * 2010-02-05 2012-06-20 Research In Motion Limited Communications system including aggregation server for determining updated metadata of e-mail messages and related methods
US20110225228A1 (en) * 2010-03-11 2011-09-15 Ford Global Technologies, Llc Method and systems for queuing messages for vehicle-related services
US8767707B2 (en) * 2010-04-23 2014-07-01 Blackberry Limited Monitoring a mobile data service associated with a mailbox
US9043390B2 (en) * 2010-05-14 2015-05-26 Blackberry Limited Communication system with PIM entry synchronization and related methods
US8718632B2 (en) 2010-08-26 2014-05-06 Ford Global Technologies, Llc Service delivery network
CA2810852C (en) * 2010-09-10 2016-06-21 David Jaray Hanson System and method for providing a plurality of prioritised email domain names
US20120221951A1 (en) * 2010-09-28 2012-08-30 Adam Kidron Discovery platform apparatuses, methods and systems
US8516062B2 (en) 2010-10-01 2013-08-20 @Pay Ip Holdings Llc Storage, communication, and display of task-related data
US8918467B2 (en) * 2010-10-01 2014-12-23 Clover Leaf Environmental Solutions, Inc. Generation and retrieval of report information
KR20120079645A (ko) * 2011-01-05 2012-07-13 삼성전자주식회사 인스턴트 메신저에서 메시지 폴링 방법 및 장치
US9372733B2 (en) * 2011-08-30 2016-06-21 Open Text S.A. System and method for a distribution manager
US10860563B2 (en) 2012-01-06 2020-12-08 Microsoft Technology Licensing, Llc Distributed database with modular blocks and associated log files
US9753999B2 (en) * 2012-01-06 2017-09-05 Citus Data Bilgi Islemieri Ticaret A.S. Distributed database with mappings between append-only files and repartitioned files
US9048428B2 (en) 2012-03-07 2015-06-02 Microsoft Technology Licensing, Llc Enabling communication between source and target mail transfer agents
AU2013243223A1 (en) * 2012-04-04 2014-09-25 Not Now Pty Ltd An electronic message management system
US9654426B2 (en) 2012-11-20 2017-05-16 Dropbox, Inc. System and method for organizing messages
US9729695B2 (en) 2012-11-20 2017-08-08 Dropbox Inc. Messaging client application interface
US9935907B2 (en) 2012-11-20 2018-04-03 Dropbox, Inc. System and method for serving a message client
US9189503B2 (en) 2012-12-06 2015-11-17 Microsoft Technology Licensing, Llc Database scale-out
US9137094B1 (en) 2012-12-12 2015-09-15 Google Inc. Method for setting DNS records
US9491268B2 (en) * 2013-03-01 2016-11-08 Infinite Convergence Solutions, Inc. Method and devices for session timeout management
US20140289428A1 (en) * 2013-03-20 2014-09-25 Microsoft Corporation Dynamic Intervals for Synchronizing Data
US9391940B2 (en) * 2013-06-25 2016-07-12 Cellco Partnership Typing indicator for IMAP messaging
US9680782B2 (en) 2013-07-29 2017-06-13 Dropbox, Inc. Identifying relevant content in email
US9961125B2 (en) 2013-07-31 2018-05-01 Microsoft Technology Licensing, Llc Messaging API over HTTP protocol to establish context for data exchange
US10440066B2 (en) 2013-11-15 2019-10-08 Microsoft Technology Licensing, Llc Switching of connection protocol
US9787769B2 (en) 2014-08-04 2017-10-10 Oracle International Corporation Power and network traffic optimization in communication synchronization
US10230670B1 (en) 2014-11-10 2019-03-12 Google Llc Watermark-based message queue
US10530724B2 (en) * 2015-03-09 2020-01-07 Microsoft Technology Licensing, Llc Large data management in communication applications through multiple mailboxes
US11157970B1 (en) * 2015-05-01 2021-10-26 Groupon, Inc. Apparatus, method, and computer program product for providing synchronous delivery of active media and electronic marketing communications
US10587708B2 (en) 2016-03-28 2020-03-10 Microsoft Technology Licensing, Llc Multi-modal conversational intercom
US10171410B2 (en) * 2016-03-28 2019-01-01 Microsoft Technology Licensing, Llc Cross-mode communiation
US11487512B2 (en) 2016-03-29 2022-11-01 Microsoft Technology Licensing, Llc Generating a services application
US9531785B1 (en) * 2016-06-16 2016-12-27 Ox Software Gmbh Ad hoc injection of IMAP objects
US11212338B1 (en) * 2018-01-23 2021-12-28 Amazon Technologies, Inc. Managed scaling of a processing service
CN108768775B (zh) * 2018-05-30 2022-01-14 努比亚技术有限公司 信息处理方法、电子设备及计算机存储介质
US11968093B1 (en) * 2022-09-20 2024-04-23 Gen Digital Inc. Efficient scaling of a domain name system service architecture

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2305808A (en) 1938-09-16 1942-12-22 Marzetti Manlio Device for needle change in talking machines
US2307908A (en) 1939-05-29 1943-01-12 Clara E Campbell Combined chair, chaise longue, and bed
US2306708A (en) 1940-12-17 1942-12-29 Mendel Alfred Bullet shield for firearms
US5987498A (en) 1996-02-16 1999-11-16 Atcom, Inc. Credit card operated computer on-line service communication system
US7383549B1 (en) * 1997-01-08 2008-06-03 Broadcom Corporation Processor sharing technique for communications and other data processing on a same processor
US6208717B1 (en) * 1997-03-03 2001-03-27 Unisys Corporation Method for migrating or altering a messaging system
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6779019B1 (en) 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
WO1999065256A2 (en) * 1998-06-10 1999-12-16 Logica, Inc. System and method for delivering e-mail notification to mobile phones
EP1093696A1 (en) * 1998-07-06 2001-04-25 Nokia Corporation Voice mail server, mobile station and method for voice mail message transmission
US7966372B1 (en) * 1999-07-28 2011-06-21 Rpost International Limited System and method for verifying delivery and integrity of electronic messages
US7222228B1 (en) * 2000-06-14 2007-05-22 Netwolves Corporation System and method for secure management or remote systems
US7546351B1 (en) * 2000-08-17 2009-06-09 Mxgo Methods and systems for filtering, sorting, and dispatching messages to wired and wireless devices
US7584251B2 (en) * 2000-08-28 2009-09-01 Brown Scott T E-mail messaging system and method for enhanced rich media delivery
ES2334329T3 (es) * 2000-09-19 2010-03-09 Research In Motion Limited Sistema y metodo para empujar informacion desde un sistema anfrition a un dispositivo movil de comunicacion de datos en una red de datos inalambrica.
US20020091774A1 (en) * 2001-01-08 2002-07-11 Kokoro Imamura Method and system for retrieving electronic mail for a plurality of users over a single device
US7020687B2 (en) * 2001-05-18 2006-03-28 Nortel Networks Limited Providing access to a plurality of e-mail and voice message accounts from a single web-based interface
AUPS281802A0 (en) * 2002-06-06 2002-06-27 Arc-E-Mail Ltd A storage process and system
AU2002322897B2 (en) 2002-08-14 2007-04-26 Huawei Technologies Co., Ltd. Method and apparatus for pushing e-mail to wireless communication devices
JP2004086495A (ja) * 2002-08-26 2004-03-18 Toyota Motor Corp 電子メールの送受信方法および電子メール送受信装置
ES2292676T3 (es) * 2002-11-25 2008-03-16 T-Mobile Deutschland Gmbh Metodo y sistema para facilitar el acceso a una cuenta de correo electronico a traves de una red de comunicacon movil.
US20040225525A1 (en) * 2003-05-05 2004-11-11 Weitzman Vernon L. Automatic contacts replication system and software
ATE366022T1 (de) 2003-05-30 2007-07-15 Research In Motion Ltd System und verfahren zur dienstbereitsstellung für ein kommunikationsgerät
EP1652395A2 (en) * 2003-07-31 2006-05-03 Koninklijke KPN N.V. A method and system to enable email services for mobile devices
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7289495B2 (en) 2003-08-07 2007-10-30 Teamon Systems, Inc. Communications system providing adaptive polling based upon user usage patterns and related methods
US7111047B2 (en) * 2003-08-08 2006-09-19 Teamon Systems, Inc. Communications system providing message aggregation features and related methods
US6959325B2 (en) * 2003-08-11 2005-10-25 Teamon Systems, Inc. System and method for generating configurations used for accessing electronic mailboxes
US7373386B2 (en) * 2003-08-11 2008-05-13 Research In Motion Limited System and method for configuring access to electronic mailboxes
US7603419B2 (en) 2003-08-11 2009-10-13 Teamon Systems, Inc. System and method for automatically learning mailbox configuration conventions
US7107310B2 (en) * 2003-08-11 2006-09-12 Teamon Systems, Inc. Communications system providing enhanced client-server communications and related methods
US7289975B2 (en) * 2003-08-11 2007-10-30 Teamon Systems, Inc. Communications system with data storage device interface protocol connectors and related methods
US7624147B2 (en) 2003-09-04 2009-11-24 Sierra Wireless, Inc. Efficient notification of new electronic mail arrival
US20050097180A1 (en) * 2003-10-31 2005-05-05 Aaron Abdelhak System and method for improved customized portal web pages
US20050108075A1 (en) * 2003-11-18 2005-05-19 International Business Machines Corporation Method, apparatus, and program for adaptive control of application power consumption in a mobile computer
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US7206816B2 (en) * 2004-01-29 2007-04-17 Teamon Systems, Inc. System and method of polling electronic mailboxes
US7162223B2 (en) * 2004-02-17 2007-01-09 Teamon Systems, Inc. System and method for notifying users of an event using alerts
US7043240B2 (en) * 2004-02-24 2006-05-09 Teamon Systems, Inc. Communications system with interface for enabling communication of alerts to mobile wireless communications devices
US8601049B2 (en) * 2004-03-04 2013-12-03 The United States Postal Service System and method for providing centralized management and distribution of information to remote users
WO2005100222A1 (ja) * 2004-04-07 2005-10-27 Mitsubishi Denki Kabushiki Kaisha エレベータ呼び登録システム
US7519708B2 (en) * 2004-04-08 2009-04-14 At&T Intellectual Property I, L.P. Guest account life cycle
EP1733520B1 (en) * 2004-04-09 2014-01-15 Telecom Italia S.p.A. Method and communications network for managing electronic mail services
US7849142B2 (en) * 2004-05-29 2010-12-07 Ironport Systems, Inc. Managing connections, messages, and directory harvest attacks at a server
US20060085429A1 (en) * 2004-10-15 2006-04-20 Nokia Corporation Acknowledged delivery of full email state change to mobile email clients after involuntary disconnects
CA2493907A1 (en) * 2005-01-24 2006-07-24 Oz Communications Wireless e-mail system
US7647380B2 (en) * 2005-01-31 2010-01-12 Microsoft Corporation Datacenter mail routing
CA2621523C (en) * 2005-09-27 2010-07-13 Nathan Provo System for transforming application data using xslt extensions to render templates from cache and related methods
US8296369B2 (en) * 2005-09-27 2012-10-23 Research In Motion Limited Email server with proxy caching of unique identifiers
US8307036B2 (en) * 2005-09-27 2012-11-06 Research In Motion Limited Email server with enhanced least recently used (LRU) cache
US8494491B2 (en) 2005-09-28 2013-07-23 Research In Motion Limited System and method for provisioning a mobile wireless communications device to display account or device-specific characteristics
US8756317B2 (en) * 2005-09-28 2014-06-17 Blackberry Limited System and method for authenticating a user for accessing an email account using authentication token
US8117267B2 (en) 2005-09-29 2012-02-14 Teamon Systems, Inc. System and method for provisioning an email account using mail exchange and address records
US20070078934A1 (en) 2005-09-30 2007-04-05 Teamon Systems, Inc. System and method for provisioning an email account hosted on an assured email service provider
US8291020B2 (en) 2006-03-27 2012-10-16 Research In Motion Limited Wireless email communications system providing subscriber account update features and related methods
US7805489B2 (en) * 2006-06-27 2010-09-28 Research In Motion Limited Electronic mail communications system with client email internet service provider (ISP) polling application and related methods
US8031594B2 (en) * 2006-09-29 2011-10-04 At&T Intellectual Property I, L.P. System and method of providing communications services
US8155678B2 (en) * 2006-10-05 2012-04-10 Research In Motion Limited Email system providing account provisioning based upon device-supported markup language and related methods
ATE445955T1 (de) 2007-04-13 2009-10-15 Teamon Systems Inc Direktzugangs-e-mail-verteilungs- und synchronisationssystem mit imap-idle- implementierung

Also Published As

Publication number Publication date
DE602008002465D1 (de) 2010-10-28
ATE482554T1 (de) 2010-10-15
US20080256204A1 (en) 2008-10-16
ATE445955T1 (de) 2009-10-15
CA2625444C (en) 2010-07-13
EP1981231B1 (en) 2010-09-22
EP1981232A1 (en) 2008-10-15
HK1123412A1 (en) 2009-06-12
ATE481805T1 (de) 2010-10-15
EP1981234A1 (en) 2008-10-15
EP1981230A1 (en) 2008-10-15
US20080256203A1 (en) 2008-10-16
CA2628765A1 (en) 2008-10-13
US8407298B2 (en) 2013-03-26
US20080256179A1 (en) 2008-10-16
HK1122442A1 (en) 2009-05-15
EP1981234B1 (en) 2010-09-15
US9118506B2 (en) 2015-08-25
DE602008002621D1 (de) 2010-11-04
EP1981231A1 (en) 2008-10-15
US8626841B2 (en) 2014-01-07
CA2625680C (en) 2010-10-05
EP1981232B1 (en) 2009-10-14
HK1122160A1 (en) 2009-05-08
DE602008000204D1 (de) 2009-11-26
CA2628765C (en) 2012-01-24
US8572185B2 (en) 2013-10-29
US20080256202A1 (en) 2008-10-16
CA2625680A1 (en) 2008-06-30
CA2625444A1 (en) 2008-08-26
EP1981230B1 (en) 2011-08-31
ATE523006T1 (de) 2011-09-15

Similar Documents

Publication Publication Date Title
ES2353225T3 (es) Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura.
US8756317B2 (en) System and method for authenticating a user for accessing an email account using authentication token
ES2374652T3 (es) Método y sistema para distribuir mensajes electrónicos a un dispositivo inalámbrico de procesamiento de datos.
US8307036B2 (en) Email server with enhanced least recently used (LRU) cache
US20130007164A1 (en) Email server with proxy caching of unique identifiers
US20080046591A1 (en) System and Method for Pushing Information from a Host System to a Mobile Data Communication Device
EP1718015B1 (en) Storing, sending and receiving text message threads on a wireless communication device
US7826406B2 (en) Storing, sending and receiving text message threads on a wireless communication device
US20110060801A1 (en) Automatic integration of a mail server with internet server (is)
US20060086798A1 (en) Deferred email message system and service
US20060031334A1 (en) Methods and systems for forwarding electronic communications to remote users
US7987235B2 (en) System and method for delayed acknowledgment of client requests in electronic mail system
ES2334329T3 (es) Sistema y metodo para empujar informacion desde un sistema anfrition a un dispositivo movil de comunicacion de datos en una red de datos inalambrica.
US20070073815A1 (en) Email server with proxy caching of message identifiers and related methods
US20070038777A1 (en) Conversation message server
ES2348310T3 (es) Sistema y método para visualizar características específicas de cuentas dispositivos.
EP1929740A1 (en) System and method for authenticating a user for accessing an email account using authentication token
EP1929728A1 (en) Email server with least recently used cache
CN103701688B (zh) 消息队列服务器及其垃圾邮件信息处理方法
CA2626043C (en) Direct access electronic mail (email) distribution and synchronization system with out-of-coverage notification
AU2005100538A4 (en) Conversation message server
WO2007040504A1 (en) Email server with proxy caching of unique identifiers