ES2315960T3 - Sistema y procedimiento para sincronizar correo electronico a traves de una red. - Google Patents

Sistema y procedimiento para sincronizar correo electronico a traves de una red. Download PDF

Info

Publication number
ES2315960T3
ES2315960T3 ES06009953T ES06009953T ES2315960T3 ES 2315960 T3 ES2315960 T3 ES 2315960T3 ES 06009953 T ES06009953 T ES 06009953T ES 06009953 T ES06009953 T ES 06009953T ES 2315960 T3 ES2315960 T3 ES 2315960T3
Authority
ES
Spain
Prior art keywords
mail
synchronization
mails
site
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES06009953T
Other languages
English (en)
Inventor
Daniel Mendez
Mark D. Riggins
Prasad Wagle
Christine Ying
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.)
Good Technology Corp
Original Assignee
Visto Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25408591&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2315960(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Visto Corp filed Critical Visto Corp
Application granted granted Critical
Publication of ES2315960T3 publication Critical patent/ES2315960T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

Procedimiento de sincronización de e-mails entre una memoria de correo en un primer sitio, estando dirigidos los e-mails a un cliente (840) en el primer sitio, y un terminal remoto portátil (805) en un segundo sitio, comprendiendo el procedimiento la utilización de un sistema de sincronización (860) para determinar si se deben sincronizar los e-mails en la memoria de correo en un primer sitio y enviar e-mails que se deben sincronizar, y recibir modificaciones de e-mails que se deben sincronizar, a través de un canal de comunicaciones (815, 825), estando localizado el sistema de sincronización en el primer sitio, en el que el terminal remoto incluye un módulo de e-mails para leer y redactar emails, la memoria RAM y un dispositivo de almacenamiento de datos, en el que la memoria de correo en el primer sitio está en servidor de correo (850), el primer sitio comprende una Red de Area Local (LAN) protegida de Internet por un cortafuegos de LAN (870), y el segundo sitio es externo al cortafuegos de LAN (870), en el que el procedimiento comprende: proporcionar el sistema de sincronización en el primer sitio separado del servidor de correo, estando incluido el sistema en un ordenador que es un cliente del servidor de correo y estando acoplado al servidor de correo a través de la red LAN; disponer el sistema de sincronización en el primer sitio: para recuperar un e-mail que se debe sincronizar desde el servidor de correo al sistema de sincronización a través de la red LAN; para enviar el e-mail que se debe sincronizar desde el sistema de sincronización, y para recibir modificaciones de e-mails que se deben sincronizar al sistema de sincronización, mediante el canal de comunicaciones (815, 825) a través del cortafuegos de LAN, habiendo sido establecido el canal de comunicaciones mediante Internet con un servidor (830) en un tercer sitio externo con respecto al cortafuegos de LAN utilizando un protocolo que permite la comunicación a través del cortafuegos de LAN, estando conectado el servidor en el tercer sitio al cortafuegos de LAN a través de Internet; y para utilizar un criterio de iniciación para determinar cuándo se debe iniciar la sincronización, comprendiendo el criterio de iniciación si se ha recibido un número predeterminado de e-mails; disponer el terminal remoto, en el segundo sitio, para estar en comunicación con el servidor en el tercer sitio; y disponer el módulo de e-mails en el terminal remoto para descargar el e-mail que se debe sincronizar a partir del servidor en el tercer sitio y para almacenar el e-mail descargado en el dispositivo de almacenamiento de datos.

Description

Sistema y procedimiento para sincronizar correo electrónico a través de una red.
Antecedentes de la invención 1. Campo de la invención
La presente invención se refiere, en general, a redes informáticas y, más particularmente, a un sistema y un procedimiento para sincronizar correo electrónico a través de una red informática.
2. Descripción de los antecedentes de la técnica
La coherencia de datos es una preocupación significativa para los usuarios de ordenadores. Por ejemplo, cuando se mantienen múltiples copias independientemente modificables de un documento, un usuario corre el riesgo de utilizar una versión obsoleta. En el momento en que el usuario notifica una incoherencia, ya puede haberse producido una pérdida de datos o comunicación anómala entre las partes. El usuario debe dedicar entonces más tiempo a intentar reconciliar las versiones incoherentes y resolver las anomalías en las comunicaciones.
Los problemas de incoherencia de datos se exacerban cuando las copias de un documento son inaccesibles. Por ejemplo, cuando múltiples copias de un documento se mantienen en diferentes posiciones de la red, los sistemas de seguridad de la red, tales como la tecnología de servidor de seguridad (firewall) o cortafuegos convencional, comprometen la accesibilidad de los datos. Es decir, un usuario puede tener acceso a solamente una ubicación particular de estas ubicaciones de red. Sin acceso a los demás sitios, el usuario no puede confirmar que la versión en un sitio accesible es el borrador más reciente.
Los problemas de la coherencia de datos y de la accesibilidad surgen en el área del correo electrónico (e-mail). Por ejemplo, un usuario podría mantener una base de datos de correos electrónicos en el trabajo. Basado en los sistemas de seguridad implementados por la red Intranet de trabajo, es posible que el usuario no pueda tener acceso a las bases de datos y de este modo, no pueda leer ni responder a los correos electrónicos hasta regresar al trabajo. Además, un usuario en viaje trabajando actualmente en un terminal remoto puede no tener los programas de aplicación dedicados necesarios para activar la seguridad de la red intranet. Asimismo, cuando se mantienen varios sitios, el usuario de viaje tiene la carga de mantener un registro de todos los procedimientos y contraseñas para superar el sistema de seguridad en cada sitio.
Estos problemas se agravan todavía más cuando se utilizan programas de e-mail desde diferentes proveedores y que implementan protocolos diferentes. Por ejemplo, el cliente de e-mail de Nestcape Navigator^{TM} y el cliente de e-mail de Outlook Express^{TM} gestionan cada uno el correo electrónico a través de redes informáticas. Sin embargo, cada cliente de e-mail utiliza diferentes formatos, almacena correos electrónicos en diferentes archivos e implementa diferentes protocolos. De este modo, los correos electrónicos no son fácilmente intercambiables.
Por lo tanto, se necesita un sistema y un procedimiento para proporcionar a los usuarios la coherencia y accesibilidad del correo electrónico a través de una red informática.
El documento titulado "Lotus Notes Internet Cookbook for Notes Release 4" publicado el 14 de febrero de 1996, describe la integración de Lotus Notes en Internet. Lotus Notes proporciona un mecanismo para encaminar e-mails, en una red denominada Notes, dentro o fuera de la misma; además, Lotus Notes proporciona un mecanismo para la replicación de bases de datos en una red denominada Notes y entre redes denominadas Notes. Los e-mails que están dirigidos a un receptor de Notes y han sido entregados al mismo se almacenan en un archivo de correo correspondiente al receptor. Este archivo de correo es una base de datos y está almacenado en un servidor de Notes. La replicación de bases de datos implica copiar, entre bases de datos, cambios en el contenido de una base de datos desde un caso de replicación anterior; este proceso de copia de los cambios se produce únicamente en una base manual o planificada, y es independiente del tipo de datos y replicando por lo tanto tipos de datos en la base de datos.
Sumario de la invención
La presente se define en las reivindicaciones adjuntas.
Más particularmente, según un primer aspecto de la presente invención está previsto un procedimiento de sincronización de e-mails entre una memoria de correo en un primer sitio, estando dirigidos los e-mails a un cliente en un primer sitio, y un terminal remoto portátil en un segundo sitio, comprendiendo el procedimiento la utilización de un sistema de sincronización para determinar si se deben sincronizar los e-mails en la memoria de correo en un primer sitio y para enviar e-mails que se deben sincronizar, y para recibir modificaciones de e-mails que se deben sincronizar, a través de un canal de comunicaciones, estando localizado el sistema de sincronización en el primer sitio, en el que el terminal remoto incluye un módulo de e-mails para leer y redactar e-mails, la memoria RAM y un dispositivo de almacenamiento de datos,
\newpage
en el que la memoria de correo en el primer sitio está en un servidor de correo, el primer sitio comprende una Red de Área Local (LAN) protegida de Internet por un cortafuegos de LAN, y el segundo sitio es externo al cortafuegos de LAN,
en el que el procedimiento comprende:
proporcionar el sistema de sincronización en el primer sitio separado del servidor de correo, estando incluido el sistema en un ordenador que es un cliente del servidor de correo y estando acoplado al servidor de correo a través de la red LAN;
disponer el sistema de sincronización en el primer sitio:
para recuperar un e-mail que se debe sincronizar desde el servidor de correo al sistema de sincronización a través de la red LAN;
para enviar el e-mail que se debe sincronizar desde el sistema de sincronización, y para recibir modificaciones de e-mails que se deben sincronizar al sistema de sincronización, a través del canal de comunicaciones mediante el cortafuegos de LAN, habiendo sido establecido el canal de comunicaciones mediante Internet con un servidor en un tercer sitio externo con respecto al cortafuegos de LAN utilizando un protocolo que permite la comunicación a través del cortafuegos de LAN, estando conectado el servidor en el tercer sitio al cortafuegos de LAN a través de Internet; y
para utilizar un criterio de iniciación para determinar cuándo se debe iniciar la sincronización, comprendiendo el criterio de iniciación si se ha recibido o no un número predeterminado de e-mails;
disponer el terminal remoto, en el segundo sitio, para estar en comunicación con el servidor en el tercer sitio; y
disponer el módulo de e-mails en el terminal remoto para descargar el e-mail que se debe sincronizar a partir del servidor en el tercer sitio y para almacenar el e-mail descargado en el dispositivo de almacenamiento de datos. Según un aspecto adicional de la invención, está previsto un sistema de sincronización de e-mails y un terminal remoto portátil para ejecutar un procedimiento de sincronización de e-mails entre una memoria de correo en un primer sitio, estando dirigidos los e-mails a un cliente en el primer sitio, y el terminal remoto en un segundo sitio, estando adaptado el sistema de sincronización en el primer sitio para determinar si se debe sincronizar los e-mails en la memoria de correo en el primer sitio y para enviar e-mails que se deben sincronizar, y para recibir modificaciones de e-mail que se deben sincronizar a través del canal de comunicaciones, incluyendo el terminal remoto un módulo de e-mails para leer y redactar e-mails, la memoria RAM y un dispositivo de almacenamiento de datos,
en el que la memoria de correo en el primer sitio está en un servidor de correo, el primer sitio comprende una Red de Area Local (LAN) protegida de Internet mediante un cortafuegos de LAN, y el segundo sitio es externo con respecto al cortafuegos de LAN, en el que el sistema de sincronización está previsto en el primer sitio separado del servidor de correo, estando incluido el sistema de sincronización en un ordenador que es un cliente del servidor de correo y estando acoplado al servidor de correo a través de la red LAN, estando adaptado el sistema de sincronización:
para recuperar un e-mail que se debe sincronizar desde el servidor de correo al sistema de sincronización mediante la red LAN:
para enviar el e-mail que se debe sincronizar desde el sistema de sincronización, y para recibir las modificaciones de e-mails que se deben sincronizar al sistema de sincronización, mediante el canal de comunicaciones a través del cortafuegos de LAN, habiendo sido establecido el canal de comunicaciones a través de Internet con un servidor en el tercer sitio externo con respecto al cortafuegos de LAN utilizando un protocolo que permite la comunicación a través del cortafuegos de LAN, estando conectado el servidor en el tercer sitio con el cortafuegos de LAN a través de Internet, en el que el terminal remoto, en el segundo sitio, está en comunicación con el servidor en el tercer sitio; y
para utilizar un criterio de iniciación para determinar cuándo se debe iniciar la sincronización, comprendiendo el criterio de iniciación si se ha recibido o no un número predeterminado de e-mails; y
en el que el módulo de e-mails en el terminal remoto está adaptado para descargar el e-mail que se debe sincronizar desde el servidor en el tercer sitio y para almacenar el e-mail descargado en el dispositivo de almacenamiento de datos.
Además, el sistema puede incluir un módulo de comunicaciones para establecer un canal de comunicaciones con el servidor en el tercer sitio. Si el servidor en el tercer sitio está protegido por un cortafuegos, el módulo de comunicaciones puede estar autorizado para establecer un enlace de comunicaciones seguras a través del cortafuegos con el servidor en el tercer sitio. Además, el sistema puede comprender también un motor web para utilizar el Protocolo de Transferencia de Hipertexto (HTTP) para enviar el e-mail a través del canal de comunicaciones al servidor en el tercer sitio. El sistema se puede almacenar en un medio de almacenamiento legible por ordenador.
El sistema y procedimiento, utilizan de forma preferida, una tercera parte de confianza para permitir la sincronización del correo electrónico a través de una red. El servidor en el tercer sitio puede ser un servidor global. Por consiguiente, un usuario que mantiene por ejemplo un sitio de trabajo, un sitio principal de presentación y el sitio del servidor global pueden sincronizar correos electrónicos entre los tres sitios. El usuario itinerante puede acceder y responder a e-mails mientras está alejado del sitio direccionado. Puesto que el sistema y el procedimiento operan a través de Internet, puede producirse sincronización a cualquier distancia. Puesto que el sistema y el procedimiento incluyen la traducción de formatos, resulta posible la fusión de correos electrónicos entre diferentes programas de aplicación y diferentes plataformas.
Además, puesto que se pueden establecer previamente las preferencias del usuario, los presentes sistema y procedimiento pueden operar sin necesidad de atención por el usuario del cliente.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que ilustra una red informática que no está de acuerdo con la presente invención;
La Figura 2 es un diagrama de bloques que ilustra detalles de un servidor de servicios representado en la Figura 1
La Figura 3 es un diagrama de bloques que ilustra detalles del ordenador de sobremesa de la Figura 1;
La Figura 4 es un diagrama de bloques que ilustra detalles del sistema base de la Figura 1;
La Figura 5 es un diagrama de bloques que ilustra detalles del agente de sincronización representado en la Figura 1;
La Figura 6 es una representación grafica de un ejemplo de marcador en el formato global;
La Figura 7 es un diagrama de flujo que ilustra un procedimiento para sincronizar múltiples copias de un elemento de espacio de trabajo en una red segura;
La Figura 8 es un diagrama de bloques que ilustra una red informática en concordancia con una forma de realización de la presente invención;
La Figura 9 es un diagrama de bloques que ilustra detalles de un cliente representado en la Figura 8;
La Figura 10 es un diagrama de bloques que ilustra detalles del sistema base representado en la Figura 9;
La Figura 11 es un diagrama de bloques que ilustra detalles de un servidor global representado en la Figura 8;
La Figura 12 es un diagrama de bloques que ilustra detalles del agente de sincronización representado en la Figura 8;
La Figura 13 es un diagrama de bloques que ilustra detalles del terminal remoto representado en la Figura 8;
La Figura 14 es un diagrama de flujo que ilustra un procedimiento para sincronizar un correo electrónico en una red informática; y
La Figura 15 es un diagrama de flujo que ilustra un procedimiento para acceder a un correo electrónico desde el servidor global representado en la Figura 8.
Descripción detallada del ejemplo de forma de realización preferido
La Figura 1 es un diagrama de bloques que ilustra una red informática 100, que no está de acuerdo con la presente invención, y que comprende un primer nodo, tal como un terminal de ordenador remoto 102, acoplado a través de un canal de comunicaciones 104, tal como la red Internet, a un servidor global 106. El servidor global 106 está acoplado, a su vez, a través de un canal de comunicaciones 108, tal como la red Internet, a un segundo nodo, tal como una Red de Área Local (LAN) 110. El servidor global 106 está protegido por un cortafuegos global 112 y la red LAN 110 está protegida por un cortafuegos de red LAN 114.
La red LAN 110 incluye un bus del sistema 126 que acopla el cortafuegos de red LAN 114 a un servidor de e-mail 128 que tiene una carpeta de e-mail 138 que contiene correos electrónicos, a un servidor de archivos 132, que tiene una carpeta de archivos 142 que contiene archivos, a un servidor de calendario 130 que tiene una carpeta de calendarios 140 que contiene datos de calendario, y a un ordenador de sobremesa 134 que tiene un navegador web 152 y una carpeta de marcadores 144 que contiene marcadores. Se apreciará que la carpeta de e-mail 138, la carpeta de archivos 142, la carpeta de calendario 140 y la carpeta de marcadores 144, o partes de ellas, se pueden almacenar en diferentes lugares, tales como en el ordenador de sobremesa 134. La carpeta de e-mail 138, la carpeta de archivos 142, la carpeta de calendario 140 y la carpeta de marcadores 144 están, a título de ejemplo, agrupadas por información similar y se refieren colectivamente en esta descripción como "datos de espacio de trabajo" 136. Los expertos en la materia reconocerán que los datos de espacio de trabajo 136 pueden incluir otros tipos de datos, tales como un programa de aplicación, como Microsoft Word 6.0.1 y los documentos creados que los utilizan. Se apreciará, además, que la carpeta de e-mail 138, la carpeta de archivos 142, la carpeta de calendario 140 y la carpeta de marcadores 144 pueden dividirse cada una en elementos de espacio de trabajo, en donde cada carpeta de elementos de espacio de trabajo o cada elemento de espacio de trabajo individualmente se identifica por información de versión particular 255 (a continuación descrita con referencia a la Figura 2). De acuerdo con cada e-mail o carpeta de e-mail, archivo o carpeta de archivos, calendario o carpeta de calendarios, marcador o carpeta de marcadores, documento o carpeta de documentos, etc., se pueden referir como "un elemento de espacio de trabajo".
Cada elemento de espacio de trabajo de datos de espacio de trabajo 136 en la red LAN 110 se mantiene en un formato predeterminado, referido como formato A, que está basado en el motor de servicios 245 (Figura 2) que lo creó. Por ejemplo, el navegador web 152 en el ordenador de sobremesa 134 puede ser el navegador web Netscape Navigator^{TM} y los marcadores en la carpeta de marcadores 144 así creados se mantienen en el formato A. Aunque el formato A se describe como un formato único, un experto en la materia sabe que el formato A incluye realmente un formato para cada tipo de información, por ejemplo, habrá un formato A para marcadores, un formato A para archivos, un formato A para datos de calendarios, un formato A para correos electrónicos, etc.
El terminal remoto 102 almacena motores de servicios 154 para mantener datos de espacio de trabajo 116, que pueden incluir información común con información en los datos del espacio de trabajo 136. Los datos del espacio de trabajo 116 se mantienen en un formato, referido como formato B, que puede ser diferente del formato A. Además, el formato B está basado en los motores de servicios 154 que crean los elementos de espacio de trabajo. Por ejemplo, si uno de los motores de servicios 154 es el explorador web Internet Explorer^{TM} (no representado), entonces los marcadores (no representados) así creados se mantienen en el formato B. Aunque el formato B se está describiendo como un formato único, un experto en la materia sabe que el formato B incluye realmente un formato para cada tipo de información. Además, los datos del espacio de trabajo 116 incluyen también información de versión 150 similar a la información de versión 255 descrita a continuación con referencia a la Figura 2.
Se apreciará que el terminal remoto 102 puede comprender un teléfono inteligente, un Asistente de Datos Personales (PDA), tal como el sistema PalmPilot fabricado por U.S. Robotics, Inc., un ordenador portátil, etc. En el caso de un teléfono inteligente, los datos del espacio de trabajo 116 pueden incluir números de teléfono y correos electrónicos. Como un PDA, los datos del espacio de trabajo 116 pueden comprender direcciones, datos de calendarios y correos electrónicos. Como un ordenador portátil, los datos del espacio de trabajo 116 pueden comprender los mismos tipos de información que los datos del espacio de trabajo 136.
El servidor global 106 actúa como una tercera parte administradora. El servidor global 106 almacena copias independientemente modificables de partes seleccionadas de los datos del espacio de trabajo 136 y 116, colectivamente referidos aquí como datos del espacio de trabajo 120. En consecuencia los datos del espacio de trabajo 120 incluyen una copia independientemente modificable de cada elemento del espacio de trabajo en las partes seleccionadas de los datos del espacio de trabajo 136 y 116 y una copia independientemente modificable de cada información de versión correspondiente 255 (Figura 2) y 150. Las copias de información de versión son colectivamente referidas en esta memoria descriptiva como información de versión 148 y se describen también con referencia a la Figura 2.
El servidor global 106 mantiene los datos del espacio de trabajo 120 en un formato, referido como un "formato global", que está seleccionado para ser fácilmente traducible por el traductor global 122 a y desde el formato A y a y desde el formato B. Aunque el formato global se está describiendo como un formato único, un experto en la materia sabe que el formato global comprende realmente un formato global para cada tipo de información, por ejemplo, habrá un formato global para marcadores, un formato global para archivos, un formato global para datos de calendarios, un formato global para correos electrónicos, etc. Un ejemplo de elemento de espacio de trabajo de marcadores, en el formato global, se describe con detalle a continuación con referencia a la Figura 6.
Además, la red 100 comprende medios de sincronización, que comprenden un sistema base 146 almacenado dentro de la red LAN 110 y por ejemplo, en el ordenador de sobremesa 134. Además, la red 100 incluye un Agente de sincronización 124 almacenado fuera del cortafuegos de red LAN 114 y preferentemente, en el servidor global 106. El sistema base 146 y el agente de sincronización 124 cooperan para sincronizar partes seleccionadas de los datos del espacio de trabajo 136 con partes seleccionadas de los datos del espacio de trabajo 120. Los medios de sincronización pueden sincronizar individualmente elementos del espacio de trabajo, por ejemplo, documentos de procesador de textos específicos o pueden sincronizar carpetas de elementos del espacio de trabajo, por ejemplo, una carpeta de marcadores. En general, el sistema base 146 gestiona la parte seleccionada de los datos del espacio de trabajo 136 dentro de la red LAN 110 y el agente de sincronización 124 gestiona las partes seleccionadas de los datos del espacio de trabajo 120 dentro del servidor global 106. Se apreciará que el traductor global 122 coopera con los medios de sincronización para traducir formatos de datos a y desde el formato global. Según se describe con mayor detalle a continuación, haciendo referencia a la Figura 4, el sistema base 190, preferentemente, inicia y controla la sincronización de datos.
Los medios de sincronización pueden incluir, además, almacenado en el terminal remoto 102, un sistema base 118 que opera de un modo similar al sistema base 146. El sistema base 118, en el terminal remoto 102, coopera con el agente de sincronización 124 para sincronizar partes seleccionadas de los datos del espacio de trabajo 116 con partes seleccionadas de los datos del espacio de trabajo 120. Según se describe con mayor detalle a continuación con referencia a la Figura 4, el sistema base 118, en el terminal remoto 102, preferentemente inicia y controla la sincronización de datos con el servidor global 106. Además, se resalta que puede variar la distribución de tareas entre el sistema base 118 en el terminal remoto 102 y el agente de sincronización 124 en el servidor global 106. A veces, principalmente cuando el terminal remoto 102 es un dispositivo relativamente menos potente en cómputo (tal como un teléfono inteligente o un PDA), la mayor parte del trabajo con gran necesidad de cómputo real se producirá dentro del agente de sincronización 124 en el servidor global 106. En otras situaciones, por ejemplo, cuando el terminal remoto 102 es un PC completamente configurado, la mayoría del trabajo con gran necesidad de cómputo se producirá localmente en el sistema base 118 en el terminal remoto 102.
En consecuencia, el medio de sincronización sincroniza independientemente las partes seleccionadas de datos del espacio de trabajo 116 y 136 con las partes seleccionadas de los datos del espacio de trabajo 120. De este modo, el medio de sincronización sincroniza indirectamente los datos del espacio de trabajo 136 con los datos del espacio de trabajo 116.
La Figura 2 es un diagrama de bloques que ilustra detalles de un servidor de servicios 200, en donde cada uno del servidor de e-mail 145, el servidor de archivo 150, el servidor de calendario 155 y el ordenador de sobremesa 160 es un ejemplo de dicho servidor. El servidor de servicio 200 incluye una Unidad Central de Proceso (CPU) 205 tal como un microprocesador Intel Pentium® o un microprocesador Motorla Power PC®. Un dispositivo de entrada 210 tal como un teclado y un ratón, y un dispositivo de salida 215 tal como un monitor de tubos de rayos catódicos (TRC), están acoplados mediante un bus de señales 220 a la CPU 205. Un interfaz de comunicaciones 225 (tal como un puerto de Ethernet), un dispositivo de almacenamiento de datos 230 (tal como un disco magnético) y una memoria de acceso aleatorio (RAM) 235 están, además, acoplados mediante el bus de señales 200 a la unidad CPU 205.
Un sistema operativo 240 comprende un programa para controlar el procesamiento por la unidad CPU 205 y se suele almacenar en el dispositivo de almacenamiento de datos 230 y cargado en la memoria RAM 235 para su ejecución. Un motor de servicio 245 incluye un programa para realizar un servicio particular tal como mantener una base de datos de correos electrónicos, una base de datos de archivos, una base de datos de calendarios o una base de datos de marcadores. El motor de servicios 245 puede almacenarse también en el dispositivo de almacenamiento de datos 230 y cargarse en la memoria RAM 235 para su ejecución.
Para realizar un servicio, el motor de servicios 245 crea datos de servicios 250 (por ejemplo, un e-mail o una carpeta de e-mail 138 que contiene correos electrónicos, un archivo o una carpeta de archivos 142 que contienen archivos, datos de calendarios o una carpeta de calendarios 140 que contiene datos de calendarios, un marcador o una carpeta de marcadores 144 que contiene marcadores, etc.) en el formato A según protocolos predeterminados. El motor de servicios 245 almacena los datos 250 en el dispositivo de almacenamiento de datos 250. Los datos de servicios 250 comprenden información de versión 255 que indica la fecha y hora de la última modificación y el estado en el momento de la última interacción con el servidor global 106.
Por ejemplo, si se crean datos de servicios 250 y se seleccionan para su fusión con los datos del espacio de trabajo del servidor global 120, entonces la información de versión 255 para los datos de servicios 250, puede comprender la fecha de la última modificación y un conjunto vacío, que indica el estado como el de la última interacción con el servidor global 106. A partir de la información de versión 255, el sistema base 146 determina que los datos de servicios 250, en su integridad, no fueron fusionados con los datos del espacio de trabajo del servidor global 120. Análogamente, si los datos de servicios 255 incluían los elementos 1, 2 y 3 de la última modificación, entonces el estado anterior a la última interacción indicará que los datos de servicio 255 incluían los elementos 1, 2 y 3. Si los datos de servicios 255 incluyen actualmente elementos 2, 3 y 4, entonces el sistema base 140 determinará que, desde la última sincronización, fue borrado el elemento 1 y fue añadido el elemento 4.
Se apreciará que la información de versión 148 en el servidor global 106 incluye información similar a la información de versión 255. Es decir, la información de versión 148 incluirá información que indica la fecha y la hora en que fue modificada por última vez la versión y el estado en el momento de la última interacción con cada cliente. El motor de servicios 245 opera para actualizar la información de versión 255 después de que se realicen modificaciones y después de que se produzca la sincronización.
La Figura 3 es un diagrama de bloques que ilustra detalles del ordenador de sobremesa 160, que comprende una CPU 305, un dispositivo de entrada 310, un dispositivo de salida 315, un interfaz de comunicaciones 325, un dispositivo de almacenamiento 330 y memoria RAM 335, acoplados cada uno a un bus de señales 320.
Un sistema operativo 340 incluye un programa para controlar el procesamiento por la unidad CPU 305 y se suele almacenar en el dispositivo de almacenamiento de datos 330 y se carga en la memoria RAM 335 para su ejecución. Un navegador web 152 (es decir, un motor de servicios particular 245, Figura 2) incluye un programa de servicios en formato A para gestionar la carpeta de marcadores 144 (es decir, datos de servicios particulares 250, Figura 2) que incluye información de versión 350 (es decir, información de versión particular 255, Figura 2). El navegador web 152 puede guardarse también en el dispositivo de almacenamiento de datos 330 y cargarse en la memoria RAM 335 para su ejecución. La carpeta de marcadores 144 puede guardarse en el dispositivo de almacenamiento de datos 330. Como se indicó antes con referencia a la Figura 1, el sistema base 146 opera para sincronizar los datos del espacio de trabajo 136 (que comprende la carpeta de marcadores 144) con los datos del espacio de trabajo 120. El sistema base 146 también se puede guardar en el dispositivo de almacenamiento de datos 330 y cargarse en la memoria RAM 335 para su ejecución.
La Figura 4 es un diagrama de bloques que ilustra detalles del sistema base 400, que es un ejemplo de sistemas base 146 y 118. El sistema base 400 incluye un módulo de comunicaciones 405, un módulo de interfaz de usuario 410, módulos de localización 415, un módulo de iniciación de sincronización ("synch-start") 420, un módulo de sincronización general 425 y un módulo de sincronización basado en contenidos 430. Para mayor simplicidad, cada módulo se ilustra como comunicándose entre sí mediante un bus de señales 440.
El módulo de comunicaciones 405 incluye rutinas para comprimir datos y rutinas para comunicarse a través del interfaz de comunicaciones 325 (Figura 3) con el agente de sincronización 124 (Figura 1). Además, el módulo de comunicaciones 405 puede incluir rutinas para aplicar la tecnología de Secure Socket Layer - Capa de Conexión Segura (SSL) y técnicas de identificación y autenticación de usuarios (por ejemplo, certificados digitales) para establecer un canal de comunicación seguro a través del cortafuegos global 112. Ejemplos de módulos de comunicaciones 405 pueden incluir pilas de TCP/IP o el protocolo de Apple Talk®.
El módulo de interfaz de usuario 410 incluye rutinas para la comunicación con un usuario y puede incluir un Interfaz de Usuario Gráfico (GUI) convencional. El módulo de interfaz de usuario 410 coopera con los otros componentes del sistema según se describe en esta memoria.
Los módulos de localización 415 incluyen rutinas para identificar las localizaciones de memoria de los elementos del espacio de trabajo en los datos del espacio de trabajo 136 ó 116 y en los datos del espacio de trabajo 120. La identificación de las posiciones de memoria de los elementos del espacio de trabajo se puede realizar utilizando software inteligente, p.e., las direcciones de memoria actuales o el registro del sistema, o utilizando cuadros de diálogo para consultar un usuario. Más particularmente, los módulos de localización 415 en el sistema base 146 determinan las direcciones de memoria de la carpeta de e-mail 138, la carpeta de archivos 142, la carpeta de calendarios 140 y la carpeta de marcadores 144 y las direcciones de memoria de los elementos del espacio de trabajo que contiene. Los módulos de localización 415 determinan, además, las correspondientes direcciones de memoria de las correspondientes carpetas en los datos del espacio de trabajo 120 y los correspondientes elementos del espacio de trabajo allí existentes. De manera similar, los módulos de localización 415 en el sistema base 118 determinan las posiciones de memoria de los elementos de espacio de trabajo de datos del espacio de trabajo 116 y las localizaciones de memoria de los correspondientes elementos de espacio de trabajo en los datos del espacio de trabajo 120.
Se apreciará que los módulos de localización 415 pueden incluir módulos de localización 415 específicamente dedicados a cada carpeta o tipo de datos del espacio de trabajo. Es decir, los módulos de localización 415 pueden incluir un módulo de localización 415 dedicado a localizar marcadores, un módulo de localización 415 dedicado a localizar correos electrónicos, un módulo de localización 415 dedicado a localizar archivos, un módulo de localización 415 dedicado a localizar citas de calendarios, etc. Además, se apreciará que los módulos de localización 415 pueden realizar la identificación de posiciones de memoria de elementos del espacio de trabajo al iniciarse el sistema o después de cada comunicación con el servidor global 120 para mantener actualizadas las direcciones de memoria de los elementos del espacio de trabajo.
El módulo de iniciación de la sincronización 420 incluye rutinas para determinar cuándo iniciar la sincronización de los datos del espacio de trabajo 136 ó 116 con datos del espacio de trabajo 120. Por ejemplo, el módulo de iniciación de sincronización 420 puede iniciar la sincronización de datos a petición del usuario, en una hora del día particular, después de que transcurra un periodo de tiempo predeterminado, después de un número predeterminado de cambios, después de una acción del usuario tal como una salida del sistema por el usuario o en criterios similares. El módulo de iniciación de la sincronización 420 inicia la sincronización de datos dando instrucciones al módulo de sincronización general 425 (descrito a continuación) para iniciar la ejecución de sus rutinas. Se apreciará que la comunicación con el agente de sincronización 124 se inicia, preferentemente, desde dentro de la red LAN 110, porque el cortafuegos típico 114 impide las comunicaciones entrantes y permite las comunicaciones salientes.
El módulo de sincronización general 425 incluye rutinas para recibir información de versión 148 para versiones modificadas desde el agente de sincronización 124 (Figura 1) y rutinas para examinar la información de versión 255 ó 150 contra una última firma de sincronización 435 (tal como una última fecha y hora de sincronización) para determinar que versiones han sido modificadas. Además, el módulo de sincronización general 425 incluye rutinas para examinar la información de versión 148 y la información de versión 255 ó 150 para determinar si una o ambas versiones de un elemento del espacio de trabajo particular o de una carpeta de elementos del espacio de trabajo han sido modificadas.
Además, el módulo de sincronización general 425 incluye rutinas para realizar una acción sensible de sincronización apropiada. Las acciones sensibles de sincronización apropiadas pueden incluir, si se ha sido modificada solamente una versión de un elemento de espacio de trabajo en datos del espacio de trabajo 136 ó 116, enviar a continuación la versión modificada (como la versión preferida) a las otras memorias de almacenamiento o determinar y enviar solamente los cambios realizados. El cómputo de los cambios realizados se puede realizar examinando el estado actual frente al estado anterior en el momento de la última sincronización o comparando las dos versiones. Se apreciará que no se necesita ninguna revisión de los cambios basada en los contenidos. Se apreciará que una memoria preferentemente envía solamente los cambios a la otra memoria para optimizar el uso de la potencia del procesador y minimizar las comunicaciones de datos a través del canal de comunicaciones 108 ó 104.
\newpage
Otras acciones sensibles de sincronización apropiadas pueden incluir, si se han modificado independientemente dos versiones de un elemento del espacio de trabajo, dando instrucciones a continuación al módulo de sincronización sobre la base de los contenidos 430 (descrito a continuación) para ejecutar sus rutinas. Es decir, si dos versiones del mismo elemento del espacio de trabajo se han modificado independientemente, entonces es preferible una revisión de los cambios basada en los contenidos. A la terminación de la sincronización de datos, el módulo de sincronización general 425 actualiza la firma de la última sincronización 435.
El módulo de sincronización basada en los contenidos 430 incluye rutinas para reconciliar dos o más versiones modificadas de un elemento del espacio de trabajo. Por ejemplo, si un usuario ha modificado independientemente el original y la copia de un elemento del espacio de trabajo desde la última modificación, entonces el módulo de sincronización basada en los contenidos 430 determina una acción sensible apropiada. El módulo de sincronización basada en los contenidos 430 puede solicitar al usuario que seleccione una preferida de las versiones modificadas o puede responder sobre la base de preferencias preestablecidas, p.e., almacenando ambas versiones en ambas memorias o preferentemente, integrando las versiones modificadas en una versión preferida única, que sustituye cada versión modificada en ambas memorias.
El módulo de sincronización basada en los contenidos 430 examina los cambios realizados a cada versión y determina si existen conflictos. Cuando se realiza la integración de versiones, puede surgir un conflicto si se realizaron modificaciones incompatibles tales como borrar un párrafo en una versión y modificar el mismo párrafo en la otra versión que ha sido hecha. Si existe un conflicto, entonces el módulo de sincronización basada en los contenidos 430 intenta reconciliar el conflicto, por ejemplo, solicitando la selección del usuario o guardando ambas versiones en ambas memorias. Por el contrario, si no existe ningún conflicto, entonces el módulo de sincronización basada en los contenidos 430 integra los cambios para cada una de las versiones y actualiza consecuentemente la información de versión 148, 150 ó 255.
La Figura 5 es un diagrama de bloques que ilustra detalles del agente de sincronización 124 que comprende un módulo de comunicaciones 505 (similar al módulo de comunicaciones 405 antes descrito con referencia a la Figura 4) y un módulo de sincronización general 515 (similar al módulo de sincronización general 425 antes descrito también con referencia a la Figura 4).
El módulo de comunicaciones 505 incluye rutinas para comprimir datos y rutinas para la comunicación a través del canal de comunicaciones 108 con el sistema base 146 o a través del canal de comunicaciones 104 con el sistema base 118. Además, el módulo de comunicaciones 505 puede comprender rutinas para establecer un canal de comunicaciones seguro a través del cortafuegos global 112 y a través del cortafuegos de red LAN 114 con el módulo de comunicaciones 405.
De forma similar al módulo de sincronización general 425, el módulo de sincronización general 515 comprende rutinas para examinar la información de versión 148 y la firma de la última sincronización 435 (Figura 4) para determinar qué versiones han sido modificadas y los cambios realizados. Se apreciará que el módulo de sincronización general 515 puede mantener su propia copia de firma de última sincronización 435 (no representada) o puede solicitar la firma de última sincronización 435 desde el sistema base 146 o 118. Además, el módulo de sincronización general 515 incluye rutinas para enviar datos del espacio de trabajo 120 determinados para ser modificado al módulo de sincronización general 425 y rutinas para recibir versiones preferidas de elementos del espacio de trabajo de datos del espacio de trabajo 136 ó 116 o simplemente, los cambios desde el módulo de sincronización general 425.
La Figura 6 ilustra un ejemplo de espacio de trabajo de marcadores en el formato global. El traductor global 122 incorpora toda la información necesaria por ambos formatos (formato A y formato B) para crear el Formato Global. Por ejemplo, si un marcador en el formato A necesita elementos X, Y y Z y un marcado en formato B necesita elementos W, X e Y, el traductor global 122 incorpora elementos W, X, Y y Z para crear un marcador en el Formato Global. Además, el traductor global 122 incorpora la información que se necesita por el medio de sincronización tal como la última fecha modificada. En consecuencia, un marcador en el Formato Global incluye una identificación del usuario (ID) 605, una identificación de entrada 610, una identificación padre 615, un indicador de carpeta 620, un nombre 625, una descripción 630, el Localizador Uniforme de Recursos (URL) 635, la posición 640, un indicador de borrado 645, una última fecha modificada 650, una fecha creada 655 y un indicador de separación 660.
La Figura 7 es un diagrama de flujo que ilustra un procedimiento 700 para utilizar un traductor global 122 para sincronizar múltiples copias de un elemento del espacio de trabajo en una red segura 100. El procedimiento 700 comienza con el módulo de interfaz del usuario 410 en la etapa 705 que permite a un usuario seleccionar elementos del espacio de trabajo de datos del espacio de trabajo 136 y 118 para que los medios de sincronización realicen su tarea de sincronizar. Los módulos de localización 415 en la etapa 710, identifican las posiciones de memoria de los elementos del espacio de trabajo en datos del espacio de trabajo 136 y 116 y las correspondientes posiciones de memoria en datos del espacio de trabajo 120. Si un elemento de espacio de trabajo seleccionado no tiene una posición de memoria correspondiente, tal como en el caso de añadir un nuevo elemento del espacio de trabajo al servidor global 106, entonces se selecciona uno de dichos elementos. La posición de memoria seleccionada puede ser un elemento del espacio de trabajo preexistente o un elemento del espacio de trabajo nuevo. Como se indicó anteriormente, la identificación de las posiciones de memoria de elementos del espacio de trabajo se puede realizar utilizando software inteligente o cuadros de diálogo. El módulo de sincronización general 425 y el módulo de sincronización 515 en la etapa 715, establecen el estado anterior de los elementos del espacio de trabajo igual al conjunto vacío. El establecimiento del estado anterior al conjunto vacío indica que fue añadida toda la información del elemento del espacio de trabajo.
El módulo de iniciación de sincronización 420, en la etapa 720, determina si se han cumplido criterios predeterminados, lo que indica que se debe iniciar la sincronización de los elementos del espacio de trabajo seleccionados en la etapa 705. Si no es así, entonces el módulo de iniciación de la sincronización 420, en la etapa 725, espera y retrocede en bucle a la etapa 720. De no ser así, el módulo de comunicaciones 405 y el módulo de comunicaciones 505, en la etapa 730, establecen un canal de comunicaciones seguro entre ellas.
El módulo de sincronización general 425 y el módulo de sincronización general 515, en la etapa 735, determinan si se modificaron algunos elementos del espacio de trabajo. Es decir, el módulo de sincronización general 425, en la etapa 740, examina la información de versión 255 ó 150 de cada elemento del espacio de trabajo seleccionado en los datos del espacio de trabajo 136 o 116 frente a la firma de la última sincronización 435 para localizar los elementos del espacio de trabajo modificados. Esta comparación puede incluir la comparación de la fecha de la última modificación con la fecha de la última sincronización o puede incluir una comparación entre el estado actual y el estado anterior en el momento de la última interacción. De modo similar, el módulo de sincronización general 515 examina la información de versión 148 de cada elemento de espacio de trabajo correspondiente en datos del espacio de trabajo 120 y la firma de la última sincronización 435 para localizar los elementos del espacio de trabajo modificados.
Si en la etapa 735 no se localizan carpetas o elementos del espacio de trabajo modificados, entonces los módulos de sincronización general 425 y 515, en la etapa 760, actualizan la firma de la última sincronización 435 y finaliza el procedimiento 700. De no ser así, el módulo de sincronización general 425, en la etapa 740, determina si se modificó más de una versión de un elemento del espacio de trabajo desde la última sincronización.
Si sólo se modificó una versión, entonces el correspondiente módulo de sincronización general 425 ó 515, en la etapa 745 determina los cambios realizados. Según se indicó antes, la determinación de los cambios efectuados se puede realizar comparando el estado actual del elemento del espacio de trabajo frente al estado anterior del elemento del espacio de trabajo en el momento de la última interacción entre ellos. Si los cambios se realizaron solamente en la versión de los datos del espacio de trabajo 120, entonces el traductor global 122, en la etapa 750, traduce los cambios al formato utilizado por la otra memoria y el módulo de sincronización general 515, en la etapa 755, envía los cambios traducidos al módulo de sincronización general 425 para actualizar el elemento del espacio de trabajo obsoleto en los datos del espacio de trabajo 136 ó 116. Si la versión actualizada es un elemento del espacio de trabajo en los datos del espacio de trabajo 136 ó 116, entonces el módulo de sincronización general 425 envía los cambios a la versión actualizada al traductor global 122 para su traducción y a continuación, al módulo de sincronización general 515 para actualizar el elemento del espacio de trabajo obsoleto en los datos del espacio de trabajo 120. El módulo de sincronización general 425 y el módulo de sincronización general 515, en la etapa 757, actualizan el estado anterior para reflejar
el estado actual en el momento de esta interacción. A continuación, el procedimiento 700 retorna a la etapa 735.
Si el módulo de sincronización general 425, en la etapa 740, determina que se modificaron múltiples versiones, entonces, el módulo de sincronización general 425, en la etapa 765, computa los cambios a cada versión y en la etapa 770, da instrucciones al módulo de sincronización basada en contenidos 430 para examinar el contenido y determinar así si existe cualquier conflicto. Por ejemplo, el módulo de sincronización basada en contenidos 430 puede determinar que existe un conflicto si un usuario borra un párrafo en una versión y modifica el mismo párrafo en otra versión. El módulo de sincronización basada en contenidos 430 puede determinar que no existe un conflicto si un usuario borra diferentes párrafos en cada versión. Si no se encuentra un conflicto, entonces el procedimiento 700 salta a la etapa 750 para traducir y enviar los cambios en cada versión a la otra memoria. Sin embargo, si se encuentra un conflicto, entonces el módulo de sincronización basada en contenidos 430, en la etapa 775, reconcilia las versiones modificadas. Como se indicó anteriormente, la reconciliación puede comprender solicitar instrucciones dadas por el usuario o basadas en preferencias preseleccionadas y realizar acciones sensibles tales como almacenar ambas versiones en ambas memorias. A continuación, el procedimiento 700 prosigue con la etapa 750
Se apreciará que, en la etapa 710, los elementos del espacio de trabajo nuevos y los elementos del espacio de trabajo preexistentes, a los que serán objeto de fusión los elementos del espacio de trabajo nuevos, se establecen como "modificados" y el estado anterior se establece como el conjunto vacío. De este modo, el módulo de sincronización general 425, en la etapa 740, determinará que fue modificada más de una versión y el módulo de sincronización basada en contenidos 430, en la etapa 770, determinará que no existe ningún conflicto. Los cambios en cada versión serán traducidos y enviados a la otra memoria. En consecuencia, las dos versiones resultarán efectivamente fundidas y almacenadas en cada memoria.
Por ejemplo, si se creó una primera carpeta de marcadores por el navegador web 152 en el ordenador de sobremesa 134, una segunda carpeta fue creada por un navegador web (no representado) en el terminal remoto 102, no preexistía ninguna carpeta anterior en el servidor global 106 y el usuario seleccionó cada una de estas carpetas para sincronización, entonces los medios de sincronización realizarán la fusión efectiva de la primera y segunda carpetas. Es decir, el módulo de sincronización general 425, en el ordenador de sobremesa 134, determinará que la primera carpeta ha sido modificada y que el estado previo es igual al conjunto vacío. El módulo de sincronización general 425 determinará y enviará los cambios, es decir, todos los elementos del espacio de trabajo en la primera carpeta, a una nueva carpeta global en el servidor global 106. De modo similar, el módulo de sincronización general 425, en el terminal remoto 102 determinará que, en el momento de su última interacción, el estado anterior de cada una de la segunda y de las carpetas globales es el conjunto vacío. El módulo de sincronización general 425 dará instrucciones al módulo de sincronización basada en contenidos 430 para examinar los cambios realizados en cada carpeta para determinar si existe un conflicto. Puesto que no existirá ningún conflicto, el módulo de sincronización general 425 enviará los cambios a la carpeta global y el módulo de sincronización general 515 enviará sus cambios a la segunda memoria, con lo que se producirá la fusión de los elementos del espacio de trabajo de la primera y segunda carpetas en las carpetas global y segunda. El módulo de sincronización general 515 informará al módulo de sincronización general 425 que la carpeta global fue modificada en relación con la última interacción y enviará los nuevos cambios a la primera carpeta. De este modo, la primera y segunda carpetas serán objeto de fusión y almacenamiento en cada memoria.
Para un segundo ejemplo, el usuario puede seleccionar un documento ejemplar en la red LAN 110 para ser sincronizado. El módulo de sincronización general 425 enviará el documento al servidor global 106. De modo similar, el usuario puede seleccionar el mismo documento para sincronización en el terminal remoto 102. El módulo de sincronización general 515 enviará el documento al terminal remoto 102. Si se realizaron cambios en los documentos de forma independiente, en ese caso el módulo de sincronización basada en contenidos 430 examinará el contenido de los documentos para determinar si existe un conflicto. Si no existe ningún conflicto, entonces según se describió antes, los módulos de sincronización general 425 y 515 efectuarán la fusión de los documentos. Por el contrario, si existe un conflicto, el módulo de sincronización basada en contenidos 430 reconciliará los cambios y a continuación, los módulos de sincronización general 425 y 515 enviarán los cambios reconciliados entre sí.
La Figura 8 es un diagrama de bloques que ilustra una red informática 800, de acuerdo con una forma de realización de la presente invención, que comprende una red de área local (LAN) 810, acoplada mediante un canal de comunicaciones 815 a una red informática 820, tal como la red Internet. La red informática 820 está acoplada, a su vez, mediante un canal de comunicaciones 825 a un servidor global 830, mediante un canal de comunicaciones 835 a un terminal remoto 805 y mediante un canal de comunicaciones 893 a un servidor de correo 894 del Proveedor de Servicios de Internet (ISP). El servidor de correo de ISP 894 está acoplado, a su vez, a otro cliente 897. El servidor global 830 está protegido mediante un cortafuegos global 880 y la red LAN 810 está protegida por un cortafuegos de LAN 870.
La red LAN 810 incluye un servidor de red 845 que acopla el cortafuegos de LAN 870, a través de un bus del sistema 855, a un cliente 840 y a un servidor de correo 850. El servidor de correo 850 recibe y almacena, en una o más estructuras de carpetas, el correo electrónico del cliente 875 (e-mails) desde la red informática 820 y con direccionamiento al cliente 840. El cliente 840 comprende un sistema de sincronización de correos electrónicos 860 para descargar los e-mails del cliente 875 desde el servidor de correo 850 y almacenarlos localmente en una o más estructuras de carpetas como "e-mails descargados" 865. Para la comunicación entre ellos, el servidor de correo electrónico 850 y el motor de correo electrónico 965 deben utilizar ambos el mismo protocolo de transmisión, tal como la tercera versión del Post Office Protocol (POP3), el protocolo de Vendor - Independent Messaging (VIM) desarrollado por Lotus Development Corporation o el protocolo de Interfaz de Programas de Aplicación de Mensajería (MAPI) desarrollado por Microsoft Corporation. Cada e-mail en la red LAN 810 se almacena en un formato predeterminado, referido como formato A, que se determina por el motor de correo electrónico 965 (Figura 9) en la red LAN 810 que realizó la descarga.
Se apreciará que, después de descargarse, los e-mails del cliente 875 correspondientes a los e-mails descargados 865, se pueden borrar del servidor de correo 850. El sistema de sincronización de e-mails 860 sincroniza, además, los e-mails descargados 865, los e-mails del cliente 875 o posiblemente sólo los e-mails de una estructura de carpetas específica (p.e., una carpeta de correos no contestados o la denominada carpeta joke del usuario) con el servidor global 830. El sistema de sincronización de e-mails 860 se describe con mayor detalle a continuación con referencia a la Figura 9.
El servidor de correo de ISP 894 y el cliente 897 operan de una forma similar al servidor de correo 850 y al cliente 840. En general, el servidor de correo de ISP 894 recibe e-mails desde la red informática 820 que se direccionan al cliente 897 y los almacena localmente en una o más estructuras de carpetas como "e-mails del cliente" 896. El sistema de sincronización de e-mails 898 del cliente 897 utiliza un motor de correo electrónico 965 (Figura 9) para descargar e-mails del Cliente 896 y almacenarlos localmente en una o más estructuras de carpetas como "e-mails descargados" 899. El motor de correo electrónico 965 del cliente 897 almacena los e-mails en Formato B, que puede ser diferente del Formato A. El sistema de sincronización de e-mails 898 sincroniza los e-mails del cliente 896, los e-mails descargados 899 o posiblemente, los e-mails de estructuras de carpetas específicas con el servidor global 830.
Cada e-mail, almacenado en el servidor de correo 850, en el cliente 840, en el servidor de correo 894 (descrito a continuación) o en el cliente 897 (descrito a continuación), puede incluir un identificador de fuente (p.e., una dirección fuente), una fecha de creación, una fecha recibida por el servidor de correo 850 ó 894 y una fecha en la que se produjo la descarga al cliente 840 ó 897. La fecha en la que se produjo la descarga al cliente 840 ó 897 puede ser la fecha en la que el sistema de sincronización de e-mails 860 ó 898 descarga los e-mails del cliente 875 ó 896 para sincronización con el servidor global 830.
El servidor global 830 comprende un agente de sincronización 885 para cooperar con el sistema de sincronización de e-mails 860 o el sistema de sincronización de e-mails 898 para sincronizar el correo electrónico entre ellos. Basado en su configuración, el sistema de sincronización de e-mails 860 o 898 traduce y envía al agente de sincronización 885 una copia o el original (es decir, no manteniendo una copia) de un e-mail descargado 865 ó 899 o un e-mail del cliente 875 ó 896. El servidor global 830 almacena las copias u originales de los e-mails descargados 865 ó 899 en una o más estructuras de carpetas como "e-mails descargados" 832 y almacena las copias u originales de los e-mails del cliente 875 ó 896 en una o más estructuras de carpetas como "e-mails del cliente" 895. El servidor global 830 almacena los e-mails en un formato global, que puede ser el mismo que el Formato A o el Formato B o puede incluir los elementos combinados de ambos formatos. Se apreciará que el sistema de sincronización de e-mails 860 ó 898 puede enviar, y el servidor global 830 puede almacenar los e-mails del cliente 875 ó 896 y los e-mails descargados 865 ó 897 juntos sin distinción. Además, los e-mails del cliente 875 ó 896 y los e-mails descargados 865 de las correspondientes carpetas específicas juntos sin distinción. Asimismo, el servidor global 830 se puede configurar para almacenar los e-mails del cliente 840 y del cliente 897 juntos sin distinción. El servidor global 830 incluye, además, un interfaz de motor web 890 que permite el acceso del motor web basado en HTTP al contenido allí existente incluyendo el acceso a los e-mails del cliente 895, los e-mails descargados 832 y las estructuras de carpetas en las que se almacenan.
Según se describió con mayor detalle anteriormente con referencia a la Figura 4, y seguidamente con referencia a la Figura 10, el sistema de sincronización de e-mails 860, preferentemente, inicia y controla la sincronización de datos. También se describen otros componentes y funciones del servidor global 830.
El terminal remoto 1505 incluye un motor web 833 para la lectura de archivos de Internet incluyendo los correos electrónicos. El terminal remoto 102 puede incluir un teléfono inteligente, un Asistente de Datos Personales (PDA) tal como el sistema PalmPilot de U.S. Robotics Inc., un ordenador portátil, etc. De este modo, en tanto que un usuario del terminal remoto 1505 pueda ser identificado y pueda acceder al servidor global 830, el usuario puede acceder a los correos electrónicos 895 y 897. Además, en tanto que los e-mails del cliente 895 y 832 estén sincronizados con los correos electrónicos 865, 875, 896 y 899, el usuario puede acceder a todos los e-mails que sean direccionados al cliente 840 y al Cliente 897.
La Figura 9 es un diagrama de bloques que ilustra detalles del cliente 900, que sirve de ejemplo para el cliente 840 y el cliente 897. El cliente 900 incluye una unidad central de proceso (CPU) 905 tal como un microprocesador Intel Pentium® o un microprocesador Motorola Power PC®. Un dispositivo de entrada 910 tal como un teclado y un ratón y un dispositivo de salida 915 tal como un monitor de tubos de rayos catódicos (TRC) están acoplados mediante un bus de señales 920 a la CPU 905. Un interfaz de comunicaciones 925 (tal como un puerto Ethernet), un dispositivo de almacenamiento de datos 930 (tal como un disco magnético) y una memoria de acceso aleatorio (RAM) 935 están acoplados, además, mediante el bus de señales 920, a la CPU 905. El interfaz de comunicaciones 925 está acoplado al bus de señales 855 (Figura 8).
Un sistema operativo 950 incluye un programa para controlar el proceso por la CPU 905 y se suele almacenar en el dispositivo de almacenamiento de datos 930 y cargarse en la memoria RAM 935 (tal como se ilustra) para su ejecución. La memoria RAM 935 almacena un sistema de sincronización de e-mails 953 (que ejemplifica el sistema de sincronización de e-mails 860 o el sistema de sincronización de e-mails 898), disponiendo de medios para descargar los e-mails del cliente 875 ó 896, medios para la lectura de los e-mails descargados 943 (que ejemplifica los e-mails descargados 865 ó 899), medios para sincronizar correos electrónicos 865, 875, 896 ó 899 (que han sido descargados) con el servidor global 830 y medios para sincronizar el e-mail de estructuras de carpetas específicas. Por ejemplo, el sistema de sincronización de e-mails 953 comprende un motor web 955 para su comunicación con los servidores web. El motor web 955 comprende un módulo de e-mails 960 para la lectura y escritura del correo electrónico. El sistema de sincronización de e-mails 953 comprende, además, un motor de correo electrónico 955 para su comunicación con el servidor de correo 850 ó 894 para descargar, leer y escribir correos electrónicos. El motor de correo electrónico 965 se comunica utilizando un protocolo convencional tal como POP3, VIM o MAPI. Los e-mails descargados 943 son almacenados en un dispositivo de almacenamiento de datos 930 (Figura 9). Además, el motor de correo electrónico 965 proporciona acceso a una agenda de direcciones 945 que contiene entradas de direcciones de e-mails, que está también almacenada en el dispositivo de almacenamiento de datos 930.
El sistema de sincronización de e-mails 953 incluye, además, un sistema base 970 para traducir e-mails desde el Formato A o Formato B al formato global y para iniciar y controlar la sincronización de e-mails con el servidor global 830. La traducción puede comprender la contención de e-mails formateados, en el servidor de correo, en paquetes HTTP (Protocolo de Transferencia de Hipertexto). El sistema base 970 se describe con mayor detalle con referencia a la Figura 10 y en la solicitud de patente de referencia cruzada.
Se apreciará que los medios para la recuperación de e-mails se pueden interpretar para incluir el sistema operativo 950 cuando se recuperan e-mails descargados 865 ó 899, el motor de correo electrónico 965 cuando se recuperan e-mails del cliente 875 ó 896, el módulo de e-mails 960 del motor web 955 cuando se recuperan e-mails desde un sitio en la red informática 820 o sus combinaciones.
La Figura 10 es un diagrama de bloques que ilustra detalles del sistema base 970. El sistema base 970 incluye un módulo de comunicaciones 1005, un módulo de interfaz del usuario 1010, módulos de localización 1015, un módulo de iniciación de sincronización 1020 y un módulo de sincronización de e-mails 1030. Para mayor simplicidad, cada módulo se ilustra como comunicándose con otro a través de un bus de señales 1030.
El módulo de comunicaciones 1005 incluye rutinas para comprimir datos y rutinas para establecer un enlace de comunicaciones, a través del interfaz de comunicaciones 925 (Figura 9), con el agente de sincronización 885 (Figura 8). El módulo de comunicaciones 1005 puede incluir, además, rutinas para aplicar la tecnología de Secure Socket Layer (SSL) y las técnicas de identificación y autenticación del usuario (esto es, certificados digitales) para establecer un canal de comunicación seguro a través del cortafuegos global 880. Puesto que la sincronización se inicia desde dentro del cortafuegos y utiliza protocolos comúnmente habilitados, tal como el Protocolo de Transferencia de Hipertexto (HTTP), el cortafuegos típico, que impide las comunicaciones entrantes en general y algunos protocolos salientes, no actúa como un impedimento para la sincronización de e-mails. Ejemplos de módulos de comunicaciones 1005 pueden comprender pilas de TCP/IP o el protocolo AppleTalk®.
El módulo de interfaz de usuario 1010 comprende rutinas para la comunicación con un usuario y puede comprender un Interfaz de Usuario Gráfico (GUI) convencional. El módulo de interfaz de usuario 1010 coopera con los otros componentes del sistema según se describe en esta memoria.
Los módulos de localización 1015 incluyen rutinas para identificar las localizaciones de memoria de e-mails en la red LAN 810 de la Figura 8 (p.e., e-mails 875 en el servidor de correo 850 y e-mails 865 en el cliente 840), las posiciones de memoria de e-mail 896 en el servidor de correo ISP 894, las posiciones de memoria de e-mails 899 en el cliente 897, las posiciones de memoria de e-mails en el servidor global 830 (p.e., e-mails del cliente 895 y e-mails descargados 832) y las posiciones de memoria de las estructuras de carpetas en las que están almacenados los e-mails. La identificación de las localizaciones de memoria de e-mails se puede realizar utilizando software inteligente, esto es, posiciones de memoria preestablecidas o el registro del sistema o utilizando cuadros de diálogo para la consulta de un usuario. Se apreciará que los módulos de localización 1015 pueden realizar la identificación de localizaciones de e-mails en la inicialización del sistema o después de cada comunicación con el servidor global 830 para mantener posiciones de memoria actualizadas.
El módulo de iniciación de sincronización 1020 incluye rutinas para determinar cuando iniciar la sincronización de e-mails. El módulo de iniciación de sincronización 1020 inicia una sincronización de e-mails, después de recibir un número predeterminado de e-mails. El módulo de iniciación de sincronización 1020 inicia una sincronización de e-mails dando instrucciones al módulo de sincronización de e-mails 1025 (descrito a continuación) para iniciar la ejecución de sus rutinas. Se apreciará que la comunicación con el agente de sincronización 885 preferentemente se inicia desde dentro de la red LAN 810, porque un sistema de seguridad, tal como el cortafuegos típico 870, impide las comunicaciones entrantes y permite las comunicaciones salientes. El módulo de iniciación de la sincronización 1020 puede dar instrucciones al módulo de comunicaciones 1005 para establecer el enlace de comunicaciones con el agente de sincronización 885 del servidor global 830.
El módulo de sincronización de e-mails 1025 incluye rutinas para dar instrucciones al motor de correo electrónico 965 (Figura 9) para recuperar los e-mails del cliente 875 ó 896 desde el servidor de correo 850 ó 894 o desde carpetas específicas en el servidor de correo 850 ó 894. El módulo de sincronización de e-mails 1025 también incluye rutinas para almacenar los e-mails recuperados en una o más estructuras de carpetas como e-mails descargados 865 ó 899. El motor de correo electrónico 965 puede incluir medios para identificar un protocolo de transmisión también conocido por el servidor de correo 850 ó 894, por ejemplo, el motor de correo electrónico 965 puede solicitar información de configuración desde el servidor de correo 850 ó 894 que indica el protocolo, p.e., POP3, que se está utilizando. En consecuencia, el motor de correo electrónico 965 implementa el protocolo identificado cuando se descargan los
e-mails.
El módulo de sincronización de e-mails 1025 incluye, además, rutinas para comparar la fecha de recepción de cada e-mails descargado 865 o 899 frente a una signatura de última sincronización 1035 (tal como la fecha y hora de la última sincronización) para determinar qué e-mails no han sido enviados al servidor global 830. Se apreciará que, en una forma de realización que borra los e-mails del cliente 875 ó 896 después de descargarse desde el servidor de correo 850 ó 894, el módulo de sincronización de e-mails 1025 no necesita realizar una prueba de comparación en los e-mails del cliente 875 ó 896 descargados durante la sincronización. Estos e-mails del cliente 875 ó 896, en esta forma de realización, no fueron inherentemente enviados.
El módulo de sincronización de e-mails 1025 incluye, además, rutinas para realizar una acción sensible de sincronización apropiada. Las acciones sensibles de sincronización apropiadas pueden incluir dar instrucciones al módulo de comunicaciones 1005 para establecer un enlace de comunicaciones con el agente de sincronización 885 del servidor global 830, enviando copias de cada e-mail al servidor global 830, redireccionando (esto es, enviando sin mantener una copia) solamente los e-mails del cliente 875 o 896 al servidor global 830, o redireccionando los e-mails descargados 865 ó 899 y los e-mails del cliente 875 ó 896 al servidor global 830. Para enviar una copia o un original de un e-mail, el módulo de sincronización de e-mails 1025 incluye un traductor 1040 para traducir el e-mail desde el formato A o el formato B al formato global. A continuación, el módulo de sincronización de e-mails 1025 da instrucciones al módulo de e-mails 960 del motor web 955 para enviar los e-mails traducidos al servidor global 830.
La sincronización de e-mails puede incluir la sincronización de otra información correspondiente al correo electrónico. Por ejemplo, el módulo de sincronización de e-mails 1025 puede incluir rutinas para examinar y sincronizar la agenda de direcciones 945 con una agenda de direcciones 1130 (Figura 11) en el servidor global 830. Las operaciones de examen y sincronización de las entradas de la agenda de direcciones se realizan según se describe a continuación con referencia a las Figuras 1 a 7. En general, el módulo de sincronización de e-mails 1025 puede examinar la información de versión que indica la fecha y la hora de la última modificación de la agenda de direcciones 945 en el cliente 900 y la información de versión que indica la fecha y hora de la última sincronización de la agenda de direcciones 1130 (Figura 11) en el servidor global 830. Basándose en el examen, el módulo de sincronización de e-mails 1025 realiza una acción de sincronización sensible apropiada tal como enviar las entradas de direcciones de e-mails actualizadas a la otra memoria. El módulo de sincronización de e-mails 1025 puede comprender un módulo de sincronización general 425 (Figura 4) y un módulo de sincronización basada en contenidos 430 (Figura 4).
La Figura 11 es un diagrama de bloques que ilustra detalles del servidor global 830, que incluye una CPU 1105, un interfaz de comunicaciones 1110, un dispositivo de almacenamiento de datos 1120 y una memoria RAM 1125, cada una acoplada a un bus de señales 1115. El interfaz de comunicaciones 1110 está acoplado, mediante el cortafuegos global 880 (Figura 8) al canal de comunicaciones 825.
Un sistema operativo 1135 incluye un programa para controlar el procesamiento por la CPU 1105 y se suele guardar en el dispositivo de almacenamiento de datos 1120 y cargarse en la memoria RAM 1125 (según se ilustra) para su ejecución. Un interfaz de motor web 890 es un programa para la comunicación con el motor web 833 o el motor web 955 y para facilitar el acceso a contenidos predeterminados, que pueden comprender e-mails del cliente 895, e-mails descargados 832 y la agenda de direcciones 1130. El interfaz de motor web 890 incluye un interfaz de módulo de e-mails 1140 para la comunicación con el módulo de e-mails 960 o el módulo de e-mails 1355 (Figura 13) y para facilitar las funciones de lectura y escritura de correos electrónicos.
El agente de sincronización 885, como mejor se representa en la Figura 12, está guardado también en el dispositivo de almacenamiento de datos 1120 y cargado en la memoria RAM 1125 para su ejecución. El agente de sincronización 885 se comunica con el módulo de sincronización de e-mails 1025 para sincronizar e-mails, el e-mails de estructura de carpetas específicas y posiblemente, para sincronizar la agenda de direcciones 945. El agente de sincronización 885 se describe con más detalle a continuación con referencia a la Figura 12 y en la solicitud de patente de referencia cruzada.
La Figura 12 es un diagrama de bloques que ilustra detalles del agente de sincronización 885, que incluye un módulo de comunicaciones 1205 (similar al módulo de comunicaciones 1005 antes descrito con referencia a la Figura 10) y un módulo de sincronización de e-mails 1210 (similar al módulo de sincronización de e-mails 1025 también descrito antes con referencia a la Figura 10).
El módulo de comunicaciones 1205 incluye rutinas para comprimir datos y rutinas para comunicarse, a través de la red informática 820 (Figura 8) con el módulo de comunicaciones 1005 (Figura 10). El módulo de comunicaciones 1205 puede incluir, además, rutinas para establecer un canal de comunicaciones seguro a través del cortafuegos global 880 y a través del cortafuegos de red LAN 870 con el módulo de comunicaciones 1005.
De forma similar al módulo de sincronización de e-mails 1025 (Figura 10), el módulo de sincronización de e-mails 1210 incluye rutinas para examinar información para determinar si han sido añadidos o modificados e-mails y no sincronizados con un cliente 840 (Figura 8). En consecuencia, el módulo de sincronización de e-mails 1210 puede determinar si algunas direcciones en la agenda de direcciones 1130 (Figura 11) han de copiarse y enviarse a un cliente 900. Además, si el sistema 1500 sincroniza e-mails en cada uno de los sitios del cliente, entonces el módulo de sincronización de e-mails 1210 también determina si algunos de los e-mails 895 ó 832 han sido añadidos o modificados y no sincronizados con un cliente 900.
Se apreciará que el módulo de sincronización de e-mails 1210 puede mantener su propia copia de firma de última sincronización 1035 (no representada) o puede solicitar la firma de última sincronización 1035 desde el sistema base 970. El módulo de sincronización de e-mails 1210 incluye, además, rutinas para enviar la información determinada para modificarse o simplemente los cambios al módulo de sincronización de e-mails 1025.
La Figura 13 es un diagrama de bloques que ilustra detalles del terminal remoto 1505. El terminal remoto 1505 incluye una unidad central de procesos (CPU) 1305 tal como un microprocesador Intel Pentium® o un microprocesador Motorla Power PC®. Un dispositivo de entrada 1310 tal como un teclado y un ratón, y un dispositivo de salida 1315 tal como un monitor de tubos de rayos catódicos (TRC), están acoplados mediante un bus de señales 1320 a la CPU 1305. Un interfaz de comunicaciones 1325 (tal como un puerto de Ethernet), un dispositivo de almacenamiento de datos 1330 (tal como un disco magnético) y una memoria de acceso aleatorio (RAM) 1335 están, además, acoplados mediante el bus de señales 1320 a la unidad CPU 1305. El interfaz de comunicaciones 1325 está acoplado al bus de señales 835 (Figura 8).
Un sistema operativo 1350 incluye un programa para controlar el procesamiento por la CPU 1305 y suele guardarse en el dispositivo de almacenamiento de datos 1330 y cargarse en la memoria RAM 1335 (tal como se ilustra) para su ejecución. Además, el motor web 833 suele estar guardado en el dispositivo de almacenamiento de datos 1330 y cargado en la memoria RAM 1335 (tal como se ilustra) para su ejecución. El motor web 833 incluye un módulo de e-mails 1355 para lectura y escritura del correo electrónico. Después de que el terminal remoto 1505 conecte con el servidor global 830, el módulo de e-mails 1355 se comunica con el interfaz del módulo de e-mails 1140 para seleccionar y descargar los e-mails del cliente 895 o los e-mails descargados 832. El módulo de e-mails 1355 almacena los e-mails descargados desde el servidor global 830 al dispositivo de almacenamiento de datos 1330 como "e-mails descargados" 1340. El módulo de e-mails 1355 permite al usuario leer, responder, enviar, redireccionar, etc., los e-mails 1340. De modo similar, el motor web 833 puede permitir el acceso a la agenda de direcciones 945 de modo que el usuario pueda acceder a sus entradas de direcciones de e-mails de otro modo almacenadas solamente en la red
LAN 810.
La Figura 14 es un diagrama de flujo que ilustra un procedimiento 1400 para sincronizar e-mails en una red informática 1500. El procedimiento 1400 se inicia con el servidor de correo electrónico 850 ó 894 en la etapa 1405 que recibe e-mails direccionados para un cliente 840 ó 897. El servidor de correo 850 ó 894, en la etapa 1410, almacena los e-mails recibidos en una o más estructuras de carpetas como e-mails del cliente 875 o en una o más estructuras de carpetas como e-mails del cliente 896 (Figura 8). El motor de correo electrónico 965, en la etapa 1415, permite a un usuario seleccionar e-mails del cliente 875 ó 896 para su descarga desde el servidor de correo 850 ó 894. Si se seleccionan e-mails, entonces el motor de correo electrónico 965, en la etapa 1420, descarga los e-mails del cliente seleccionado 875 ó 896 y los almacena en una o más estructuras de carpetas como e-mails descargados 865 o en una o más estructuras de carpetas como e-mails descargados 899 (Figura 8). Si, en la etapa 1415, no se seleccionan e-mails, entonces el procedimiento 1400 salta a la etapa 1425.
En la etapa 1425, el módulo de iniciación de sincronización 1020 determina si se han cumplido los criterios de iniciación predeterminados, indicando que es el momento de la sincronización de e-mails. Los criterios de iniciación predeterminados se satisfacen después de recibir un número particular de e-mails. Si no es el momento de la sincronización, entonces, el módulo de iniciación de la sincronización 1020 en la etapa 1430 espera. Si, por el contrario, es el momento de la sincronización, el módulo de sincronización de e-mails 1025, en la etapa 1435, da instrucciones al motor de correo electrónico 965 para descargar los e-mails del cliente 875 ó 896 o los e-mails del cliente 875 o 896 desde estructuras de carpetas específicas.
El módulo de sincronización de e-mails 1025, en la etapa 1440, determina si cualquiera de los e-mails descargados 865 ó 899 (que incluyen los e-mails del cliente 875 ó 896 recientemente descargados) no han sido enviados al servidor global 830. Esta comparación se puede realizar examinando la hora y fecha en que fue recibido el e-mail frente a una firma de última sincronización 1035 que indica la fecha y hora de la última sincronización. Por ejemplo, si fue recibido un e-mail después de la fecha y hora de la última sincronización, no fue enviado el e-mail. Se apreciará que, en un ejemplo de realización que borra los e-mails del cliente 875 y 896 desde el servidor de correo 850 ó 894 después de descargarlos al cliente 840 ó 897, el motor de correo electrónico 965 puede concluir automáticamente que estos e-mails no fueron enviados al servidor global 830.
Si todos los e-mails (previstos para sincronización) han sido enviados al servidor global 830, entonces finaliza el procedimiento 1400. De no ser así, si al menos un e-mail no ha sido enviado, entonces el módulo de sincronización de e-mails 1025, en la etapa 1445, utiliza el traductor 1040 para traducir los e-mails no enviados 865 ó 899 desde el formato A o formato B al formato global. El módulo de sincronización de e-mails 1025, en la etapa 1450, instruye al motor web 955 para enviar el e-mail traducido al servidor global 830 para que se almacene con el interfaz de motor web 890. A continuación, finaliza el procedimiento 1400.
La Figura 15 es un diagrama de flujo que ilustra un procedimiento 1500 para acceder a los e-mails desde el servidor global 830. El procedimiento 1500 comienza con el módulo de sincronización de e-mails 1210, en la etapa 1505, recibiendo e-mails desde el cliente 840 ó 897. El módulo de sincronización de e-mails 1210, en la etapa 1510, almacena los e-mails en el dispositivo de almacenamiento de datos 1120 en una o más estructuras de carpetas como e-mails del cliente 895 y e-mails descargados 832. El interfaz del motor de correo electrónico 890, en la etapa 1515, utiliza HTML para permitir el acceso del módulo de e-mails a los contenidos seleccionados del servidor global 830. El acceso a los contenidos seleccionados se describe con mayor detalle a continuación con referencia a las Figuras 1 a 7.

Claims (27)

1. Procedimiento de sincronización de e-mails entre una memoria de correo en un primer sitio, estando dirigidos los e-mails a un cliente (840) en el primer sitio, y un terminal remoto portátil (805) en un segundo sitio, comprendiendo el procedimiento la utilización de un sistema de sincronización (860) para determinar si se deben sincronizar los e-mails en la memoria de correo en un primer sitio y enviar e-mails que se deben sincronizar, y recibir modificaciones de e-mails que se deben sincronizar, a través de un canal de comunicaciones (815, 825), estando localizado el sistema de sincronización en el primer sitio, en el que el terminal remoto incluye un módulo de e-mails para leer y redactar e-mails, la memoria RAM y un dispositivo de almacenamiento de datos,
en el que la memoria de correo en el primer sitio está en servidor de correo (850), el primer sitio comprende una Red de Area Local (LAN) protegida de Internet por un cortafuegos de LAN (870), y el segundo sitio es externo al cortafuegos de LAN (870),
en el que el procedimiento comprende:
proporcionar el sistema de sincronización en el primer sitio separado del servidor de correo, estando incluido el sistema en un ordenador que es un cliente del servidor de correo y estando acoplado al servidor de correo a través de la red LAN;
disponer el sistema de sincronización en el primer sitio:
para recuperar un e-mail que se debe sincronizar desde el servidor de correo al sistema de sincronización a través de la red LAN;
para enviar el e-mail que se debe sincronizar desde el sistema de sincronización, y para recibir modificaciones de e-mails que se deben sincronizar al sistema de sincronización, mediante el canal de comunicaciones (815, 825) a través del cortafuegos de LAN, habiendo sido establecido el canal de comunicaciones mediante Internet con un servidor (830) en un tercer sitio externo con respecto al cortafuegos de LAN utilizando un protocolo que permite la comunicación a través del cortafuegos de LAN, estando conectado el servidor en el tercer sitio al cortafuegos de LAN a través de Internet; y
para utilizar un criterio de iniciación para determinar cuándo se debe iniciar la sincronización, comprendiendo el criterio de iniciación si se ha recibido un número predeterminado de e-mails;
disponer el terminal remoto, en el segundo sitio, para estar en comunicación con el servidor en el tercer sitio; y
disponer el módulo de e-mails en el terminal remoto para descargar el e-mail que se debe sincronizar a partir del servidor en el tercer sitio y para almacenar el e-mail descargado en el dispositivo de almacenamiento de datos.
2. Procedimiento según la reivindicación 1, en el que el servidor en el tercer sitio está protegido por un segundo cortafuegos (880), estando establecido el canal de comunicaciones a través del segundo cortafuegos.
3. Procedimiento según la reivindicación 1 ó 2, en el que el sistema de sincronización está operativo para comunicar con el servidor de correo utilizando el Post Office Protocol (POP3).
4. Procedimiento según la reivindicación 1 ó 2, en el que el sistema de sincronización está operativo para comunicar con el servidor de correo utilizando el protocolo de Vendor - Independent Messaging (VIM).
5. Procedimiento según la reivindicación 1 ó 2, en el que el sistema de sincronización está operativo para comunicarse con el servidor de correo utilizando el protocolo de Interfaz de Programas de Aplicación de Mensajería (MAPI).
6. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que el protocolo que permite las comunicaciones a través del cortafuegos es un protocolo comúnmente habilitado.
7. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que el protocolo que permite las comunicaciones a través del cortafuegos es un protocolo de transferencia de hipertexto.
8. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que el canal de comunicaciones a través del cortafuegos es un canal de comunicaciones seguro.
9. Procedimiento según la reivindicación 8, que comprende la tecnología de la Capa de Conexión Segura para establecer el canal de comunicaciones seguro.
10. Procedimiento según cualquiera de las reivindicaciones anteriores, que comprende la traducción de un formato de e-mail antes de la comunicación a través del canal de comunicaciones mediante el cortafuegos.
11. Procedimiento según cualquiera de las reivindicaciones anteriores, que comprende la compresión de datos para la comunicación mediante el canal de comunicaciones a través del cortafuegos.
12. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que el sistema de sincronización es capaz de determinar si se deben sincronizar los e-mails de una estructura de carpetas específica para un usuario particular.
13. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que el terminal remoto es un teléfono inteligente ("smartphone").
14. Sistema de sincronización de e-mails (860) y un terminal remoto portátil (805) para ejecutar un procedimiento de sincronización de e-mails entre una memoria de correo en un primer sitio, estando dirigidos los e-mails a un cliente (840) en el primer sitio, y el terminal remoto (805) en un segundo sitio, estando adaptado el sistema de sincronización en el primer sitio para determinar si se deben sincronizar los e-mails en la memoria de correo en el primer sitio y para enviar e-mails que se deben sincronizar, y para recibir modificaciones de e-mails que se deben sincronizar mediante un canal de comunicaciones (815, 825), en el que el terminal remoto incluye un módulo de e-mails para leer y redactar e-mails, la memoria RAM y un dispositivo de almacenamiento de datos,
en el que la memoria de correo en el primer sitio está en un servidor de correo (850), el primer sitio comprende una Red de Area Local (LAN) (810) protegida de Internet mediante un cortafuegos de LAN (870), y el segundo sitio es externo con respecto al cortafuegos de LAN,
en el que el sistema de sincronización está previsto en el primer sitio separado del servidor de correo, estando incluido el sistema de sincronización en un ordenador que es un cliente del servidor de correo y estando acoplado al servidor de correo a través de la red LAN,
en el que el sistema de sincronización está adaptado:
para recuperar un e-mail que se debe sincronizar desde el servidor de correo al sistema de sincronización mediante la red LAN:
para enviar el e-mail que se debe sincronizar del sistema de sincronización, y para recibir las modificaciones de e-mails que se deben sincronizar al sistema de sincronización, a través del canal de comunicaciones (815, 825) mediante el cortafuegos de LAN, habiendo sido establecido el canal de comunicaciones a través de Internet con un servidor (830) en el tercer sitio externo con respecto al cortafuegos de LAN utilizando un protocolo que permite la comunicación a través del cortafuegos de LAN, estando conectado el servidor en el tercer sitio con el cortafuegos de LAN a través de Internet, en el que el terminal remoto, en el segundo sitio, está en comunicación con el servidor en el tercer sitio; y
para utilizar un criterio de iniciación para determinar cuándo se debe iniciar la sincronización, comprendiendo el criterio de iniciación si se ha recibido o no un número predeterminado de e-mails; y
en el que el módulo de e-mails en el terminal remoto está adaptado para descargar el e-mail que se debe sincronizar desde el servidor en el tercer sitio y para almacenar el e-mail descargado en el dispositivo de almacenamiento de datos.
15. Sistema de sincronización de e-mails y terminal remoto portátil según la reivindicación 14, en el que el servidor en el tercer sitio está protegido por un segundo cortafuegos (880), estando establecido el canal de comunicaciones a través del segundo cortafuegos.
16. Sistema de sincronización de e-mails y terminal remoto portátil según la reivindicación 14 ó 15, en el que el sistema de sincronización está operativo para comunicarse con el servidor de correo utilizando el Post Office Protocol (POP3).
17. Sistema de sincronización de e-mails y terminal remoto portátil según la reivindicación 14 ó 15, en el que el sistema de sincronización está operativo para comunicarse con el servidor de correo utilizando el protocolo de Vendor - Independent Messaging (VIM).
18. Sistema de sincronización de e-mails y terminal remoto portátil según la reivindicación 14 ó 15, en el que el sistema de sincronización está operativo para comunicarse con el servidor de correo utilizando el protocolo de Interfaz de Programas de Aplicación de Mensajería (MAPI).
19. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 18, en el que el protocolo que permite las comunicaciones mediante el cortafuegos es un protocolo comúnmente habilitado.
20. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 19, en el que el protocolo que permite las comunicaciones a través del cortafuegos es un protocolo de transferencia de hipertexto.
21. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 20, en el que el canal de comunicaciones a través del cortafuegos es un canal de comunicaciones seguro.
22. Sistema de sincronización de e-mails y terminal remoto portátil según la reivindicación 21, en el que el sistema de sincronización está operativo para aplicar la tecnología de Capa de Conexión Segura para establecer el canal de comunicaciones seguro.
23. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 22, en el que el sistema de sincronización está operativo para traducir un formato de e-mail antes de la comunicación mediante el canal de comunicaciones a través del cortafuegos.
24. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 23, en el que el sistema de sincronización está operativo para comprimir datos para la comunicación a través del canal de comunicaciones mediante el cortafuegos.
25. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 24, en el que el sistema de sincronización es capaz de determinar si se deben sincronizar los e-mails de una estructura de carpetas específica para un usuario particular.
26. Sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a 25, en el que el terminal remoto es un teléfono inteligente ("smartphone").
27. Sistema de e-mails que comprende:
el sistema de sincronización de e-mails y terminal remoto portátil según cualquiera de las reivindicaciones 14 a
26; y
el servidor (830) en el tercer sitio.
ES06009953T 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red. Expired - Lifetime ES2315960T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/897,888 US5961590A (en) 1997-04-11 1997-07-22 System and method for synchronizing electronic mail between a client site and a central site
US897888 1997-07-22

Publications (1)

Publication Number Publication Date
ES2315960T3 true ES2315960T3 (es) 2009-04-01

Family

ID=25408591

Family Applications (4)

Application Number Title Priority Date Filing Date
ES06009953T Expired - Lifetime ES2315960T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.
ES07102846T Expired - Lifetime ES2316123T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.
ES98936865T Expired - Lifetime ES2256949T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.
ES07103428T Expired - Lifetime ES2316125T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES07102846T Expired - Lifetime ES2316123T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.
ES98936865T Expired - Lifetime ES2256949T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.
ES07103428T Expired - Lifetime ES2316125T3 (es) 1997-07-22 1998-07-21 Sistema y procedimiento para sincronizar correo electronico a traves de una red.

Country Status (13)

Country Link
US (1) US5961590A (es)
EP (7) EP0996905B1 (es)
JP (1) JP3532854B2 (es)
CN (1) CN100338606C (es)
AT (4) ATE411573T1 (es)
CA (1) CA2296432A1 (es)
DE (4) DE69840137D1 (es)
DK (1) DK0996905T3 (es)
ES (4) ES2315960T3 (es)
HK (1) HK1028283A1 (es)
IL (1) IL134138A (es)
PT (1) PT996905E (es)
WO (1) WO1999005620A1 (es)

Families Citing this family (330)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023708A (en) * 1997-05-29 2000-02-08 Visto Corporation System and method for using a global translator to synchronize workspace elements across a network
US20060195595A1 (en) * 2003-12-19 2006-08-31 Mendez Daniel J System and method for globally and securely accessing unified information in a computer network
US6708221B1 (en) 1996-12-13 2004-03-16 Visto Corporation System and method for globally and securely accessing unified information in a computer network
US7287271B1 (en) 1997-04-08 2007-10-23 Visto Corporation System and method for enabling secure access to services in a computer network
US7206815B1 (en) 1997-01-29 2007-04-17 Palmsource Inc. Method and apparatus for synchronizing an email client on a portable computer system with an email client on a desktop computer
US6401112B1 (en) * 1997-01-29 2002-06-04 Palm, Inc. Method and apparatus for synchronizing an Email client on a portable computer system with an Email client on a desktop computer
US5895471A (en) 1997-07-11 1999-04-20 Unwired Planet, Inc. Providing a directory of frequently used hyperlinks on a remote server
WO1999005612A1 (de) * 1997-07-25 1999-02-04 Siemens Aktiengesellschaft Verfahren zur synchronisierten darstellung von netz-inhalten
US6125446A (en) * 1997-08-29 2000-09-26 Compaq Computer Corporation Computer architecture with automatic disabling of hardware/software features using satellite positioning data
US7003304B1 (en) 1997-09-19 2006-02-21 Thompson Investment Group, Llc Paging transceivers and methods for selectively retrieving messages
US6826407B1 (en) 1999-03-29 2004-11-30 Richard J. Helferich System and method for integrating audio and visual messaging
US6253061B1 (en) 1997-09-19 2001-06-26 Richard J. Helferich Systems and methods for delivering information to a transmitting and receiving device
US6636733B1 (en) 1997-09-19 2003-10-21 Thompson Trust Wireless messaging method
US6259892B1 (en) 1997-09-19 2001-07-10 Richard J. Helferich Pager transceiver and methods for performing action on information at desired times
US6087956A (en) 1997-09-19 2000-07-11 Helferich; Richard J. Paging transceivers and methods for selectively erasing information
JP3752799B2 (ja) * 1997-09-29 2006-03-08 村田機械株式会社 通信システム
US6370566B2 (en) * 1998-04-10 2002-04-09 Microsoft Corporation Generating meeting requests and group scheduling from a mobile device
US20040107208A1 (en) * 1997-12-09 2004-06-03 Seet Siew Shon Method and apparatus for bookmarking telephone numbers for efficient access by wireless phone devices
US6983138B1 (en) 1997-12-12 2006-01-03 Richard J. Helferich User interface for message access
US6157630A (en) * 1998-01-26 2000-12-05 Motorola, Inc. Communications system with radio device and server
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
US8516055B2 (en) 1998-05-29 2013-08-20 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device in a wireless data network
US6438585B2 (en) 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US7209949B2 (en) 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
US7209955B1 (en) 1998-05-29 2007-04-24 Research In Motion Limited Notification system and method for a mobile data communication device
US7689721B2 (en) * 1998-05-29 2010-03-30 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US6463463B1 (en) 1998-05-29 2002-10-08 Research In Motion Limited System and method for pushing calendar event messages from a host system to a mobile data communication device
US7277424B1 (en) 1998-07-21 2007-10-02 Dowling Eric M Method and apparatus for co-socket telephony
EP0986225A1 (en) 1998-09-11 2000-03-15 Visto Corporation System and method for securely synchronizing multiple copies of a workspace element in a network
US6131096A (en) * 1998-10-05 2000-10-10 Visto Corporation System and method for updating a remote database in a network
US6522875B1 (en) 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
US6983308B1 (en) * 1998-11-19 2006-01-03 Openwave Systems, Inc. Mail synchronization of remote and local mail systems
US6449634B1 (en) * 1999-01-29 2002-09-10 Digital Impact, Inc. Method and system for remotely sensing the file formats processed by an E-mail client
SE515459C2 (sv) * 1999-02-10 2001-08-06 Ericsson Telefon Ab L M Metod för att synkronisera en värddatabas och en fjärrdatabas
US6654779B1 (en) * 1999-04-14 2003-11-25 First Data Resources System and method for electronic mail (e-mail) address management
US7233992B1 (en) * 1999-04-26 2007-06-19 Comerica Bank-California Computerized method and system for managing the exchange and distribution of confidential documents
US6886017B1 (en) * 1999-04-30 2005-04-26 Elata Limited System and method for managing distribution of content to a device
US6356937B1 (en) * 1999-07-06 2002-03-12 David Montville Interoperable full-featured web-based and client-side e-mail system
US6618710B1 (en) 1999-07-07 2003-09-09 International Business Machines Corporation Apparatus and method for intelligent routing of electronic messages to pagers and computers
US6941374B1 (en) * 1999-08-05 2005-09-06 Amazon.Com, Inc. Hidden agent transfer protocol
US6526413B2 (en) * 1999-09-28 2003-02-25 Microsoft Corporation Architecture for a hierarchical folder structure in hand-held computers
US6606649B1 (en) 1999-09-28 2003-08-12 Microsoft Corporation Application programming interface functions for supporting an improved message store for hand-held computers
US6636897B1 (en) * 1999-09-28 2003-10-21 Microsoft Corporation Selective information subset synchronization based on single user action
US6578054B1 (en) 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
JP3501038B2 (ja) * 1999-10-06 2004-02-23 日本電気株式会社 携帯端末システム、これに用いる携帯端末
US20030140112A1 (en) * 1999-11-04 2003-07-24 Satish Ramachandran Electronic messaging system method and apparatus
JP4119063B2 (ja) * 1999-11-05 2008-07-16 株式会社東芝 メッセージ処理装置、メッセージ処理システム及びメッセージ処理方法
US6728714B1 (en) * 1999-11-30 2004-04-27 International Business Machines Corporation System and method for assigning unique identifier to deleted unopened original sender e-mail after delivery
JP2001167019A (ja) * 1999-12-13 2001-06-22 Sharp Corp 電子メールシンクロ装置
US6873841B1 (en) * 1999-12-16 2005-03-29 Koninklijke Philips Electronics N.V. Shared address-data service for personal CE equipment
AU2001226383A1 (en) * 2000-01-13 2001-07-24 Tut Systems, Inc. System and method for managing network access
US7509263B1 (en) * 2000-01-20 2009-03-24 Epocrates, Inc. Method and system for providing current industry specific data to physicians
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US7505762B2 (en) 2004-02-27 2009-03-17 Fusionone, Inc. Wireless telephone data backup system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8620286B2 (en) 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US7035878B1 (en) 2000-01-25 2006-04-25 Fusionone, Inc. Base rolling engine for data transfer and synchronization system
US7024457B1 (en) * 2000-02-17 2006-04-04 J2 Global Communications, Inc. E-mail synchronization between heterogeneous mail servers
GB2365260B (en) * 2000-02-24 2004-05-26 Ibm Database synchronisation for mobile computing devices
US6438584B1 (en) * 2000-03-07 2002-08-20 Letter Services, Inc. Automatic generation of graphically-composed correspondence via a text email-interface
US7739334B1 (en) 2000-03-17 2010-06-15 Visto Corporation System and method for automatically forwarding email and email events via a computer network to a server computer
US6735624B1 (en) * 2000-04-07 2004-05-11 Danger, Inc. Method for configuring and authenticating newly delivered portal device
US6721804B1 (en) 2000-04-07 2004-04-13 Danger, Inc. Portal system for converting requested data into a bytecode format based on portal device's graphical capabilities
US6865671B1 (en) * 2000-04-07 2005-03-08 Sendmail, Inc. Electronic mail system with authentication methodology for supporting relaying in a message transfer agent
US6701522B1 (en) 2000-04-07 2004-03-02 Danger, Inc. Apparatus and method for portal device authentication
US6742038B2 (en) 2000-04-07 2004-05-25 Danger, Inc. System and method of linking user identification to a subscriber identification module
AU2001250201A1 (en) * 2000-04-10 2001-10-23 Research In Motion Limited System and method for bundling information
US6789108B1 (en) * 2000-04-14 2004-09-07 Tmx Interactive Method and apparatus for dissemination of rich media
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
US7500188B1 (en) * 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US6684239B1 (en) * 2000-05-16 2004-01-27 At&T Corp. System and method for automatically publishing electronic mail messages on the internet
US6944651B2 (en) * 2000-05-19 2005-09-13 Fusionone, Inc. Single click synchronization of data from a public information store to a private information store
US8447967B1 (en) * 2000-06-29 2013-05-21 Datamotion, Inc. Controlled message distribution
US6804699B1 (en) 2000-07-18 2004-10-12 Palmone, Inc. Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US6839738B2 (en) 2000-12-28 2005-01-04 Pitney Bowes Inc. System and method for cleansing addresses for electronic messages
US6957248B2 (en) 2000-07-31 2005-10-18 Pitney Bowes Inc. System and method for forwarding electronic messages
US6895427B2 (en) 2000-12-28 2005-05-17 Pitney Bowes Inc. System and method for cleansing addresses for electronic messages
US7035902B1 (en) * 2000-08-11 2006-04-25 International Business Machines Corporation Method, article of manufacture and apparatus for processing an electronic mail document
US7546351B1 (en) 2000-08-17 2009-06-09 Mxgo Methods and systems for filtering, sorting, and dispatching messages to wired and wireless devices
US6925476B1 (en) 2000-08-17 2005-08-02 Fusionone, Inc. Updating application data including adding first change log to aggreagate change log comprising summary of changes
US7035932B1 (en) 2000-10-27 2006-04-25 Eric Morgan Dowling Federated multiprotocol communication
US6965914B2 (en) 2000-10-27 2005-11-15 Eric Morgan Dowling Negotiated wireless peripheral systems
US6901429B2 (en) 2000-10-27 2005-05-31 Eric Morgan Dowling Negotiated wireless peripheral security systems
US7587446B1 (en) 2000-11-10 2009-09-08 Fusionone, Inc. Acquisition and synchronization of digital media to a personal information space
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
CA2725700C (en) 2000-12-22 2015-11-24 Research In Motion Limited Wireless router system and method
WO2002054267A1 (en) * 2000-12-28 2002-07-11 Pitney Bowes Inc. System and method for cleansing addresses for electronic messages
US7543026B2 (en) * 2000-12-28 2009-06-02 Quine Douglas B System and method for address correction of electronic messages
CA2368404C (en) 2001-01-18 2005-08-09 Research In Motion Limited Unified messaging system and method
US20020103933A1 (en) * 2001-01-29 2002-08-01 Ross Garon Internet-access enabled device personalization
US7047285B2 (en) * 2001-02-16 2006-05-16 Microsoft Corporation System and method for providing a unified messaging scheme in a mobile device
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US20040024910A1 (en) * 2001-06-01 2004-02-05 Marl Coyle B. Adaptive synchronization of service data
US7197541B1 (en) 2001-06-18 2007-03-27 Palm, Inc. Method and apparatus for automated personality transfer for a wireless enabled handheld device
US7930352B2 (en) * 2001-06-25 2011-04-19 At&T Intellectual Property Ii, L.P. System and method for sorting electronic communications
US6957259B1 (en) 2001-06-25 2005-10-18 Bellsouth Intellectual Property Corporation System and method for regulating emails by maintaining, updating and comparing the profile information for the email source to the target email statistics
US7133898B1 (en) * 2001-06-25 2006-11-07 Bellsouth Intellectual Property Corp. System and method for sorting e-mail using a vendor registration code and a vendor registration purpose code previously assigned by a recipient
US20020198975A1 (en) * 2001-06-26 2002-12-26 Bogia Douglas P. Method for managing an appliance
US6993522B2 (en) * 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
US6928458B2 (en) * 2001-06-27 2005-08-09 Microsoft Corporation System and method for translating synchronization information between two networks based on different synchronization protocols
GB2377143A (en) * 2001-06-29 2002-12-31 3G Scene Plc Internet security
US20030009595A1 (en) * 2001-07-09 2003-01-09 Roger Collins System and method for compressing data using field-based code word generation
US7064688B2 (en) * 2001-07-09 2006-06-20 Good Technology, Inc. System and method for compressing data on a bandwidth-limited network
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
US7743119B2 (en) 2001-08-07 2010-06-22 Motorola, Inc. System and method for mapping identification codes
US7155483B1 (en) 2001-08-07 2006-12-26 Good Technology, Inc. Apparatus and method for conserving bandwidth by batch processing data transactions
US7962622B2 (en) * 2001-08-07 2011-06-14 Motorola Mobility, Inc. System and method for providing provisioning and upgrade services for a wireless device
US7596565B2 (en) * 2001-08-07 2009-09-29 Good Technology System and method for maintaining wireless file folders at a wireless device
US8301587B2 (en) * 2001-08-21 2012-10-30 Hewlett-Packard Development Company, L.P. Internet enabled computer system management
US20040205539A1 (en) * 2001-09-07 2004-10-14 Mak Mingchi Stephen Method and apparatus for iterative merging of documents
US7089305B2 (en) * 2001-09-25 2006-08-08 International Business Machines Corporation Conditional promotion of bookmarks
US20030070093A1 (en) * 2001-10-10 2003-04-10 International Business Machines Corporation Method for implementing a server-based, common communication identifier for multiple communication applications
US7317699B2 (en) 2001-10-26 2008-01-08 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
US9332058B2 (en) 2001-11-01 2016-05-03 Benhov Gmbh, Llc Local agent for remote file access system
US7136982B2 (en) 2001-11-09 2006-11-14 Danger, Inc. Apparatus and method for allocating memory blocks
CA2467404A1 (en) * 2001-11-15 2003-05-30 Visto Corporation System and methods for asychronous synchronization
US6988129B2 (en) 2001-11-26 2006-01-17 Pitney Bowes Inc. Method for providing address change notification in an electronic message forwarding system
DE60214590T2 (de) 2001-12-07 2007-09-13 Research In Motion Ltd., Waterloo Verfahren und vorrichtung zur steuerung der informationsverteilung zu mobilstationen
US7149780B2 (en) * 2001-12-14 2006-12-12 Pitney Bowes Inc. Method for determining e-mail address format rules
US8135609B2 (en) * 2002-01-08 2012-03-13 Microsoft Corporation Identifying and surveying subscribers
AU2003209194A1 (en) * 2002-01-08 2003-07-24 Seven Networks, Inc. Secure transport for mobile communication network
US7591020B2 (en) * 2002-01-18 2009-09-15 Palm, Inc. Location based security modification system and method
US6938045B2 (en) 2002-01-18 2005-08-30 Seiko Epson Corporation Image server synchronization
US20030177171A1 (en) * 2002-01-22 2003-09-18 Brown Bruce Loring Electronic mail retrieval
US6909910B2 (en) 2002-02-01 2005-06-21 Microsoft Corporation Method and system for managing changes to a contact database
GB0202600D0 (en) * 2002-02-05 2002-03-20 Ibm Consolidation of replicated data
US7200668B2 (en) * 2002-03-05 2007-04-03 Sun Microsystems, Inc. Document conversion with merging
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7340534B2 (en) * 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US7296243B2 (en) 2002-03-19 2007-11-13 Aol Llc Animating display motion
US7162513B1 (en) 2002-03-27 2007-01-09 Danger, Inc. Apparatus and method for distributing electronic messages to a wireless data processing device using a multi-tiered queuing architecture
US7155725B1 (en) 2002-03-27 2006-12-26 Danger, Inc. Apparatus and method for coordinating multiple e-mail accounts
US7447799B2 (en) * 2002-04-24 2008-11-04 Good Technology, Inc. System and method for automatically updating a wireless device
JP4149199B2 (ja) * 2002-06-05 2008-09-10 富士通株式会社 携帯端末補助装置、データ同期方法および携帯端末装置
US9813514B2 (en) 2002-06-12 2017-11-07 Good Technology Holdings Limited Information repository system including a wireless device and related method
US8230026B2 (en) 2002-06-26 2012-07-24 Research In Motion Limited System and method for pushing information between a host system and a mobile data communication device
US8516034B1 (en) 2002-07-08 2013-08-20 Good Technology Software, Inc System and method for modifying application behavior based on network bandwidth
US7849140B2 (en) * 2002-08-29 2010-12-07 Oracle America, Inc. Peer-to-peer email messaging
US7069326B1 (en) 2002-09-27 2006-06-27 Danger, Inc. System and method for efficiently managing data transports
US7062512B1 (en) 2002-09-27 2006-06-13 Danger, Inc. System and method for processing identification codes
US20090125591A1 (en) * 2002-09-30 2009-05-14 Ficus Kirkpatrick Instant messaging proxy apparatus and method
US7373144B1 (en) 2002-09-30 2008-05-13 Danger, Inc. System and method for automatically providing user status in a messaging service
US7383303B1 (en) 2002-09-30 2008-06-03 Danger, Inc. System and method for integrating personal information management and messaging applications
US7107349B2 (en) * 2002-09-30 2006-09-12 Danger, Inc. System and method for disabling and providing a notification for a data processing device
US7437405B1 (en) 2002-10-01 2008-10-14 Danger, Inc. System and method for managing data objects in a wireless device
US20070283047A1 (en) * 2002-10-01 2007-12-06 Theis Ronald L A System and method for processing alphanumeric characters for display on a data processing device
US20080261633A1 (en) 2002-10-22 2008-10-23 Research In Motion Limited System and Method for Pushing Information from a Host System to a Mobile Data Communication Device
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US20040181580A1 (en) * 2003-03-11 2004-09-16 Etienne Baranshamaje Method, computer useable medium, and system for portable email messaging
JP2004297792A (ja) * 2003-03-13 2004-10-21 Ricoh Co Ltd 画像形成装置及び機能キー割り付け方法
US20040267887A1 (en) * 2003-06-30 2004-12-30 Berger Kelly D. System and method for dynamically managing presence and contact information
US7117445B2 (en) 2003-06-30 2006-10-03 Danger, Inc. Multi-mode communication apparatus and interface for contacting a user
US8762577B2 (en) * 2003-06-30 2014-06-24 Apple Inc. Method and system for providing network synchronization with a unified messaging system
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US20050033863A1 (en) * 2003-08-07 2005-02-10 Sierra Wireless, Inc. A Canadian Corp. Data link characteristic cognizant electronic mail client
US7343179B1 (en) 2003-08-13 2008-03-11 Danger Research System and method for previewing and purchasing ring tones for a mobile device
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7401104B2 (en) * 2003-08-21 2008-07-15 Microsoft Corporation Systems and methods for synchronizing computer systems through an intermediary file system share or device
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8880735B2 (en) * 2003-09-05 2014-11-04 Sierra Wireless, Inc. Mail server based application record synchronization
CN1604103A (zh) * 2003-09-30 2005-04-06 国际商业机器公司 自动建立和配置许可模型和策略的方法
EP1522932B1 (en) * 2003-10-08 2006-07-19 Alcatel Fast database replication
US7644376B2 (en) 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US7634509B2 (en) 2003-11-07 2009-12-15 Fusionone, Inc. Personal information space management system and method
GB0329200D0 (en) * 2003-12-17 2004-01-21 Ibm Updating a deferred copy of a data message
US20050165717A1 (en) * 2004-01-22 2005-07-28 International Business Machines Corp. Method, system and computer program product for redirecting a response to a file request from a requesting communication program to a mail server
US7184753B2 (en) * 2004-01-22 2007-02-27 Research In Motion Limited Mailbox pooling pre-empting criteria
US8566399B2 (en) * 2004-02-27 2013-10-22 Blackberry Limited Method and system for synchronizing a drafts folder
US7613777B2 (en) * 2004-03-11 2009-11-03 Microsoft Corporation Rapidly obtaining a subset of message data from a server for filtering
US7778962B2 (en) * 2004-04-30 2010-08-17 Microsoft Corporation Client store synchronization through intermediary store change packets
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
CN1998224A (zh) 2004-05-12 2007-07-11 富盛旺公司 高级联络识别系统
US8103723B1 (en) * 2004-10-07 2012-01-24 Google Inc. Message server that retains messages deleted by one client application for access by another client application
US8010082B2 (en) 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
WO2006045102A2 (en) * 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US7643818B2 (en) * 2004-11-22 2010-01-05 Seven Networks, Inc. E-mail messaging to/from a mobile terminal
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
EP1828932A4 (en) * 2004-12-10 2008-03-05 Seven Networks Internat Oy DATABASE SYNCHRONIZATION
FI120165B (fi) 2004-12-29 2009-07-15 Seven Networks Internat Oy Tietokannan synkronointi matkaviestinverkon kautta
CA2493907A1 (en) * 2005-01-24 2006-07-24 Oz Communications Wireless e-mail system
US7752633B1 (en) 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US9069436B1 (en) 2005-04-01 2015-06-30 Intralinks, Inc. System and method for information delivery based on at least one self-declared user attribute
EP1872251B1 (en) 2005-04-18 2015-10-21 BlackBerry Limited Method for providing wireless application privilege management
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7796742B1 (en) 2005-04-21 2010-09-14 Seven Networks, Inc. Systems and methods for simplified provisioning
US20060277322A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation System and method for implementing reference-based electronic mail compression
WO2006136661A1 (en) * 2005-06-21 2006-12-28 Seven Networks International Oy Network-initiated data transfer in a mobile network
WO2006136660A1 (en) * 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US7710912B1 (en) 2005-07-11 2010-05-04 Microsoft Corporation Managing content synchronization between a data service and a data processing device
US8069166B2 (en) 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US8731542B2 (en) 2005-08-11 2014-05-20 Seven Networks International Oy Dynamic adjustment of keep-alive message intervals in a mobile network
US20070299972A1 (en) * 2005-08-12 2007-12-27 Consilient Technologies Corporation Relay of enterprise messaging system events among client devices and one or more enterprise messaging systems
US8176410B1 (en) * 2005-09-13 2012-05-08 Adobe Systems Incorporated System and/or method for content cropping
ES2355041T3 (es) * 2005-09-29 2011-03-22 Teamon Systems, Inc. Sistema y método para reconciliar mensajes de correo electrónico entre un dispositivo de comunicaciones inalámbricas móviles y un buzón de correo electrónico.
US20070130463A1 (en) * 2005-12-06 2007-06-07 Eric Chun Wah Law Single one-time password token with single PIN for access to multiple providers
US20070130462A1 (en) * 2005-12-06 2007-06-07 Law Eric C W Asynchronous encryption for secured electronic communications
US20070125840A1 (en) * 2005-12-06 2007-06-07 Boncle, Inc. Extended electronic wallet management
US20070125838A1 (en) * 2005-12-06 2007-06-07 Law Eric C W Electronic wallet management
US7664067B2 (en) * 2005-12-15 2010-02-16 Microsoft Corporation Preserving socket connections over a wireless network
US7613955B2 (en) * 2006-01-06 2009-11-03 Microsoft Corporation Collecting debug data from a wireless device
CN100426294C (zh) * 2006-02-20 2008-10-15 腾讯科技(深圳)有限公司 一种在互联网发布信息的方法
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US7620392B1 (en) 2006-02-27 2009-11-17 Good Technology, Inc. Method and system for distributing and updating software in wireless devices
US20070220271A1 (en) * 2006-03-15 2007-09-20 Law Eric C W Online creation and delivery of cryptographically verifiable one-time password tokens
US20070220253A1 (en) * 2006-03-15 2007-09-20 Law Eric C W Mutual authentication between two parties using two consecutive one-time passwords
US20090143059A1 (en) * 2006-05-02 2009-06-04 Danger, Inc. System and method remote servicing of a wireless data processing device
US7689606B2 (en) * 2006-05-02 2010-03-30 Mypoints.Com Inc. System and method of efficiently generating and sending bulk emails
US20080034216A1 (en) * 2006-08-03 2008-02-07 Eric Chun Wah Law Mutual authentication and secure channel establishment between two parties using consecutive one-time passwords
US7574444B2 (en) * 2006-11-15 2009-08-11 Palm, Inc. Device-side data de-duping
US8135798B2 (en) * 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080115141A1 (en) * 2006-11-15 2008-05-15 Bharat Welingkar Dynamic resource management
US20080115152A1 (en) 2006-11-15 2008-05-15 Bharat Welingkar Server-controlled heartbeats
US7603435B2 (en) * 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US20080133775A1 (en) * 2006-11-30 2008-06-05 Intellisync Corporation Method, Apparatus and Computer Program Product for Providing Intelligent Synchronization
WO2008101072A1 (en) * 2007-02-15 2008-08-21 Teamon Systems, Inc. Email communications system with wireless device move reconciliation features and related methods
US20080228880A1 (en) * 2007-03-12 2008-09-18 Microsoft Corporation Managed code mapi apis
US8224919B2 (en) 2007-04-04 2012-07-17 Research In Motion Limited Mobile communications system including intermediate service provider and related methods
US9166941B2 (en) * 2007-04-24 2015-10-20 Microsoft Technology Licensing, Llc Synchronizing email messages between external and local email servers and/or a wireless device
US8179872B2 (en) 2007-05-09 2012-05-15 Research In Motion Limited Wireless router system and method
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US7720920B2 (en) * 2007-06-27 2010-05-18 Microsoft Corporation Client side based data synchronization and storage
US11226947B1 (en) 2007-10-10 2022-01-18 United Services Automobile Association (Usaa) Systems and methods for storing time-series data
US9195700B1 (en) * 2007-10-10 2015-11-24 United Services Automobile Association (Usaa) Systems and methods for storing time-series data
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) * 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
DE102009022764B4 (de) 2009-05-27 2011-05-26 Rückert, Tobias System und Verfahren zur Bearbeitung elektronischer Nachrichten
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
WO2011126889A2 (en) 2010-03-30 2011-10-13 Seven Networks, Inc. 3d mobile user interface with configurable workspace management
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
EP2599280A2 (en) 2010-07-26 2013-06-05 Seven Networks, Inc. Mobile application traffic optimization
EP3651028A1 (en) 2010-07-26 2020-05-13 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8190701B2 (en) 2010-11-01 2012-05-29 Seven Networks, Inc. Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US8903954B2 (en) 2010-11-22 2014-12-02 Seven Networks, Inc. Optimization of resource polling intervals to satisfy mobile device requests
CA2798523C (en) 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
GB2501416B (en) 2011-01-07 2018-03-21 Seven Networks Llc System and method for reduction of mobile network traffic used for domain name system (DNS) queries
US8316098B2 (en) 2011-04-19 2012-11-20 Seven Networks Inc. Social caching for device resource sharing and management
EP2621144B1 (en) 2011-04-27 2014-06-25 Seven Networks, Inc. System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief
EP2702500B1 (en) 2011-04-27 2017-07-19 Seven Networks, LLC Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
WO2013015995A1 (en) 2011-07-27 2013-01-31 Seven Networks, Inc. Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US9230243B2 (en) * 2011-10-13 2016-01-05 Dassault Systemes Collaborative design using duplicated workspaces
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
US8868753B2 (en) 2011-12-06 2014-10-21 Seven Networks, Inc. System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US9277443B2 (en) 2011-12-07 2016-03-01 Seven Networks, Llc Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
WO2013086455A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
EP2792188B1 (en) 2011-12-14 2019-03-20 Seven Networks, LLC Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
WO2013116852A1 (en) 2012-02-03 2013-08-08 Seven Networks, Inc. User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US10257194B2 (en) 2012-02-14 2019-04-09 Airwatch Llc Distribution of variably secure resources in a networked environment
TWI497948B (zh) * 2012-02-14 2015-08-21 Htc Corp 行動裝置的動態郵件同步方法、系統及電腦程式產品
US9705813B2 (en) 2012-02-14 2017-07-11 Airwatch, Llc Controlling distribution of resources on a network
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9251360B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure mobile device content viewing in a networked secure collaborative exchange environment
US9253176B2 (en) 2012-04-27 2016-02-02 Intralinks, Inc. Computerized method and system for managing secure content sharing in a networked secure collaborative exchange environment
JP6004408B2 (ja) 2012-03-30 2016-10-05 シンクロノス テクノロジーズ インコーポレイテッド 安全移動体フレームワーク
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
AU2013251304B2 (en) 2012-04-27 2018-12-20 Intralinks, Inc. Computerized method and system for managing networked secure collaborative exchange
US9553860B2 (en) 2012-04-27 2017-01-24 Intralinks, Inc. Email effectivity facility in a networked secure collaborative exchange environment
CN103426079A (zh) * 2012-06-20 2013-12-04 中兴通讯股份有限公司 邮件发送方法及装置
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
EP2698956A1 (en) * 2012-08-13 2014-02-19 Samsung Electronics Co., Ltd Method and electronic device for synchronizing emails
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9473417B2 (en) 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US8914013B2 (en) 2013-04-25 2014-12-16 Airwatch Llc Device management macros
US9219741B2 (en) 2013-05-02 2015-12-22 Airwatch, Llc Time-based configuration policy toggling
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US9270777B2 (en) 2013-06-06 2016-02-23 Airwatch Llc Social media and data sharing controls for data security purposes
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9112749B2 (en) 2013-07-25 2015-08-18 Airwatch Llc Functionality management via application modification
US9226155B2 (en) 2013-07-25 2015-12-29 Airwatch Llc Data communications management
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US9185099B2 (en) 2013-09-23 2015-11-10 Airwatch Llc Securely authorizing access to remote resources
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
WO2015073708A1 (en) 2013-11-14 2015-05-21 Intralinks, Inc. Litigation support in cloud-hosted file sharing and collaboration
US10838972B2 (en) 2014-03-13 2020-11-17 Microsoft Technology Licensing, Llc Storing service items in association with views
US9613190B2 (en) 2014-04-23 2017-04-04 Intralinks, Inc. Systems and methods of secure data exchange
US9659170B2 (en) 2015-01-02 2017-05-23 Senteon LLC Securing data on untrusted devices
US10587564B2 (en) * 2015-03-05 2020-03-10 Microsoft Technology Licensing, Llc Tracking electronic mail messages in a separate computing system
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831582A (en) * 1986-11-07 1989-05-16 Allen-Bradley Company, Inc. Database access machine for factory automation network
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US5263157A (en) * 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
US5519606A (en) * 1992-01-21 1996-05-21 Starfish Software, Inc. System and methods for appointment reconciliation
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5581749A (en) * 1992-12-21 1996-12-03 Thedow Chemical Company System and method for maintaining codes among distributed databases using a global database
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
US5799318A (en) * 1993-04-13 1998-08-25 Firstfloor Software Method and apparatus for collecting and displaying information from diverse computer resources
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
EP0631419B1 (en) * 1993-06-22 1996-03-27 Vmx Inc. An electronic mail system having integrated voice messages
DE69432503T2 (de) * 1993-10-08 2003-12-24 Ibm Informationsarchivierungssystem mit objektabhängiger Funktionalität
US5627997A (en) * 1994-06-07 1997-05-06 Microsoft Corporation Method and system for converting computer mail messages using an extensible set of conversion routines
US5678039A (en) * 1994-09-30 1997-10-14 Borland International, Inc. System and methods for translating software into localized versions
US5652884A (en) * 1994-11-14 1997-07-29 Object Technology Licensing Corp. Method and apparatus for dynamic update of an existing object in an object editor
US5623601A (en) * 1994-11-18 1997-04-22 Milkway Networks Corporation Apparatus and method for providing a secure gateway for communication and data exchanges between networks
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5613012A (en) * 1994-11-28 1997-03-18 Smarttouch, Llc. Tokenless identification system for authorization of electronic transactions and electronic transmissions
US5627658A (en) * 1994-12-14 1997-05-06 Xerox Corporation Automatic networked facsimile queuing system
US5684990A (en) * 1995-01-11 1997-11-04 Puma Technology, Inc. Synchronization of disparate databases
US5729735A (en) * 1995-02-08 1998-03-17 Meyering; Samuel C. Remote database file synchronizer
CN1047048C (zh) * 1995-03-17 1999-12-01 伍思义 微机电子邮政网络终端
US5758354A (en) * 1995-04-28 1998-05-26 Intel Corporation Application independent e-mail synchronization
US5632011A (en) * 1995-05-22 1997-05-20 Sterling Commerce, Inc. Electronic mail management system for operation on a host computer system
US5682524A (en) * 1995-05-26 1997-10-28 Starfish Software, Inc. Databank system with methods for efficiently storing non-uniform data records
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5680542A (en) * 1995-06-07 1997-10-21 Motorola, Inc. Method and apparatus for synchronizing data in a host memory with data in target MCU memory
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
JP3453459B2 (ja) * 1995-06-19 2003-10-06 キヤノン株式会社 電子メールシステム及びその制御方法、並びに通信端末装置及びその制御方法
US5745360A (en) * 1995-08-14 1998-04-28 International Business Machines Corp. Dynamic hypertext link converter system and process
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5647002A (en) * 1995-09-01 1997-07-08 Lucent Technologies Inc. Synchronization of mailboxes of different types
US5721914A (en) * 1995-09-14 1998-02-24 Mci Corporation System and method for hierarchical data distribution
US5757916A (en) * 1995-10-06 1998-05-26 International Series Research, Inc. Method and apparatus for authenticating the location of remote users of networked computing systems
US5758150A (en) * 1995-10-06 1998-05-26 Tele-Communications, Inc. System and method for database synchronization
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5713019A (en) * 1995-10-26 1998-01-27 Keaten; Timothy M. Iconic access to remote electronic monochrome raster data format document repository
US5832483A (en) * 1995-12-15 1998-11-03 Novell, Inc. Distributed control interface for managing the interoperability and concurrency of agents and resources in a real-time environment
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5706502A (en) * 1996-03-25 1998-01-06 Sun Microsystems, Inc. Internet-enabled portfolio manager system and method
US5758355A (en) * 1996-08-07 1998-05-26 Aurum Software, Inc. Synchronization of server database with client database using distribution tables
US5870759A (en) * 1996-10-09 1999-02-09 Oracle Corporation System for synchronizing data between computers using a before-image of data
US5790790A (en) * 1996-10-24 1998-08-04 Tumbleweed Software Corporation Electronic document delivery system in which notification of said electronic document is sent to a recipient thereof
US5790425A (en) * 1997-02-19 1998-08-04 Sun Microsystems, Inc. Generic server benchmarking framework in a client-server environment

