IP Library Granted Patent US 10,169,447
Granted Patent B2
US 10,169,447 · App. 14/187,699 · Granted Jan 1, 2019

System and method of message threading for a multi-format, multi-protocol communication system

Inventors: Alston Ghafourifar (Los Altos Hills, CA); Mehdi Ghafourifar (Los Altos Hills, CA); Brienne Ghafourifar (Los Altos Hills, CA)
Assignee: Entefy Inc.
G06F17/30616G06F17/30106G06F17/30321G06F17/30675G06F17/30864G06F21/6227H04L51/066H04L51/16H04L51/36
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 10,169,447
App. No.
14/187,699
Granted
Jan 1, 2019
Kind
B2
Abstract

This disclosure relates to systems, methods, and computer readable media for performing multi-format, multi-protocol message threading in a way that is most beneficial for the individual user. Users desire a system that will provide for ease of message threading by “stitching” together related communications in a manner that is seamless from the user's perspective. Such stitching together of communications across multiple formats and protocols may occur, e.g., by: 1) direct user action in a centralized communications application (e.g., by a user clicking ‘Reply’ on a particular message); 2) using semantic matching (or other search-style message association techniques); 3) element-matching (e.g., matching on subject lines or senders/recipients/similar quoted text, etc.); and 4) “state-matching” (e.g., associating messages if they are specifically tagged as being related to another message, sender, etc. by a third-party service, e.g., a webmail provider or Instant Messaging (IM) service).

Claims (67)

1. A non-transitory computer readable medium comprising computer executable instructions stored thereon to cause one or more processing units to:

obtain a first plurality of messages for a first user, wherein the first plurality of messages comprises:

one or more messages in each of a first plurality of formats; and

one or more messages sent or received via each of a first plurality of protocols; and

create one or more associations between one or more of the first plurality of messages, wherein creating the one or more associations comprises:

performing a predictive semantic analysis on the first plurality of messages, wherein performing the predictive semantic analysis comprises:

generating a predictive tag cloud based on at least one word in a first one of the first plurality of messages, wherein the predictive tag cloud comprises a plurality of words predicted to be related to the at least one word; and

creating one or more clusters of messages from the first plurality of messages, wherein creating the one or more clusters of messages comprises:

associating the first one of the first plurality of messages with at least a second one of the first plurality of messages based, at least in part, on the second one of the first plurality of messages containing at least one word from the generated predictive tag cloud,

wherein at least one of the one or more associations is between messages sent or received via two or more different protocols from among the first plurality of protocols, and

wherein at least one of the one or more associations is between messages in two or more different formats from among the first plurality of formats.

2. The non-transitory computer readable medium of claim 1 , wherein the instructions further comprise instructions to cause the one or more processing units to receive a query requesting at least one message from the first plurality of messages.

3. The non-transitory computer readable medium of claim 2 , wherein the instructions further comprise instructions to cause the one or more processing units to generate a result set to the query.

4. The non-transitory computer readable medium of claim 3 , wherein the result set comprises the at least one requested message and one or more messages from the first plurality of messages for which associations have been created to the requested message.

5. The non-transitory computer readable medium of claim 1 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform a semantic analysis on the first plurality of messages; and

create one or more additional clusters of messages from the first plurality of messages, based, at least in part, on the semantic analysis performed on the first plurality of messages.

6. The non-transitory computer readable medium of claim 5 , wherein the instructions to perform a semantic analysis on a first plurality of messages further comprise instructions to identify one or more keywords in one or more of the first plurality of messages.

7. The non-transitory computer readable medium of claim 1 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform element matching on the first plurality of messages.

8. The non-transitory computer readable medium of claim 7 , wherein the instructions to perform element matching on the first plurality of messages further comprise instructions to:

perform element matching on at least one of the following: sender, recipient list, subject, quoted text, and timestamp.

9. The non-transitory computer readable medium of claim 1 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform state matching on the first plurality of messages.

10. A system, comprising:

a memory; and

one or more processing units, communicatively coupled to the memory, wherein the memory stores instructions to configure the one or more processing units to:

obtain a first plurality of messages for a first user, wherein the first plurality of messages comprises:

one or more messages in each of a first plurality of formats; and

one or more messages sent or received via each of a first plurality of protocols; and

create one or more associations between one or more of the first plurality of messages, wherein creating the one or more associations comprises:

performing a predictive semantic analysis on the first plurality of messages, wherein performing the predictive semantic analysis comprises:

generating a predictive tag cloud based on at least one word in a first one of the first plurality of messages, wherein the predictive tag cloud comprises a plurality of words predicted to be related to the at least one word; and

creating one or more clusters of messages from the first plurality of messages, wherein creating the one or more clusters of messages comprises:

associating the first one of the first plurality of messages with at least a second one of the first plurality of messages based, at least in part, on the second one of the first plurality of messages containing at least one word from the generated predictive tag cloud,

wherein at least one of the one or more associations is between messages sent or received via two or more different protocols from among the first plurality of protocols, and

wherein at least one of the one or more associations is between messages in two or more different formats from among the first plurality of formats.

11. The system of claim 10 , wherein the instructions further comprise instructions to cause the one or more processing units to receive a query requesting at least one message from the first plurality of messages.

12. The system of claim 11 , wherein the instructions further comprise instructions to cause the one or more processing units to generate a result set to the query.

13. The system of claim 12 , wherein the result set comprises the at least one requested message and one or more messages from the first plurality of messages for which associations have been created to the requested message.

14. The system of claim 10 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform a semantic analysis on the first plurality of messages; and

create one or more additional clusters of messages from the first plurality of messages, based, at least in part, on the semantic analysis performed on the first plurality of messages.

15. The system of claim 14 , wherein the instructions to perform a semantic analysis on a first plurality of messages further comprise instructions to identify one or more keywords in one or more of the first plurality of messages.

16. The system of claim 10 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform element matching on the first plurality of messages.

17. The system of claim 16 , wherein the instructions to perform element matching on the first plurality of messages further comprise instructions to:

perform element matching on at least one of the following: sender, recipient list, subject, quoted text, and timestamp.

18. The system of claim 10 , wherein the instructions to create one or more associations between one or more of the first plurality of messages further comprise instructions to:

perform state matching on the first plurality of messages.

19. A computer-implemented method, comprising:

obtaining a first plurality of messages for a first user, wherein the first plurality of messages comprises:

one or more messages in each of a first plurality of formats; and

one or more messages sent or received via each of a first plurality of protocols; and

creating one or more associations between one or more of the first plurality of messages, wherein creating the one or more associations comprises:

performing a predictive semantic analysis on the first plurality of messages, wherein performing the predictive semantic analysis comprises:

generating a predictive tag cloud based on at least one word in a first one of the first plurality of messages, wherein the predictive tag cloud comprises a plurality of words predicted to be related to the at least one word; and

creating one or more clusters of messages from the first plurality of messages, wherein creating the one or more clusters of messages comprises:

associating the first one of the first plurality of messages with at least a second one of the first plurality of messages based, at least in part, on the second one of the first plurality of messages containing at least one word from the generated predictive tag cloud,

wherein at least one of the one or more associations is between messages sent or received via two or more different protocols from among the first plurality of protocols, and

wherein at least one of the one or more associations is between messages in two or more different formats from among the first plurality of formats.

20. The method of claim 19 , further comprising receiving a query requesting at least one message from the first plurality of messages.

21. The method of claim 20 , further comprising generating a result set to the query.

22. The method of claim 21 , wherein the result set comprises the at least one requested message and one or more messages from the first plurality of messages for which associations have been created to the requested message.

23. The method of claim 19 , wherein act of creating one or more associations between one or more of the first plurality of messages further comprises:

performing a semantic analysis on the first plurality of messages; and

creating one or more additional clusters of messages from the first plurality of messages, based, at least in part, on the semantic analysis performed on the first plurality of messages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2014
From: GHAFOURIFAR, ALSTON; GHAFOURIFAR, MEHDI; GHAFOURIFAR, BRIENNE
To: ENTEFY INC.
Reel/Frame 032280/0937 →
Continuity (1)
Related Publication 20150244657A1 · Aug 27, 2015
Cited By (1)
US 12,568,167