MX2014008564A - Sistema y metodo para presentacion mezclada de mensajes electronicos local y remotamente almacenados. - Google Patents

Sistema y metodo para presentacion mezclada de mensajes electronicos local y remotamente almacenados.

Info

Publication number
MX2014008564A
MX2014008564A MX2014008564A MX2014008564A MX2014008564A MX 2014008564 A MX2014008564 A MX 2014008564A MX 2014008564 A MX2014008564 A MX 2014008564A MX 2014008564 A MX2014008564 A MX 2014008564A MX 2014008564 A MX2014008564 A MX 2014008564A
Authority
MX
Mexico
Prior art keywords
electronic
user
electronic messages
user device
local
Prior art date
Application number
MX2014008564A
Other languages
English (en)
Other versions
MX354899B (es
Inventor
Justin B Mahood
Robert R Novitskey
Shri Vidhya Alagesan
Ryan E Gregg
Somanath Krishnaswamy
Bruce D Wiedemann
Saurabh Kumar
Joshua A Meisels
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2014008564A publication Critical patent/MX2014008564A/es
Publication of MX354899B publication Critical patent/MX354899B/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

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

Abstract

Un cliente de mensajería electrónica guarda en memoria caché copias de un subgrupo de mensajes electrónicos disponibles en un almacenamiento remoto en un almacenamiento local de un dispositivo de usuario. Cuando el dispositivo de usuario está en un estado en línea, el cliente proporciona la presentación mezclada de mensajes electrónicos de manera que un usuario pueda ver concurrentemente información sobre los mensajes electrónicos que han sido guardados en memoria caché en el almacenamiento local así como información sobre mensajes electrónicos que están almacenados únicamente en el almacenamiento remoto. El cliente también presenta un estado mezclado asociado con un contenedor de mensajes electrónicos para un usuario de un dispositivo de usuario y permite a un usuario ejecutar una búsqueda de mensajes electrónicos guardados en memoria caché en un almacenamiento local así como mensajes electrónicos almacenados en el almacenamiento remoto.

Description

SISTEMA Y METODO PARA PRESENTACION MEZCLADA DE MENSAJES ELECTRONICOS LOCAL Y REMOTAMENTE ALMACENADOS ANTECEDENTES Muchos clientes de correo electrónico modernos proporcionan una memoria caché local para acceso rápido y fuera de línea a mensajes de correo electrónico y a otros datos. Dicha memoria caché local puede incluir una copia completa de un buzón del usuario que también está almacenado en un servidor de correo electrónico. Durante la última década, las cuotas de almacenamiento de buzón han crecido exponencialmente, y ahora son de un tamaño de muchos gigabytes. Para la mayoría de los usuarios, existe poca o ninguna utilidad al proporcionar acceso fuera de línea a datos extremadamente viejos. Además, debido a que los buzones se han vuelto tan grandes, se ha vuelto cada vez menos común descargar datos de buzón de un servidor de correo electrónico así como es cada vez más difícil operar en tales datos localmente sin impactar significativamente el desempeño. También, si el dispositivo en el cual está instalado el cliente de correo electrónico tiene un espacio de almacenamiento limitado (como es el caso con muchos dispositivos móviles modernos), entonces la memoria caché local puede consumir una cantidad inaceptable del espacio de almacenamiento disponible.
Algunos clientes de correo electrónico móviles intentan abordar los problemas anteriores al descargar y almacenar localmente sólo un subgrupo de correos electrónicos de un usuario que están disponibles en un servidor de correo electrónico. Tal subgrupo puede ser definido en términos de una ventana de tiempo oscilante. Por ejemplo, solamente los correos electrónicos recibidos durante los últimos siete días pueden mantenerse en una memoria caché local en cualquier tiempo dado. En ciertas implementaciones, el tamaño de la ventana de tiempo puede estar fijo, mientras en otras implementaciones, el tamaño de la ventana de tiempo puede ser configurable por un usuario.
Aunque tales clientes de correo electrónico móviles son capaces de limitar los requisitos de almacenamiento de la memoria caché local al descargar solamente los correos electrónicos más recientemente recibidos, estos clientes de correo electrónico no proporcionan a un usuario posibilidades o cualquier información sobre el estado de mensajes de correo electrónico más antiguos que residen únicamente en el servidor de correo electrónico. Típicamente, tales mensajes de correo electrónico más viejos únicamente pueden ser accedidos al ampliar la ventana de tiempo (en esas implementaciones que soportan una ventana de tiempo configurable), al ejecutar una búsqueda contra tales correos electrónicos más viejos, o al descargar crecientemente más artículos. En cada caso, deben almacenarse copias de los correos electrónicos más viejos en la memoria caché local, consumiendo con ello espacio de almacenamiento adicional en el dispositivo móvil del usuario.
BREVE DESCRIPCION DE LOS DIBUJOS/FIGURAS Los dibujos anexos, que se incorporan aquí y forman parte de la especificación, ilustran modalidades de la presente invención y, junto con la descripción, además sirven para explicar los principios de la invención y para permitir a un experto en la técnica(s) relevante hacer y utilizar la invención.
La Figura 1 es un diagrama de bloques de un sistema ilustrativo que proporciona la presentación mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 2 es un diagrama de bloques que ilustra un área de presentación que puede utilizarse para presentar mensajes electrónicos localmente almacenados y remotamente almacenados en una forma mezclada de acuerdo con una modalidad.
La Figura 3 ilustra un cuadro de flujo de un método para proporcionar una presentación mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 4 ilustra un cuadro de flujo de un método para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 5 ilustra un cuadro de flujo de un método adicional para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 6 ilustra un cuadro de flujo de un método para realizar una búsqueda mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 7 ilustra un cuadro de flujo de un método adicional para realizar una búsqueda mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad.
La Figura 8 es un diagrama de bloques de un sistema basado en procesador ilustrativo que puede utilizarse para implementar varias modalidades.
Las características y ventajas de la presente invención se harán más evidentes a partir de la descripción detallada descrita a continuación cuando se toma en conjunto con los dibujos, en donde caracteres de referencia similares identifican elementos correspondientes de principio a fin. En los dibujos, números referentes similares generalmente indican elementos idénticos, funcionalmente similares, y/o estructuralmente similares. El dibujo en el cual aparece por primera vez un elemento se indica por el dígito(s) a la izquierda en el número de referencia correspondiente.
DESCRIPCION DETALLADA I. Introducción La siguiente descripción detallada se refiere a los dibujos anexos que ilustran modalidades ilustrativas de la presente invención. Sin embargo, el alcance de la presente invención no está limitado a estas modalidades, sino que a su vez es definido por las reivindicaciones anexas. De esa forma, las modalidades más allá de que las mostradas en los dibujos anexos, tales como versiones modificadas de las modalidades ilustradas, sin embargo pueden ser abarcadas por la presente invención.
Referencias en la especificación a "una modalidad", "modalidad", "una modalidad ilustrativa", o similares, indican que la modalidad descrita puede incluir una aspecto, estructura, o característica particular, pero cada modalidad pueden no necesariamente incluir el aspecto, estructura, o característica particular. Además, tales frases no necesariamente están haciendo referencia a la misma modalidad. Además, cuando un aspecto, estructura, o característica particular se describe en conexión con una modalidad, se afirma que está dentro del conocimiento de expertos en la técnica(s) relevante implementar tal aspecto, estructura, o característica en conexión con otras modalidades ya sea o no explícitamente descritas.
Las modalidades aquí descritas descargan copias de un subgrupo de mensajes electrónicos disponibles en un almacenamiento remoto para un almacenamiento local de un dispositivo de usuario. Esto permite a un usuario del dispositivo de usuario acceder a un subgrupo de sus mensajes electrónicos incluso cuando el dispositivo de usuario está en un estado fuera de línea. Cuando el dispositivo de usuario está en un estado en línea, las modalidades aquí descritas indican la presentación mezclada de mensajes electrónicos de manera que un usuario puede ver concurrentemente información sobre los mensajes electrónicos que han sido guardados en memoria caché en el almacenamiento local así como información sobre mensajes electrónicos que están almacenados únicamente e n el almacenamiento remoto. Información sobre tales mensajes electrónicos puede presentarse al usuario en una forma uniforme, de manera que al usuario se le proporciona la impresión de que todo los mensajes electrónicos son parte de un depósito unificado individual, incluso aunque la información sobre y contenidos de tales mensajes electrónicos pueden obtenerse de diferentes almacenamientos. Además, cuando el dispositivo de usuario está en un estado en línea, el usuario puede ver información sobre y/o los contenidos de mensajes electrónicos remotamente almacenados sin requerir que tales mensajes electrónicos remotamente almacenados sean copiados al almacenamiento local.
Ya que las modalidades aquí descritas descargan y almacenan localmente sólo un subgrupo de mensajes electrónicos de un usuario que están disponibles en un almacenamiento remoto, estas modalidades reducen la cantidad de ancho de banda de red necesario para descargar mensajes electrónicos, la cantidad de energía de procesamiento requerida para sincronizar mensajes electrónicos localmente almacenados con el almacenamiento remoto, y la cantidad de almacenamiento espaciado consumido por el almacenamiento local.
Además, las modalidades aquí descritas representan una mejora sobre clientes de mensajería electrónica convencionales que descargan y almacenan localmente solo un subgrupo de mensajes electrónicos remotamente almacenados de un usuario, ya que, como se discutió en la Sección de Antecedentes anterior, tales clientes de mensajería electrónica convencionales no proporcionan a un usuario información sobre o acceso a mensajes electrónicos que residen únicamente en el almacenamiento remoto. Más bien, para tener acceso a mensajes electrónicos que residen únicamente en el almacenamiento remoto, tales clientes de mensajería electrónica convencionales pueden requerir que un usuario amplíe una ventana de tiempo utilizada para determinar qué mensajes electrónicos están guardados en memoria caché localmente, para ejecutar una búsqueda contra tales correos electrónicos más viejos, o para descargar crecientemente más mensajes electrónicos. En cada caso, un mensaje electrónico remotamente almacenado puede observarse únicamente en el dispositivo de usuario copiarlo al almacenamiento local, consumiendo con ello espacio de almacenamiento. En contraste, como se observó anteriormente, las modalidades aquí descritas permiten a un usuario ver información sobre y/o contenido de mensajes electrónicos remotamente almacenados sin requerir que tales mensajes electrónicos remotamente almacenados se descarguen al almacenamiento local.
Las modalidades aquí descritas también son capaces de presentar un estado mezclado asociado con un contenedor de mensajes electrónicos para un usuario de un d ispositivo d e u suario en un escenario en el cual algunos de los mensajes electrónicos almacenados en el contenedor son guardados en memoria caché en un almacenamiento local del dispositivo de usuario y algunos de los mensajes electrónicos almacenados en el contenedor están disponibles únicamente en el almacenamiento remoto. El estado mezclado puede comprender, por ejemplo, un conteo de artículo que describe un número de mensajes electrónicos en el c ontenedor que tiene un estado particular (por ejemplo, incluido o no incluido en el contenedor, leído o no leído, marcado o no marcado, o similares).
En términos generales, en una modalidad, en donde el estado mezclado comprende un conteo de artículo para un contenedor, el conteo de artículo puede determinarse al tomar una suma de un conteo de artículo local y una cantidad delta. El conteo de artículo local representa el número de mensajes electrónicos almacenados en el almacenamiento local del dispositivo de usuario que están incluidos en el contenedor y tiene el estado particular. La cantidad delta representa una última diferencia conocida entre un conteo de artículo remoto y el conteo de artículo local, en donde el conteo de artículo remoto representa un número de mensajes electrónicos almacenados en el almacenamiento remoto que están incluidos en el contenedor y tienen el estado particular. Al determinar el conteo de artículo para el contenedor de esta forma, las modalidades aquí descritas son capaces de presentar al usuario un conteo de artículo actualizado para todo el contenedor incluso cuando el usuario toma alguna acción que cambia únicamente el conteo de artículo local mientras el dispositivo de usuario está en un estado fuera de línea. Además, al determinar el conteo de artículo para el contenedor de esta forma, las modalidades aquí descritas son capaces de presentar al usuario un control de artículo actualizado para todo el contenedor durante un procedimiento de sincronización, en donde tal conteo de artículo actualizado refleja cambios al conteo de artículo local que resultan de tal procedimiento de sincronización.
Adicionalmente, las modalidades aquí descritas también son capaces de permitir a un usuario de un dispositivo de usuario ejecutar una búsqueda de mensajes electrónicos guardados en memoria caché almacenados en un almacenamiento local de los dispositivos de usuario así como de mensajes electrónicos almacenados en un almacenamiento remoto accesible para un servidor de mensajería electrónica cuando se determina que el dispositivo de usuario está conectado al servidor de mensajería electrónica. Los resultados de búsqueda obtenidos de las búsquedas contra los almacenamientos locales y remotos pueden presentarse en la misma GUI. Cuando el usuario requiere ver los contenidos de un mensaje electrónico que es identificado en los resultados de búsqueda y guardado en memoria caché en el almacenamiento local, el contenido de mensaje e lectrónico s e o btiene d el almacenamiento local. Cuando el usuario solicita ver el contenido de un mensaje electrónico que es identificado en los resultados de búsqueda y únicamente está disponible en el almacenamiento remoto, el contenido del mensaje electrónico se obtendrá del almacenamiento remoto pero no se guardará en memoria caché en el almacenamiento local.
II. Sistema Ilustrativo para Presentación Mezclada de Mensajes Electrónicos La Figura 1 es un diagrama de bloques de un sistema ilustrativo 100 que indica la presentación mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad. Como se utiliza aquí, el término "mensaje electrónico" pretende representar ampliamente cualquier tipo de mensaje o artículo de información que puede transmitirse en forma electrónica (es decir, como señales). Ejemplos de mensajes electrónicos incluyen pero no están limitados a mensajes de correo electrónico, mensajes de texto, publicaciones de micro-bitácora, entradas de calendario, tareas, notas, contactos, o similares.
Como se muestra en la Figura 1, el sistema 100 incluye al menos un servidor de mensajería electrónica 102 y al menos un dispositivo de usuario 106 que puede conectarse comunicativamente a este a través de una red 104.
El servidor de mensajería electrónica 102 pretende representar un dispositivo electrónico basado en procesador que está configurado para recibir comunicaciones electrónicas desde y enviar comunicaciones electrónicas a varias otras entidades, incluyendo otros servidores de mensajería electrónica. El servidor de mensajería electrónica 102 además está configurado para interactuar con clientes de mensajería electrónica que están instalados en dispositivos de usuario (tal como dispositivo de usuario 106) para permitir a los usuarios de los mismos acceder a mensajes electrónicos que han sido recibidos mediante el servidor de mensajería electrónica 102 y enviar mensajes electrónicos a otros dispositivos de usuario a través del servidor de mensajería electrónica 102. Copias de mensajes electrónicos recibidos y enviados por servidor de mensajería electrónica pueden almacenarse en el almacenamiento remoto 132. El almacenamiento remoto 132 pretende representar ampliamente cualquier dispositivo o sistema de almacenamiento adecuado para almacenar copias de mensajes electrónicos.
En una modalidad, el servidor de mensajería electrónica 102 maneja un depósito separado de comunicaciones electrónicas para cada una de una pluralidad de usuarios, en donde cada depósito puede ser almacenado en el almacenamiento remoto 132. Cada uno de la pluralidad de usuarios puede acceder al menos a una porción de su depósito al interactuar con el servidor de mensajería electrónica 102 utilizando un cliente de mensajería electrónica adecuado. En una modalidad en la cual las comunicaciones electrónicas comprenden correos electrónicos, tales depósitos pueden comprender buzones de correo electrónico de usuario. Como se conoce en la técnica, un buzón de correo electrónico de uso además puede comprender cualquier número de sub-buzones.
La red 104 pretende representar cualquier tipo de red o combinación de redes adecuadas para facilitar comunicación entre dispositivos electrónicos, tal como servidor de mensajería electrónica 102 y dispositivo de usuario 106. La red 104 puede incluir, por ejemplo y sin limitación, una red de área ancha, una red de área local, una red privada, una red pública, una red de paquete, una red conmutada por circuito, una red por cable, y/o una red inalámbrica.
Un dispositivo de usuario 106 pretende representar un dispositivo electrónico basado en procesador que es capaz de ejecutar uno o más componentes de software que están instalados en el mismo. A manera de ejemplo únicamente y sin limitación, el dispositivo de usuario 106 puede comprender una computadora personal, una computadora laptop, una computadora de tableta, un teléfono inteligente, una televisión inteligente, una consola de juegos, un reproductor de medios personal, un asistente digital personal, un dispositivo incorporado, o similares.
Como además se muestra en la Figura 1, el dispositivo de usuario 106 incluye un cliente de mensajería electrónica 110 instalado en el mismo. El cliente de mensajería electrónica 110 comprende el software que, cuando se ejecuta por el dispositivo de usuario 106, interactúa con un servidor de mensajería electrónica 102 para permitir a un usuario elaborar, enviar, recibir, revisar, organizar o de otra forma manejar mensajes electrónicos. En una modalidad en la cual los mensajes electrónicos comprenden mensajes de correo electrónico, el cliente de mensajería electrónica 110 puede comprender un cliente de correo electrónico, tal como una versión de adhesión de MICROSOFT® OUTLOOK® publicado por Microsoft Corporation de Redmond, Washington. Sin embargo, este ejemplo no pretende ser limitante.
El dispositivo de usuario 106 también incluye una presentación 112 a la cual los componentes de software instalados pueden presentar contenido gráfico para observación por un usuario del mismo. Por ejemplo, el cliente de mensajería electrónica 110 está configurado para hacer que una interfase de usuario gráfica (GUI) 132 se presente a la presentación 112. La GUI 132 incluye medios mediante los cuales un usuario puede invocar las varias funciones y características de cliente de mensajería electrónica 110.
El dispositivo de usuario 106 además incluye un almacenamiento local 114, que también puede indicarse aquí como una memoria caché local. El almacenamiento local 114 pretende representar ampliamente cualquier tipo de dispositivo o sistema de almacenamiento adecuado para almacenar mensajes electrónicos en el dispositivo de usuario 106. El cliente de mensajería electrónica 110 está configurado para interactuar periódicamente con el servidor de mensajería electrónica 102 a través de la red 104 para obtener copias de mensajes electrónicos que están disponibles al cliente mensajería electrónica 110 en el almacenamiento remoto 132 y para almacenar tales copias en almacenamiento local 114. Por ejemplo, en una modalidad en la cual los mensajes electrónicos comprenden correos electrónicos, el cliente de mensajería electrónica 100 puede ínteractuar periódicamente con el servidor de mensajería electrónica 102 a través de la red 104 para obtener copias de correos electrónicos de un buzón de usuario almacenadas en el almacenamiento remoto 132 y almacenar tal correo electrónico copiado en el almacenamiento local 114. Una vez que se ha almacenado una copia de un mensaje electrónico en el almacenamiento local 114, el cliente de mensajería electrónica 110 puede hacer que e I mensaje electrónico e información concerniente al mismo sean accesibles a un usuario del dispositivo de usuario 106 incluso cuando el dispositivo de usuario 106 no es capaz de conectarse con el servidor de mensajería electrónica 102.
En una modalidad, el cliente de mensajería electrónica 110 y/o servidor de mensajería electrónica 102 están configurados de manera que únicamente este disponible un subgrupo de los mensajes electrónicos para el cliente de mensajería electrónica 110 en el almacenamiento remoto 132 que puede descargarse para almacenamiento en el almacenamiento local 114. Por ejemplo, en una modalidad en la cual el servidor de mensajería electrónica 104 comprende un servidor de correo electrónico, el almacenamiento remoto 132 puede almacenar una copia completa de un buzón de correo electrónico de usuario y el cliente de mensajería electrónica 110 puede operar para descargar periódicamente y almacenar localmente copias únicamente de un subgrupo de los mensajes de correo electrónico en ese buzón.
Puede utilizarse una variedad de aspectos para determinar qué subgrupo de mensajes electrónicos se descarga y almacena en el almacenamiento local 114. En una modalidad, se utiliza una ventana de tiempo oscilante (también indicada aquí como una "ventana de sincronización"). De acuerdo con tal acercamiento, únicamente mensajes electrónicos que han sido recibidos dentro de la ventana de tiempo oscilante se descargan y almacenan en el almacenamiento local 114. Se dice que la ventana de tiempo es "oscilante" debido a que cambia hacia delante en el tiempo (por ejemplo, los últimos 7 días, los últimos 3 meses, etc.). A medida que la ventana de tiempo cambia, los mensajes electrónicos que ya no están dentro de la ventana de tiempo "expiran" y se remueven del almacenamiento local 114. Pueden utilizarse varias resoluciones temporales para determinar cuando se va cambiar la ventana de tiempo. Por ejemplo, en una modalidad, la resolución temporal es 1 día.
Dependiendo de la implementación, la longitud de la ventana de tiempo oscilante puede o no ser configurable por un usuario. Por ejemplo, en una modalidad, el usuario puede interactuar con el cliente de mensajería electrónica 110 para seleccionar una de una pluralidad de ventanas de tiempo oscilantes predefinidas, cada una que teniendo una longitud diferente. En una implementación específica, el usuario puede seleccionar entre una ventana de tiempo de 1 mes, 3 meses, 6 meses, y 12 meses. En ciertas implementaciones, el usuario puede seleccionar no utilizar una ventana de tiempo, en cuyo caso una copia de todos los mensajes electrónicos almacenados en el almacenamiento remoto 132 se descargará y almacenará en el almacenamiento local 114. Sin embargo, ese modo de operación no necesariamente está relacionado con las modalidades aquí descritas que tratan con presentación mezclada de mensajes electrónicos.
Se observa que la descripción de una ventana de tiempo oscilante según provista anteriormente representa únicamente una forma por la cual un subgrupo de los mensajes electrónicos en el almacenamiento remoto 132 puede seleccionarse para descarga y almacenamiento en el almacenamiento local 114. Pueden utilizarse otros métodos. Además, el método utilizado puede variar dependiendo del tipo de mensaje electrónico (por ejemplo, si los mensajes electrónicos representan datos de calendario, puede no utilizarse una ventana de tiempo oscilante).
Ya que, como se discutió anteriormente, el cliente de mensajería electrónica 110 descarga y almacena en el almacenamiento local 114 al menos algunos de los mensajes electrónicos del usuario que están disponibles en el almacenamiento remoto 132, el cliente de mensajería electrónica 110 puede permitir a un usuario obtener información sobre y revisar el contenido de cualquier mensaje electrónico almacenado en el almacenamiento local 114 incluso cuando el dispositivo de usuario 106 es incapaz de conectarse al servidor de mensajería electrónica 102. Además, ya que el cliente de mensajería electrónica 110 puede descargar y almacenar en el almacenamiento local 114 únicamente un subgrupo de mensajes electrónicos del usuario que están disponibles en el almacenamiento remoto 132, el cliente de mensajería electrónica 110 puede reducir la cantidad de ancho de banda necesaria en la red 104 para descargar mensajes electrónicos, la cantidad de energía de procesamiento de dispositivo de usuario 106 requerida para sincronizar mensajes electrónicos localmente almacenados con el almacenamiento remoto 132, y la cantidad de almacenamiento espaciado consumido por el almacenamiento local 114 cuando se compara con una implementación en la cual todos los mensajes electrónicos de un usuario disponibles en el almacenamiento remoto 132 se copian al almacenamiento local 114.
Como también se muestra en la Figura 1, el cliente de mensajería electrónica 110 incluye lógica de presentación mezclada 122, lógica de estado mezclada 124 y lógica de búsqueda mezclada 126. En una modalidad, cada uno de estos componentes comprende un módulo de software que es invocado por o forma parte de un cliente de mensajería electrónica 110.
La lógica de presentación mezclada 122 opera para determinar cuando está conectado el dispositivo de usuario 106 al servidor de mensajería electrónica 102. En respuesta a determinar que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102, la lógica de presentación mezclada 122 opera para proporcionar la presentación mezclada de mensajes electrónicos a través de GUI 132 de manera que un usuario puede ver concurrentemente información sobre los mensajes electrónicos que han sido guardados en memoria caché en el almacenamiento local 114 así como información sobre mensajes electrónicos que están almacenados únicamente en el almacenamiento remoto 132. La información sobre tales mensajes electrónicos puede presentarse al usuario en una forma uniforme, de manera que al usuario se le proporciona la impresión de que todos los mensajes electrónicos son parte de un depósito unificado individual, incluso aunque la información sobre y el contenido de tales mensajes electrónicos pueden obtenerse de diferentes almacenamientos. Además, la lógica de presentación mezclada 122 opera de manera que, cuando el dispositivo de usuario 106 está conectado servidor de mensajería electrónica 102, el usuario puede ver información sobre y/o el contenido de mensajes electrónicos almacenados en el almacenamiento remoto 132 sin requerir que tales mensajes electrónicos remotamente almacenados se copien al almacenamiento local 114. Detalles adicionales concernientes a la forma de operación de la lógica de presentación mezclada 122 se proporcionará a continuación en la Sección II. A.
La lógica de estado mezclada 124 opera para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos para un usuario del dispositivo de usuario 106 en un escenario en el cual algunos de los mensajes electrónicos almacenados en el contenedor son guardados en memoria caché en el almacenamiento local 114 y algunos de los mensajes electrónicos almacenados en el contenedor están disponibles únicamente en el almacenamiento remoto 132. El estado mezclado puede comprender, por ejemplo, un conteo de artículo que describe un número de mensajes electrónicos en el contenedor que tienen un estado particular (por ejemplo, incluidos o no incluidos en el contenedor, leídos o no leídos, marcados o no marcados, o similares).
En términos generales, en una modalidad en la cual el estado mezclado comprende un conteo de artículo para un contenedor, la lógica de estado mezclada 124 puede determinar el conteo de artículo al tomar una suma de un conteo de artículo local y una cantidad delta. El conteo de artículo local representa el número de mensajes electrónicos almacenados en el almacenamiento local 114 que se incluyen en el contenedor y tienen el estado particular. La cantidad delta representa una última diferencia conocida entre un conteo de artículo remoto y el conteo de artículo local, en donde el conteo de artículo remoto representa un número de mensajes electrónicos almacenados en el almacenamiento remoto 132 que están incluidos en el contenedor y tienen el estado particular. Al determinar el conteo de artículo para el contenedor de esta forma, la lógica de estado mezclada 124 es capaz de presentar al usuario un conteo de artículo actualizado para todo el contenedor incluso cuando el usuario toma alguna acción que cambia únicamente el conteo de artículo local mientras el dispositivo de usuario 106 está en un estado fuera de línea. Además, al determinar el conteo de artículo para el contenedor de esta forma, la lógica de estado mezclada 124 es capaz de presentar al usuario un conteo de artículo actualizado para todo el contenedor durante un procedimiento de sincronización, en donde tal conteo de artículo actualizado refleja cambios al conteo de artículo local que resultan de tal procedimiento de sincronización. Detalles adicionales concernientes a la forma de operación de lógica de estado mezclada 124 se proporcionará a continuación en la Selección II. B.
La lógica de búsqueda mezclada 124 opera para permitir a un usuario del dispositivo de usuario 106 ejecutar una búsqueda de mensajes electrónicos guardados en memoria caché almacenados en el almacenamiento local 114 así como de mensajes electrónicos almacenados en el almacenamiento remoto 132 cuando se determina que dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102. Los resultados de búsqueda obtenidos de las búsquedas contra el almacenamiento local 114 y el almacenamiento remoto 132 son ambos presentados en la GUI 132. Cuando el usuario solicita ver los contenidos de un mensaje electrónico que es identificado en los resultados de búsqueda y guardado en memoria caché en el almacenamiento local 114, la lógica de búsqueda mezclada 124 obtendrá los contenidos del mensaje electrónico del almacenamiento local 114. Cuando el usuario solicita ver los contenidos de un mensaje electrónico que es identificado en los resultados de búsqueda y únicamente está disponible en el almacenamiento remoto 132, la lógica de búsqueda mezclada 126 obtendrá el contenido del mensaje electrónico del almacenamiento remoto 132 a través interacción con el servidor de mensajería electrónica 102 pero no guardará en memoria caché los contenidos en el almacenamiento local 114. Detalles adicionales concernientes a la forma de operación de lógica de búsqueda mezclada 126 se proporcionarán a continuación en la Sección II. C.
A. Técnicas de Presentación Mezclada Ilustrativas La Figura 2 es un diagrama de bloques 200 que pretende demostrar la forma en la cual la lógica de presentación mezclada 122 opera para indicar la presentación mezclada de mensajes electrónicos a través de la GUI 312 cuando se determina que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102.
En la Figura 2, se representa generalmente un área de presentación 202 de la GUI 132 que es manejada por la lógica de presentación mezclada 122. El área de presentación 202 puede comprender, por ejemplo, una ventana o panel de observación dentro de la GUI 132 dentro del cual se presenta información sobre mensajes electrónicos de un usuario. Tal información puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico. Por ejemplo, en una modalidad en la cual los mensajes electrónicos comprenden mensajes de correo electrónico, tal información puede incluir pero no está limitada a un remitente del mensaje de correo electrónico, un asunto del mensaje de correo electrónico, una fecha y/u hora en la que se envió el mensaje de electrónico, una fecha y/u hora en la que se recibió el mensaje de correo electrónico, información de estado concerniente al mensaje de correo electrónico (por ejemplo, leído, no leído, marcado, no marcado), o similares.
La información sobre los mensajes electrónicos presentados dentro del área de presentación 202 puede organizarse en una variedad de formas dependiendo de la implementación. Por ejemplo, tal información puede ser presentada en la forma de una tabla o lista, con información sobre cada mensaje electrónico siendo presentada en una fila correspondiente de la tabla o como un artículo correspondiente en la lista. De acuerdo con otra implementación, la información sobre los mensajes electrónicos puede presentarse en asociación con iconos que representan los mensajes electrónicos correspondientes. Pueden utilizarse incluso otras formas de presentación.
La información sobre los mensajes electrónicos puede clasificarse o de otra forma organizarse de acuerdo con uno o más criterios definidos por sistema y/o definidos por usuario. Por ejemplo, la información sobre los mensajes electrónicos puede clasificarse basándose en la fecha y hora de recepción de los mensajes electrónicos. En una modalidad en la cual se presentan mensajes electrónicos con una lista, el uso de tales criterios de clasificación puede resultar en información sobre los mensajes electrónicos muy recientemente recibidos que aparecen al inicio de la lista e información sobre los mensajes electrónicos recibidos más antiguos que aparecen al final de la lista. Sin embargo, este sólo es un ejemplo, y puede utilizarse una gran variedad de criterios para clasificar o de otra forma organizar la información sobre los mensajes electrónicos.
En una modalidad en la cual los mensajes electrónicos comprenden mensajes de correo electrónico almacenados en un buzón de correo electrónico que puede incluir sub-buzones y/o sub-carpetas, en los mensajes de correo electrónico sobre los cuales se presenta información en la ventana de presentación 202 pueden comprender mensajes de correo electrónico almacenados en un buzón particular, sub-buzón o sub-carpeta.
Como además se muestra en la Figura 2, se utiliza una primera porción 204 de área de presentación 202 para presentar información sobre mensajes electrónicos que caen dentro de una ventana de sincronización. Como se discutió anteriormente, tal ventana de sincronización puede utilizarse para determinar qué mensajes electrónicos son copiados del almacenamiento remoto 132 al almacenamiento local 114. Ya que los mensajes electrónicos sobre qué información se presenta en la primera porción 204 de la presentación 202 se almacenan en el almacenamiento local 114, en una modalidad, la lógica de presentación mezclada 122 obtiene la información de mensaje electrónico que se presenta dentro de la primera porción 204 del área de presentación 202 desde el almacenamiento local 114 en lugar desde el almacenamiento remoto 132. Tales datos se puede decir que están disponibles "fuera de línea" como se denota en la Figura 2.
Como también se muestra en la Figura 2, se utiliza una segunda porción 206 del área de presentación 202 para presentar información sobre mensajes electrónicos que caen fuera de la ventana de sincronización y de esa forma no están almacenados en el almacenamiento local 114. Ya que los mensajes electrónicos sobre qué información se presenta en la segunda porción 206 del área de presentación 202 no se almacenan en el almacenamiento local 114, en una modalidad, la lógica de presentación mezclada 122 obtiene la información de mensaje electrónico que se presenta dentro de la segunda porción 206 del área de presentación 202 desde el almacenamiento remoto 132 a través de interacción entre el servidor de mensajería electrónica 102 cuando se determina que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102. Puede decirse que tales datos no están disponibles "fuera de línea" como se denota en la Figura 2.
Al presentar concurrentemente información sobre mensajes electrónicos que son guardados en memoria caché localmente en el almacenamiento local 114 e información sobre mensajes electrónicos que están almacenados remotamente en el almacenamiento remoto 132 en la misma área de presentación 202 como se muestra en la Figura 2, la lógica de presentación mezclada 122 puede proporcionar a un usuario con la impresión de que todos los mensajes electrónicos son parte de un depósito unificado individual, incluso aunque la lógica de presentación mezclada 122 puede obtener la información sobre y contenidos de tales mensajes electrónicos desde diferentes almacenamientos. Dicho de otra forma, la lógica de presentación mezclada 122 puede proporcionar al usuario un sentido que tiene acceso a todos los mensajes electrónicos almacenados en el almacenamiento remoto 132 incluso aunque la lógica de presentación mezclada 122 puede obtener algunos de los mensajes electrónicos e información sobre esos mensajes electrónicos desde el almacenamiento local 114.
Para lograr este efecto de mezclado, la lógica de presentación mezclada 122 puede presentar información sobre mensajes electrónicos localmente almacenados y remotamente almacenados esencialmente en la misma forma y/o manera, de manera que el usuario no pueda determinar fácilmente que mensajes electrónicos están almacenados localmente y cuales están almacenados remotamente. Sin embargo, en una modalidad alterna, alguna clase de indicación visual puede proporcionarse y puede utilizarse para distinguir mensajes electrónicos localmente almacenados de aquellos remotamente almacenados.
En ciertas modalidades, para cada mensaje electrónico sobre el cual se presenta información en el área de presentación 202, también se presenta un medio por el cual un usuario puede hacer que el contenido de tal mensaje electrónico se presente en la GUI 132. Por ejemplo, los medios pueden comprender un componente que se presenta en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa por el usuario, hace que los contenidos de ese mensaje electrónico se presenten dentro de la GUI 132. Por ejemplo, en una modalidad en la cual se presenta información sobre cada mensaje electrónico como un artículo en una lista, puede permitirse a un usuario ver los contenidos de un mensaje electrónico al dar clic en el artículo correspondiente en la lista. Incluso otros componentes de interfase de usuario pueden utilizarse para facilitar la observación selectiva de los contenidos de un mensaje electrónico sobre el cual se presenta información en área de presentación 202.
Además de acuerdo con la modalidad ilustrativa mostrada en la Figura 2, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de presentación mezclada 122 obtendrá el contenido del mensaje electrónico y presentará tal contenido dentro de la GUI 132. Si se almacena una copia del mensaje electrónico seleccionado en el almacenamiento local 114, entonces la lógica de presentación mezclada 122 obtendrá el contenido del mensaje electrónico desde el almacenamiento local 114. Sin embargo, si no existe ninguna copia del mensaje electrónico seleccionado almacenado en el almacenamiento local 114 (es decir, el mensaje electrónico seleccionado está fuera de la ventana de sincronización), entonces la lógica de presentación mezclada 122 obtendrá el contenido del mensaje electrónico del almacenamiento remoto 132 a través de interacción con el servidor de mensajería electrónica 102. En este último caso, la lógica de presentación mezclada 122 no almacenará una copia del mensaje electrónico remotamente almacenado en el almacenamiento local 114 como parte del procedimiento de presentación. Es decir, aunque los contenidos del mensaje electrónico remotamente almacenado pueden ser guardados en memoria intermedia temporalmente dentro de la memoria del dispositivo de usuario 106 para facilitar la presentación de los mismos, una vez que el usuario ha cerrado la porción de GUI 132 que se utiliza para ver los contenidos del mensaje electrónico remotamente almacenado, pueden descartarse tales datos guardados en memoria intermedia. Por supuesto, es posible que en ciertas situaciones (por ejemplo, por razones de desempeño), la lógica de presentación mezclada 122 pueda hacer que se almacene una copia del mensaje electrónico remotamente almacenado dentro del almacenamiento local 114.
En la modalidad, la lógica de presentación mezclada 122 puede inicialmente presentar sólo información sobre mensajes electrónicos que caen dentro de la ventana de sincronización dentro del área de presentación 202 incluso aunque se haya determinado que el dispositivo de usuario 106 esté conectado al servidor de mensajería electrónica 102. Además de acuerdo con tal modalidad, la lógica de presentación mezclada 122 puede proporcionar un componente dentro de la GUI 132 de manera que un usuario puede interactuar con éste para hacer que la información concerniente a mensajes electrónicos que caen fuera de la ventana de sincronización también se presente dentro del área de presentación 202 en una forma mezclada como se describió anteriormente. Tal componente interactivo puede incluir o estar acompañado por una indicación visual de su función. Por ejemplo, tal componente interactivo puede incluir o estar acompañado por un texto que menciona "Hay más mensajes en el servidor, favor de dar clic aquí para verlos", "Dar che aquí para ver más mensajes" o algo similar. Sin embargo, estos son simplemente solo ejemplos y por ningún medio pretenden ser limitantes.
Se observa que la ilustración del área de presentación 202 ha sido proporcionada a manera de ilustración únicamente. El área de presentación 202 puede ser de cualquier tamaño o forma dependiendo de la implementación. Además, toda el área de presentación 202 puede no ser observable en un tiempo dentro de la GUI 132 y/o presentación 112 y desplazamiento u otros mecanismos similares conocidos en la técnica pueden utilizarse para ver porciones seleccionadas del área de presentación 202.
Además, aunque la Figura 2 puede parecer sugerir esa información sobre los mensajes electrónicos que están incluidos dentro de la ventana de sincronización se presentan como una unidad contigua que está separada de la información sobre los mensajes electrónicos que no están dentro de la ventana de sincronización, es totalmente posible que tal información se entremezcle a través del área de presentación 202. Por ejemplo, en una ventana en la cual se presenta la información como una lista, el primer mensaje electrónico sobre el cual se presenta información en la lista puede estar fuera de la ventana de sincronización, el segundo mensaje electrónico sobre el cual se presenta información en la lista puede estar dentro de la ventana de sincronización, y la tercera información electrónica sobre la cual se presenta información en la lista puede estar fuera de la ventana de sincronización. Dicho de otra forma, las porciones 204 y 206 del área de presentación 202 pueden estar entremezcladas o entrelazadas. Esto puede ocurrir por ejemplo, debido a la forma en la cual se clasifica tal información o por otras razones.
La Figura 3 ilustra un cuadro de flujo 300 de un método para proporcionar una presentación mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad. El método del cuadro de flujo 300 puede realizarse, por ejemplo, mediante la lógica de presentación mezclada 122 como se describió anteriormente con referencia al sistema 100 de la Figura 1. Sin embargo, el método no está limitado a esa modalidad y puede implementarse mediante otros componentes o sistemas completamente.
Como se muestra en la Figura 3, el método del cuadro de flujo 300 comienza en el paso 302, en donde la información concerniente a uno o más primeros mensajes electrónicos se presenta en una GUI presentada a una presentación de un dispositivo de usuario, en donde los contenidos de uno o más de los primeros mensajes electrónicos se almacena en un almacenamiento local del dispositivo de usuario. Por ejemplo, este paso puede adaptar información de presentación concerniente a mensajes electrónicos dentro de una ventana de sincronización a la GUI 132 presentada a la presentación 112 del dispositivo de usuario 106, en donde tales mensajes electrónicos están almacenados en el almacenamiento local 114 del dispositivo de usuario 106.
En el paso 304, se hace una determinación sobre si el dispositivo de usuario está conectado a un servidor de mensajería electrónica. Por ejemplo, este paso puede implicar determinar si el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 106. Se puede utilizar una variedad de métodos para determinar si existe tal conexión, incluyendo pero no limitada a requerir un intercambio de mensajes entre el dispositivo de usuario 106 y servidor de mensajería electrónica 102 o simplemente determinar que el dispositivo de usuario 106 tiene una conexión operativa a la red 104.
En el paso 306, en respuesta al menos a determina que el dispositivo de usuario está conectado al servidor de mensajería electrónica, la información concerniente a uno o más segundos mensajes electrónicos se presenta a la GUI concurrentemente con la información concerniente a uno o más primeros mensajes electrónicos, en donde los contenidos de uno o más segundos mensajes electrónicos se almacenan en un almacenamiento remoto accesible para el servidor de mensajería electrónica pero no en el almacenamiento local. Por ejemplo, este paso puede adaptarse, en respuesta al menos a determinar que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102, para presentar información concerniente a mensajes electrónicos no almacenados dentro de una ventana de sincronización a la GUI 132 presentada a la presentación 112 del dispositivo de usuario 106, en donde tales mensajes electrónicos están almacenados en el almacenamiento remoto 132 accesible al servidor de mensajería electrónica 102 pero no en el almacenamiento local 114.
En una modalidad, el método del cuadro de flujo 300 además puede comprender proporcionar un componente de interfase de usuario dentro de la GUI con la que el usuario puede interactuar para hacer que la información concerniente a uno o más segundos mensajes electrónicos se presente en la GUI c oncurrentemente con la información concerniente a uno o más primeros mensajes electrónicos. Además de acuerdo con tal modalidad, el paso 306 puede realizarse en respuesta al menos a determinar que el dispositivo de usuario está conectado al servidor de mensajería electrónica y que el usuario ha interactuado con el componente de interfase de usuario. Como se discutió anteriormente con referencia a la Figura 2, tal componente de interfase de usuario puede incluir o estar acompañado por una indicación visual de su función. Por ejemplo, tal componente interactivo puede incluir o estar acompañado por el texto que menciona "Hay más mensajes en el servidor, favor de dar clic aquí para verlos", "Dar clic aquí para ver más mensajes" o algo similar.
En una modalidad adicional, el método de cuadro de flujo 300 también puede comprender proporcionar a un usuario un componente de interfase de usuario dentro de la GUI con la que puede interactuar el usuario para hacer que los contenidos de uno seleccionado de uno o más de los primeros mensajes electrónicos se presente en la GUI y, entonces, en respuesta a determinar que el usuario ha interactuado con el componente de interfase de usuario, obtener los contenidos de uno seleccionado de uno o más de los primeros mensajes electrónicos desde el almacenamiento local para presentación en la GUI.
Incluso en una modalidad adicional, el método del cuadro de flujo 300 también puede comprender proporcionar un componente de interfase de usuario dentro de la GUI con la que puede interactuar el usuario para hacer que los contenidos de uno seleccionado de uno o más de los segundos mensajes electrónicos se presente en la GUI y entonces, en respuesta a determinar que el usuario ha interactuado con el componente de interfase de usuario, obtener los contenidos de una seleccionada de una o más de las segundas comunicaciones electrónicas desde el almacenamiento remoto para presentación en la GUI sin guardar una copia de los contenidos de uno seleccionado de uno o más de los segundos mensajes electrónicos en el almacenamiento local.
B. Técnicas Ilustrativas para Presentación de Información de Estado Mezclada La Figura 4 ilustra un cuadro de flujo 400 de un procedimiento mediante el cual la lógica de estado mezclada 124 puede operar para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos a un usuario del dispositivo de usuario 106 en un escenario en el cual algunos de los mensajes electrónicos almacenados en el contenedor son guardados en memoria caché en el almacenamiento local 114 y algunos de los mensajes electrónicos almacenados en el contenedor están disponibles únicamente en el almacenamiento remoto 132. El contenedor puede comprender, por ejemplo, una carpeta que se utiliza para almacenar todos o un subgrupo de mensajes electrónicos de un usuario. El método de cuadro de flujo 400 está enfocado en la forma en la cual el estado mezclado se presenta primero al usuario después que se inicia el cliente de mensajería electrónica 110. En el método de cuadro de flujo 400, el estado mezclado comprende un conteo de artículo que describe un número de mensajes electrónicos en el contenedor que tienen un estado particular. Tal estado particular puede comprender, por ejemplo y sin limitación: incluido o no incluido en el contenedor, leído o no leído, marcado o no marcado, o similares.
Para la búsqueda de ilustración únicamente, el método de cuadro de flujo 400 se describirá ahora con referencia a varios componentes del sistema 100 como se describió anteriormente con referencia la Figura 1. Sin embargo, los expertos en la técnica(s) relevante apreciarán que el método puede implementarse por otros componentes o sistemas también.
Como se muestra en la Figura 4, el método de cuadro de flujo 400 comienza en el paso 402, en el cual se inicia el cliente de mensajería electrónica 110. Dependiendo de la ¡mplementación, este paso puede ocurrir en una variedad de formas. Por ejemplo, este paso puede ocurrir cuando un usuario del dispositivo de usuario 106 inicia el cliente de mensajería electrónica 110 a través de una interacción con un sistema operativo del dispositivo de usuario 106 o algún otro componente del mismo.
Después del paso 402, el control fluye al paso 404, durante el cual la lógica de estado mezclada 124 carga uno o más conteos de artículo local asociados con un contenedor, en donde tales conteos de artículo local están almacenados en el almacenamiento local del dispositivo de usuario 106 (por ejemplo, almacenamiento local 114). De acuerdo con este método, un conteo de artículo local comprende una representación de un número de mensajes electrónicos almacenados en almacenamiento local 114 que están incluidos en el contenedor y tienen un estado particular. Los conteos de artículo locales pueden mantenerse para diferentes tipos de estado. Por ejemplo, para un contenedor dado, un conteo de artículo local puede mantenerse y representa: un número de mensajes electrónicos en el contenedor que están almacenados en el almacenamiento local 114, un número de mensajes electrónicos en el contenedor que son leídos o no leídos y están almacenados en el almacenamiento local 114, un número de mensajes electrónicos que son marcados o no marcados y almacenados en el almacenamiento local 114, o similares.
Después del paso 404, el control fluye al paso 406, durante el cual la lógica de estado mezclado 1 26 carga una o más cantidades delta asociadas con un contenedor, en donde tales cantidades delta están almacenadas en almacenamiento local del dispositivo de usuario 106 (por ejemplo, almacenamiento local 114). De acuerdo con este método, una cantidad delta representa una última diferencia conocida entre un conteo de artículo remoto y un conteo de artículo local para el contenedor, en donde el conteo de artículo remoto representa un número de mensajes electrónicos almacenados en el almacenamiento remoto 132 q ue están incluidos en el contenedor y tienen un estado particular.
Después del paso 406, el control fluye al paso 408, durante el cual la lógica de estado mezclado 124 calcula conteos de artículo para el contenedor al sumar cada conteo de artículo local cargado durante el paso 404 con una cantidad delta correspondiente cargada durante el paso 406. Por ejemplo, este paso puede implicar agregar un conteo de artículo local que específica el número total de artículos incluidos en el contenedor y almacenados en almacenamiento local 114 a una cantidad delta que especifica la última diferencia conocida entre el número total de artículos incluidos en el contenedor y almacenados en almacenamiento remoto 132 y el conteo de artículo local. Como otro ejemplo, este paso puede adaptar agregar un conteo de artículo local que específica el número total de artículos no leídos incluidos en el contenedor y almacenados en el almacenamiento local 114 a una cantidad delta que especifica la última diferencia conocida entre el número total de artículos no leídos incluidos en el contenedor y almacenados en almacenamiento remoto 132 y el conteo de artículo local.
Durante el paso 408, la lógica de estado mezclada 124 también presenta los conteos de artículo así calculados a la GUI 132 de manera que puedan observarse por un usuario del dispositivo de usuario 106. Este paso puede comprender presentar los conteos de artículo en una ubicación o forma que indica que tales conteos de artículo corresponden al contenedor para el cual se han calculado (por ejemplo, al lado de una representación ¡cónica del contenedor, en una barra de estado de un panel de navegación que presenta información sobre mensajes electrónicos en el contenedor, o similares).
Después del paso 408, el control fluye al paso de decisión 410, durante el cual la lógica de estado mezclada 124 determina si el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102 o no. Puede utilizarse una variedad de métodos para determinar si existe tal conexión, incluyendo pero no limitada a requerir un intercambio de mensajes entre el dispositivo de usuario 106 y el servidor de mensajería electrónica 102 o simplemente determinar que el dispositivo de usuario 106 tiene una conexión operativa a la red 104.
Como se muestra en la Figura 4, si se determina durante el paso de decisión 406 que el dispositivo de usuario 106 no está conectado al servidor de mensajería electrónica 102, entonces el control regresa al paso 408, durante el cual la lógica de estado mezclada 126 continúa mostrando los conteos de artículos para el contenedor como una suma de los conteos de artículos locales para el contenedor y las cantidades delta correspondientes obtenidas durante el paso 406. Se observa que aunque el dispositivo de usuario 106 está fuera de línea, los conteos de artículo locales cargados durante el paso 404 pueden actualizarse como resultado del desempeño de cualquiera de un número de acciones por un usuario del dispositivo de usuario 106, como se describirá a continuación con referencia al cuadro de flujo 500 de la Figura 5. De esa forma, los conteos de artículo para el contenedor que se presentan durante el paso 408 mientras el dispositivo de usuario 106 está fuera de línea será el total de los conteos de artículo locales más actuales para el contenedor (como impactados por las actividades fuera de línea del usuario) más las cantidades delta correspondientes obtenidas durante el paso 406. Se observa que, en ciertas modalidades, cuando la lógica de estado mezclada 124 determina que el dispositivo de usuario 106 no está conectado al servidor de mensajería electrónica 102 y que la cantidad delta para un contenedor particular es mayor que cero (indicando que hay mensajes electrónicos disponibles en el almacenamiento remoto 132 que no están guardados en memoria caché en el almacenamiento local 114), entonces la lógica de estado mezclada 124 puede causar que un indicador se presente y notifique a un usuario que mensajes electrónicos adicionales están disponibles en el almacenamiento remoto 132. Por ejemplo, tal indicador puede comprender texto presentado a la GUI 132 que menciona "Hay más artículos, conectarse al servidor para verlos", aunque esto es simplemente un ejemplo. Además de acuerdo con tal modalidad, cuando la cantidad delta para un contenedor particular es cero (indicando que todos los mensajes electrónicos disponibles en el almacenamiento remoto 132 están guardados en memoria caché en el almacenamiento local 114), de manera que no se puede presentarse tal indicación.
Sin embargo, si se determina durante el paso de decisión 410 que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102, entonces el control fluye al paso 412, durante el cual se inicia un procedimiento de sincronización que pretende sincronizar el estado de los mensajes electrónicos almacenados en el almacenamiento local 114 y los mensajes electrónicos almacenados en el almacenamiento remoto 132. Tal procedimiento de sincronización se realiza debido a que pudo haber cambiado el estado de los mensajes electrónicos almacenados en almacenamiento local 114 y/o almacenamiento remoto 132 (y de esa forma volverse des-sincronizado) mientras el dispositivo de usuario 106 estaba fuera de línea o mientras el cliente de mensajería electrónica 110 no se estaba ejecutando. Por ejemplo, el usuario pudo haber cambiado el estado de uno o más mensajes electrónicos almacenados en el almacenamiento local 114 mientras el dispositivo de usuario 106 estaba fuera de línea o mientras el cliente de mensajería electrónica 110 no se estaba ejecutando. Como otro ejemplo, el servidor de mensajería electrónica 102 pudo haber cambiado el estado de uno o más mensajes electrónicos disponibles para el cliente de mensajería electrónica 110 y almacenarse en el almacenamiento remoto 132 mientras el dispositivo de usuario 106 estaba fuera de línea o mientras el cliente de mensajería electrónica 110 no se estaba ejecutando. Tal procedimiento de sincronización también puede utilizarse para remover mensajes electrónicos del almacenamiento local 114 que han pasado fuera de una ventana de sincronización.
Aunque el procedimiento de sincronización se está realizando, la lógica de estado mezclada 124 continuará presentando los conteos de artículo para un contenedor como una suma de los conteos de artículos locales para el contenedor y las cantidades delta correspondientes obtenidas durante el paso 406. Es posible que aunque se esté realizando el procedimiento de sincronización, los conteos de artículo locales cambien debido a tal procedimiento de sincronización (por ejemplo, debido a agregar un nuevo mensaje electrónico al almacenamiento local 114). De esa forma, los conteos de artículo para el contenedor que se presentan mientras está ocurriendo la sincronización serán el total de los conteos de artículo locales más actuales para el contenedor (según impactados por el procedimiento de sincronización) más las cantidades delta correspondientes obtenidas durante el paso 406.
Como se muestra en el paso de decisión 414, una vez que se determina que está completo el procedimiento de sincronización iniciado durante el paso 412, el control fluye al paso 416. Durante el paso 416, la lógica de estado mezclada 124 obtiene nuevos conteos de artículo remotos y nuevos conteos de artículos locales para el contenedor, de manera que los conteos de artículo puedan cambiar como resultado del procedimiento de sincronización. Durante el paso 416, la lógica de estado mezclada 124 también calcula nuevas cantidades delta para el contenedor al determinar la diferencia entre cada nuevo conteo de artículo remoto y cada nuevo conteo de artículo local correspondiente. Durante este paso, la lógica de estado mezclada 124 también almacena las cantidades delta recientemente calculadas en el almacenamiento local del dispositivo de usuario 106, reemplazando con ello las cantidades delta previamente calculadas con las cantidades delta recientemente calculadas.
Después del paso 416, el control fluye al paso 418, durante el cual la lógica de estado mezclada 124 calcula conteos de artículo para el c ontenedor al sumar cada conteo de artículo local obtenido durante el paso 416 con una cantidad delta correspondiente calculada durante ese paso. Durante el paso 418, la lógica de estado mezclada 124 también presenta los conteos de artículo así calculados a la GUI 132 de manera que puedan observarse por un usuario del dispositivo de usuario 106.
La Figura 5 ¡lustra un cuadro de flujo 500 de un procedimiento adicional por el cual la lógica de estado mezclada 124 puede operar para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos a un usuario del dispositivo de usuario 106 en un escenario en el cual algunos de los mensajes electrónicos almacenados en el contenedor son guardados en memoria caché en el almacenamiento local 114 y algunos de los mensajes electrónicos almacenados en el contenedor están disponibles únicamente en el almacenamiento remoto 132. El método del cuadro de flujo 500 está enfocado en la forma en la cual se presenta el estado mezclado después que el usuario ha realizado una acción a través de cliente de mensajería electrónica 110 que cambia el estado de un mensaje electrónico. Como en el caso del cuadro de flujo 400, el estado mezclado comprende un conteo de artículo que describe un número de mensajes electrónicos en el contenedor que tienen un estado particular.
Para búsqueda de ilustración únicamente, el método del cuadro de flujo 500 ahora se describirá con referencia a varios componentes del sistema 100 como se describió anteriormente con referencia a la Figura 1. Sin embargo, los expertos en la técnica(s) relevante apreciarán que el método puede implementarse mediante otros componentes o sistemas también.
Como se muestra en la Figura 5, el método de cuadro de flujo 500 comienza en el paso 502, en donde un usuario utiliza al cliente de mensajería electrónica 110 para realizar una acción en uno o más mensajes electrónicos que están localizados en un contenedor de manera que el número total de mensajes electrónicos en el contenedor que tiene un estado particular cambie. Tal acción puede incluir, por ejemplo, agregar un mensaje electrónico al contenedor, eliminar o de otra forma remover un mensaje electrónico del contenedor, leer un mensaje electrónico no leído en el contenedor, marcar un mensaje electrónico no marcado en el contenedor, o similares.
En el paso de decisión 504, en respuesta a determinar que la acción del paso 502 ocurrió, la lógica de estado mezclada 124 determina si el mensaje(s) electrónico en el cual se ha realizado tal acción se almacenan en el almacenamiento local 114. Si un mensaje electrónico en el cual se ha realizado la acción está almacenada en el almacenamiento local 114, entonces la lógica de estado mezclada 124 incrementará o disminuirá el conteo de artículo local relevante para el contenedor de acuerdo a lo que se muestra en el paso 506. De esa forma, por ejemplo, si el usuario ha eliminado un mensaje electrónico del contenedor y el mensaje electrónico que fue eliminado fue guardado en memoria caché en el almacenamiento local 114, entonces la lógica de estado mezclada 124 disminuirá el conteo de artículo local para ese contenedor por uno. Como otro ejemplo, si el usuario ha leído un mensaje electrónico no leído en el contenedor y el mensaje electrónico que fue leído es guardado en memoria caché en el almacenamiento local 114, entonces la lógica de estado mezclada 124 disminuirá el conteo de artículo no leído local para ese contenedor por uno. Además, la lógica de estado mezclada 124 también incrementará el conteo de artículo leído local para ese contenedor por uno.
Sin embargo, si la lógica de estado mezclada 124 determina durante el paso de decisión 504 que el mensaje(s) electrónico en el cual se ha realizado la acción del paso 502 no está almacenado en el almacenamiento local 114 (es decir, únicamente está almacenado en el almacenamiento remoto 132), entonces la lógica de estado mezclada 124 incrementará o disminuirá la cantidad delta relevante para el contenedor por consiguiente como se muestra en el paso 508. De esa forma, por ejemplo, si el usuario ha eliminado un mensaje electrónico del contenedor y el mensaje electrónico que fue eliminado no fue guardado en memoria caché en el almacenamiento local 1 14, entonces la lógica de estado mezclada 124 disminuirá la cantidad delta que representa la diferencia entre el número total de artículos remotamente almacenados en el contenedor y el conteo de artículo local para el contenedor por uno. Como otro ejemplo, si el usuario ha leído un mensaje electrónico no leído en el contenedor y el mensaje electrónico que se leyó no está guardado en memoria caché en el almacenamiento local 114, entonces la lógica de estado mezclada 124 disminuirá la cantidad delta que representa la diferencia entre el número total de artículos remotamente almacenados no leídos en el contenedor y el conteo de artículo no leído local para el contenedor por uno. Además, la lógica de estado mezclada 124 también puede incrementar la cantidad delta que representa la diferencia entre el número total de artículos remotamente almacenados leídos en el contenedor y el conteo de artículo leído local para el contenedor por uno.
Después del paso 506 o 508, el control fluye al paso 510, durante el cual la lógica de estado mezclada 124 calcula los conteos de artículo para el contenedor al sumar los conteos de artículo locales para el contenedor con las cantidades delta correspondientes. Durante el paso 510, la lógica de estado mezclada 124 también presenta los conteos de artículo así calculados para la GUI 132 de manera que puedan observarse por un usuario del dispositivo de usuario 106.
Después del paso 510, el control fluye al paso 512 durante el cual se inicia un procedimiento de sincronización que pretende sincronizar el estado de los mensajes electrónicos almacenados en el almacenamiento local 114 y los mensajes electrónicos almacenados en el almacenamiento remoto 132. El cliente de mensajería electrónica 110 puede iniciar tal procedimiento de sincronización de acuerdo con un programa definido por el sistema o definido por usuario, en respuesta a la ocurrencia de un evento particular, o similares. Tal procedimiento de sincronización puede ser necesario debido a que el estado de los mensajes electrónicos almacenados en el almacenamiento local 114 y/o almacenamiento remoto 132 pudo haber cambiado (y de esa forma volverse no sincronizado) desde la ocurrencia de una sincronización previa. Por ejemplo, el usuario pudo haber cambiado el estado de uno o más mensajes electrónicos almacenados en el almacenamiento local 114 desde la ocurrencia de una sincronización previa. Como otro ejemplo, el servidor de mensajería electrónica 102 pudo haber cambiado el estado de uno o más mensajes electrónicos disponibles para el cliente de mensajería electrónica 110 y almacenado en el almacenamiento remoto 132 desde la ocurrencia de una sincronización previa. Tal procedimiento de sincronización también puede utilizarse para remover mensajes electrónicos del almacenamiento local 114 que han pasado fuera de una ventana de sincronización.
Aunque el procedimiento de sincronización se está realizando, la lógica de estado mezclada 124 continuará presentando los conteos de artículo para un contenedor como una suma de conteos de artículos locales para el contenedor y las cantidades delta correspondientes. Es posible que aunque se esté realizando el procedimiento de sincronización, los conteos de artículo locales cambiarán debido a tal procedimiento de sincronización (por ejemplo, debido a agregar nuevos mensajes electrónicos al almacenamiento local 114). De esa forma, los conteos de artículo para el contenedor que se presentan mientras está ocurriendo la sincronización será el total de los conteos de artículo locales más actuales para el contenedor (según impactados por el procedimiento de sincronización) más las cantidades delta correspondientes.
Como se muestra en el paso de decisión 514, una vez que se determina que está completo el procedimiento de sincronización iniciado durante el paso 512, el control fluye al paso 516.
Durante el paso 516, la lógica de estado mezclado 124 obtiene nuevos conteos de artículo remotos y nuevos conteos de artículos locales para el contenedor, ya que tales conteos de artículo pueden cambiar como un resultado del procedimiento de sincronización. Durante el paso 516, la lógica de estado mezclada 124 también calcula nuevas cantidades delta del contenedor al determinar la diferencia entre cada nuevo conteo de artículo remoto y cada nuevo conteo de artículo local correspondiente. Durante este paso, la lógica de estado mezclada 124 también almacena las cantidades delta recientemente calculadas en almacenamiento local del dispositivo de usuario 106, reemplazando con ello las cantidades delta previamente calculadas con las cantidades delta recientemente calculadas.
Después del paso 516, el control fluye al paso 518, durante el cual la lógica de estado mezclada 124 calcula conteos de artículo para el contenedor al sumar cada conteo de artículo local obtenido durante el paso 516 con una cantidad delta correspondiente calculada durante el mismo paso. Durante el paso 518, la lógica de estado mezclada 124 también p resenta los conteos de artículos así calculados a la GUI 132 de manera que puedan observarse por un usuario del dispositivo de usuario 106.
Un ejemplo de enseñanza simple se proporcionará ahora para ayudar a ilustrar como los métodos anteriores de cuadros de flujo 400 y 500 pueden utilizarse para presentar información de estado mezclada a un usuario. Para los propósitos de estos ejemplos, se asume que los mensajes electrónicos son correos electrónicos, el contenedor relevante es una carpeta llamada "Buzón", y el conteo de artículo que se va presentar es el conteo de artículo de Buzón.
Además se asume que antes de iniciar el cliente de mensajería electrónica 110 (y de esa forma activar el método del cuadro de flujo 400), el conteo de artículo local para el Buzón es 50 y la cantidad delta para artículos de Buzón es 150 (es decir, cuando se calculó la cantidad delta para artículos de Buzón, hubieron 200 artículos remotamente almacenados y 50 artículos localmente almacenados en el Buzón).
Ahora, asumir que el cliente de mensajería electrónica iniciada de acuerdo con el paso 402 del cuadro de flujo 400 y la lógica de estado mezclada 124 carga el conteo de artículo local para el Buzón como se describió anteriormente de acuerdo con el paso 404 y carga la cantidad delta para artículos de Buzón como se describió anteriormente de acuerdo con el paso 406. Entonces, durante el paso 408, la lógica de estado mezclada 124 calculará el conteo de artículo para el Buzón como la suma del conteo de artículo local para el Buzón (50) y la cantidad delta para los artículos de Buzón (150), generando un conteo de artículo de 200. La lógica de estado mezclada 124 entonces presentará este conteo de artículo al usuario a través de la GUI 132 además de acuerdo con el paso 408.
Para ilustrar además cómo pueden utilizarse los métodos de cuadro de flujo 400 y 500 para presentar información de estado mezclada a un usuario, asumir que mientras el dispositivo de usuario 106 está en el estado fuera de línea, el usuario agrega 5 nuevos correos electrónicos al Buzón. Ya que esta acción cambia el estado del Buzón, activará el paso 502 del cuadro de flujo 500. Además, ya que la acción involucra correos electrónicos localmente almacenados, resultará en el conteo de artículo local para el Buzón al incrementarse por 5 (produciendo un conteo de artículo local de 55) de acuerdo con el paso 506. Entonces, durante el paso 510, el conteo de artículo para el Buzón se mostrará como 205 (conteo de artículo local de cantidad delta 55 más de 150). De esa forma, parece para el usuario como si sus acciones tomadas fuera de línea afectaran el estado de todo el Buzón, no sólo aquellos correos electrónicos almacenados en el almacenamiento local 114.
Para ilustrar además como pueden utilizarse los métodos de cuadro de flujo 400 y 500 para presentar información de estado mezclada a un usuario, asumir que aunque el dispositivo de usuario 106 está fuera de línea, el servidor de mensajería electrónica 102 recibe 20 nuevos correos electrónicos en el Buzón a nombre del usuario y los almacena en el almacenamiento remoto 132 y también elimina 40 correos electrónicos más viejos en el Buzón que están fuera de una ventana de tipo oscilante y de esa forma únicamente se almacenaron en el almacenamiento remoto 132. Esto resulta en un conteo de artículo remoto para el Buzón de 180. Asumir también que después de agregar los 5 nuevos corros electrónicos al Buzón mientras el dispositivo de usuario 106 está en un estado fuera de línea como se discutió anteriormente, el usuario apaga el dispositivo de usuario 106. Después, el usuario enciende de nuevo el dispositivo de usuario 106 e inicia el cliente mensajería electrónica 110, activando el paso 402 del cuadro de flujo 400.
En este caso, durante el paso 404, la lógica de estado mezclada 124 carga el conteo de artículo local para la Bandeja de entrada (conteo de artículo local = 55), durante el paso 406, la lógica de estado m ezclada 124 carga la cantidad delta de artículos de Buzón (cantidad delta = 150), y durante el paso 408, la lógica de estado mezclada 124 presenta el conteo de artículo para el Buzón como 205 (55 + 150). Entonces, en el paso de decisión 410, el control fluye al paso 412 debido a que la lógica de estado mezclada 124 determina que el dispositivo de usuario 106 ahora está conectado al servidor de mensajería electrónica 102.
En el paso 412, se inicia la sincronización. Como un resultado de la sincronización, los 20 nuevos correos electrónicos en el Buzón se descargaron en el almacenamiento local 114, resultando en que el conteo de artículo local de Buzón aumentaría de 55 a 75. Mientras está ocurriendo la sincronización, la lógica de estado mezclada 124 continúa presentando el conteo de artículo de Bandeja de Entrada como la suma del control de artículo local (ahora 75) y la cantidad delta para artículos de Buzón (150), que equivale a 225. Durante el procedimiento de sincronización, los 5 correos electrónicos creados localmente en el Buzón se cargan al almacenamiento remoto 132, almacenando el conteo de artículo remoto de 180 a 185.
Durante el paso 416, la lógica de estado mezclada 124 obtiene conteos de artículo locales y remotos de pos-sincronización. En este caso, después de la sincronización, el conteo de artículo local para la Bandeja de Entrada será 75 y el conteo de artículo remoto para la Bandeja de Entrada será 185. Consecuentemente, durante el paso 416, la lógica de estado mezclada 124 calculará la cantidad delta para los artículos de Bandeja de entrada para ser 110. Después, durante el paso 418, la lógica de estado m ezclada 124 presenta el conteo de artículo de Bandeja de entrada como 185, que es la suma del conteo de artículo local para la Bandeja de entrada (75) más la cantidad delta para los artículos de Bandeja de entrada (110).
C. Técnicas Ilustrativas para Desempeño de Búsqueda Mezclada La Figura 6 ilustra un cuadro de flujo 600 de un primer método mediante el cual la lógica de búsqueda mezclada 126 puede operar para realizar una búsqueda mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad. Para búsqueda de ilustración únicamente, el método de cuadro de flujo 600 se describirá ahora con referencia a varios componentes de sistema 100 como se describió anteriormente con referencia a la Figura 1. Sin embargo, los expertos en la técnica(s) relevante apreciarán que el método puede im plementarse por otros componentes o sistemas también.
Como se muestra en la Figura 6, el método de cuadro de flujo 600 comienza en el paso 602 durante el cual un usuario ingresa una consulta en el sistema de usuario 106 e inicia una búsqueda. La forma en la cual puede enviarse tal consulta y en la cual puede iniciarse tal búsqueda puede depender de la implementación. Por ejemplo, en una modalidad, la GUI 132 proporciona un cuadro de entrada de texto que un usuario puede utilizar para escribir en una consulta y un botón de búsqueda que el usuario puede activar para iniciar la búsqueda. Sin embargo, este sólo es un ejemplo, y puede utilizarse una variedad de mecanismos de entrada de usuario bien conocidos para enviar la consulta e iniciar la búsqueda.
En el paso 604, la lógica de búsqueda mezclada 124 ejecuta una búsqueda localmente contra los mensajes electrónicos almacenados en el almacenamiento local 114 basándose en la consulta enviada durante el paso 602. La lógica de búsqueda mezclada 126 puede utilizar cualquiera de una variedad de algoritmos de búsqueda bien conocidos para determinar qué mensajes electrónicos almacenados en el almacenamiento local 114 deben identificarse como coincidentes con la entrada de consulta durante el paso 602. Si la lógica de búsqueda mezclada 126 determina que cualquiera de los mensajes electrónicos almacenados en el almacenamiento local 114 coincide con la consulta, entonces la lógica de búsqueda mezclada 126 presenta información sobre esos mensajes electrónicos en GUI 132. La información presentada puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico. Por ejemplo, en una modalidad en donde los mensajes electrónicos comprenden mensajes de correo electrónico, tal información puede incluir pero no está limitada a un remitente del mensaje de correo electrónico, un asunto del mensaje de correo electrónico, una fecha y/u hora en la que se envió el mensaje de correo electrónico, una fecha y/u hora en la que se recibió el mensaje de correo electrónico, información de estado concerniente al mensaje de correo electrónico (por ejemplo, leído, no leído, marcado, no marcado), o similares.
En ciertas modalidades, para cada mensaje electrónico coincidente sobre cual información se presenta como un resultado de la búsqueda local realizada durante el paso 604, también se presenta un medio por el cual un usuario puede hacer que los contenidos de tal mensaje electrónico sean presentados en la GUI 132. Por ejemplo, el medio puede comprender un componente que es presentado en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa con este por el usuario, hace que los contenidos de e se mensaje electrónico se presenten dentro de la GUI 132. Además de acuerdo con tales modalidades, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento local 114 y presentará tales contenidos dentro de la GUI 132.
Después del paso 604, el control fluye al paso de decisión 606 durante el cual la lógica de búsqueda mezclada 126 determina si existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no estén guardados en memoria caché en el almacenamiento local 114. La forma en la cual se hace esta determinación puede variar dependiendo de la implementación. Por ejemplo, en una modalidad, la lógica de búsqueda mezclada 126 determina que existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no están guardados en memoria caché en almacenamiento local 114 al determinar que se está utilizando una ventana de sincronización basada en tiempo que puede resultar únicamente en un subgrupo de los mensajes electrónicos disponibles en almacenamiento remoto 132 que es guardado en memoria caché en el almacenamiento local 114. Sin embargo, también pueden utilizarse otras técnicas.
Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 606 que no existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que tampoco se van a guardar en memoria caché en el almacenamiento local 114, entonces el método de cuadro de flujo 600 termina. Sin embargo, si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 606 que existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no son guardados en memoria caché en el almacenamiento local 114, el control fluye al paso de decisión 608.
Durante el paso de decisión 608, la lógica de búsqueda mezclada 126 determina si el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102 o no. Puede utilizarse una variedad de métodos para determinar si existe tal conexión, incluyendo pero no limitándose a requerir un intercambio de mensajes entre el dispositivo de usuario 106 y el servidor de mensajería electrónica 102 o simplemente determinar que el dispositivo de usuario 106 tiene una conexión operativa a la red 104.
Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 608 que el dispositivo de usuario 106 no está conectado al servidor de mensajería electrónica 102, entonces el método de cuadro de flujo 600 termina. Sin embargo, si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 608 que el dispositivo de usuario 106 está conectado al servicio de mensajería electrónica 102, entonces el control fluye el paso 610.
Durante el paso 610, la lógica de búsqueda mezclada hace que un componente de interfase de usuario se presente dentro de la GUI 132 que, cuando se activa por un usuario, causará que el servidor de mensajería electrónica 102 ejecute una búsqueda contra los mensajes electrónicos disponibles almacenados en el almacenamiento remoto 132 basándose en la consulta enviada durante el pasos 602 y para regresar una lista que identifica cualquiera de los mensajes electrónicos coincidentes. Tal componente de interfase de usuario puede incluir o estar acompañado por una indicación visual de su función. Por ejemplo, el componente de interfase de usuario puede incluir o estar acompañado por texto que menciona "Continuar buscando en el servidor", "Únicamente se han buscado artículos locales, de manera que los resultados de búsqueda pueden estar incompletos, continuar buscando en el servidor", o similares. Sin embargo, estos son ejemplos únicamente y no pretenden ser limitantes.
Si el usuario no activa el componente de interfase de usuario presentado a la GUI 132 durante el paso 610, entonces el método de cuadro de flujo 600 termina. Sin embargo, si el usuario activa el componente de interfase de usuario presentado a la GUI 132, como se muestra en el paso 112, entonces el control fluye al paso 614.
Durante el paso 614, el servidor de mensajería electrónica 102 ejecuta una búsqueda contra los mensajes electrónicos disponibles almacenados en el almacenamiento remoto 132 basándose en la consulta enviada durante el paso 602 y regresa una lista que identifica cualquiera de los mensajes electrónicos coincidentes. La lógica de búsqueda mezclada 126 presenta información sobre los mensajes electrónicos coincidentes en la GUI 132. La información presentada puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico.
En ciertas modalidades, para cada mensaje electrónico coincidente sobre el cual se presenta información como un resultado de la búsqueda remota realizada durante el paso 614, también se presenta un medio por el cual un usuario puede hacer que los contenidos de tal mensaje electrónico se presenten en la GUI 132. Por ejemplo, los medios pueden comprender un componente que es presentado en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa por el usuario, hace que los contenidos del mensaje electrónico se presenten dentro de la GUI 132.
Además de acuerdo con tales modalidades, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico y presentará tales contenidos dentro de la GUI 132. Si se almacena una copia del mensaje electrónico seleccionado en el almacenamiento local 114, entonces la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento local 114. Sin embargo, si no existe ninguna copia del mensaje electrónico seleccionado almacenada en el almacenamiento local 114 (es decir, el mensaje electrónico seleccionado está fuera de la ventana de sincronización), entonces la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento remoto 132 a través de la interacción con el servidor de mensajería electrónica 102. En este último caso, la lógica de búsqueda mezclada 126 no almacenará una copia del mensaje electrónico remotamente almacenado en el almacenamiento local 114 como parte del procedimiento de presentación. Es decir, aunque los contenidos del mensaje electrónico remotamente almacenado pueden guardarse en memoria intermedia temporalmente dentro de la memoria del dispositivo de usuario 106 para facilitar la presentación de los mismos, una vez que el usuario ha cerrado la porción de GUI 132 que se utilizó para ver los contenidos del mensaje electrónico remotamente almacenado, tales datos guardados en memoria intermedia pueden ser descartados.
La Figura 7 ilustra un cuadro de flujo 700 de un segundo método para realizar una búsqueda mezclada de mensajes electrónicos localmente almacenados y remotamente almacenados de acuerdo con una modalidad. El método del cuadro de flujo 700 puede pensarse como una variación del método de cuadro de flujo 600 y se describe aquí para ilustrar que puede utilizarse una variedad de implementaciones alternativas de búsqueda mezclada. Para búsqueda de ilustración únicamente, el método del cuadro de flujo 700 se describirá ahora con referencia a varios componentes del sistema 100 como se describió anteriormente con referencia a la Figura 1. Sin embargo, los expertos en la técnica(s) relevante apreciarán que el método puede implementarse por otros componentes o sistemas también.
Como se muestra en la Figura 7, el método de cuadro de flujo 700 comienza en el paso 702 durante el cual un usuario ingresa una consulta dentro de dispositivo de usuario 106 e inicia una búsqueda. La forma en la cual puede enviarse tal consulta y en la cual puede iniciarse tal búsqueda puede depender de la implementación.
En el paso 704, la lógica de búsqueda mezclada 126 ejecuta una búsqueda localmente contra los mensajes electrónicos almacenados en el almacenamiento local 114 basándose en la consulta enviada durante el paso 602. La búsqueda que se ejecuta durante el paso 704 está cubierta de manera que no enviará más de un número predeterminado de mensajes coincidentes, en donde el número predeterminado puede ser menor que el número total de mensajes coincidentes que podrían identificarse por la búsqueda.
Durante el paso 704, la lógica de búsqueda mezclada 126 presenta información sobre cualquiera de los mensajes electrónicos identificados como un resultado de la búsqueda local cubierta en la GUI 132. La información presentada puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico. En ciertas modalidades, para cada mensaje electrónico coincidente sobre el cual se presenta información como un resultado de la búsqueda local cubierta realizada durante el paso 704, también se presenta un medio por el cual un usuario puede hacer que los contenidos de tal mensaje electrónico se presenten en la GUI 132. Por ejemplo, los medios pueden comprender un componente que se presenta en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa con este por el usuario, hace que los contenidos del mensaje electrónico se presenten dentro de la GUI 132. Además de acuerdo con tales modalidades, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento local 114 y presentará tales contenidos dentro de la GUI 132.
De acuerdo con el método del cuadro de flujo 700, como parte del paso 704, la lógica de búsqueda mezclada 126 también proporciona una indicación al usuario a través de la GUI 132 que pueden haber más resultados de búsqueda disponibles y presenta un componente por el cual el usuario puede activar una búsqueda adicional. Por ejemplo, la lógica de búsqueda mezclada 126 puede presentar un componente de interfase de usuario que incluye o está acompañado por la palabra "más", en donde el usuario entonces puede dar clic para obtener resultados de búsqueda adicionales. Sin embargo, esto es simplemente un ejemplo, y puede utilizarse una gran variedad de otras indicaciones y componentes de interfase de usuario. Si el usuario no activa el componente de interfase de usuario, entonces el método del cuadro de flujo 700 termina. Sin embargo, si el usuario activa el componente de interfase de usuario como se muestra en el paso 706, entonces el control fluye al paso de decisión 708.
Durante el paso de decisión 708, la lógica de búsqueda mezclada 126 determina si el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 126 o no. Puede utilizarse una variedad de métodos para determinar si existe tal conexión, incluyendo pero no limitándose a requerir un intercambio de mensajes entre el dispositivo de usuario 106 y servidor de mensajería electrónica 102 o simplemente al determina que el dispositivo de usuario 106 tiene una conexión operativa a la red 104.
Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 708 que el dispositivo de usuario 106 no está conectado al servidor de mensajería electrónica 102, entonces el control fluye al paso 710. Durante el paso 710, la lógica de búsqueda mezclada 126 ejecuta una búsqueda descubierta contra los mensajes electrónicos almacenados en el almacenamiento local 114 basándose en la consulta enviada durante el paso 602. La búsqueda que se ejecuta durante el paso 704 está descubierta de manera que enviará todos los mensajes que se determina que son coincidentes.
Durante el paso 710, la lógica de búsqueda mezclada 126 presenta i nformación sobre cualquiera de los mensajes electrónicos identificados como un resultado de la búsqueda local cubierta en la GUI 132. La información presentada puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico.
En ciertas modalidades, para cada mensaje electrónico coincidente sobre el cual se presenta información como un resultado de la búsqueda local descubierta realizada durante el paso 710, también se presenta un medio por el cual un usuario puede hacer que los contenidos de tal mensaje electrónico se presenten en la GUI 132. Por ejemplo, los medios pueden comprender un componente que es presentado en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa con este por el usuario, hace que los contenidos del mensaje electrónico se presenten dentro de la GUI 132. Además de acuerdo con tales modalidades, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico de almacenamiento local 114 y presenta tales contenidos dentro de la GUI 132.
Después del paso 710, el control fluye el paso de decisión 712 durante el cual la lógica de búsqueda mezclada 126 determina que existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no están guardados en memoria caché en el almacenamiento local 114. La forma en la cual se hace esta determinación puede variar dependiendo de la implementación. Por ejemplo, en un modalidad, la lógica de búsqueda mezclada 126 determina que existen mensajes electrónicos disponibles en almacenamiento remoto 132 que no están guardados en memoria caché en el almacenamiento local 114 al determinar que se está utilizando una ventana de sincronización basada en tiempo que puede resultar únicamente en un subgrupo de los mensajes electrónicos disponibles en el almacenamiento remoto 132 que son guardados en memoria caché en el almacenamiento local 114. Sin embargo, también pueden utilizarse otras técnicas.
La lógica de búsqueda mezclada 126 determina durante el paso de decisión 712 que no hay mensajes electrónicos disponibles en el almacenamiento remoto 132 que tampoco están guardados en memoria caché en el almacenamiento local 114, entonces el método del cuadro de flujo 700 termina. Sin embargo, la lógica de búsqueda mezclada 126 determina durante el paso de decisión 712 que hay mensajes electrónicos disponibles en el almacenamiento remoto 132 que no son guardados en memoria caché en el almacenamiento local 114, el control fluye al paso 714, durante el cual la lógica de búsqueda mezclada 126 proporciona una indicación o advertencia al usuario a través de GUI 132 de que los resultados de la búsqueda local descubierta pueden estar incompletos.
Como se observó anteriormente, durante el paso de decisión 708, la lógica de búsqueda mezclada 126 determina si el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102 o no. Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 708 que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102, entonces el control fluye al paso de decisión 716.
Durante el paso de decisión 716, la lógica de búsqueda mezclada 126 determina si existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no están guardados en memoria caché en el almacenamiento local 114. Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 716 que no existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que tampoco están guardados en memoria caché en el almacenamiento local 114, entonces el control fluye al paso de decisión 718.
Durante el paso de decisión 718, la lógica de búsqueda mezclada 126 determina si un índice de búsqueda que está localmente almacenado con respecto al dispositivo de usuario 106 está vencido. Si la lógica de búsqueda mezclada 718 determina que el índice de búsqueda no está vencido, entonces el control fluye al paso 710, que se describió previamente.
Si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 716 que existen mensajes electrónicos disponibles en el almacenamiento remoto 132 que no están guardados en memoria caché en el almacenamiento local 114 o si la lógica de búsqueda mezclada 126 determina durante el paso de decisión 718 que el índice de búsqueda está vencido, entonces el control fluye al paso 720. Durante el paso 720, el servidor de mensajería electrónica 102 ejecuta una búsqueda descubierta contra los mensajes electrónicos disponibles almacenados en el almacenamiento remoto 132 con base en la consulta enviada durante el paso 702 y regresa una lista que identifica cualquiera de los mensajes electrónicos coincidentes. La lógica de búsqueda mezclada 126 presenta información sobre los mensajes electrónicos coincidentes en la GUI 132. La información presentada puede incluir ampliamente cualquier artículo de información sobre un mensaje electrónico.
En ciertas modalidades, para cada mensaje electrónico coincidente sobre el cual se presenta información como un resultado de la búsqueda remota realizada durante el paso 720, también se presenta un medio por el cual un usuario puede hacer que los contenidos de tal mensaje electrónico se presenten en la GUI 132. Por ejemplo, los medios pueden comprender un componente que es presentado en asociación con la información sobre cada mensaje electrónico que, cuando se interactúa con ese por el usuario, hace que los contenidos de ese mensaje electrónico se presenten dentro de la GUI 132.
Además de acuerdo con tales modalidades, una vez que un usuario ha seleccionado un mensaje electrónico para observación, la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico y presentará tales contenidos dentro de la GUI 132. Si una copia del mensaje electrónico seleccionado está almacenada en el almacenamiento local 114, entonces la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento local 114. Sin embargo, si no existe ninguna copia del mensaje electrónico seleccionado almacenado en el almacenamiento local 114 (es decir, el mensaje electrónico seleccionado está fuera de la ventana de sincronización), entonces la lógica de búsqueda mezclada 126 obtendrá los contenidos del mensaje electrónico desde el almacenamiento remoto 132 a través de interacción con el servidor de mensajería electrónica 102. En este último caso, la lógica de búsqueda mezclada 126 no almacenará una copia del mensaje electrónico remotamente almacenado en el almacenamiento local 114 como parte del procedimiento de presentación. Es decir, aunque los contenidos del mensaje remotamente almacenado pueden guardarse en memoria intermedia temporalmente dentro de la memoria del dispositivo de usuario 106 para facilitar la presentación de los mismos, una vez que el usuario ha cerrado la porción de la GUI 132 que se utiliza para ver los contenidos del mensaje electrónico remotamente almacenados, tales datos guardados en memoria intermedia pueden descartarse.
De acuerdo con una modalidad alterna, un usuario ingresa a una consulta en el dispositivo de usuario 106 e inicia la búsqueda. Si la lógica de búsqueda mezclada 126 determina que el dispositivo de usuario 106 está conectado al servidor de mensajería electrónica 102, entonces el servidor de mensajería electrónica 102 ejecuta una búsqueda descubierta contra los mensajes electrónicos disponibles almacenados en el almacenamiento remoto 132 basándose en la consulta y regresa una lista que identifica cualquiera de los mensajes electrónicos coincidentes sin ninguna entrada adicional del usuario. La información sobre los mensajes electrónicos coincidentes puede presentarse en la GUI 132 u tilizando una vista mezclada, de manera que los contenidos de mensajes electrónicos coincidentes localmente guardados en memoria caché puedan accederse desde el almacenamiento local 114 mientras los contenidos de mensajes electrónicos coincidentes que no están guardados en memoria caché localmente pueden accederse desde el almacenamiento remoto 132.
De acuerdo incluso con una modalidad adicional, un usuario ingresa a una consulta en el dispositivo de usuario 106 e inicia una búsqueda. La lógica de búsqueda mezclada 126 ejecuta la búsqueda contra los mensajes electrónicos almacenados en el almacenamiento local 114 y también causa automáticamente que se ejecute una búsqueda descubierta contra los mensajes electrónicos disponibles en el almacenamiento remoto 132 cuando el dispositivo de usuario 106 esté conectado al servidor de mensajería electrónica 102. De acuerdo con tal modalidad, la lógica de búsqueda mezclada 126 puede presentar primero al usuario los resultados de la búsqueda local (que puede generar resultados más rápidamente que la búsqueda remota) y entonces presentar una vista mezclada completa de todos los mensajes electrónicos coincidentes disponibles en el almacenamiento remoto 132 cuando se regresan los resultados de la búsqueda remota. Todo esto puede ocurrir sin ninguna entrada adicional desde el usuario más allá de enviar la consulta e iniciar la búsqueda.
III. Implementación de Sistema Basado en Procesador Ilustrativa La Figura 8 ilustra un sistema de computadora basado en procesador 800 ilustrativo que puede utilizarse para implementar varias modalidades aquí descritas. Por ejemplo, el sistema 800 puede utilizarse para implementar cualquiera o ambos del servidor de mensajería electrónica 102 y dispositivo de usuario 106, así como varios sub-componentes del mismo. La descripción del sistema 800 proporcionada aquí se proporciona para propósitos de ilustración, y no pretende ser limitante. Las modalidades pueden implementarse en tipos adicionales de sistemas de computadora, como se conocería por expertos en la técnica(s) relevante.
Como se muestra en la Figuras 7, el sistema 800 incluye una unidad de procesamiento 802, una memoria de sistema 804, y un conductor común 806 que acopla varios componentes de sistema incluyendo memoria de sistema 804 a la unidad de procesamiento 802. La unidad de procesamiento 802 puede comprender uno o más procesadores o núcleos de procesamiento. El conductor común 806 representa uno o más de cualquiera de varios tipos de estructuras de conductor común, incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico, un puerto de gráficos acelerado, y un procesador o conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. La memoria de sistema 804 incluye memoria de sólo lectura (ROM) 808 y memoria de acceso aleatorio (RAM) 810. Un sistema de entrada/salida básico 802 (BIOS) está almacenado en la ROM 808.
El sistema 800 también tiene una o más de las siguientes unidades: una unidad de disco duro 814 para leer de y escribir a un disco duro, una unidad de disco magnético 816 para leer de o escribir a un disco magnético removible 818, y una unidad de disco óptico 820 para leer de o escribir a un disco óptico removible 822 tal como un disco de CD ROM, DVD ROM, BLU-RAY™, u otro medio óptico. La unidad de disco duro 814, unidad de disco magnético 816, y unidad de disco óptico 820 están conectadas al conductor común 806 mediante una interfase de unidad de disco duro 824, una interfase de unidad de disco magnético 826, y una interfase de unidad óptica 828, respectivamente. Las unidades y sus medios legibles por computadora asociados proporcionan almacenamiento no volátil de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora. Aunque se describe en un disco duro, un disco magnético removible y un disco óptico removible, pueden utilizarse otros tipos de medios legibles por computadora para almacenar datos, tales como tarjetas de memoria flash, discos de video digital, memorias de acceso aleatorio (RAM), memoria de sólo lectura (ROM), y similares.
Puede almacenarse un número de módulos de programa en el disco duro, disco magnético, disco óptico, ROM, o RAM. Estos módulos de programa incluyen un sistema operativo 830, uno o más programas de aplicación 832, otros módulos de programa 834, y datos de programa 836. De acuerdo con varias modalidades, los módulos de programa pueden incluir lógica de programa de computadora que es ejecutable por la unidad de procesamiento 802 para realizar cualquiera o toda las funciones y características del servidor de mensajería electrónica 102 y dispositivo de usuario 106, así como cualquiera de los sub-componentes de los mismos, como se describió aquí en otra parte. Los módulos de programa también pueden incluir lógica de programa de computadora que, cuando se ejecuta por la unidad de procesamiento 802, realiza cualquiera de los pasos u operaciones mostradas o descritas en las referencias a las Figuras 2-7.
Un usuario puede ingresar comandos e información en el sistema 800 a través de dispositivos de entrada tales como un teclado 838 y un dispositivo de señalamiento 840. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, controlador de juego, escáner, o similares. En una modalidad, se proporciona una pantalla táctil en conjunto con una presentación 844 para permitir a un usuario proporcionar entrada de usuario a través de la aplicación de un tacto (como por un dedo o estílete, por ejemplo) a uno o más puntos sobre la pantalla táctil. Estos y otros dispositivos de entrada están frecuentemente conectados a la unidad de procesamiento 802 a través de una interfase de puerto en serie 842 que está acoplada al conductor común 806, pero puede estar conectada mediante otras interfases, tales como un puerto paralelo, puerto de juegos, o un conductor común en serie universal (USB).
Una presentación 844 también está conectada al conductor común 806 a través de una interfase, tal un adaptador de video 846. Además de la presentación 844, el sistema 800 puede incluir otros dispositivos de salida periférica (no mostrados) tales como bocinas e impresoras.
El sistema 800 está conectado a una red 848 (por ejemplo, una red de área local o una red de área ancha tal como Internet) a través de una interfase de red o adaptador 850, un módem 852, u otros medios para establecer comunicaciones a través de la red. El módem 852, el cual puede ser interno o externo, está conectado al conductor común 806 a través de la interfase de puerto en serie 842.
Como se utiliza aquí, los términos "medio de programa de computadora" y "medio legible por computadora" se utilizan para hacer referencia a medios no transitorios tales como ROM 808 y RAM 810 utilizadas para implementar memoria de sistema 804, el disco duro asociado con la unidad de disco duro 814, disco magnético removible 818, disco óptico removible 822, así como otros medios tales como tarjetas de memoria flash, discos de video digital, y similares.
Como se observó anteriormente, los programas y módulos de computadora (incluyendo programas de aplicación 832 y otros módulos de programa 834) pueden almacenarse en la ROM 808, RAM 810, el disco duro, disco magnético, o disco óptico. Tales programas de computadora también pueden recibirse a través de la interfase de red 850 o una interfase de puerto en serie 842. Tales programas de computadora, cuando se ejecutan por la unidad de procesamiento 802, permiten que el sistema 800 implemente características de modalidades aquí discutidas. Por consiguiente, tales programas de computadora representan controladores de sistema 800.
Las modalidades también están dirigidas a productos de programa de computadora que comprenden software almacenado en cualquier medio legible por computadora. Tal software, cuando se ejecuta en uno o más dispositivos de procesamiento de datos, hace que un dispositivo(s) de procesamiento de datos opere como se describe aquí. Las modalidades pueden emplear cualquier medio útil por computadora o legible por computadora, conocido ahora o en el futuro. Ejemplos de medios legibles por computador incluyen, pero no están limitados a dispositivos de almacenamiento tales como ROM, RAM, unidades duras, discos flexibles, CD ROM, DVD ROM, discos zip, cintas, dispositivos de almacenamiento magnético, dispositivos de almacenamiento óptico, dispositivos de almacenamiento basados en MEMS, dispositivos de almacenamiento basados en nanotecnología, y similares.
En implementaciones alternativas, cada uno del servidor de mensajería electrónica 102 y el dispositivo de usuario 106, así como cualquiera de sus sub-componentes, pueden implementarse como lógica de hardware/sistema de circuitos eléctricos o fírmware. De acuerdo con modalidades adicionales, uno o más de estos componentes pueden implementarse en un sistema en chip (SoC). El SoC puede incluir un chip de circuito integrado que incluye uno o más de un procesador (por ejemplo, un microcontrolador, microprocesador, procesador de señal digital (DSP), etc.), memoria, una o más interfases de comunicación, y/o circuitos adicionales y/o firmware incorporado para realizar sus funciones.
IV. Conclusión Aunque se han descrito anteriormente varias modalidades, se debe entender que se han presentado a manera de ejemplo únicamente, y no de limitación. Será evidente para expertos en la técnica(s) relevante que pueden hacerse varios cambios en la forma y detalles sin apartarse del espíritu y alcance de la invención. De esa forma, la amplitud y alcance de la invención no deben estar limitadas por cualquiera de las modalidades ilustrativas descritas anteriormente, pero deben definirse únicamente de acuerdo con las siguientes reivindicaciones y sus equivalentes.

Claims (10)

REIVINDICACIONES
1. - Un método realizado por un cliente de mensajería electrónica instalado en un dispositivo de usuario, que comprende: (a) presentar información concerniente a uno o más primeros mensajes electrónicos en una interfase de usuario gráfica (GUI) presentada a una presentación del dispositivo de usuario, los contenidos de uno o más de los primeros mensajes electrónicos estando almacenados en un almacenamiento local del dispositivo de usuario; (b) determinar si el dispositivo de usuario está conectado a un servidor de mensajería electrónica; y (c) en respuesta al menos a determinar que el dispositivo de usuario está conectado al servidor de mensajería electrónica, presentar información concerniente a uno o más segundos mensajes electrónicos en la GUI concurrentemente con la información concerniente a uno o más de los primeros mensajes electrónicos, los contenidos de uno o más de los segundos mensajes electrónicos estando almacenados en un almacenamiento remoto accesible para el servidor de mensajería electrónica pero no en el almacenamiento local.
2. - El método de acuerdo con la reivindicación 1, que además comprende: proporcionar un componente dentro de la GUI con la que el usuario puede interactuar para hacer que la información concerniente con uno o más de los segundos mensajes electrónicos sea presentada en la GUI concurrentemente con la información concerniente con uno o más de los primeros mensajes electrónicos; en donde el paso (c) se realiza en respuesta al menos a determinar que dispositivo de usuario está conectado al servidor de mensajería electrónica y que el usuario ha interactuado con el componente.
3. - El método de acuerdo con la reivindicación 1, que además comprende: proporcionar un componente dentro de la GUI con el que el usuario puede interactuar para hacer que los contenidos de uno seleccionado de uno o más de los primeros mensajes electrónicos sean presentados en la GUI; y en respuesta a determinar que el usuario ha interactuado con el componente, obtener los contenidos de uno seleccionado de uno o más de los primeros mensajes electrónicos desde el almacenamiento local para presentación en la GUI.
4. - El método de acuerdo con la reivindicación 1, que además comprende: proporcionar un componente dentro de la GUI con la que el usuario puede interactuar para hacer que los contenidos de uno seleccionado de uno o más de los segundos mensajes electrónicos sean presentados en la GUI; y en respuesta a determinar que el usuario ha interactuado con el componente, obtener los contenidos de uno seleccionado de uno o más de los segundos mensajes electrónicos desde el almacenamiento remoto para presentación en la GUI sin guardar una copia de los contenidos de uno seleccionado de uno o más de los segundos mensajes electrónicos en el almacenamiento local.
5.- Un dispositivo de usuario, que comprende: una presentación; un cliente de mensajería electrónica ejecutado por procesador que incluye lógica de estado mezclada, la lógica de estado mezclada estando configurada para presentar un estado mezclado asociado con un contenedor de mensajes electrónicos para presentar al: determinar un conteo de artículo local, en donde conteo de artículo local representa un número de mensajes electrónicos almacenados en un almacenamiento local del dispositivo de usuario que se incluyen en el contenedor y tienen un estado particular; determinar si el dispositivo de usuario está conectado a un servidor de mensajería electrónica; y en respuesta a determinar que el dispositivo de usuario no está conectado al servidor de mensajería electrónica: cargar desde el almacenamiento local una cantidad que representa una última diferencia conocida entre un conteo de artículo remoto y el conteo de artículo local, en donde el conteo de artículo remoto representa un número de mensajes electrónicos almacenados en un almacenamiento remoto accesible para el servidor de mensajería electrónica que se incluyen en el contenedor y tienen el estado particular; y presentar un conteo de artículo mezclado para el contenedor a la presentación, en un el conteo de artículo mezclado para el contenedor es la suma del conteo de artículo local y la cantidad.
6. - El dispositivo de usuario de acuerdo con la reivindicación 5, en donde la lógica de estado mezclada además está configurada para presentar el estado mezclado asociado con el contenedor de mensajes electrónicos a la presentación al: en respuesta a determinar que el dispositivo de usuario está conectado al servidor de mensajería electrónica y que una sincronización entre el almacenamiento local y el almacenamiento remoto aún no se ha realizado: obtener un nuevo conteo de artículo remoto del servidor de mensajería electrónica; calcular una nueva cantidad al determinar la diferencia entre el nuevo conteo de artículo remoto y el conteo de artículo local; y presentar un nuevo conteo de artículo mezclado para el contenedor a la presentación, en donde el nuevo conteo de artículo mezclado para el contenedor en la suma del conteo de artículo local y la nueva cantidad.
7. - El dispositivo de usuario de acuerdo con la reivindicación 5, en donde la lógica de estado mezclada además está configurada para presentar el estado mezclado asociado con el contenedor de mensajes electrónicos a la presentación al: en respuesta a determinar que el dispositivo de usuario está conectado al servidor de mensajería electrónica y que una sincronización entre el almacenamiento local y el almacenamiento remoto se ha realizado: obtener un nuevo conteo de artículo remoto y un nuevo conteo de artículo local que resultan de la sincronización; calcular una nueva cantidad al determinar la diferencia entre el nuevo conteo de artículo remoto y el nuevo conteo de artículo local; y presentar un nuevo conteo de artículo mezclado para el contenedor a la presentación, en donde el nuevo conteo de artículo mezclado para el contenedor es la suma del nuevo conteo de artículo local y la nueva cantidad.
8.- El dispositivo de usuario de acuerdo con la reivindicación 5, en donde la lógica de estado mezclada además está configurada para presentar el estado mezclado asociado con el contenedor de mensajes electrónicos a la presentación al: en respuesta a determinar que un usuario del dispositivo de usuario ha realizado una acción en un mensaje electrónico particular que causa que cambie el número total de mensajes electrónicos en el contenedor que tienen el estado particular: determinar si el mensaje electrónico particular está almacenado en el almacenamiento local; en respuesta a determinar que el mensaje electrónico particular está almacenado en el almacenamiento local, incrementar o disminuir el conteo local para representar el cambio.
9. - El dispositivo de usuario de acuerdo con la reivindicación 5, en donde la lógica de estado mezclada además está configurada para presentar el estado mezclado asociado con el contenedor de mensajes electrónicos a la presentación al: en respuesta a determinar que el mensaje electrónico particular no está almacenado en el almacenamiento local, incrementar o disminuir la cantidad para representar el cambio.
10. - Un producto de programa de computadora que comprende un medio legible por computadora que tiene lógica de programa de computadora registrada en él, la lógica de programa de computadora comprende medios para permitir que una unidad de procesamiento realice un método que comprende: (a) recibir una consulta de un usuario del dispositivo de usuario; (b) ejecutar una primera búsqueda contra una pluralidad de mensajes electrónicos guardados en memoria caché en un almacenamiento local del dispositivo de usuario basándose en la consulta; (c) presentar información sobre al menos un mensaje electrónico identificado como un resultado de la ejecución de la primera búsqueda en una interfase de usuario gráfica (GUI) presentada a una presentación del dispositivo de usuario; (d) determinar si el dispositivo de usuario está conectado a un servidor de mensajería electrónica; y (e) en respuesta al menos a determinar que el dispositivo de usuario está conectado al servidor de mensajería electrónica, hacer que se ejecute una segunda búsqueda contra una pluralidad de mensajes electrónicos disponibles en un almacenamiento remoto accesible al servidor de mensajería electrónica y presentar la información sobre al menos un mensaje electrónico identificado como un resultado de la ejecución de la segunda búsqueda en la GUI.
MX2014008564A 2012-01-18 2013-01-11 Sistema y metodo para presentacion mezclada de mensajes electronicos local y remotamente almacenados. MX354899B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/352,999 US10255587B2 (en) 2012-01-18 2012-01-18 System and method for blended presentation of locally and remotely stored electronic messages
PCT/US2013/021090 WO2013109464A1 (en) 2012-01-18 2013-01-11 System and method for blended presentation of locally and remotely stored electronic messages

Publications (2)

Publication Number Publication Date
MX2014008564A true MX2014008564A (es) 2014-09-26
MX354899B MX354899B (es) 2018-03-23

Family

ID=48780872

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014008564A MX354899B (es) 2012-01-18 2013-01-11 Sistema y metodo para presentacion mezclada de mensajes electronicos local y remotamente almacenados.

Country Status (12)

Country Link
US (1) US10255587B2 (es)
EP (1) EP2805302A4 (es)
JP (1) JP6279486B2 (es)
KR (1) KR102052777B1 (es)
CN (1) CN104054107A (es)
AU (1) AU2013209993A1 (es)
BR (1) BR112014017636A8 (es)
CA (1) CA2863277A1 (es)
MX (1) MX354899B (es)
RU (1) RU2635887C2 (es)
TW (1) TW201335768A (es)
WO (1) WO2013109464A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI501097B (zh) * 2012-12-22 2015-09-21 Ind Tech Res Inst 文字串流訊息分析系統和方法
US10740412B2 (en) * 2014-09-05 2020-08-11 Facebook, Inc. Pivoting search results on online social networks
US10992633B1 (en) * 2018-12-31 2021-04-27 Whatsapp Inc. Methods and systems for determining an unread message count
US10855761B1 (en) 2018-12-31 2020-12-01 Facebook, Inc. Techniques for in-place directive execution
US10979500B1 (en) 2018-12-31 2021-04-13 Facebook, Inc. Techniques for directive-based messaging synchronization
US11025576B1 (en) * 2018-12-31 2021-06-01 Facebook, Inc. Techniques for backend-specific cursor tracking
US11055314B1 (en) 2018-12-31 2021-07-06 Facebook, Inc. Techniques for a database-driven messaging user interface
US11329940B2 (en) * 2019-10-28 2022-05-10 Microsoft Technology Licensing, Llc Coordinated unread count for email applications

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3505309B2 (ja) 1996-02-21 2004-03-08 株式会社東芝 電子情報転送方法
US6061686A (en) * 1997-06-26 2000-05-09 Digital Equipment Corporation Updating a copy of a remote document stored in a local computer system
US6212265B1 (en) * 1998-01-27 2001-04-03 Darin Duphorne Method and apparatus for electronic mail notification
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
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
US6289212B1 (en) 1998-09-16 2001-09-11 Openwave Systems Inc. Method and apparatus for providing electronic mail services during network unavailability
US6983308B1 (en) 1998-11-19 2006-01-03 Openwave Systems, Inc. Mail synchronization of remote and local mail systems
KR20010021089A (ko) 1999-07-23 2001-03-15 스테븐 디.피터스 네트워크 대역폭을 효율적으로 이용하여 전자 메일서비스를 이동 장치에 제공하기 위한 방법 및 장치
US6446118B1 (en) * 2000-02-29 2002-09-03 Designtech International, Inc. E-mail notification device
US6741855B1 (en) * 2000-03-24 2004-05-25 Sun Microsystems, Inc. Method and apparatus for remotely managing data via a mobile device
US6788953B1 (en) * 2000-06-05 2004-09-07 Uniden America Corporation Wireless local loop communication system using SLIC module
US6823373B1 (en) * 2000-08-11 2004-11-23 Informatica Corporation System and method for coupling remote data stores and mobile devices via an internet based server
US7197470B1 (en) * 2000-10-11 2007-03-27 Buzzmetrics, Ltd. System and method for collection analysis of electronic discussion methods
US20030037261A1 (en) * 2001-03-26 2003-02-20 Ilumin Corporation Secured content delivery system and method
US20020184317A1 (en) * 2001-05-29 2002-12-05 Sun Microsystems, Inc. System and method for searching, retrieving and displaying data from an email storage location
WO2003003263A2 (en) * 2001-06-28 2003-01-09 Symbian Limited E-mail manager program for a wireless information device
US7161978B2 (en) * 2001-08-29 2007-01-09 Texas Instruments Incorporated Transmit and receive window synchronization
US20030078985A1 (en) * 2001-10-23 2003-04-24 David Holbrook Proactive message buffering across intermittent network connections
US20030078983A1 (en) * 2001-10-23 2003-04-24 Sullivan Terence Sean Message prioritization and buffering in a limited network
US20040006706A1 (en) * 2002-06-06 2004-01-08 Ulfar Erlingsson Methods and systems for implementing a secure application execution environment using derived user accounts for internet content
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
US7467183B2 (en) 2003-02-14 2008-12-16 Microsoft Corporation Method, apparatus, and user interface for managing electronic mail and alert messages
JP2004279482A (ja) * 2003-03-12 2004-10-07 Sharp Corp 表示装置
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
FR2860938A1 (fr) * 2003-10-10 2005-04-15 France Telecom Dispositif et procede de traitement de messages pour terminal de telecommunication et terminal de telecommunication pourvu d'un tel dispositif
US8255835B2 (en) * 2004-02-24 2012-08-28 Research In Motion Limited Method and system for managing unread electronic messages
US7698369B2 (en) * 2004-05-27 2010-04-13 Strongmail Systems, Inc. Email delivery system using metadata on emails to manage virtual storage
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US20060009243A1 (en) * 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
US7212814B2 (en) * 2004-11-24 2007-05-01 Research In Motion Limited Methods and apparatus for efficiently managing the storage of e-mail message information for a mobile station
US8195746B2 (en) * 2005-03-11 2012-06-05 International Business Machines Corporation Automatic off-line availability for document content linked in electronic mail messages
JP2007079888A (ja) 2005-09-14 2007-03-29 Dainippon Printing Co Ltd 電子メール管理システム
US20070156825A1 (en) * 2006-01-04 2007-07-05 Teamon Systems, Inc. Electronic Mail (Email) System Providing Enhanced Message Retrieval from Email Storage Server and Related Methods
US8015152B2 (en) * 2006-01-24 2011-09-06 Microsoft Corporation Web based client/server notification engine
US8255473B2 (en) * 2006-04-04 2012-08-28 International Business Machines Corporation Caching message fragments during real-time messaging conversations
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
US7761523B2 (en) * 2007-02-09 2010-07-20 Research In Motion Limited Schedulable e-mail filters
US20080261569A1 (en) * 2007-04-23 2008-10-23 Helio, Llc Integrated messaging, contacts, and mail interface, systems and methods
US9438549B2 (en) * 2007-09-27 2016-09-06 International Business Machines Corporation Controlling expiration of electronic mail single store attachments
US20090177530A1 (en) 2007-12-14 2009-07-09 Qualcomm Incorporated Near field communication transactions in a mobile environment
JP5158590B2 (ja) 2007-12-21 2013-03-06 Necカシオモバイルコミュニケーションズ株式会社 ネットワークシステム及びプログラム
US8185521B2 (en) 2008-02-29 2012-05-22 Research In Motion Limited System and method for presentation of local and remote message search results
US20090254624A1 (en) * 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US9508059B2 (en) * 2008-04-25 2016-11-29 T-Mobile Usa, Inc. Messaging device having a graphical user interface for initiating communication to recipients
JP5015351B2 (ja) 2008-08-08 2012-08-29 アマゾン テクノロジーズ インコーポレイテッド 実行プログラムによる非ローカルブロックデータストレージへの信頼性の高いアクセスの実現
US8712384B1 (en) * 2008-08-26 2014-04-29 Sprint Spectrum L.P. Method and system for triggering message waiting indicator delivery
US7877451B2 (en) 2008-11-26 2011-01-25 International Business Machines Corporation System, method and program product for distribution of content contained in an electronic mail message
US8904292B2 (en) * 2008-12-31 2014-12-02 Motorola Mobility Llc Method and system for processing electronic mail
US7921172B2 (en) * 2009-01-07 2011-04-05 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for wireless presyncing of data
US8725793B2 (en) 2009-04-03 2014-05-13 Google Inc. Architectural pattern for persistent web application design
US8315607B2 (en) 2009-04-06 2012-11-20 Htc Corporation Method and system for filtering incoming messages to a mobile device
US8918588B2 (en) * 2009-04-07 2014-12-23 International Business Machines Corporation Maintaining a cache of blocks from a plurality of data streams
US20100318745A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Dynamic Content Caching and Retrieval
CA2806557C (en) * 2010-07-26 2014-10-07 Michael Luna Mobile application traffic optimization
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
CA2798523C (en) * 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US9471145B2 (en) 2011-01-06 2016-10-18 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US20130125019A1 (en) * 2011-11-14 2013-05-16 Research In Motion Limited System And Method For Displaying Message History When Composing A Message

Also Published As

Publication number Publication date
JP6279486B2 (ja) 2018-02-14
EP2805302A4 (en) 2015-08-19
US20130185649A1 (en) 2013-07-18
KR20140124362A (ko) 2014-10-24
BR112014017636A8 (pt) 2017-12-12
TW201335768A (zh) 2013-09-01
JP2015505411A (ja) 2015-02-19
CA2863277A1 (en) 2013-07-25
EP2805302A1 (en) 2014-11-26
CN104054107A (zh) 2014-09-17
BR112014017636A2 (es) 2017-06-20
WO2013109464A1 (en) 2013-07-25
KR102052777B1 (ko) 2020-01-08
RU2014129510A (ru) 2016-02-10
RU2635887C2 (ru) 2017-11-16
MX354899B (es) 2018-03-23
US10255587B2 (en) 2019-04-09
AU2013209993A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
US12326892B2 (en) Systems and methods for processing and organizing electronic content
MX2014008564A (es) Sistema y metodo para presentacion mezclada de mensajes electronicos local y remotamente almacenados.
US11075872B2 (en) Email frequency and consolidation assistant
KR101635228B1 (ko) 메시지 스레드와 관련된 파일 첨부물들의 리스트의 표시
US9146656B1 (en) Notifications user interface
US8005907B2 (en) Selectively marking email as partially reviewed
US11714522B2 (en) Controlling a graphical user interface using a presentation of messages based upon predicted interactions with the messages
EP1979805A2 (en) Sidebar communication system and method
US20160004410A1 (en) Processing Cursor Movements for Predictive Fetching
US8949956B1 (en) Multi-account messaging management
US9417759B1 (en) Synchronizing data across multiple browser tabs or windows
US9767439B2 (en) Automatic draft email notification
US8032599B1 (en) Display of archived email content in a preview pane
CN117459489A (zh) 邮件处理方法、装置、计算机设备和存储介质
JP5203251B2 (ja) 電子メール管理装置、電子メール管理方法、及びプログラム
TWI503765B (zh) Information processing devices, information processing methods, programs and memory media

Legal Events

Date Code Title Description
GB Transfer or rights

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC

FG Grant or registration