IP Library Granted Patent US 9,906,480
Granted Patent B2
US 9,906,480 · App. 14/965,623 · Granted Feb 27, 2018

Techniques for ephemeral messaging with legacy clients

Inventors: Matthew Steiner (Los Altos, CA); Jeremy Fein (New York, NY); Erik Murphy-Chutorian (Palo Alto, CA); Ting Yang (Princeton, NJ); Alvin Portillo (Palo Alto, CA)
Assignee: FACEBOOK, INC.
H04L51/22H04L67/42
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,906,480
App. No.
14/965,623
Granted
Feb 27, 2018
Kind
B2
Abstract

Techniques for ephemeral message are described. In one embodiment, an apparatus may comprise a sender inbound messaging component operative to receive an incoming update for a message queue at a client support server for a messaging system from a messaging client on a client device; a legacy client support component operative to determine whether the messaging client supports a client-side time-to-live setting; determine whether the incoming update should be associated with a server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting; and assign the incoming update the server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting and where the incoming update should be associated with a server-side time-to-live setting. Other embodiments are described and claimed.

Claims (51)

1. A computer-implemented method, comprising:

receiving an incoming update for a message queue at a client support server for a messaging system from a messaging client on a client device;

determining whether the messaging client supports a client-side time-to-live setting;

determining whether the incoming update should be associated with a server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting; and

assigning the incoming update the server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting and where the incoming update should be associated with a server-side time-to-live setting.

2. The method of claim 1 , wherein the incoming update corresponds to an atomic modification to a message inbox for the messaging client on the client device.

3. The method of claim 1 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

determining that a time-to-live registry for the client device is not cached in memory on the client support server;

retrieving the time-to-live registry for the client device;

determining whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device; and

caching the time-to-live registry in memory on the client support server.

4. The method of claim 1 , further comprising:

receiving a notification of an opening of a network connection with the messaging client on the client device;

determining whether the messaging client supports the client-side time-to-live setting in response to receiving the notification of the opening of the network connection with the messaging client on the client device; and

caching a time-to-live registry in memory on the client support server for a duration of the network connection where the messaging client does not support the client-side time-to-live setting.

5. The method of claim 1 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

determining that a time-to-live registry for the client device is cached in memory on the client support server; and

determining whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device.

6. The method of claim 1 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

determining whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of message threads associated with time-to-live settings.

7. The method of claim 1 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

determining whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of media channels associated with time-to-live settings.

8. An apparatus, comprising:

a processor circuit on a device;

a sender inbound messaging component operative on the processor circuit to receive an incoming update for a message queue at a client support server for a messaging system from a messaging client on a client device;

a legacy client support component operative on the processor circuit to determine whether the messaging client supports a client-side time-to-live setting; determine whether the incoming update should be associated with a server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting; and assign the incoming update the server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting and where the incoming update should be associated with a server-side time-to-live setting.

9. The apparatus of claim 8 , wherein the incoming update corresponds to an atomic modification to a message inbox for the messaging client on the client device.

10. The apparatus of claim 8 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

the legacy client support component operative to determine that a time-to-live registry for the client device is not cached in memory on the client support server; retrieve the time-to-live registry for the client device; determine whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device; and cache the time-to-live registry in memory on the client support server.

11. The apparatus of claim 8 , further comprising:

the legacy client support component operative to receive a notification of an opening of a network connection with the messaging client on the client device; determine whether the messaging client supports the client-side time-to-live setting in response to receiving the notification of the opening of the network connection with the messaging client on the client device; and cache a time-to-live registry in memory on the client support server for a duration of the network connection where the messaging client does not support the client-side time-to-live setting.

12. The apparatus of claim 8 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

the legacy client support component operative to determine that a time-to-live registry for the client device is cached in memory on the client support server; and determine whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device.

13. The apparatus of claim 8 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

the legacy client support component operative to determine whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of message threads associated with time-to-live settings.

14. The apparatus of claim 8 , wherein the messaging client does not support the client-side time-to-live setting, further comprising:

the legacy client support component operative to determine whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of media channels associated with time-to-live settings.

15. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to:

receive an incoming update for a message queue at a client support server for a messaging system from a messaging client on a client device, wherein the incoming update corresponds to an atomic modification to a message inbox for the messaging client on the client device;

determine whether the messaging client supports a client-side time-to-live setting; determine whether the incoming update should be associated with a server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting; and

assign the incoming update the server-specified time-to-live setting where the messaging client does not support the client-side time-to-live setting and where the incoming update should be associated with a server-side time-to-live setting.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the messaging client does not support the client-side time-to-live setting, comprising further instructions that, when executed, cause a system to: determine that a time-to-live registry for the client device is not cached in memory on the client support server; retrieve the time-to-live registry for the client device; determine whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device; and cache the time-to-live registry in memory on the client support server.

17. The non-transitory computer-readable storage medium of claim 15 , comprising further instructions that, when executed, cause a system to:

receive a notification of an opening of a network connection with the messaging client on the client device;

determine whether the messaging client supports the client-side time-to-live setting in response to receiving the notification of the opening of the network connection with the messaging client on the client device; and

cache a time-to-live registry in memory on the client support server for a duration of the network connection where the messaging client does not support the client-side time-to-live setting.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the messaging client does not support the client-side time-to-live setting, comprising further instructions that, when executed, cause a system to:

determine that a time-to-live registry for the client device is cached in memory on the client support server; and

determine whether the incoming update should be associated with the server-specified time-to-live setting based on the time-to-live registry for the client device.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the messaging client does not support the client-side time-to-live setting, comprising further instructions that, when executed, cause a system to: determine whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of message threads associated with time-to-live settings.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the messaging client does not support the client-side time-to-live setting, comprising further instructions that, when executed, cause a system to: determine whether the incoming update should be associated with the server-specified time-to-live setting based on a time-to-live registry for the client device, the time-to-live registry comprising a listing of media channels associated with time-to-live settings.

Assignments (2)
CHANGE OF NAME Recorded May 5, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059858/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2016
From: STEINER, MATTHEW; FEIN, JEREMY; MURPHY-CHUTORIAN, ERIK; YANG, TING; PORTILLO, ALVIN
To: FACEBOOK, INC.
Reel/Frame 038852/0323 →
Continuity (1)
Related Publication 20170171131A1 · Jun 15, 2017