IP Library Granted Patent US 8,108,397
Granted Patent B2
US 8,108,397 · App. 12/946,797 · Granted Jan 31, 2012

System and method for processing message threads

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,108,397
App. No.
12/946,797
Granted
Jan 31, 2012
Kind
B2
Abstract

A system and method for processing message threads is provided. A plurality of messages, each comprising a message body, is grouped by conversation thread. The message bodies of the messages are compared. Each message recursively contained in at least one other message is identified as a near duplicate message. An attachment sequence is generated for at least part of each attachment associated with one or more of the messages. The attachment sequences associated with the near duplicate messages are compared. Each near duplicate message having an attachment sequence not matching the attachment sequence of any other near duplicate message is identified as a unique message.

Claims (55)

1. A system for processing message threads, comprising:

a thread module to group a plurality of messages, each comprising a message body, by conversation thread;

a message body comparer module to compare the message bodies of the messages;

a near duplicate module to identify each message body recursively contained in at least one other message as a near duplicate message and to identify each message body matching at least one other message as an exact duplicate message;

an attachment module to generate an attachment sequence for at least part of each attachment associated with one or more of the messages;

a message sequence module to generate a message sequence for each of the messages;

a concatenator module to concatenate the message sequence and the attachment sequence into a compound digest for each message;

a digest comparer module to compare the compound digests of each message;

marker module to mark each near duplicate message and exact duplicate message having a compound digest not matching the compound digest of any other message as a unique message; and

a processor to execute each of the modules, which are stored on a computer-readable storage medium.

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

a unique message module to identify each message not recursively contained in at least one other message as a unique message.

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

a message sequence comparer module to compare the message sequences of the messages; and

an exact duplicate module to identify each message having a message sequence matching the message sequence of at least one other message as an exact duplicate message.

4. The system according to claim 3 , further comprising:

a unique message sequence module to identify each message having a message sequence not matching the message sequence of any other message as a unique message.

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

a sorter to sorting the messages in each conversation thread by one of ascending length order and descending length order.

6. The system according to claim 5 , further comprising:

a length module to determine length order based on thread markers comprising at least one of keywords, delimiter strings, and relative location within each message.

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

a log to identify a source location of each unique message and cross- referencing the exact duplicate messages and near duplicate messages associated with each unique message.

8. The system according to claim 1 , wherein the attachment sequences comprise hash code digests of the attachments attached to each message.

9. The system according to claim 1 , further comprising:

a shadow store to store the unique messages.

10. The system according to claim 1 , further comprising:

a duplicate attachment module to mark each message having an attachment sequence matching at least one other near duplicate message as a near duplicate message.

11. A method processed by a computer processor for processing message threads, comprising:

grouping a plurality of messages, each comprising a message body, by conversation thread;

comparing the message bodies of the messages;

identifying each message body recursively contained in at least one other message as a near duplicate message and each message body matching at least one other message as an exact duplicate message;

generating an attachment sequence for at least part of each attachment associated with one or more of the messages;

generating a message sequence for each of the messages;

concatenating the message sequence and the attachment sequence into a compound digest for each message;

comparing the compound digest of each message; and

marking each near duplicate message and exact duplicate message having a a compound digest not matching the compound digest of any other message as a unique message.

12. The method according to claim 11 , further comprising:

identifying each message not recursively contained in at least one other message as a unique message.

13. The method according to claim 11 , further comprising:

comparing the message sequences of the messages; and

identifying each message having a message sequence matching the message sequence of at least one other message as an exact duplicate message.

14. The method according to claim 13 , further comprising:

identifying each message having a message sequence not matching the message sequence of any other message as a unique message.

15. The method according to claim 11 , further comprising:

sorting the messages in each conversation thread by one of ascending length order and descending length order.

16. The method according to claim 15 , further comprising:

determining length order based on thread markers comprising at least one of keywords, delimiter strings, and relative location within each message.

17. The method according to claim 11 , further comprising:

maintaining a log identifying a source location of each unique message and cross-referencing the exact duplicate messages and near duplicate messages associated with each unique message.

18. The method according to claim 11 , wherein the attachment sequences comprise hash code digests of the attachments attached to each message.

19. The method according to claim 11 , further comprising:

storing the unique messages in a shadow store.

20. The method according to claim 11 , further comprising:

marking each message having an attachment sequence matching at least one other near duplicate message as a near duplicate message.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 29, 2015
From: BANK OF AMERICA, N.A.
To: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC
Reel/Frame 036029/0233 →
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 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Dec 10, 2012
From: FTI CONSULTING, INC.; FTI CONSULTING TECHNOLOGY LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 029434/0087 →