Managing storage of digital content
View Patent ↗Apparatuses, methods, systems, and program products are disclosed for managing storage of digital content. An eligibility module determines one or more content elements that are eligible for compression. A content element is determined to be eligible for compression based on one or more characteristics of the content element. A rate module determines a compression rate for each of the one or more content elements. The compression rate comprises an amount of compression to be applied to a content element. The amount of compression to be applied to the content element is determined as a function of one or more characteristics of the content element. A compression module compresses each of the one or more eligible content elements according to the determined compression rate.
1. An apparatus comprising:
a processor;
a memory that stores code executable by the processor, the code comprising:
code that determines an age of each of one or more content elements, the age of a content element determined based on an amount of time since the content element was originally created;
code that determines a number of times that each of the one or more content elements is accessed;
code that determines one or more content elements that are eligible for compression in response to the determined age of each of the one or more content elements exceeding a threshold age and the determined number of times that each of the one or more content elements is accessed being less than an access threshold;
code that determines a compression rate for each of the one or more content elements as a function of the age of the content element such that older content elements are compressed at a higher rate than younger content elements, and as a function of the number of times that that the content element is accessed such that less accessed content elements are compressed at a higher rate than more accessed content elements, the compression rate comprising an amount of compression to be applied to a content element; and
code that compresses each of the one or more eligible content elements according to the determined compression rate.
2. The apparatus of claim 1 , wherein the popularity of the content element is determined based on user feedback associated with the content element, the user feedback comprising one or more of:
a number of comments associated with the content element;
a number of times that the content element has been shared; and
a number of likes associated with the content element.
3. The apparatus of claim 1 , further comprising code that checks a compression flag associated with a content element, the compression flag comprising a characteristic of the content element, wherein the content element is determined to be eligible for compression in response to the compression flag being set.
4. The apparatus of claim 3 , wherein the compression flag is associated with an account for an owner of the content element, the compression flag being settable by the owner in response to a type of the account comprising a premium account.
5. The apparatus of claim 4 , wherein the compression rate is customizable by an owner of a content element that has a premium account.
6. The apparatus of claim 1 , further comprising code that determines an amount of available storage capacity of a data center where the one or more content elements are stored, the amount of available storage capacity comprising a characteristic of a content element, wherein the compression rates for each of the one or more content elements are determined as a function of the amount of available storage capacity.
7. The apparatus of claim 1 , further comprising code that determines a storage cost for one or more content elements, the storage cost comprising a characteristic of a content element, wherein the compression rate for a content element is determined as a function of a storage cost for the content element.
8. The apparatus of claim 1 , wherein the one or more content elements comprise one or more of a document, a digital photograph, a video, and an audio file.
9. A method comprising:
determining, by a processor, an age of each of the one or more content elements, the age of a content element determined based an amount of time since the content element was originally created;
determining a number of times that each of the one or more content elements is accessed;
determining one or more content elements that are eligible for compression in response to the determined age of each of the one or more content elements exceeding a threshold age and the determined number of times that each of the one or more content elements is accessed being less than an access threshold;
determining a compression rate for each of the one or more content elements as a function of the age of the content element such that older content elements are compressed at a higher rate than younger content elements, and as a function of the number of times that that the content element is accessed such that less accessed content elements are compressed at a higher rate than more accessed content elements, the compression rate comprising an amount of compression to be applied to a content element; and
compressing each of the one or more eligible content elements according to the determined compression rate.
10. The method of claim 9 , wherein the popularity of the content element is determined based on user feedback associated with the content element, the user feedback comprising one or more of:
a number of comments associated with the content element;
a number of times that the content element has been shared; and
a number of likes associated with the content element.
11. The method of claim 9 , further comprising checking a compression flag associated with a content element, the compression flag comprising a characteristic of the content element, wherein the content element is determined to be eligible for compression in response to the compression flag being set.
12. The method of claim 9 , further comprising determining an amount of available storage capacity of a data center where the one or more content elements are stored, the amount of available storage capacity comprising a characteristic of a content element, wherein the compression rates for each of the one or more content elements are determined as a function of the amount of available storage capacity.
13. The method of claim 9 , further comprising determining a storage cost for one or more content elements, the storage cost comprising a characteristic of a content element, wherein the compression rate for a content element is determined as a function of a storage cost for the content element.
14. A program product comprising a computer readable storage medium that is not a transitory signal and stores code executable by a processor, the executable code comprising code to perform:
determining an age of each of one or more content elements, the age of a content element determined based on an amount of time since the content element was originally created;
determining a number of times that each of the one or more content elements is accessed;
determining one or more content elements that are eligible for compression in response to the determined age of each of the one or more content elements exceeding a threshold age and the determined number of times that each of the one or more content elements is accessed being less than an access threshold;
determining a compression rate for each of the one or more content elements as a function of the age of the content element such that older content elements are compressed at a higher rate than younger content elements, and as a function of the number of times that that the content element is accessed such that less accessed content elements are compressed at a higher rate than more accessed content elements, the compression rate comprising an amount of compression to be applied to a content element; and
compressing each of the one or more eligible content elements according to the determined compression rate.