US 9,811,525 B1
Message and attachment deletion
Ruifang Ge, Palo Alto, CA (US); Rahul Narayan Iyer, Palo Alto, CA (US); Jiakai Liu, Palo Alto, CA (US); Kannan Muthukkaruppan, Union City, CA (US); Dylan Nugent, Chicago, IL (US); Anshuman Singh, Sunnyvale, CA (US); and Karthik Ranganathan, Fremont, CA (US)
Assigned to Facebook, Inc., Menlo Park, CA (US)
Filed by Facebook, Inc., Menlo Park, CA (US)
Filed on Mar. 14, 2013, as Appl. No. 13/827,740.
Int. Cl. G06F 7/00 (2006.01); G06F 17/00 (2006.01); G06F 17/30 (2006.01)
CPC G06F 17/30117 (2013.01) 16 Claims
OG exemplary drawing
 
1. A method, comprising:
receiving, by a message deletion module in a storage system, a request to delete a message associated with a first user of multiple users of the storage system;
identifying, by the message deletion module and based on a first key associated with the first user, a first value corresponding to the first user, the first value and the first key stored in a key-value store residing in computer memory on the storage system, wherein the first value represents a plurality of messages associated with the first user, wherein each key of the key-value store indicates one of the multiple users, and wherein each value of the key-value store is indexed by a key and structured to include multiple column portions that are associated with corresponding column families;
identifying, by the message deletion module, information associated with the message in an actions portion of the first value, the information including (a) an action log comprising a list of actions performed on the message and (b) attachment information, which includes an encryption key and a pointer, the encryption key comprising a key for decrypting an encrypted attachment and the pointer indicating a location of the encrypted attachment in an attachment data store;
removing, by the message deletion module, the information from the actions portion of the first value to be stored in a deletion portion of the first value, wherein the actions portion of the first value is associated with an actions column family; and
storing, by the message deletion module, the removed information in the deletion portion of the first value, wherein the deletion portion of the first value is associated with a deletion column family having an associated retention policy, wherein the action log is available in the storage system while the removed information is still stored in the deletion portion.