Email server with enhanced least recently used (LRU) cache
First Claim
Patent Images
1. An electronic mail (email) server comprising:
- a proxy that obtains mappings for message identifiers (MsgID'"'"'s) corresponding to new electronic messages that had been determined from a polling operation;
a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each new electronic message corresponding to the MsgID'"'"'s and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID; and
a memory in which all messages within the LRU cache are saved;
the proxy receives a mail job, determines if a MsgID for the mail job is in the cache, and if yes, obtains a mapping for the MsgID from the cache and processes the mail job, if the MsgID for the mail job is not in the cache, retrieves the MsgID from a database, caches the retrieved MsgID into the cache, obtains a mapping for the retrieved MsgID from the cache and processes the mail job, and purges without using weights and heuristics the cache of the MsgID'"'"'s.
6 Assignments
0 Petitions
Accused Products
Abstract
An electronic mail (email) server includes a proxy that obtains mappings for unique identifiers (UID'"'"'s) corresponding to new electronic messages that have been determined from a polling operation. A Least Recently Used (LRU) cache caches each new message and releases from cache least recently used messages. A memory in which all messages within the LRU cache are spooled.
23 Citations
20 Claims
-
1. An electronic mail (email) server comprising:
-
a proxy that obtains mappings for message identifiers (MsgID'"'"'s) corresponding to new electronic messages that had been determined from a polling operation; a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each new electronic message corresponding to the MsgID'"'"'s and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID; and a memory in which all messages within the LRU cache are saved; the proxy receives a mail job, determines if a MsgID for the mail job is in the cache, and if yes, obtains a mapping for the MsgID from the cache and processes the mail job, if the MsgID for the mail job is not in the cache, retrieves the MsgID from a database, caches the retrieved MsgID into the cache, obtains a mapping for the retrieved MsgID from the cache and processes the mail job, and purges without using weights and heuristics the cache of the MsgID'"'"'s. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An electronic mail (email) server comprising:
- a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each new electronic message corresponding to the MsgID'"'"'s as determined from a polling operation and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID;
a disk memory in which all new electronic messages within the LRU cache are saved; and
a proxy that receives a mail job, determines if a MsgID for the mail job is in the cache, and if yes, obtains a mapping for the MsgID from the cache and processes the mail job, if the MsgID for the mail job is not in the cache, retrieves the MsgID from a database, caches the retrieved MsgID into the cache, obtains a mapping for the retrieved MsgID from the cache and processes the mail job, and purges without using weights and heuristics the cache of the MsgID'"'"'s. - View Dependent Claims (7, 8, 9)
- a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each new electronic message corresponding to the MsgID'"'"'s as determined from a polling operation and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID;
-
10. A communication system comprising:
- a polling engine that polls an electronic mailbox of a user to retrieve message identifiers (MsgID'"'"'s) of new messages;
a proxy that obtains mappings for the new message;
a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each of the new messages corresponding to the MsgID'"'"'s and releases from the LRU cache the least recently used MsgID and predetermined size of the new message corresponding to the MsgID; and
a memory in which all new messages within the LRU cache are saved;
the proxy receives a mail job, determines if a MsgID for the mail job is in the cache, and if yes, obtains a mapping for the MsgID from the cache and processes the mail job, if the MsgID for the mail job is not in the cache, retrieves the MsgID from a database, caches the retrieved MsgID into the cache, obtains a mapping for the retrieved MsgID from the cache and processes the mail job, and purges without using weights and heuristics the cache of the MsgID'"'"'s. - View Dependent Claims (11, 12, 13, 14)
- a polling engine that polls an electronic mailbox of a user to retrieve message identifiers (MsgID'"'"'s) of new messages;
-
15. An electronic mail (email) processing method, which comprises:
- polling an electronic mailbox of a user to retrieve message identifiers (MsgID'"'"'s) of new messages;
obtaining mappings for the new messages;
caching the MsgID'"'"'s and a predetermined size of each new message corresponding to the MsgID'"'"'s within a least recently used (LRU) cache;
releasing the least recently used MsgID and predetermined size of the new message corresponding to the MsgID from the LRU cache;
saving all messages within the LRU cache to memory; and
receiving a mail job within a proxy and determining if a MsgID for the mail job is in the cache, and if yes, obtaining a mapping for the MsgID from the cache and processing the mail job, and if the MsgID for the mail job is not in the cache, retrieving the MsgID from a database, caching the retrieved MsgID into the cache, obtaining a mapping for the retrieved MsgID from the cache and processing the mail job, and purging without using weights and heuristics the cache of the MsgID'"'"'s. - View Dependent Claims (16, 17, 18)
- polling an electronic mailbox of a user to retrieve message identifiers (MsgID'"'"'s) of new messages;
-
19. A computer-readable medium having computer-executable modules comprising:
- a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each of the new electronic messages corresponding to the MsgID'"'"'s as determined from a polling operation and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID;
a memory in which all messages within the LRU cache are saved; and
a proxy that receives a mail job, determines if a MsgID for the mail job is in the cache, and if yes, obtains a mapping for the MsgID from the cache and processes the mail job, if the MsgID for the mail job is not in the cache, retrieves the MsgID from a database, caches the retrieved MsgID into the cache, obtains a mapping for the retrieved MsgID from the cache and processes the mail job, and purges without using weights and heuristics the cache of the MsgID'"'"'s. - View Dependent Claims (20)
- a least recently used (LRU) cache that caches the MsgID'"'"'s and a predetermined size of each of the new electronic messages corresponding to the MsgID'"'"'s as determined from a polling operation and releases from the LRU cache the least recently used MsgID and predetermined size of the new electronic message corresponding to the MsgID;
Specification