IP Library Granted Patent US 9,384,250
Granted Patent B2
US 9,384,250 · App. 14/571,282 · Granted Jul 5, 2016

Computer-implemented system and method for identifying related messages

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 9,384,250
App. No.
14/571,282
Granted
Jul 5, 2016
Kind
B2
Abstract

A system and method for identifying related messages are provided. A set of messages, each having a header, sender and transmission time, is obtained. A message is selected from the set. A body of the selected message is compared to a body of a further message in the set. The further message is labeled as a duplicate of the selected message when the bodies match. The duplicate labeling of the further message is verified when the header, sender, and transmission time of the further message matches the header, sender, and transmission time of the selected message. The duplicate messages are removed from the set. The remaining messages are sorted in order of message length. A shorter message is compared with a longer message and is marked as a near duplicate of the longer message when the body of the shorter message is included in the body of the longer message.

Claims (61)

1. A computer-implemented system for identifying related messages, comprising:

a set of messages, each comprising a header, sender, and transmission time; and

a processor to execute modules for processing the message set, comprising:

a selection module to select one of the messages from the set;

a content comparison module to compare a body of the selected message to a body of a further message in the set;

a labeling module to label the further message as a duplicate of the selected message when the bodies match;

a verification module to verify the duplicate labeling of the further message when the header, sender, and transmission time of the further message matches the header, sender, and transmission time of the selected message;

a removal module to remove the messages with verified duplicate labels;

a sorting module to sort the remaining messages of the set in order of message length;

a length comparison module to compare a shorter message comprising a short text body with a message comprising a longer text body and to determine that the body of the shorter message is included in the body of the longer message;

a marker module to mark the shorter message as a near duplicate of the longer message;

an extractor module to extract metadata from each of the messages in the set;

a compiler to compile the messages of the set into a master array based on the extracted metadata;

a topic module to determine topics of the messages in the master array and to sort the messages in the master array based on the topics;

a unique message comparison module to select another one of the messages and to compare the other selected message with a next message; and

a unique message determination module to determine that the topics of the other selected message and the next message do not match, to determine that the other selected message is a first message of the topic, and to mark the other selected message as a unique message.

2. A system according to claim 1 , further comprising:

a database to store the verified duplicate labeling for the further message with an identification of the further message.

3. A system according to claim 1 , further comprising:

a length determination module to determine a length of the shorter message and the longer message by searching each remaining message in the set for thread markers, counting an occurrence of each thread marker in each message, and sorting the remaining messages based on the counted occurrences of thread markers.

4. A system according to claim 3 , wherein the thread markers comprise at least one of separators and subject line indicators.

5. A system according to claim 1 , further comprising:

a message selection module to select a further one of the messages from the master array and to compare the further selected message with a next message; and

a message determination module to determine that the further selected and next messages are from a common conversation thread when the topics match.

6. A system according to claim g claim 1 , further comprising:

a message grouping module to group with the unique message, those messages that are labeled as duplicate and near duplicate of the unique message.

7. A system according to claim 1 , further comprising:

a logging module to maintain a log of the unique messages and associated duplicate and near duplicate messages.

8. A computer-implemented method for identifying related messages, comprising:

obtaining a set of messages, each comprising a header, sender, and transmission time;

selecting one of the messages from the set;

comparing a body of the selected message to a body of a further message in the set;

labeling the further message as a duplicate of the selected message when the bodies match;

verifying the duplicate labeling of the further message when the header, sender, and transmission time of the further message matches the header, sender, and transmission time of the selected message;

removing the messages with verified duplicate labels;

sorting the remaining messages of the set in order of message length;

comparing a shorter message comprising a short text body with a message comprising a longer text body and determining that the body of the shorter message is included in the body of the longer message;

marking the shorter message as a near duplicate of the longer message;

extracting metadata from each of the messages in the set;

compiling the messages of the set into a master array based on the extracted metadata;

determining topics of the messages in the master array;

sorting the messages in the master array based on the topics;

selecting another one of the messages and comparing the other selected message with a next message;

determining that the topics of the other selected message and the next message do not match;

determining that the other selected message is a first message of the topic; and

marking the other selected message as a unique message.

9. A method according to claim 8 , further comprising:

storing the verified duplicate labeling for the further message with an identification of the further message.

10. A method according to claim 8 , further comprising:

determining a length of the shorter message and the longer message, comprising:

searching each remaining message in the set for thread markers;

counting an occurrence of each thread marker in each message; and

sorting the remaining messages based on the counted occurrences of thread markers.

11. A method according to claim 10 , wherein the thread markers comprise at least one of separators and subject line indicators.

12. A method according to claim 8 , further comprising:

selecting a further one of the messages from the master array and comparing the further selected message with a next message; and

determining that the further selected and next messages are from a common conversation thread when the topics match.

13. A method according to claim 8 , further comprising:

grouping with the unique message, those messages that are labeled as duplicate and near duplicate of the unique message.

14. A method according to claim 8 , further comprising:

maintaining a log of the unique messages and associated duplicate and near duplicate messages.

Assignments (7)
PARTIAL RELEASE OF PATENT SECURITY AGREEMENT RECORDED AT R/F 036031/0637 Recorded May 7, 2025
From: BANK OF AMERICA, N.A.
To: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC; FTI CONSULTING TECHNOLOGY SOFTWARE CORP.
Reel/Frame 071218/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2019
From: KAWAI, KENJI; MCDONALD, DAVID T
To: ATTENEX CORPORATION
Reel/Frame 050707/0112 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2019
From: ATTENEX CORPORATION
To: FTI TECHNOLOGY LLC
Reel/Frame 050707/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2018
From: FTI CONSULTING TECHNOLOGY LLC
To: NUIX NORTH AMERICA INC.
Reel/Frame 047237/0019 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS AT REEL/FRAME 036031/0637 Recorded Sep 12, 2018
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: FTI CONSULTING TECHNOLOGY LLC
Reel/Frame 047060/0107 →
CHANGE OF NAME Recorded Apr 20, 2018
From: FTI TECHNOLOGY LLC
To: FTI CONSULTING TECHNOLOGY LLC
Reel/Frame 045785/0645 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jun 29, 2015
From: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC; FTI CONSULTING TECHNOLOGY SOFTWARE CORP
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 036031/0637 →