IP Library Granted Patent US 8,423,616
Granted Patent B2
US 8,423,616 · App. 11/799,990 · Granted Apr 16, 2013

Identifying and correlating electronic mail messages

Inventors: Dominic J. Pouzin (Sammamish, WA); Ilana Rae Smith (Frederiksberg, DK)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,423,616
App. No.
11/799,990
Granted
Apr 16, 2013
Kind
B2
Abstract

Technologies are described herein for identifying and correlating e-mail messages. The contents of the subject and recipients fields of e-mail messages received at and sent from a computing system are hashed and stored in a database. When an incoming e-mail message is received at the computing system, the contents of its subject and recipients fields are also hashed. A search is then made of the database to locate e-mail messages identified in the database that have a sufficient number of subject and address hash values that match the subject and address hash values generated for the incoming e-mail message so that the messages may be correlated. A correlation is made between the incoming e-mail message and the best matching e-mail message located during the search of the database.

Claims (23)

1. A computer-implemented method for identifying and correlating an incoming electronic mail (e-mail) message to a computing system with an outbound e-mail message previously transmitted by the computing system and referenced in a database stored by the computing system, the method comprising performing computer-implemented operations for:

processing outbound e-mail messages from the computing system by identifying data stored in a subject field and an address field of the outbound e-mail messages and storing secure hash values generated from a secret key in the database for the data stored in the subject field and the address field of the outbound e-mail messages; and

processing an incoming e-mail message to the computing system by determining whether hash values of data stored in a subject field excluding one or more leading words and an address field of the incoming e-mail message sufficiently match the secure hash values stored in the database for the corresponding subject field and address field of the outbound e-mail messages to correlate the incoming e-mail message with one or more of the outbound e-mail messages, and correlating the incoming e-mail message with one or more of the outbound e-mail messages in response to determining that the hash values of data stored in the subject field excluding one or more leading words and the address field of the incoming e-mail message sufficiently match the secure hash values stored in the database for the corresponding subject field and address field of one or more previously transmitted outbound e-mail messages.

2. The method of claim 1 , wherein the one or more leading words comprise one or more words of a certain format and wherein the address field of the incoming e-mail message comprises a recipient field.

3. A computer-implemented method for identifying and correlating an incoming electronic mail (e-mail) message to a computing system with one of a plurality of e-mail messages sent from the computing system, each of the e-mail messages having content stored in a subject field and identifying one or more recipients by an e-mail address, the method comprising performing computer-implemented operations for:

processing e-mail messages sent from the computing system by tokenizing the content in the subject field of the plurality of e-mail messages sent from the computing system into one or more tokens, generating a subject hash value for each of the tokens, generating an address hash value for each of the e-mail addresses of the recipients of the plurality of e-mail messages sent from the computing system, and storing the subject hash values and the address hash values in a database; and

processing the incoming e-mail message by tokenizing a subset of the content in a subject field of the incoming e-mail into one or more tokens message, wherein the subset excludes one or more leading words in the subject field, generating a subject hash value for each of the tokens for the subset of the content in the subject field of the incoming e-mail message, generating an address hash value for each of the e-mail addresses of recipients of the incoming e-mail message, and correlating the incoming e-mail message to one or more of the plurality of e-mail messages sent from the computing system using the subject hash values and address hash values generated for the incoming e-mail message and the subject hash values and address hash values stored in the database.

4. The method of claim 3 , wherein storing the subject hash values and the address hash values in the database comprises storing a record in the database for each of the plurality of e-mail messages sent from the computing system, each record comprising an identifier for an e-mail message, the subject hash values for an e-mail message, and the address hash values for an e-mail message.

5. The method of claim 4 , wherein correlating the incoming e-mail message to one of the plurality of e-mail messages sent from the computing system using the subject hash values and address hash values generated for the incoming e-mail message and the subject hash values and address hash values stored in the database comprises:

performing a search of the database for records stored therein having at least a first threshold number of address hash values that match the address hash values generated for the incoming e-mail message;

identifying zero or more candidate e-mail messages by searching the results of the database search for records having at least a second threshold number of subject hash values that match the subject hash values generated for the incoming e-mail message; and

correlating the incoming e-mail message to one of the candidate e-mail messages.

6. The method of claim 5 , wherein correlating the incoming e-mail message to one of the candidate e-mail messages comprises correlating the incoming e-mail message to a most recently modified one of the candidate e-mail messages.

7. The method of claim 6 , further comprising providing an indication that the incoming e-mail message is unrelated to any of the plurality of e-mail messages in response to determining that there are zero candidate e-mail messages.

8. The method of claim 7 , wherein the database comprises a structured query language (SQL) database.

9. A computer-readable medium comprising a tangible article of manufacture that is not a signal, the computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:

process outbound e-mail messages from a computer system by generating subject hash values and address hash values for the outbound e-mail messages and storing a record in a database for each of a plurality of outbound e-mail messages, each record comprising an identifier for the outbound e-mail message, the subject hash values and the address hash values for the outbound e-mail messages; and to process incoming e-mail messages to the computer system by receiving an incoming e-mail message having a subject field and one or more address fields, each address field having one or more recipient e-mail addresses stored therein, and in response to receiving the incoming e-mail message, to tokenize the subject field of the incoming e-mail message into a plurality of tokens, to generate a subject hash value for each of the tokens, and to generate an address hash value for each of the recipient e-mail addresses, to identify the incoming e-mail message as being related to one or more previously transmitted outbound e-mail messages using the subject hash values and the address hash values for the incoming e-mail message and the subject hash values and the address hash values stored in the database and, in response to identifying the e-mail message as being related to one or more previously transmitted outbound e-mail messages, to correlate the incoming e-mail message to the related one or more previously transmitted outbound e-mail messages by

performing a search of the database for records stored therein having at least a first threshold number of address hash values that match the address hash values generated for the incoming e-mail message,

identifying zero or more candidate e-mail messages by searching the results of the database search for records having at least a second threshold number of subject hash values that match the subject hash values generated for the incoming e-mail message, and

correlating the incoming e-mail message to one of the candidate e-mail messages using the subject hash values and address hash values generated for the incoming e-mail message and the subject hash values and address hash values stored in the database.

10. The computer-readable medium of claim 9 having further computer-executable instructions stored thereon which cause the computer to provide an indication that the incoming e-mail message is unrelated to any of the previously transmitted outbound e-mail messages in response to determining that there are zero candidate e-mail messages.

11. The computer-readable medium of claim 10 , wherein correlating the incoming e-mail message to one of the candidate e-mail messages comprises correlating the incoming e-mail message to a most recently modified one of the candidate e-mail messages.

12. The computer-readable medium of claim 11 , wherein the database comprises a structured query language (SQL) database.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2007
From: POUZIN, DOMINIC J.; SMITH, ILANA RAE
To: MICROSOFT CORPORATION
Reel/Frame 019627/0709 →
Continuity (1)
Related Publication 20080275957A1 · Nov 6, 2008