IP Library Granted Patent US 10,263,937
Granted Patent B2
US 10,263,937 · App. 15/291,027 · Granted Apr 16, 2019

Automated message recall from a sender's device

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,263,937
App. No.
15/291,027
Granted
Apr 16, 2019
Kind
B2
Abstract

A system, apparatus, and methods are provided for supporting automated recall of a message (e.g., a chat message) from an originator's device, or at least media that accompanied the message. An original message may convey one or more media files that are temporarily stored on a system or apparatus that hosts the communication application used to create, send, and receive messages. The media files may be lost in transit because of failure of a system component, failure of a storage device, purging of the files before they are retrieved by a recipient, or for some other reason. When the recipient's device receives an error in response to an attempt to retrieve the media file(s), it automatically initiates a recall request that is returned to the originating device. If the message and media are still available on the device, an abbreviated version of the message is re-sent, with the media.

Claims (79)

1. A method comprising:

receiving a request for a media file from a first destination device of a plurality of destination devices, the request comprising an identifier of a media file;

determining that the media file is unavailable for delivery to the first destination device;

transmitting an error message to the first destination device;

receiving a recall request including a message key from the first destination device;

transmitting the recall request to an originating device;

receiving the message key and a new identifier for the media file from the originating device; and

delivering the new identifier to the first destination device.

2. The method of claim 1 further comprising:

delivering the new identifier to all of the plurality of destination devices.

3. The method of claim 1 , further comprising:

delivering the new identifier to the first destination device when the error message is of a first type; and

delivering the new identifier to all of the plurality of destination devices when the error message is of a second type.

4. The method of claim 3 , wherein the first type of error message is a HyperText Transport Protocol (HTTP) error 404 and the second type of error message is a HTTP error 410 or a HTTP error 503.

5. The method of claim 1 , further comprising:

determining that the originating device is not online in response to receiving the recall request;

transmitting the recall request to a second destination device of the plurality of destination devices, wherein the second destination device is online; and

receiving the message key and the new identifier from the second destination device.

6. The method of claim 1 , further comprising:

determining that the originating device is not online in response to receiving the recall request;

transmitting the recall request to one or more other destination devices of the other plurality of destination devices; and

receiving the message key and the new identifier from one of the one or more other destination devices.

7. The method of claim 6 , comprising:

transmitting the recall request sequentially to the one or more other destination devices;

receiving the message key and the new identifier from a second destination device of the plurality of destination devices; and

ending transmitting the recall request when the message key and the new identifier are received.

8. An apparatus comprising:

one or more processors; and

a communication application executing on the one or more processors to:

receive a request for a media file from a first destination device of a plurality of destination devices, the request comprising an identifier of a media file;

determine that the media file is unavailable for delivery to the first destination device;

transmit an error message to the first destination device;

receive a recall request including a message key from the first destination device;

transmit the recall request to an originating device;

receive the message key and a new identifier for the media file from the originating device; and

deliver the new identifier to the first destination device.

9. The apparatus of claim 8 , the communication application to deliver the new identifier to all of the plurality of destination devices.

10. The apparatus of claim 8 , the communication application to:

deliver the new identifier to the first destination device when the error message is of a first type; and

deliver the new identifier to all of the plurality of destination devices when the error message is of a second type.

11. The apparatus of claim 8 , the communication application to:

receive a media message for delivery to the plurality of destination devices from the originating device, the media message comprising: text, the message key, and the media file.

12. The apparatus of claim 8 , the communication application to:

determine that the originating device is not online in response to receiving the recall request;

transmit the recall request to a second destination device of the plurality of destination devices, wherein the second destination device is online; and

receive the message key and the new identifier from the second destination device.

13. The apparatus of claim 8 , the communication application to

determine that the originating device is not online in response to receiving the recall request;

transmit the recall request to one or more other destination devices of the other plurality of destination devices; and

receive the message key and the new identifier from one of the one or more other destination devices.

14. The apparatus of claim 13 , the communication application to

transmit the recall request sequentially to the one or more other destination devices;

receive the message key and the new identifier from a second destination device of the plurality of destination devices; and

end transmitting the recall request when the message key and the new identifier are received.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processor, cause a system to:

receive a request for a media file from a first destination device of a plurality of destination devices, the request comprising an identifier of a media file;

determine that the media file is unavailable for delivery to the first destination device;

transmit an error message to the first destination device;

receive a recall request including a message key from the first destination device;

transmit the recall request to an originating device;

receive the message key and a new identifier for the media file from the originating device; and

deliver the new identifier to the first destination device.

16. The non-transitory computer-readable storage medium of claim 15 , comprising instructions that, when executed by the processor, cause the system to:

deliver the new identifier to all of the plurality of destination devices.

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

deliver the new identifier to the first destination device when the error message is of a first type; and

deliver the new identifier to all of the plurality of destination devices when the error message is of a second type.

18. The non-transitory computer-readable storage medium of claim 15 , comprising instructions that, when executed by the processor, cause the system to:

determine that the originating device is not online in response to receiving the recall request;

transmit the recall request to a second destination device of the plurality of destination devices, wherein the second destination device is online; and

receive the message key and the new identifier from the second destination device.

19. The non-transitory computer-readable storage medium of claim 15 , comprising instructions that, when executed by the processor, cause the system to:

determine that the originating device is not online in response to receiving the recall request;

transmit the recall request to one or more other destination devices of the other plurality of destination devices; and

receive the message key and the new identifier from one of the one or more other destination devices.

20. The non-transitory computer-readable storage medium of claim 18 , comprising instructions that, when executed by the processor, cause the system to:

transmit the recall request sequentially to the one or more other destination devices;

receive the message key and the new identifier from a second destination device of the plurality of destination devices; and

end transmitting the recall request when the message key and the new identifier is received.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2022
From: DONOHUE, MICHAEL B.; REED, ERIK JAMES
To: WHATSAPP INC.
Reel/Frame 061763/0468 →
CHANGE OF NAME Recorded Jun 22, 2021
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 056646/0001 →