Storage optimization in a cloud-enabled network-based digital video recorder
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving, by a network-based digital video recording (nDVR) system comprising one or more computers, a request to copy a file to a plurality of locations;
associating, by the nDVR system, a dynamically adjustable quota to a user account based at least in part on a user subscription;
sending, by the nDVR system, a notification upon determining the quota has reached a threshold;
processing, by the nDVR system, the file, wherein the processing comprises apportioning the file into a plurality of data blocks;
periodically scanning, by the nDVR system, at least one of the plurality of data blocks to determine if the at least one of the plurality of data blocks is to be deleted;
storing, by the nDVR system, the plurality of data blocks to a location;
generating, by the nDVR system, a plurality of reference pointers associated with each of the plurality of data blocks; and
storing, by the nDVR system, the plurality of reference pointers;
wherein storing the plurality of reference pointers comprises storing the plurality of reference pointers to the plurality of locations, wherein at least one of the plurality of location is associated with a user account.
1 Assignment
0 Petitions
Accused Products
Abstract
This disclosure describes systems and methods related to cloud-enabled network-based digital video recording. In some embodiments, a request to copy a file to a plurality of target file locations may be received. A file may be retrieved and processed. The processing may include apportioning the file into a plurality of data blocks. At least one of the plurality of data blocks may be stored. A plurality of references pointers associated with each of the plurality of data blocks may be generated. The plurality of reference pointers may be stored to each of the plurality of file locations.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a network-based digital video recording (nDVR) system comprising one or more computers, a request to copy a file to a plurality of locations; associating, by the nDVR system, a dynamically adjustable quota to a user account based at least in part on a user subscription; sending, by the nDVR system, a notification upon determining the quota has reached a threshold; processing, by the nDVR system, the file, wherein the processing comprises apportioning the file into a plurality of data blocks; periodically scanning, by the nDVR system, at least one of the plurality of data blocks to determine if the at least one of the plurality of data blocks is to be deleted; storing, by the nDVR system, the plurality of data blocks to a location; generating, by the nDVR system, a plurality of reference pointers associated with each of the plurality of data blocks; and storing, by the nDVR system, the plurality of reference pointers; wherein storing the plurality of reference pointers comprises storing the plurality of reference pointers to the plurality of locations, wherein at least one of the plurality of location is associated with a user account. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
at least one memory storing computer-executable instructions; and at least one processor, wherein the at least one processor is configured to access the at least one memory and to execute the computer-executable instructions to; receive a request to copy a file to a plurality of locations; associate a dynamically adjustable quota to a user account based at least in part on a user subscription; send a notification upon determining the quota has reached a threshold; process the file, wherein the processing comprises apportioning the file into a plurality of data blocks; periodically scan at least one of the plurality of data blocks to determine if the at least one of the plurality of data blocks is to be deleted; store the plurality of data blocks to a location; generate a plurality of reference pointers associated with each of the plurality of data blocks; and store the plurality of reference pointers; wherein storing the plurality of reference pointers comprises storing the plurality of reference pointers to the plurality of locations, wherein at least one location is associated with a user account. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification