Apparatus and method for caching email messages within a wireless data service
A system and method are described for caching email messages within a data service. For example, a computer-implemented method according to one embodiment of the invention comprises: retrieving a first set of email messages from a first email server on behalf of a wireless data processing device; extracting metadata from the first set of email messages; storing the metadata in a first cache, the first cache managed according to a first cache management policy; storing at least the message bodies of the email messages in a second cache, the second cache managed according to a second cache management policy.
1 . A computer-implemented method comprising:
retrieving a first set of email messages from a first email server on behalf of a wireless data processing device;
extracting metadata from the first set of email messages;
storing the metadata in a first cache, the first cache managed according to a first cache management policy;
storing at least the message bodies of the email messages in a second cache, the second cache managed according to a second cache management policy.
2 . The method as in claim 1 further comprising:
automatically transmitting portions of the metadata from the first cache to the wireless data processing device; and
transmitting message bodies to the wireless data processing device only upon receiving a request for the message bodies from the data processing device.
3 . The method as in claim 2 further comprising:
managing the message bodies and metadata on the wireless data processing device according to a third cache management policy.
4 . The method as in claim 1 wherein the first cache management policy retains metadata for a relatively longer time than the second cache management policy retains message bodies associated with the metadata.
5 . The method as in claim 1 wherein the metadata comprises at least a message identification code, a message sender and a message subject.
6 . The method as in claim 1 further comprising:
receiving a request for an email message from the wireless device;
determining whether a body of the email message is stored within the second cache;
retrieving the email message body from a the first email server if the message body is not stored within the second cache; and
transmitting the email message body to the wireless device.
7 . The method as in claim 1 further comprising:
retrieving a second set of email messages from a second email server on behalf of the wireless data processing device;
extracting metadata from the second set of email messages;
storing the metadata from the second set of email messages in the first cache along with the metadata from the first set of email messages;
storing at least the message bodies of the second set of email messages in the second cache along with the message bodies of the first set of email messages.
8 . An email message cache system having at least one memory for storing program code and at least one processor for processing the program code to perform the operations of:
retrieving a first set of email messages from a first email server on behalf of a wireless data processing device;
extracting metadata from the first set of email messages;
storing the metadata in a first cache, the first cache managed according to a first cache management policy;
storing at least the message bodies of the email messages in a second cache, the second cache managed according to a second cache management policy.
9 . The system as in claim 8 comprising additional program code to cause the processor to perform the operations of:
automatically transmitting portions of the metadata from the first cache to the wireless data processing device; and
transmitting message bodies to the wireless data processing device only upon receiving a request for the message bodies from the data processing device.
10 . The method as in claim 9 comprising additional program code to cause the processor to perform the operations of:
managing the message bodies and metadata on the wireless data processing device according to a third cache management policy.
11 . The method as in claim 8 wherein the first cache management policy retains metadata for a relatively longer time than the second cache management policy retains message bodies associated with the metadata.
12 . The method as in claim 8 wherein the metadata comprises at least a message identification code, a message sender and a message subject.
13 . The method as in claim 8 comprising additional program code to cause the processor to perform the operations of:
receiving a request for an email message from the wireless device;
determining whether a body of the email message is stored within the second cache;
retrieving the email message body from a the first email server if the message body is not stored within the second cache; and
transmitting the email message body to the wireless device.
14 . The method as in claim 8 comprising additional program code to cause the processor to perform the operations of:
retrieving a second set of email messages from a second email server on behalf of the wireless data processing device;
extracting metadata from the second set of email messages;
storing the metadata from the second set of email messages in the first cache along with the metadata from the first set of email messages;
storing at least the message bodies of the second set of email messages in the second cache along with the message bodies of the first set of email messages.
15 . A machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:
retrieving a first set of email messages from a first email server on behalf of a wireless data processing device;
extracting metadata from the first set of email messages;
storing the metadata in a first cache, the first cache managed according to a first cache management policy;
storing at least the message bodies of the email messages in a second cache, the second cache managed according to a second cache management policy.
16 . The system as in claim 15 comprising additional program code to cause the machine to perform the operations of:
automatically transmitting portions of the metadata from the first cache to the wireless data processing device; and
transmitting message bodies to the wireless data processing device only upon receiving a request for the message bodies from the data processing device.
17 . The method as in claim 16 comprising additional program code to cause the machine to perform the operations of:
managing the message bodies and metadata on the wireless data processing device according to a third cache management policy.
18 . The method as in claim 15 wherein the first cache management policy retains metadata for a relatively longer time than the second cache management policy retains message bodies associated with the metadata.
19 . The method as in claim 15 wherein the metadata comprises at least a message identification code, a message sender and a message subject.
20 . The method as in claim 15 comprising additional program code to cause the machine to perform the operations of:
receiving a request for an email message from the wireless device;
determining whether a body of the email message is stored within the second cache;
retrieving the email message body from a the first email server if the message body is not stored within the second cache; and
transmitting the email message body to the wireless device.
21 . The method as in claim 15 comprising additional program code to cause the machine to perform the operations of:
retrieving a second set of email messages from a second email server on behalf of the wireless data processing device;
extracting metadata from the second set of email messages;
storing the metadata from the second set of email messages in the first cache along with the metadata from the first set of email messages;
storing at least the message bodies of the second set of email messages in the second cache along with the message bodies of the first set of email messages.