Also Published As

Publication number Publication date
EP0996905B1 (en) 2006-05-24
DE69834640D1 (de) 2006-06-29
JP3532854B2 (ja) 2004-05-31
DE69834640T2 (de) 2007-03-29
ES2256949T3 (es) 2006-07-16
EP1783675A3 (en) 2007-05-16
EP1783675B1 (en) 2008-10-15
EP2249263A1 (en) 2010-11-10
EP1923828A1 (en) 2008-05-21
US5961590A (en) 1999-10-05
HK1028283A1 (en) 2001-02-09
DK0996905T3 (da) 2006-08-28
ES2316125T3 (es) 2009-04-01
ES2316123T3 (es) 2009-04-01
EP1667042A3 (en) 2006-07-26
CN1268233A (zh) 2000-09-27
CN100338606C (zh) 2007-09-19
ATE327547T1 (de) 2006-06-15
EP0996905A1 (en) 2000-05-03
ATE411571T1 (de) 2008-10-15
ATE411573T1 (de) 2008-10-15
JP2001511611A (ja) 2001-08-14
EP1785927B1 (en) 2008-10-15
EP1722321B1 (en) 2008-10-15
CA2296432A1 (en) 1999-02-04
EP1785927A1 (en) 2007-05-16
EP1667042A2 (en) 2006-06-07
DE69840137D1 (de) 2008-11-27
IL134138A (en) 2004-06-20
PT996905E (pt) 2006-07-31
DE69840138D1 (de) 2008-11-27
EP0996905A4 (en) 2001-01-31
IL134138A0 (en) 2001-04-30
WO1999005620A1 (en) 1999-02-04
ATE411572T1 (de) 2008-10-15
EP1783675A2 (en) 2007-05-09
DE69840139D1 (de) 2008-11-27
EP1722321A1 (en) 2006-11-15

