Storage management for ephemeral messages
First Claim
1. A system comprising:
- a storage device for storing electronic messages sent between users of a network; and
a storage controller implemented by at least one processor and configured to;
assign a future time to each of a plurality of logical disks, each future time indicating when the logical disk is available for writing, the assignments based on an available storage capacity of the logical disk;
determine an estimated prospective deletion time for an electronic message;
selecting one of the plurality of logical disks having an assigned future time closest to the estimated prospective deletion time or having an assigned future time closest to the estimated prospective deletion time without being earlier than the estimated prospective deletion time; and
store the electronic message in the selected logical disk.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage controller processes electronic messages by partitioning a storage device into logical disks and designating a logical disk as unavailable based on its storage capacity being fully used. A future time is assigned to each logical disk that is available for writing, and an estimated deletion time is determined for an electronic message. The electronic message is stored in a logical disk that is identified by comparing the assigned future times of the logical disks to the estimated deletion time of the electronic message. The electronic message is deleted based on the detection of a triggering event. If deleting messages result in an unavailable logical disk having more than a threshold amount of unused storage capacity, then each of the electronic messages stored in the unavailable logical disk is copied to a logical disk available for writing and the unavailable designation is removed from the logical disk.
42 Citations
19 Claims
-
1. A system comprising:
-
a storage device for storing electronic messages sent between users of a network; and a storage controller implemented by at least one processor and configured to; assign a future time to each of a plurality of logical disks, each future time indicating when the logical disk is available for writing, the assignments based on an available storage capacity of the logical disk; determine an estimated prospective deletion time for an electronic message; selecting one of the plurality of logical disks having an assigned future time closest to the estimated prospective deletion time or having an assigned future time closest to the estimated prospective deletion time without being earlier than the estimated prospective deletion time; and store the electronic message in the selected logical disk. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 18, 19)
-
-
10. A method for storing electronic messages sent between users of a network, the method comprising:
-
assigning a future time to a plurality of logical disks; determining an estimated prospective deletion time for an electronic message; selecting one of the plurality of logical disks having an assigned future time closest to the estimated prospective deletion time or having an assigned future time closest to the estimated prospective deletion time without being earlier than the estimated prospective deletion time; and storing the electronic message in the selected logical disk. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A non-transitory machine-readable medium storing program code for storing electronic messages sent between users of a network which, when executed, is operative to cause a machine to perform the steps of:
-
assigning a future time to a plurality of logical disks; determining an estimated prospective deletion time for an electronic message; selecting one of the plurality of logical disks having an assigned future time closest to the estimated prospective deletion time or having an assigned future time closest to the estimated prospective deletion time without being earlier than the estimated prospective deletion time; and storing the electronic message in the selected logical disk. - View Dependent Claims (16, 17)
-
Specification