IP Library Granted Patent US 9,584,456
Granted Patent B2
US 9,584,456 · App. 15/072,623 · Granted Feb 28, 2017

Storage and processing of ephemeral messages

Inventor: Aaron Daniel Son (Santa Monica, CA)
Assignee: Snap INC.
H04L51/18H04L51/22H04L51/34H04L51/16
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,584,456
App. No.
15/072,623
Granted
Feb 28, 2017
Kind
B2
Abstract

A server includes volatile and non-volatile memories for storing messages received from a client device. A message reception module of the server stores a message received from a first client device in the volatile memory for an extended time period based on an indicator included in the message. The message reception module deletes the message from the volatile memory based on detection of a triggering event or stores the message in the non-volatile memory based on not detecting the triggering event before the extended time period has expired. The triggering event may include the message having been read by all specified recipients of the message. The indicator may be included in the message based on a relationship of the message to other messages. The message including the indicator may be related to other messages as part of a same conversation that has been determined to be suitable for short-term storage.

Claims (44)

1. A system comprising:

a storage including a volatile memory and a non-volatile memory; and

a message reception module comprising at least one processor and configured to:

receive a message from a first communication device;

determine that the message is part of a conversation that includes a previous message that was stored in the storage for less than a specified time period;

store the message in the volatile memory based on the determination; and

copy the message from the volatile memory to the non-volatile memory based on not detecting a specified triggering event prior to a storage time of the message in the volatile memory exceeding the specified time period.

2. The system of claim 1 , wherein the message reception module is further configured to delete the message from the volatile memory based on detecting the triggering event prior to a storage time of the message in the volatile memory exceeding the specified time period.

3. The system of claim 1 , wherein the triggering event comprises the message having been read by all specified recipients of the message.

4. The system of claim 1 , wherein the message is stored in the volatile memory based on: a mode of operation of the first client device; a count of messages in the conversation; a size of the message; a recipient of the message; or a subject of the message.

5. The system of claim 4 , wherein the mode of operation of the first client device comprises a chatroom mode of operation, the triggering event comprises exiting the chatroom mode and the messaging module is further configured to transmit a warning to the first client device that the message will be automatically deleted upon exiting chatroom mode.

6. The system of claim 2 , further comprising a message transmission module implemented by the at least one processor and configured to:

transmit the message to a second client device associated with a recipient of the message upon receipt of a request from said second client device;

insert instructions into the message to instruct the second client device to display the message for only a predetermined time period; and

delete the message from at least one of the volatile memory and the non-volatile memory based on the specified time period expiring.

7. The system of claim 6 , wherein the triggering event comprises responding to the message at the second client device.

8. A method comprising:

receiving a message from a first communication device;

determining that the message is part of a conversation that includes a previous message that was stored in a storage for less than a specified time period;

store the message in a volatile memory of the storage based on the determination; and

copy the message from the volatile memory to a non-volatile memory of the storage based on not detecting a specified triggering event prior to expiration of the specified time period.

9. The method of claim 8 , further comprising deleting the message from the volatile memory based on detecting the triggering event prior to expiration of the specified time period.

10. The method of claim 8 , wherein the triggering event comprises the message having been read by all specified recipients of the message.

11. The method of claim 8 , wherein the message is stored in the volatile memory based on: a mode of operation of the first client device; a count of messages in the conversation; a size of the message; a recipient of the message; or a subject of the message.

12. The method of claim 11 , wherein the mode of operation of the first client device comprises a chatroom mode of operation and the triggering event comprises exiting the chatroom mode, the method further comprising transmitting a warning to the first client device that the message will be automatically deleted upon exiting chatroom mode.

13. The method of claim 9 , further comprising:

transmitting the message to a second client device associated with a recipient of the message upon receipt of a request from said second client device;

inserting instructions into the message to instruct the second client device to display the message for only a predetermined time period; and

deleting the message from at least one of the volatile memory and the non-volatile memory based on the specified time period expiring.

14. The method of claim 13 , wherein the triggering event comprises responding to the message at the second client device.

15. A non-transitory computer-readable medium storing program code which, when executed, is operative to cause a computing device to perform operations comprising:

receiving a message from a first communication device;

determining that the message is part of a conversation that includes a previous message that was stored in a storage for less than a specified time period;

store the message in a volatile memory of the storage based on the determination; and

copy the message from the volatile memory to a non-volatile memory of the storage based on not detecting a specified triggering event prior to expiration of the specified time period.

16. The computer-readable medium of claim 15 , the operations further comprising deleting the message from the volatile memory based on detecting the triggering event prior to expiration of the specified time period.

17. The computer-readable medium of claim 15 , wherein the triggering event comprises the message having been read by all specified recipients of the message.

18. The computer-readable medium of claim 15 , wherein the message is stored in the volatile memory based on: a mode of operation of the first client device; a count of messages in the conversation; a size of the message; a recipient of the message; or a subject of the message.

19. The computer-readable medium of claim 18 , wherein the mode of operation of the first client device comprises a chatroom mode of operation and the triggering event comprises exiting the chatroom mode, the operations further comprising transmitting a warning to the first client device that the message will be automatically deleted upon exiting chatroom mode.

20. The computer-readable medium of claim 16 , the operations further comprising:

transmitting the message to a second client device associated with a recipient of the message upon receipt of a request from said second client device;

inserting instructions into the message to instruct the second client device to display the message for only a predetermined time period; and

deleting the message from at least one of the volatile memory and the non-volatile memory based on the specified time period expiring;

wherein the triggering event comprises responding to the message at the second client device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: SON, AARON DANIEL
To: SNAPCHAT, INC.
Reel/Frame 040985/0443 →
CHANGE OF NAME Recorded Jan 17, 2017
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 040985/0702 →
Continuity (2)
Continuation 14615553 · Feb 6, 2015
Related Publication 20160234151A1 · Aug 11, 2016