Similar Documents

Publication Publication Date Title
ES2315960T3 (es) Sistema y procedimiento para sincronizar correo electronico a traves de una red.
US7225231B2 (en) System and method for transmitting workspace elements across a network
ES2387547T3 (es) Sistema y método para utilizar un gestor de datos de área de trabajo para acceder a, manipular y sincronizar datos de red
US6023708A (en) System and method for using a global translator to synchronize workspace elements across a network
US20200328782A1 (en) Power saving management for mobile devices based on battery charge remaining
ES2353255T3 (es) Sistema y mã‰todo para acceder de manera global y segura a informaciã“n unificada en una red de ordenadores.
US6085192A (en) System and method for securely synchronizing multiple copies of a workspace element in a network
US6708221B1 (en) System and method for globally and securely accessing unified information in a computer network
US6131096A (en) System and method for updating a remote database in a network
JP3866141B2 (ja) 同期データを提供する方法および装置
US20060195595A1 (en) System and method for globally and securely accessing unified information in a computer network
EP1883042A1 (en) System and method for electronic file transmission
JPH113299A (ja) 情報処理システム、情報処理装置およびそれらの制御方法
KR100492379B1 (ko) 무선단말기를 이용한 데이터의 관리방법 및데이터관리시스템
EP1105811A1 (en) System and method for using a global translator to synchronize workspace elements across a network
JP2002373104A (ja) ファイル管理システムおよびサーバ装置