Electronic mail (email) has become an integral part of business and personal communications. As such, many users have multiple email accounts for work and home use. Moreover, with the increased availability of mobile cellular and wireless local area network (LAN) devices that can send and receive emails, many users wirelessly access emails from mailboxes stored on different email storage servers (edg., corporate email storage server, Yahoo, Hotmail, AOL, etc.).
Yet, email distribution and synchronization across multiple mailboxes and over wireless networks can be quite challenging, particularly when this is done on a large scale for numerous users. For example, different email accounts may be configured differently and with non-uniform access criteria. Moreover, as emails are received at the wireless communications device, copies of the emails may still be present in the original mailboxes, which can make it difficult for users to keep their email organized.
One particularly advantageous “push” type email distribution and synchronization system is disclosed in U.S. Pat. No. 6,779,019 to Mousseau et al., which is assigned to the present Assignee and is hereby incorporated herein by reference. This system pushes user-selected data items from a host system to a user's mobile wireless communications device upon detecting the occurrence of one or more user-defined event triggers. The user may then move (or file) the data items to a particular folder within a folder hierarchy stored in the mobile wireless communications device, or may execute some other system operation on a data item. Software operating at the device and the host system then synchronizes the folder hierarchy of the device with a folder hierarchy of the host system, and any actions executed on the data items at the device are then automatically replicated on the same data items stored at the host system, thus eliminating the need for the user to manually replicate actions at the host system that have been executed at the mobile wireless communications device.
The foregoing system advantageously provides great convenience to users of wireless email communication devices for organizing and managing their email messages. Yet, further convenience and efficiency features may be desired in email distribution and synchronization systems as email usage continues to grow in popularity.
One conventional solution for acknowledging a completed transaction between a client and a server using an email system allows a server to acknowledge to the client that it has received a request successfully by sending an acknowledgment (ACK) back to the client. The request could correspond to a request for data or to complete some job. This usually occurs after it has received and saved the request/data to a jobstore/database successfully such that the client will not resubmit the request again for the transaction. The server usually saves the request to the jobstore and removes the request/data after the transaction for the request to be processed.
The purpose of storing the request is for job recovery in case the server shuts operation. It can recover the pending requests from the jobstore. A drawback to this may not be as efficient as desired because the server requires many input/output operations for saving the requests, updating requests statuses, and removing the requests after they have been processed. Specifically, when the jobstore server, for example, a file server or other database is slow, the server throughput will be impacted significantly.