IP Library Granted Patent US 10,250,551
Granted Patent B2
US 10,250,551 · App. 15/943,652 · Granted Apr 2, 2019

Method and apparatus for expiring messages in electronic communications

Inventors: Jason Prado (San Francisco, CA); Benjamin David Eidelson (Palo Alto, CA); Peter Michal Pawlowski (San Francisco, CA); Doug Sherrets (San Francisco, CA)
Assignee: GOOGLE LLC
H04L51/34H04L51/066H04L51/14H04L51/18H04L67/325H04W12/04
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,250,551
App. No.
15/943,652
Granted
Apr 2, 2019
Kind
B2
Abstract

The present disclosure includes systems and methods for off-the-record communication including expiring messages. An example method comprises receiving an electronic communication from a source device, the electronic communication including at least one expiring message, temporarily storing content of the expiring message in a non-durable memory for a predetermined amount of time, durably storing envelope information associated with the expiring message in a durable memory, and determining whether a recipient device for the expiring message is available to accept transmission of the expiring message and determining whether an expiration event has occurred.

Claims (46)

1. A method comprising:

receiving, at one of one or more servers, an electronic communication from a source client device, the electronic communication including a message;

temporarily storing, on a non-durable storage media accessible by at least one of the one or more servers, content of the message;

notifying, by at least one of the one or more servers, a recipient client device of availability of the message;

determining an occurrence of at least one of a first expiration event and a second expiration event, wherein:

the first expiration event includes expiration of an amount of time to live associated with the message as defined on at least one of the one or more servers, and

the second expiration event includes number of times of access of the message as defined on at least one of the one or more servers, based on input received from the recipient client device;

in response to determining the occurrence of the at least one of the first expiration event and the second expiration event, causing the content of the message to be deleted from the non-durable storage media; and

after deletion of the content of the message from the non-durable storage media, notifying the recipient client device that the message is unavailable.

2. The method of claim 1 , further comprising generating a record of the message, wherein the record describes one or more properties associated with the message.

3. The method of claim 2 , wherein one of the one or more properties includes a source device associated with the message.

4. The method of claim 2 , wherein one of the one or more properties includes a time of transmission of the message from a source device.

5. The method of claim 1 , further comprising updating, at the recipient client device, display of a record associated with the message to indicate the occurrence of the at least one of the first expiration event and the second expiration event.

6. The method of claim 1 , further comprising encrypting the content of the message and generating an encryption key to decrypt the message.

7. The method of claim 6 , further comprising deleting the encryption key in response to determining the occurrence of the at least one of the first expiration event and the second expiration event.

8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, at one of one or more servers, an electronic communication from a source client device, the electronic communication including a message;

temporarily storing, on a non-durable storage media accessible by at least one of the one or more servers, content of the message;

notifying, by at least one of the one or more servers, a recipient client device of availability of the message;

determining an occurrence of at least one of a first expiration event and a second expiration event, wherein:

the first expiration event includes expiration of an amount of time to live associated with the message as defined on at least one of the one or more servers, and

the second expiration event includes number of times of access of the message as defined on at least one of the one or more servers, based on input received from the recipient client device;

in response to determining the occurrence of the at least one of the first expiration event and the second expiration event, causing the content of the message to be deleted from the non-durable storage media; and

after deletion of the content of the message from the non-durable storage media, notifying the recipient client device that the message is unavailable.

9. The computer-readable medium of claim 8 , further comprising generating a record of the message, wherein the record describes one or more properties associated with the message.

10. The computer-readable medium of claim 9 , wherein one of the one or more properties includes a source device associated with the message.

11. The computer-readable medium of claim 9 , wherein one of the one or more properties includes a time of transmission of the message from a source device.

12. The computer-readable medium of claim 8 , further comprising updating, at the recipient client device, display of a record associated with the message to indicate the occurrence of the at least one of the first expiration event and the second expiration event.

13. The computer-readable medium of claim 8 , further comprising encrypting the content of the message and generating an encryption key to decrypt the message.

14. A system comprising:

one or more processors; and

one or more non-transitory computer-readable media having instructions stored thereon that, when executed by the one or more processors, cause performance of operations comprising:

receiving, at one of one or more servers, an electronic communication from a source client device, the electronic communication including a message;

temporarily storing, on a non-durable storage media accessible by at least one of the one or more servers, content of the message;

notifying, by at least one of the one or more servers, a recipient client device of availability of the message;

determining an occurrence of at least one of a first expiration event and a second expiration event, wherein:

the first expiration event includes expiration of an amount of time to live associated with the message as defined on at least one of the one or more servers, and

the second expiration event includes number of times of access of the message as defined on at least one of the one or more servers, based on input received from the recipient client device;

in response to determining the occurrence of the at least one of the first expiration event and the second expiration event, causing the content of the message to be deleted from the non-durable storage media; and

after deletion of the content of the message from the non-durable storage media, notifying the recipient client device that the message is unavailable.

15. The system of claim 14 , wherein the operations further comprise generating a record of the message, wherein the record describes one or more properties associated with the message.

16. The system of claim 15 , wherein one of the one or more properties includes a source device associated with the message.

17. The system of claim 15 , wherein one of the one or more properties includes a time of transmission of the message from a source device.

18. The system of claim 14 , wherein the operations further comprise updating, at the recipient client device, display of a record associated with the message to indicate the occurrence of the at least one of the first expiration event and the second expiration event.

19. The system of claim 14 , wherein the operations further comprise encrypting the content of the message and generating an encryption key to decrypt the message.

20. The system of claim 19 , wherein the operations further comprise deleting the encryption key in response to determining the occurrence of the at least one of the first expiration event and the second expiration event.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: PRADO, JASON; EIDELSON, BENJAMIN DAVID; PAWLOWSKI, PETER MICHAL; SHERRETS, DOUG
To: GOOGLE INC.
Reel/Frame 045419/0824 →
CHANGE OF NAME Recorded Apr 2, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 045828/0994 →
Continuity (3)
Continuation 14937257 · Nov 10, 2015
Continuation 13558916 · Jul 26, 2012
Related Publication 20180227262A1 · Aug 9, 2018