Cloud DVR optimization
In one embodiment, a method, system and apparatus are described for cloud digital video recorder optimization. A cloud based storage unit stores recorded content items in response to recording requests by users from among a plurality of users, each recorded content item belonging to at least one content item type category and each user belonging to at least one user type category. A processor receives log files tracking the recording requests, applies a data-driven procedure to the log files on a basis of at least one of: the at least one content item type category and the at least one user type category, and assigns each recorded content item to a group associated with a second plurality of users and a co-related group of content items of a given content item type category and determines times to delete each recorded content item from the cloud based storage unit. Related methods, systems, and apparatus are also described.
1. A method comprising:
determining playback time of a recorded content item, wherein determining the playback time of the recorded content item comprises:
assigning the recorded content item to a group associated with a plurality of users of a user type category and a co-related group associated with a plurality of content items of a content item type category based on a similarity between a user and the recorded content, and wherein assigning the recorded content item comprises:
determining an average distance between the plurality of users and the recorded content item per group and per co-related group,
provisionally assigning the recorded content item into each groups and each co-related groups, and
assigning the recorded content item into the group and the co-related group having a smallest change in the average distance before and after provisional assignment, and
determining the playback time of the recorded content item based on the group and the co-group;
receiving cost data corresponding to a cost to store content and a cost to reconstitute content; and
determining, based on the playback time and the cost, an optimal time to delete the recorded content item.
2. The method of claim 1 , further comprising deleting the recorded content item at the determined optimal time.
3. The method of claim 1 , wherein the content item type comprises content genres.
4. The method of claim 1 , wherein the user type comprises user demographics.
5. The method of claim 1 , wherein the recorded content item is stored on a cloud based storage unit.
6. The method of claim 5 , wherein the cloud based storage unit comprises a physical storage media.
7. The method of claim 1 , wherein determining the optimal time comprises applying a statistical method-based data-driven procedure.
8. The method of claim 7 , wherein applying the statistical method-based data-driven procedure comprises applying a Jaccard index.
9. The method of claim 7 , wherein applying the statistical method-based data-driven procedure comprises using an average last play back time of recorded content types and user types.
10. The method of claim 1 , wherein determining the optimal times comprises applying a machine learning data-driven procedure.
11. The method of claim 10 , wherein applying the machine learning data-driven procedure comprises applying a co-clustering machine learning procedure, where a given user type is co-clustered with a given recorded content type.
12. The method of claim 11 , wherein the co-clustering machine learning procedure comprises a spectral co-clustering machine learning procedure.
13. A system comprising:
a memory storage; and
a processing unit coupled to the memory storage, wherein the processing unit is operative to:
determine a playback time of a recorded content item, wherein determining the playback time of the recorded content item comprises:
assigning the recorded content item to a group associated with a plurality of users of a user type category and a co-related group associated with a plurality of content items of a content item type category based on a similarity between a user and the recorded content, and wherein assigning the recorded content item comprises:
determining an average distance between the plurality of users and the recorded content item per group and per co-related group,
provisionally assigning the recorded content item into each groups and each co-related groups, and
assigning the recorded content item into the group and the co-related group having a smallest change in the average distance before and after provisional assignment, and
determining the playback time of the recorded content item based on the group and the co-group;
receive cost data corresponding to a cost to store the recorded content item and a cost to reconstitute the recorded content item; and
determine, based on the playback time and the cost data, an optimal time to delete recorded content item.
14. The system of claim 13 , wherein the processing unit is further operative to delete the recorded content item at the determined optimal time.
15. The system of claim 13 , wherein the content type comprises content genres.
16. The system of claim 13 , wherein the user type comprises user demographics.
17. A non-transitory computer-readable medium that stores a set of instructions which when executed perform a method executed by the set of instructions comprising:
determining a playback time of a recorded content item, wherein determining the playback time of the recorded content item comprises:
assigning the recorded content item to a group associated with a plurality of users of a user type category and a co-related group associated with a plurality of content items of a content item type category based on a similarity between a user and the recorded content, and wherein assigning the recorded content item comprises:
determining an average distance between the plurality of users and the recorded content item per group and per co-related group,
provisionally assigning the recorded content item into each groups and each co-related groups, and
assigning the recorded content item into the group and the co-related group having a smallest change in the average distance before and after provisional assignment, and
determining the playback time of the recorded content item based on the group and the co-group;
receiving cost data corresponding to a cost to store the recorded content item and a cost to reconstitute the recorded content item; and
determining, based on the playback time and the cost data, an optimal time to delete the recorded content item.
18. The non-transitory computer-readable medium of claim 17 , wherein determining the optimal time comprises applying a machine learning data-driven procedure.
19. The non-transitory computer-readable medium of claim 18 , wherein applying the machine learning data-driven procedure comprises applying a co-clustering machine learning procedure, where a given user type is co-clustered with a given recorded content type.
20. The non-transitory computer-readable medium of claim 19 , wherein the co-clustering machine learning procedure comprises a spectral co-clustering machine learning procedure.