P
US10200330B2ActiveUtilityPatentIndex 68

Techniques for ephemeral messaging with a message queue

Assignee: FACEBOOK INCPriority: Dec 10, 2015Filed: Dec 10, 2015Granted: Feb 5, 2019
Est. expiryDec 10, 2035(~9.4 yrs left)· nominal 20-yr term from priority
Inventors:STEINER MATTHEWFEIN JEREMYMURPHY-CHUTORIAN ERIKYANG TINGBERTRAND PIERRE-LUCFULWILER NEIL JOHN
H04L 51/22H04L 47/622H04L 7/0337H04L 51/26H04L 51/226H04L 51/42
68
PatentIndex Score
4
Cited by
42
References
18
Claims

Abstract

Techniques for ephemeral message are described. In one embodiment, an apparatus may comprise a delayed-action worker module operative to wake according to a wake timer; determine a current update object for a delayed-action cursor for a recipient update queue for a messaging system, the delayed-action cursor associated with an action delay for the recipient update queue; determine a delayed-action activity for the current update object; perform the delay-action activity for the current update object; determine a next update object for the delayed-action cursor for the recipient update queue; and determine a next wake timer for the delayed-action worker module based on the action delay and a creation time for the next update object. Other embodiments are described and claimed.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An apparatus, comprising:
 a processor circuit on a device; 
 a delayed-action worker module, operative on the processor circuit to:
 wake according to a wake timer; 
 determine a current update object corresponding to an atomic modification to a message inbox for a recipient messaging endpoint in a recipient update queue indicated by a delayed-action cursor, the delayed-action cursor associated with a specific time delay for performing delayed-action activities for the current update object; 
 determine a delayed-action activity for the current update object; 
 perform the delayed-action activity for the current update object; 
 determine a next update object for the delayed-action cursor for the recipient update queue by scanning chronologically forwards through the recipient update queue until the next update object with a delayed-action indicator corresponding to the specific time delay associated with the delayed-action cursor is found; 
 associate the delayed-action cursor with the next update object; and 
 determine a next wake time for the delayed-action worker module based on the specific time delay associated with the delayed-action cursor and a creation time for the next update object; 
 wherein the specific time delay is selected from a pre-defined set of time delays, each time delay in the predefined set being unique time delay, such as to constrain the total number of delayed-action cursors by associating only one delayed-action cursor with each unique time delay. 
 
 
     
     
       2. The apparatus of  claim 1 , wherein the delayed-action activity comprises adding a message-delete command object to the recipient update queue. 
     
     
       3. The apparatus of  claim 1 , wherein the delayed-action activity comprises sending an automated reply to the current update object, further comprising:
 the delayed-action worker module operative to determine that the current update object hasn't been manually replied to prior to sending the automated reply. 
 
     
     
       4. The apparatus of  claim 1 , wherein the delayed-action cursor is associated with a delayed-action queue associated with the specific time delay, wherein determining the next update object for the delayed-action cursor for the recipient update queue comprises retrieving the next update object from the delayed-action queue. 
     
     
       5. The apparatus of  claim 1 , the current update object comprising a read receipt for a message, wherein the delayed-action activity comprises adding a message-delete command object for the message to the recipient update queue. 
     
     
       6. At least one non-transitory computer-readable storage medium comprising instructions that, when executed, cause a system to:
 wake a delayed-action worker according to a wake timer; 
 determine a current update object corresponding to an atomic modification to a message inbox for a recipient messaging endpoint in a recipient update queue indicated by a delayed-action cursor associated with a specific time delay for performing delayed-action activities for the current update object; 
 determine a delayed-action activity for the current update object; 
 perform the delayed-action activity for the current update object; 
 determine a next update object for the delayed-action cursor for the recipient update queue by scanning chronologically forwards through the recipient update queue until the next update object with a delayed-action indicator corresponding to the specific time delay associated with the delayed-action cursor is found; 
 associate the delayed-action cursor with the next update object; and 
 determine a next wake time for the delayed-action worker based on the specific time delay associated with the delay-action cursor and a creation time for the next update object 
 wherein the specific time delay is selected from a pre-defined set of time delays, each time delay in the predefined set being unique time delay, such as to constrain the total number of delayed-action cursors by associating only one delayed-action cursor with each unique time delay. 
 
     
     
       7. The non-transitory computer-readable storage medium of  claim 6 , wherein the delayed-action activity comprises adding a message-delete command object to the recipient update queue. 
     
     
       8. The non-transitory computer-readable storage medium of  claim 6 , wherein the delayed-action activity comprises sending an automated reply to the current update object, comprising further instructions that, when executed, cause a system to:
 determine that the current update object hasn't been manually replied to prior to sending the automated reply. 
 
     
     
       9. The non-transitory computer-readable storage medium of  claim 6 , wherein the delayed-action cursor is associated with a delayed-action queue associated with the specific time delay, wherein determining the next update object for the delayed-action cursor for the recipient update queue comprises retrieving the next update object from the delayed-action queue. 
     
     
       10. The non-transitory computer-readable storage medium of  claim 6 , the current update object comprising a read receipt for a message, wherein the delayed-action activity comprises adding a message-delete command object for the message to the recipient update queue. 
     
     
       11. The apparatus of  claim 2 , the specific time delay defined according to an ephemeral-messaging setting for a message thread of the messaging system. 
     
     
       12. The non-transitory computer-readable storage medium of  claim 7 , the specific time delay defined according to an ephemeral-messaging setting for a message thread of the messaging system. 
     
     
       13. The apparatus of  claim 4 , further comprising:
 the delayed-action worker module operative to scan chronologically forwards through the recipient update queue adding update objects to the delayed-action queue where the update objects have a delayed-action indicator corresponding to the specific time delay. 
 
     
     
       14. The non-transitory computer-readable storage medium of  claim 9 , comprising further instructions that, when executed, cause a system to:
 scan chronologically forwards through the recipient update queue adding update objects to the delayed-action queue where the update objects have a delayed-action indicator corresponding to the specific time delay. 
 
     
     
       15. The apparatus of  claim 1  further comprising multiple delayed-action worker modules associated with a recipient update queue for a messaging system. 
     
     
       16. The apparatus of  claim 14 , the delayed-action worker modules further operative on the processor circuit to:
 lock the recipient update queue prior to performing the delayed-action activity for the current update object; and 
 unlock the recipient update queue subsequent to performing the next delayed-action activity for the current update object. 
 
     
     
       17. The non-transitory computer-readable storage medium of  claim 6  further comprising instructions that, when executed, cause a system to wake multiple delayed-action workers associated with a recipient update queue in a messaging system. 
     
     
       18. The non-transitory computer-readable storage medium of  claim 17 , further comprising instructions that, when executed, cause the delayed-action worker modules to:
 lock the recipient update queue prior to performing the delayed-action activity for the current update object; and 
 unlock the recipient update queue subsequent to performing the next delayed-action activity for the current update object.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.