Synchronizing email messages between external and local email servers and/or a wireless device
First Claim
Patent Images
1. A computer-implemented system, comprising:
- at least a memory and a processor configured to implement an email service to synchronize email messages between an external email server, a local email server, and a remote wireless data processing device;
a task queue comprised of individual queues, one or more of the individual queues containing task entries and representing a different priority level than at least one other of the individual queues, each task entry associated with a user email account on the external email server and/or on the local email server and representing a task to be performed in relation to the user email account;
a mail cache configured to maintain a distinction between a last known state of an email message stored on the external email server and/or the local email server, and a current local state of the email message stored on the remote wireless data processing device, the mail cache including;
a message body cache configured to store at least a message body of the email message; and
a cache management policy configured to determine whether to remove the message body from the message body cache based on a frequency that the email message is accessed; and
a synchronizer configured to;
read synchronization tasks that are associated with the email message from the task queue, the synchronization tasks including a first synchronization task associated with a first change to the email message based on a first user input and a second synchronization task associated with a second change to the email message based on a second user input occurring subsequent to the first change, the second synchronization task configured to supersede the first synchronization task;
execute the second synchronization task related to the email message based on the second user input, without executing the first synchronization task related to the message based on the first user input, to synchronize the email message stored on the external email server, the local email server, and the remote wireless data processing device.
3 Assignments
0 Petitions
Accused Products
Abstract
Synchronizing email messages between an external email server, a local email server and a wireless data processing device. For example, one embodiment of a system comprises a task queue comprised of a plurality of task entries, each entry associated with a particular user email account on the external email server and/or the local email server and representing a task to be performed in relation to the user email account; and a synchronizer to read synchronization tasks from the task queue and cause the synchronization tasks to be executed to synchronize email data stored on the external email server, the local email server and the wireless data processing device.
25 Citations
20 Claims
-
1. A computer-implemented system, comprising:
-
at least a memory and a processor configured to implement an email service to synchronize email messages between an external email server, a local email server, and a remote wireless data processing device; a task queue comprised of individual queues, one or more of the individual queues containing task entries and representing a different priority level than at least one other of the individual queues, each task entry associated with a user email account on the external email server and/or on the local email server and representing a task to be performed in relation to the user email account; a mail cache configured to maintain a distinction between a last known state of an email message stored on the external email server and/or the local email server, and a current local state of the email message stored on the remote wireless data processing device, the mail cache including; a message body cache configured to store at least a message body of the email message; and a cache management policy configured to determine whether to remove the message body from the message body cache based on a frequency that the email message is accessed; and a synchronizer configured to; read synchronization tasks that are associated with the email message from the task queue, the synchronization tasks including a first synchronization task associated with a first change to the email message based on a first user input and a second synchronization task associated with a second change to the email message based on a second user input occurring subsequent to the first change, the second synchronization task configured to supersede the first synchronization task; execute the second synchronization task related to the email message based on the second user input, without executing the first synchronization task related to the message based on the first user input, to synchronize the email message stored on the external email server, the local email server, and the remote wireless data processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for synchronizing email messages between an external email server, a local email server, and a remote wireless data processing device, the method comprising:
-
storing task entries within a task queue, each task entry associated with a user email account on the external email server and/or on the local email server and representing a task to be performed in relation to the user email account, the task queue including individual queues, one or more of the individual queues representing a different type of task than at least one other of the individual queues, the task entries including a first task entry associated with a first change to an email message based on a first user input and a second task entry associated with a second change to the email message based on a second user input occurring subsequent to the first change; storing message bodies of email messages in a cache; determining whether to remove one or more of the message bodies from the cache based on a frequency that a corresponding email message is accessed; reading a task entry from one of the individual queues of the task queue, the task entry containing an indication of the user email account to synchronize; connecting to the external email server using authentication data for the user email account; uploading the second change to the email message based on the second user input at the local email server to the external email server without uploading the first change to the email message based on the first user input, the second change to the email message superseding the first change to the email message; downloading the change to the email message at the external email server to the local email server; and transmitting a notification of the change to the email message to the remote wireless data processing device. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. One or more computer-readable storage media devices having program code stored thereon which, when executed by a computer, causes the computer to perform:
-
storing task entries within a task queue each entry associated with a user email account on an external email server and/or on a local email server and representing a task to be performed in relation to the user email account, the task queue including individual queues, one or more of the individual queues representing a different priority level or a different type of task than at least one other of the individual queues, the task entries including a first task entry associated with a first change to an email message based on a first user input and a second task entry associated with a second change to the email message based on a second user input occurring subsequent to the first change; storing message bodies of email messages in a cache; determining whether to remove one or more of the message bodies from the cache based on a frequency that a corresponding email message is accessed, the one or more of the message bodies being removable based on the frequency being below a predefined threshold; reading a task entry from one of the individual queues of the task queue, the task entry containing an indication of the user email account to synchronize; connecting to the external email server using authentication data for the user email account; determining changes on the external email server since a last synchronization by at least employing a quick scan synchronization mode which is configured to query message summaries that are newer than the last synchronization, the message summaries being associated with one or more email messages stored at the external email server; identifying synchronization conflicts between the external email server and the local email server for the email message; uploading the second change to the email message based on the second user input at the local email server to the external email server without uploading the first change to the email message based on the first user input, the second change to the email message superseding the first change to the email message; downloading the change to the email message at the external email server to the local email server; and transmitting a notification of the change to the email message to the remote wireless data processing device that is in communication with the local email server and/or the external email server. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification