IP Library Granted Patent US 10,791,081
Granted Patent B2
US 10,791,081 · App. 16/290,275 · Granted Sep 29, 2020

Providing augmented message elements in electronic communication threads

Inventors: Cameron James Pickett (Redmond, WA); Patrick Andrew Larson (Bremerton, WA); Russell William Andrews (San Francisco, CA)
Assignee: FACEBOOK, INC.
H04L51/16H04L67/22H04L67/306H04L51/063H04L67/20
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,791,081
App. No.
16/290,275
Granted
Sep 29, 2020
Kind
B2
Abstract

The present disclosure is directed toward systems and methods for providing message element in electronic communication threads. For example, systems and methods described herein identify message elements in electronic communication threads and add interactions between the message elements to the electronic communication thread.

Claims (68)

1. A method comprising:

determining that a first message element submitted by a first user and a second message element submitted by a second user were added to a communication thread within a threshold amount of time;

replacing, in response to the determination and within the communication thread, the first message element and the second message element with a third message element identified based on the first message element and the second message element; and

removing the third message element from the communication thread and re-rendering the communication thread to include the first message element and the second message element.

2. The method as recited in claim 1 , wherein determining that the first message element and the second message element were added to the communication thread within the threshold amount of time comprises:

analyzing a first timestamp associated with the first message element and a second timestamp associated with the second message element; and

determining that the first timestamp and the second timestamp are within the threshold amount of time.

3. The method as recited in claim 1 , wherein replacing the first message element and the second message element with a third message element comprises:

determining a communication thread position associated with the first message element and the second message element;

removing the first message element and the second message element from the communication thread position; and

adding the third message element to the communication thread position.

4. The method as recited in claim 3 , further comprising identifying the third message element based on the first message element and the second message element by:

analyzing metadata associated with the first message element to determine a first message element identifier;

analyzing metadata associated with the second message element to determine a second message element identifier;

identifying an intersection of the first message element identifier and the second message element identifier within a lookup table; and

extracting the third message element at the intersection within the lookup table.

5. The method as recited in claim 3 , wherein removing the first message element and the second message element from the communication thread position comprises:

identifying, at the communication thread position, a first cell including the first message element;

identifying, at the communication thread position, a second cell including the second message element; and

removing the first cell and the second cell from the communication thread position.

6. The method as recited in claim 5 , wherein adding the third message element to the communication thread position comprises:

determining the communication thread position of the first cell and the second cell; and

positioning a cell including the third message element within the communication thread at the communication thread position.

7. The method as recited in claim 1 , further comprising, after replacing the first message element and the second message element with the third message element, determining that a predetermined period of time has elapsed.

8. The method as recited in claim 7 , wherein determining that the predetermined period of time has elapsed comprises:

analyzing metadata associated with the third message element to identify the predetermined period of time; and

determining whether an amount of time that has elapsed since replacing the first message element and the second message element with the third message element is greater than the predetermined period of time.

9. The method as recited in claim 1 , wherein re-rendering the communication thread to include the first message element and the second message element comprises:

removing, from the communication thread, a third cell including the third message element; and

adding, to the communication thread, a first cell including the first message element and a second cell including the second message element at a position corresponding to a previous position of the third cell.

10. A mobile device comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions thereon that, when executed by the at least one processor, cause the mobile device to:

determine that a first message element submitted by a first user and a second message element submitted by a second user were added to a communication thread within a threshold amount of time;

replace, in response to the determination and within the communication thread, the first message element and the second message element with a third message element identified based on the first message element and the second message element; and

remove the third message element from the communication thread and re-render the communication thread to include the first message element and the second message element.

11. The mobile device as recited in claim 10 , wherein determining that the first message element and the second message element were added to the communication thread within the threshold amount of time comprises:

analyzing a first timestamp associated with the first message element and a second timestamp associated with the second message element; and

determining that the first timestamp and the second timestamp are within the threshold amount of time.

12. The mobile device as recited in claim 11 , wherein replacing the first message element and the second message element with a third message element comprises:

determining a communication thread position associated with the first message element and the second message element;

removing the first message element and the second message element from the communication thread position; and

adding the third message element to the communication thread position.

13. The mobile device as recited in claim 12 , further comprising identifying the third message element based on the first message element and the second message element by:

analyzing metadata associated with the first message element to determine a first message element identifier;

analyzing metadata associated with the second message element to determine a second message element identifier;

identifying an intersection of the first message element identifier and the second message element identifier within a lookup table; and

extracting the third message element at the intersection within the lookup table.

14. The mobile device as recited in claim 13 , wherein removing the first message element and the second message element from the communication thread position comprises:

identifying, at the communication thread position, a first cell including the first message element;

identifying, at the communication thread position, a second cell including the second message element; and

removing the first cell and the second cell from the communication thread position.

15. The mobile device as recited in claim 10 , further storing instructions thereon that, when executed by the at least one processor, cause the mobile device to, after replacing the first message element and the second message element with the third message element, determine that a predetermined period of time has elapsed.

16. The mobile device as recited in claim 15 , wherein determining that the predetermined period of time has elapsed comprises:

analyzing metadata associated with the third message element to identify the predetermined period of time; and

determining whether an amount of time that has elapsed since replacing the first message element and the second message element with the third message element is greater than the predetermined period of time.

17. A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one processor, cause the at least one processor to:

determine that a first message element submitted by a first user and a second message element submitted by a second user were added to a communication thread within a threshold amount of time;

replace, in response to the determination and within the communication thread, the first message element and the second message element with a third message element identified based on the first message element and the second message element; and

remove the third message element from the communication thread and re-render the communication thread to include the first message element and the second message element.

18. The non-transitory computer-readable medium as recited in claim 17 , wherein replacing the first message element and the second message element with a third message element comprises:

determining a communication thread position associated with the first message element and the second message element;

removing the first message element and the second message element from the communication thread position; and

adding the third message element to the communication thread position.

19. The non-transitory computer-readable medium as recited in claim 17 , further storing instructions thereon that, when executed by the at least one processor, cause the at least one processor to, after replacing the first message element and the second message element with the third message element, determine that a predetermined period of time has elapsed.

20. The non-transitory computer-readable medium as recited in claim 19 , wherein determining that the predetermined period of time has elapsed comprises:

analyzing metadata associated with the third message element to identify the predetermined period of time; and

determining whether an amount of time that has elapsed since replacing the first message element and the second message element with the third message element is greater than the predetermined period of time.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058961/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: PICKETT, CAMERON JAMES; LARSON, PATRICK ANDREW; ANDREWS, RUSSELL WILLIAM
To: FACEBOOK, INC.
Reel/Frame 048737/0137 →
Continuity (2)
Continuation 14727452 · Jun 1, 2015
Related Publication 20190215287A1 · Jul 11, 2019