Using Message Sampling To Determine The Most Frequent Words In A User Mailbox
First Claim
1. A method for generating a list of frequently used words for an email application on a server computer, the method comprising:
- receiving a request on the server computer to provide a list of frequently used words in email messages stored in a user'"'"'s mailbox on the server computer;
determining if a word frequency list exists in the user'"'"'s mailbox;
if a word frequency list exists, returning the word frequency list;
if a word frequency list does not exist, starting an asynchronous process on the server computer to generate a word frequency list;
if a word frequency list does exist and the age of the word frequency list is greater than an aging limit, starting the same asynchronous process on the server computer to regenerate the word frequency list;
storing the word frequency list in the user'"'"'s mailbox; and
storing a timestamp in the user'"'"'s mailbox, the time stamp indicating the date and time when the word frequency list was created or updated.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is presented for generating a list of frequently used words for an email application on a server computer. When a request is received for a word frequency list for emails stored in a user'"'"'s mailbox, a word frequency list is returned if one exists. If the word frequency list does not exist, an asynchronous process is started on the server computer to generate a word frequency list. If the word frequency list exists but it is older than an aging limit, an asynchronous process is started on the server computer to regenerate the word frequency list. The word frequency list is stored in the user'"'"'s mailbox along with a timestamp indicating the date and time that the list was created or updated.
-
Citations
20 Claims
-
1. A method for generating a list of frequently used words for an email application on a server computer, the method comprising:
-
receiving a request on the server computer to provide a list of frequently used words in email messages stored in a user'"'"'s mailbox on the server computer; determining if a word frequency list exists in the user'"'"'s mailbox; if a word frequency list exists, returning the word frequency list; if a word frequency list does not exist, starting an asynchronous process on the server computer to generate a word frequency list; if a word frequency list does exist and the age of the word frequency list is greater than an aging limit, starting the same asynchronous process on the server computer to regenerate the word frequency list; storing the word frequency list in the user'"'"'s mailbox; and storing a timestamp in the user'"'"'s mailbox, the time stamp indicating the date and time when the word frequency list was created or updated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for sampling memory on a server computer to generate a word frequency list for an email application, the method comprising:
-
obtaining a list of one or more server memory blocks that contain email messages for the user'"'"'s mailbox, each of the one or more server memory blocks storing at least one email message for the user; randomly selecting a first server memory block from the list of one or more server memory blocks; parsing one or more of the user'"'"'s email messages contained in the first server memory block, the parsing of the one or more user'"'"'s email messages breaking each email message up into unique words, the number of email messages being parsed from the first server memory block being less than or equal to a first predetermined limit; creating a word frequency list for the email messages parsed, the word frequency list including each unique word obtained during the parsing of the one or more user'"'"'s email messages that meet predetermined criteria for unique words, each unique word being assigned a count in the word frequency list, the count being updated for each parsed email in which the unique word is found; storing the word frequency list on the server computer; and if the number of parsed emails is less than a second predetermined limit, randomly selecting a second server memory block from the list of one or more server memory blocks, parsing one or more user'"'"'s email messages contained in the second server memory block, the number of email messages being parsed from the second server memory block being less than or equal to the first predetermined limit, the parsing breaking up each email message into unique words that meet predetermined criteria for unique words, updating the count in the word frequency list for each unique word already included in the word frequency list, the count being updated for each parsed email in which the unique word is found, adding each unique word to the word frequency list that is not currently included in the word frequency list and storing a count for each of these unique words in the word frequency list. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer-readable storage medium comprising instructions that, when executed by a server computer, cause the server computer to:
-
receive a request to provide a list of frequently used words in email messages stored in a user'"'"'s mailbox on the server computer; determine if a word frequency list exists in the user'"'"'s mailbox; if a word frequency list exists, return the word frequency list; if a word frequency list does not exist, start an asynchronous process on the server computer to generate a word frequency list; if a word frequency list does exist and the age of the word frequency list is greater than an aging limit, start the same asynchronous process on the server computer to regenerate the word frequency list; wherein the asynchronous process that generates the word frequency list includes the steps of; requesting a list of one or more server memory blocks that contain email messages for the user'"'"'s mailbox, each of the one or more server memory blocks storing at least one email message for the user; randomly selecting a first server memory block from the list of one or more server memory blocks; reading into a buffer memory the contents of the first server memory block; parsing one or more of the email messages from the buffer memory, the parsing of the one or more email messages breaking each email message up into unique words, the number of email messages being parsed from the buffer memory being less than or equal to a first predetermined limit; creating a word frequency list for the email messages parsed, the word frequency list including each unique word obtained during the parsing of the one or more user'"'"'s email messages that meet predetermined criteria for unique words, each unique word being assigned a count in the word frequency list, the count being updated for each parsed email in which the unique word is found; storing the frequency count of each unique word on the server computer; if the number of parsed emails is less than a second predetermined limit, randomly selecting a second server memory block from the list of one or more server memory blocks, reading into a buffer memory the contents of the second server memory block, the number of email messages being parsed from the buffer memory being less than or equal to the first predetermined limit, the parsing breaking up each email message into unique words that meet predetermined criteria for unique words, updating the count in the word frequency list for each unique word already included in the word frequency list, the count being updated for each parsed email in which the unique count is found, adding each unique word to the word frequency list that is not currently included in the word frequency list and storing a count for each of these unique words in the word frequency list; and if the number of parsed emails is less than the second predetermined limit, randomly selecting one or more additional server memory blocks from the list of one or more server memory blocks, parsing email messages from the one or more additional server memory blocks until the second predetermined limit of email messages is reached, one or more email messages being parsed from each of the one or more additional server memory blocks up to the first predetermined limit for each additional server memory block, the parsing breaking up each email message into unique words that meet predetermined criteria for unique words, updating the count of unique words included in the word frequency list for each email message in which the unique word is contained and adding each unique word to the word frequency list that is not already included in the word frequency list and storing a count for each of these unique words.
-
Specification