Digital video recording with remote storage
Centralized storage and playback of user-recorded television programming eliminates the need for expensive DVR devices to be deployed in the field. Further, the methods used to initiate storage and provide playback of stored media respect copyright principles.
1 . A content storage and distribution system for storing a program, the content storage and distribution system comprising:
a content storage area having a first dedicated storage space and a second dedicated storage space allocated to a first user and a second user, respectively;
a content processing server configured to perform a plurality of iterations, each iteration comprising:
storing a shared portion of the program;
creating a first copy of the shared portion of the program and a second copy of the shared portion of the program, the first copy of the shared portion of the program and the second copy of the shared portion of the program associated with the first user and the second user, respectively;
storing the first copy of the shared portion of the program and the second copy of the shared portion of the program to a first copy of the program stored in the first dedicated storage space and a second copy of the program stored in the second dedicated storage space, respectively; and
deleting the shared portion of the program after the first copy of the shared portion of the program and the second copy of the shared portion of the program has been recorded stored to the first copy of the program and to the second copy of the program, respectively;
wherein the iterations are performed until a first complete copy of the program is stored in the first dedicated storage space and a second complete copy of the program is stored in the second dedicated storage space.
2 . The content storage and distribution system of claim 1 , wherein the shared portion of the program comprises a copyright compliant portion of the program.
3 . The content storage and distribution system of claim 2 , wherein the copyright compliant portion of the program comprises a de minimis portion of the program.
4 . The content storage and distribution system of claim 1 ,
wherein for each iteration, the content processing server is further configured to store another shared portion of the program.
5 . The content storage and distribution system of claim 1 , wherein the content processing server is further configured to:
aggregate a first command from the first user to record the program and a second command from the second user to record the program into a single command to record the program, the single command including a first identification of the first user, a second identification of the second user, and an asset identifier that uniquely identifies the program; and
create the first copy of the shared portion of the program and the second copy of the shared portion of the program in response to the single command.
6 . The content storage and distribution system of claim 1 , wherein the content processing server comprises:
a primary buffer configured to store the shared portion of the program; and
a first secondary buffer and a second secondary buffer configured to store the first copy of the shared portion of the program and the second copy of the shared portion of the program, respectively, wherein the content processing server is configured to delete the shared portion of the program from the primary buffer as the first copy of the shared portion of the program and the second copy of the shared portion of the program are being stored in the first secondary buffer and the second secondary buffer, respectively, such that no more than the shared portion of the program is stored in the primary buffer.
7 . A method for storing a program in a content storage and distribution system, the method comprising a plurality of iterations, each iteration comprising:
storing, by the content storage and distribution system, a shared portion of the program;
creating, by the content storage and distribution system, a first copy of the shared portion of the program and a second copy of the shared portion of the program, the first copy of the shared portion of the program and the second copy of the shared portion of the program associated with the first user and the second user, respectively;
recording, by the content storage and distribution system, the first copy of the shared portion of the program and the second copy of the shared portion of the program to a first copy of the program stored in a first dedicated storage space and a second copy of the program stored in a second dedicated storage space, respectively, the first dedicated storage space and the second dedicated storage space being allocated exclusively to the first user and the second user and, respectively; and
deleting, by the content storage and distribution system, the shared portion of the program after the first copy of the shared portion of the program and the second copy of the shared portion of the program have been stored to the first copy of the program and to the second copy of the program, respectively;
wherein the iterations are performed until a first complete copy of the program is stored in the first dedicated storage space and a second complete copy of the program is stored in the second dedicated storage space.
8 . The method of claim 7 , wherein the shared portion of the program comprises a copyright compliant portion of the program.
9 . The method of claim 8 , wherein the copyright compliant portion of the program comprises a de minimis portion of the program.
10 . The method of claim 7 , wherein each iteration, further comprises: storing another shared portion of the program.
11 . The method of claim 7 , further comprising:
aggregating, by the content storage and distribution system, a first command from the first user to record the program and a second command from the second user to record the program into a single command to record the program, the single command including a first identification of the first user, a second identification of the second user, and an asset identifier that uniquely identifies the program, and
wherein the creating comprises creating the first copy of the shared portion of the program and the second copy of the shared portion of the program in response to the single command.
12 . A content storage and distribution system for storing a program, the content storage and distribution system comprising:
a memory; and
one or more processors configured to perform a plurality of iterations, each iteration comprising:
storing a shared portion of the program;
creating a first copy of the shared portion of the program and a second copy of the shared portion of the program, the first copy of the shared portion of the program and the second copy of the shared portion of the program associated with the first user and the second user, respectively;
storing the first copy of the shared portion of the program and the second copy of the shared portion of the program to a first copy of the program stored in a first dedicated storage space and a second copy of the program stored in a second dedicated storage space, respectively, the first dedicated storage space and the second dedicated storage space allocated to the first user and the second user, respectively; and
deleting the shared portion of the program after the first copy of the shared portion of the program and the second copy of the shared portion of the program have been recorded to the first copy of the program stored in the first dedicated storage space and to the second copy of the program stored the second dedicated storage space, respectively;
wherein the iterations are performed until a first complete copy of the program is stored in the first dedicated storage space and a second complete copy of the program is stored in the second dedicated storage space.
13 . The content storage and distribution system of claim 12 , wherein the shared portion of the program comprises a copyright compliant portion of the program.
14 . The content storage and distribution system of claim 12 ,
wherein for each iteration, the one or more processors are further configured to store another shared portion of the program.
15 . The content storage and distribution system of claim 12 , wherein the instructions, when executed by the one or more processors are further configured to:
aggregate a first command from the first user to record the program and a second command from the second user to record the program into a single command to record the program, the single command including a first identification of the first user, a second identification of the second user, and an asset identifier that uniquely identifies the program; and
create the first copy of the shared portion of the program and the second copy of the shared portion of the program in response to the single command.