Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming
10986390 · 2021-04-20
Assignee
Inventors
Cpc classification
H04N21/23113
ELECTRICITY
H04N21/2747
ELECTRICITY
H04N21/8456
ELECTRICITY
H04N21/47214
ELECTRICITY
H04N21/2387
ELECTRICITY
H04N21/26258
ELECTRICITY
H04N21/2662
ELECTRICITY
International classification
H04N7/173
ELECTRICITY
H04N21/472
ELECTRICITY
H04N21/239
ELECTRICITY
H04N21/218
ELECTRICITY
H04N21/2747
ELECTRICITY
H04N21/845
ELECTRICITY
H04N21/262
ELECTRICITY
Abstract
A recording device and a method are described herein that provide a network-based personal video recording service utilizing adaptive bit rate technology for a plurality of users. In operation, the recording device records at a minimum a single bit rate (one set of segmented files) of the broadcast content within each user's network personal video recorder storage unit. Plus, the recording device stores the other bit rates (remaining sets of segmented files) in a central storage location or some other storage location.
Claims
1. A system, in a content delivery network, for providing a network-based personal video recording service for a plurality of users, the system comprising: a plurality of video recorder storage units in the content delivery network; wherein the system is configured to: receive a record message from an end-user device associated with one user of the plurality of users, wherein the record message contains a request to record a broadcast content; store a plurality of sets of segmented files associated with the broadcast content, wherein each one of the sets of segmented files has a bitrate that is different than bitrates of the remaining sets of the segmented files; generate a unique manifest for the one user, wherein the unique manifest has references to segmented files associated with (1) one of the sets of segmented files stored in one of the video recorder storage units associated with the one user, and (2) the remaining sets of segmented files stored in a storage unit other than the one of the video recorder storage units associated with the one user; and send the unique manifest to the end-user device associated with the one user.
2. The system of claim 1, wherein the system is further configured to: receive a play-back message from the end-user device of the one user, wherein the play-back message includes one of the references in the unique manifest; use the one reference in the play-back message to retrieve a corresponding segmented file from either the one of the video recorder storage units associated with the one user or from the storage unit; send the retrieved segmented file to the end-user device; and repeat the second receive operation, the use operation, and the second send operation to provide requested segmented files of the recorded broadcast content in a sequential manner to the end-user device.
3. The system of claim 1, wherein the system is further configured to: delete the one set of segmented files stored in the one of the video recorder storage units associated with the one user, and the remaining sets of segmented files which are stored in the storage unit.
4. The system of claim 1, wherein: the storage unit is a general storage unit; and the system is further configured such that after receipt of the record message the store operation is started where the one of the sets of segmented files are stored in the one of the video recorder storage units associated with the one user, and when not already being stored begin to store the remaining sets of segmented files in the general storage unit.
5. The system of claim 4, wherein the record message contains a prescheduled record request to record the broadcast content during a particular start time and end time.
6. The system of claim 4, wherein the system is further configured to perform the store operation as follows: determine, upon receiving the record message from the end-user device of the one user, whether the broadcast content is currently being stored in the general storage unit; based on a result of the determining operation being no, begin to store the remaining sets of segmented files of the broadcast content in the general storage unit; after beginning to store the remaining sets of segmented files of the broadcast content in the general storage unit or based on a result of the determine operation being yes, begin to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user; and after beginning to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user, increment a general recording count for the broadcast content to indicate number of users recording the broadcast content.
7. The system of claim 4, wherein the system is further configured to stop the store operation as follows: determine, after an end time has been reached for recording the broadcast content for the one user, whether a general recording count is at one indicating that the one user is the only user that was recording the broadcast content; based on a result of the determine operation being yes, stop the storing of the remaining sets of segmented files in the general storage unit; after the stopping of the storing of the remaining sets of segmented files in the general storage unit or based on a result of the determine operation being no, stop the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user; and after the stopping of the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user, stop the generation of the unique manifest for the one user, and decrement the general recording count by one for the broadcast content.
8. The system of claim 4, wherein the system is further configured to: receive a delete message from the end-user device associated with the one user, wherein the delete message contains a request to delete the recorded broadcast content associated with the one user; delete the unique manifest of the one user; delete the one set of segmented files stored in the one of the video recorder storage units associated with the one user; determine whether the one user has permission for stored segmented files in the general storage unit that none of the remaining users can access; based on a result of the determine operating being yes, delete the stored segmented files in the general storage unit that none of the remaining users can access; and based on a result of the determine operating being no, do not delete the stored segmented files in the general storage unit that none of the remaining users can access.
9. The system of claim 1, wherein: the storage unit is a general storage unit; and the system is further configured such that before receiving the record message at least the remaining sets of segmented files are already being stored in the general storage unit, and after receiving the record message the one of the sets of segmented files are started to be stored in the one of the video recorder storage units associated with the one user.
10. The system of claim 1, wherein: the storage unit is one of the video recorder storage units which is not associated with the one user; the system is further configured to: wherein the store operation includes storing the plurality of sets of segmented files in the one of the video recorder storage units associated with the one user and in one or more of the video recorder storage units associated with one or more other users that also requested to record the broadcast content; after recording sessions stop for the one user and the one or more other users that requested to record the broadcast content then: identify common segmented files that have been stored in the one of the video recorder storage units associated with the one user and in the one or more of the video recorder storage units associated with one or more other users; determine which of the one user or the one or more other users that has longest recording session for the broadcast content; delete all of the identified common segmented files except for the one of the sets of segmented files which are stored in the video recorder storage units associated with the one user or the one or more other users that did not have the longest recording session for the broadcast content; and the generate operation includes re-writing the unique manifest associated with the one user when the one user is not the user that has the longest recording session for the broadcast content such that the re-written unique manifest has references to segmented files associated with the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user, and such that the re-written unique manifest has references to at least a portion of the identified common segmented files which are stored in the video recorder storage unit associated with the user that has the longest recording session, wherein the at least a portion of the identified common segmented files do not include the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user.
11. A method implemented in a system, in a content delivery network, for providing a network-based personal video recording service for a plurality of users, wherein the system comprises a plurality of video recorder storage units in the content delivery network, the method comprising: receiving a record message from an end-user device associated with one user of the plurality of users, wherein the record message contains a request to record a broadcast content; storing a plurality of sets of segmented files associated with the broadcast content, wherein each one of the sets of segmented files has a bitrate that is different than bitrates of the remaining sets of the segmented files; generating a unique manifest for the one user, wherein the unique manifest has references to segmented files associated with (1) one of the sets of segmented files stored in one of the video recorder storage units associated with the one user, and (2) the remaining sets of segmented files stored in a storage unit other than the one of the video recorder storage units associated with the one user; and sending the unique manifest to the end-user device associated with the one user.
12. The method of claim 11, further comprising: receiving a play-back message from the end-user device of the one user, wherein the play-back message includes one of the references in the unique manifest; using the one reference in the play-back message to retrieve a corresponding segmented file from either the one of the video recorder storage units associated with the one user or from the storage unit; sending the retrieved segmented file to the end-user device; and repeating the second receiving step, the using step, and the second sending step to provide requested segmented files of the recorded broadcast content in a sequential manner to the end-user device.
13. The method of claim 11, further comprising: deleting the one set of segmented files stored in the one of the video recorder storage units associated with the one user, and the remaining sets of segmented files which are stored in the storage unit.
14. The method of claim 11, wherein: the storage unit is a general storage unit; and after receiving the record message, the storing step is started such that the one of the sets of segmented files are stored in the one of the video recorder storage units associated with the one user, and beginning to store the remaining sets of segmented files in the general storage unit when the remaining sets of segmented files are not already being stored in the general storage unit.
15. The method of claim 14, wherein the storing step further comprises: upon receiving the record message from the end-user device of the one user, determining whether the broadcast content is currently being stored in the general storage unit; based on a result of the determining step being no, beginning to store the remaining sets of segmented files of the broadcast content in the general storage unit; after beginning to store the remaining sets of segmented files of the broadcast content in the general storage unit or based on a result of the determining step being yes, beginning to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user; and after beginning to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user, incrementing a general recording count for the broadcast content to indicate number of users recording the broadcast content.
16. The method of claim 14, wherein the storing step is stopped as follows: determining, after an end time has been reached for recording the broadcast content for the one user, whether a general recording count is at one indicating that the one user is the only user that was recording the broadcast content; based on a result of the determining step being yes, stopping the storing of the remaining sets of segmented files in the general storage unit; after the stopping of the storing of the remaining sets of segmented files in the general storage unit or based on a result of the determining step being no, stopping the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user; and after the stopping of the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user, stopping the generation of the unique manifest for the one user, and decrementing the general recording count by one for the broadcast content.
17. The method of claim 14, further comprising a step of deleting the stored broadcast content by: receiving a delete message from the end-user device associated with the one user, wherein the delete message contains a request to delete the recorded broadcast content associated with the one user; deleting the unique manifest of the one user; deleting the one set of segmented files stored in the one of the video recorder storage units associated with the one user; determining whether the one user has permission for stored segmented files in the general storage unit that none of the remaining users can access; based on a result of the determining step being yes, deleting the stored segmented files in the general storage unit that none of the remaining users can access; and based on a result of the determining step being no, do not delete the stored segmented files in the general storage unit that none of the remaining users can access.
18. The method of claim 11, wherein: the storage unit is a general storage unit; and before receiving the record message, storing at least the remaining sets of segmented files in the general storage unit and after receiving the record message starting to store the one of the sets of segmented files in the one of the video recorder storage units associated with the one user.
19. The method of claim 11, wherein: the storage unit is one of the video recorder storage units which is not associated with the one user; the storing operation includes storing the plurality of sets of segmented files in the one of the video recorder storage units associated with the one user and in one or more of the video recorder storage units associated with one or more other users that also requested to record the broadcast content; after recording sessions stop for the one user and the one or more other users that requested to record the broadcast content then: identifying common segmented files that have been stored in the one of the video recorder storage units associated with the one user and in the one or more of the video recorder storage units associated with one or more other users; determining which of the one user or the one or more other users that has longest recording session for the broadcast content; deleting all of the identified common segmented files except for the one of the sets of segmented files which are stored in the video recorder storage units associated with the one user or the one or more other users that did not have the longest recording session for the broadcast content; and the generating step includes re-writing the unique manifest associated with the one user if the one user is not the user that has the longest recording session for the broadcast content such that the re-written unique manifest has references to segmented files associated with the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user, and such that the re-written unique manifest has references to at least a portion of the identified common segmented files which are stored in the video recorder storage unit associated with the user that has the longest recording session, wherein the at least a portion of the identified common segmented files do not include the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user.
20. A non-transitory computer readable medium comprising computer readable code that, when executed by a system, in a content delivery network, having a plurality of video recorder storage units in the content delivery network, causes the system to: receive a record message from an end-user device associated with one user of the plurality of users, wherein the record message contains a request to record a broadcast content; store a plurality of sets of segmented files associated with the broadcast content, wherein each one of the sets of segmented files has a bitrate that is different than bitrates of the remaining sets of the segmented files; generate a unique manifest for the one user, wherein the unique manifest has references to segmented files associated with (1) one of the sets of segmented files stored in one of the video recorder storage units associated with the one user, and (2) the remaining sets of segmented files stored in a storage unit other than the one of the video recorder storage units associated with the one user; and send the unique manifest to the end-user device associated with the one user.
21. The computer readable medium of claim 20, further comprising computer readable code that, when executed, causes the system to: receive a play-back message from the end-user device of the one user, wherein the play-back message includes one of the references in the unique manifest; use the one reference in the play-back message to retrieve a corresponding segmented file from either the one of the video recorder storage units associated with the one user or from the storage unit; send the retrieved segmented file to the end-user device; and repeat the second receive operation, the use operation, and the second send operation to provide requested segmented files of the recorded broadcast content in a sequential manner to the end-user device.
22. The computer readable medium of claim 20, further comprising computer readable code that, when executed, causes the system to: delete the one set of segmented files stored in the one of the video recorder storage units associated with the one user, and the remaining sets of segmented files which are stored in the storage unit.
23. The computer readable medium of claim 20, wherein: the storage unit is a general storage unit; and wherein after receipt of the record message the store operation is started where the one of the sets of segmented files are stored in the one of the video recorder storage units associated with the one user, and when not already being stored begin to store the remaining sets of segmented files in the general storage unit.
24. The computer readable medium of claim 23, wherein the record message contains a prescheduled record request to record the broadcast content during a particular start time and end time.
25. The computer readable medium of claim 23, wherein the store operation comprises the following operations: determine, upon receiving the record message from the end-user device of the one user, whether the broadcast content is currently being stored in the general storage unit; based on a result of the determining operation being no, begin to store the remaining sets of segmented files of the broadcast content in the general storage unit; after beginning to store the remaining sets of segmented files of the broadcast content in the general storage unit or based on a result of the determine operation being yes, begin to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user; and after beginning to store the one of the sets of segmented files of the broadcast content in the one of the video recorder storage units associated with the one user, increment a general recording count for the broadcast content to indicate number of users recording the broadcast content.
26. The computer readable medium of claim 23, further comprising computer readable code that, when executed, causes the system to stop the store operation as follows: determine, after an end time has been reached for recording the broadcast content for the one user, whether a general recording count is at one indicating that the one user is the only user that was recording the broadcast content; based on a result of the determine operation being yes, stop the storing of the remaining sets of segmented files in the general storage unit; after the stopping of the storing of the remaining sets of segmented files in the general storage unit or based on a result of the determine operation being no, stop the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user; and after the stopping of the storing of the one of the sets of segmented files in the one of the video recorder storage units associated with the one user, stop the generation of the unique manifest for the one user, and decrement the general recording count by one for the broadcast content.
27. The computer readable medium of claim 23, further comprising computer readable code that, when executed, causes the system to: receive a delete message from the end-user device associated with the one user, wherein the delete message contains a request to delete the recorded broadcast content associated with the one user; delete the unique manifest of the one user; delete the one set of segmented files stored in the one of the video recorder storage units associated with the one user; determine whether the one user has permission for stored segmented files in the general storage unit that none of the remaining users can access; based on a result of the determine operating being yes, delete the stored segmented files in the general storage unit that none of the remaining users can access; and based on a result of the determine operating being no, do not delete the stored segmented files in the general storage unit that none of the remaining users can access.
28. The computer readable medium of claim 20, wherein: the storage unit is a general storage unit; and wherein before receiving the record message at least the remaining sets of segmented files are already being stored in the general storage unit, and after receiving the record message the one of the sets of segmented files are started to be stored in the one of the video recorder storage units associated with the one user.
29. The computer readable medium of claim 20, wherein the storage unit is one of the video recorder storage units which is not associated with the one user; wherein the store operation includes storing the plurality of sets of segmented files in the one of the video recorder storage units associated with the one user and in one or more of the video recorder storage units associated with one or more other users that also requested to record the broadcast content; and wherein the computer readable medium further comprises computer readable code that, when executed, causes the system to: after recording sessions stop for the one user and the one or more other users that requested to record the broadcast content then: identify common segmented files that have been stored in the one of the video recorder storage units associated with the one user and in the one or more of the video recorder storage units associated with one or more other users; determine which of the one user or the one or more other users that has longest recording session for the broadcast content; delete all of the identified common segmented files except for the one of the sets of segmented files which are stored in the video recorder storage units associated with the one user or the one or more other users that did not have the longest recording session for the broadcast content; and the generate operation includes re-writing the unique manifest associated with the one user when the one user is not the user that has the longest recording session for the broadcast content such that the re-written unique manifest has references to segmented files associated with the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user, and such that the re-written unique manifest has references to at least a portion of the identified common segmented files which are stored in the video recorder storage unit associated with the user that has the longest recording session, wherein the at least a portion of the identified common segmented files do not include the one set of segmented files which are stored in the one of the video recorder storage units associated with the one user.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) A more complete understanding of the present invention may be obtained by reference to the following detailed description when taken in conjunction with the accompanying drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) FIG. 2G1-2G3 is a flowchart illustrating an exemplary method that can be performed by the recording device shown in
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) Referring to
(15) The adaptive bit rate encoder 108 is configured to receive a broadcast content 112 (e.g., channel Z with a resolution of 1920×1080 at 15 Mbs) and generate multiple files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 (for example) of the same video and audio content but which are encoded at different bit rates. In this example, the adaptive bit rate encoder 108 receives the broadcast content 112 (1920×1080 15 Mbs) and outputs a 1920×1080 10 Mbs file 114.sub.1, a 1920×1080 9 Mbs file 114.sub.2, a 1920×1080 8 Mbs file 114.sub.3, a 1280×720 5 Mbs file 114.sub.4, a 1280×720 4 Mbs file 114.sub.5, a 1280×720 3 Mbs file 114.sub.6, a 720×480 2.2 Mbs file 114.sub.7, a 720×480 1.8 Mbs file 114.sub.8, a 720×480 1.4 Mbs file 114.sub.9, a 640×360 900 Kbs file 114.sub.10, a 400×224 600 Kbs file 114.sub.11, and a 400×224 300 Kbs file 114.sub.12. For clarity, only one broadcast content 112 (e.g., channel Z) is shown and described herein.
(16) The segmenting device 110 is configured to receive the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 and then segment each of the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 into multiple segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n. Each of the segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n contains video and audio packets for a predetermined time duration (e.g., 10 seconds). It should be appreciated that the segmented files 116.sub.a1-n have a higher quality (higher bit rate) than segmented files 116.sub.b1-n which in turn have a higher quality (higher bit rate) than segmented files 116.sub.c1-n and so on where the segmented files 116.sub.l1-n have the lowest quality (lowest bit rate). The recording device 100 receives the multiple sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n from the segmenting device 110. A detailed description is provided next on how the recording device 100 is configured to store these segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n in order provide the network-based personal video recording service 102 for the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n in accordance with an embodiment of the present invention.
(17) The recording device 100 is shown as having a processor 118, a memory 120, multiple PVR storage units 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n and an optional general storage unit 124. The recording device 100 can have additional well-known components but for clarity only the components needed to explain the present invention are described herein. The recording device 100 is configured such that the processor 118 interfaces with the memory 120 and executes processor-executable instructions stored in the memory 120 to enable the following operations:
(18) 1. Receiving a record message 126.sub.1 from an end-user device 128.sub.1 (e.g., set-top-box computer, laptop computer, mobile phone (smart phone), tablet, internet capable television) associated with user 104.sub.1 (for example)(see
(19) 2. Storing multiple sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n associated with the broadcast content 112 (see
(20) 3. Generating a unique manifest 130.sub.1 (or similar document) for the user 104.sub.1 (see
(21) 4. Sending the unique manifest 130.sub.1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(22) 5. Receiving a play-back message 136 from the end-user device 128.sub.1 associated with user 104.sub.1 (see
(23) 6. Using the one reference 132.sub.1 in the play-back message 136 to retrieve a corresponding segmented file 116.sub.a1 (for example) from the PVR storage unit 122.sub.1 associated with user 104.sub.1 or from the storage unit 122.sub.2, 122.sub.3 . . . 122.sub.n and 124 depending on which storage unit 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n and 124 is actually storing the requested segmented file 116.sub.a1 (see
(24) 7. Sending the retrieved segmented file 116.sub.a1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(25) 8. Repeating the second receiving operation (step 5), the using operation (step 6), and the second sending operation (7) to provide in a sequential manner the requested segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4, 116.sub.k5 . . . 116jn (for example) of the recorded broadcast content 112 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(26) 9. Deleting the (1) one set of segmented files 116.sub.l1-n (for example) stored in the specific PVR storage unit 122.sub.1 associated with user 104.sub.1, and (2) the remaining sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n which are stored in a storage unit 122.sub.2, 122.sub.3 . . . 122.sub.n or 124 other than the PVR storage unit 122.sub.1 associated with user 104.sub.1 after receiving a delete request 139.sub.1 from user 104.sub.1 (see
(27) Note: The description above relates to providing the network-based personal video recording service 102 for one user 104.sub.1 but it should be appreciated that the same steps can be performed by the recording device 100 to provide the network-based personal video recording service 102 for any number of users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n each of which have their own end-user device 128.sub.1, 128.sub.2, 128.sub.3 . . . 128.sub.n and each of which can record the same broadcast content 112 (e.g., channel Z) or different broadcast content (e.g., channels A-Y) at the same or different times.
(28) It should be appreciated that there a many ways one could configure the recording device 100 so as to provide the network-based personal video recording service 102 for the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n based on the teachings that have described in
(29) First Embodiment (
(30) Second Embodiment (
(31) Third Embodiment (
(32) Referring to
(33) The adaptive bit rate encoder 108 is configured to receive the broadcast content 112 (e.g., channel Z with a resolution of 1920×1080 at 15 Mbs) and generate multiple files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 (for example) of the same video and audio content but which are encoded at different bit rates. In this example, the adaptive bit rate encoder 404 receives the broadcast content 112 (1920×1080 15 Mbs) and outputs a 1920×1080 10 Mbs file 114.sub.1, a 1920×1080 9 Mbs file 114.sub.2, a 1920×1080 8 Mbs file 114.sub.3, a 1280×720 5 Mbs file 114.sub.4, a 1280×720 4 Mbs file 114.sub.5, a 1280×720 3 Mbs file 114.sub.6, a 720×480 2.2 Mbs file 114.sub.7, a 720×480 1.8 Mbs file 114.sub.8, a 720×480 1.4 Mbs file 114.sub.9, a 640×360 900 Kbs file 114.sub.10, a 400×224 600 Kbs file 114.sub.11, and a 400×224 300 Kbs file 114.sub.12.
(34) The segmenting device 110 is configured to receive the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 and then segment each of the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 into multiple segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n. Each of the segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n contains video and audio packets for a predetermined time duration (e.g., 10 seconds). It should be appreciated that the segmented files 116.sub.a1-n have a higher quality (higher bit rate) than segmented files 116.sub.b1-n which in turn have a higher quality (higher bit rate) than segmented files 116.sub.c1-n and so on where the segmented files 116.sub.l1-n have the lowest quality (lowest bit rate). The recording device 100a receives the multiple sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n from the segmenting device 110. A detailed description is provided next on how the recording device 100a is configured to store these segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n to provide the network-based personal video recording service 102 for the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n in accordance with the first embodiment of the present invention.
(35) The recording device 100a is shown as having a processor 118, a memory 120, multiple PVR storage units 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n and the general storage unit 124. The recording device 100a can have additional well-known components but for clarity only the components needed to explain the present invention are described herein. The recording device 100a is configured such that the processor 118 interfaces with the memory 120 and executes processor-executable instructions stored in the memory 120 to enable the following operations:
(36) 1. Receiving a record message 126.sub.1 from an end-user device 128.sub.1 (e.g., set-top-box computer, laptop computer, mobile phone (smart phone), tablet, internet capable television) associated with user 104.sub.1 (for example)(see
(37) 2. Storing one of the sets of segmented files 116.sub.l1-n (e.g., the lowest bit rate) in the network PVR storage unit 122.sub.1 associated with user 104.sub.1 (see
(38) 3. Generating a unique manifest 130.sub.1 for the user 104.sub.1 (see
(39) 4. Sending the unique manifest 130.sub.1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(40) 5. Receiving a play-back message 136.sub.1 from the end-user device 128.sub.1 associated with user 104.sub.1 (see
(41) 6. Using the one reference 132.sub.1 in the play-back message 136.sub.1 to retrieve a corresponding segmented file 116.sub.a1 (for example) from either the PVR storage unit 122.sub.1 associated with user 104.sub.1 or from the general storage unit 124 depending on which storage unit 122.sub.1 or 124 is actually storing the requested segmented file 116.sub.a1 (see
(42) 7. Sending the retrieved segmented file 116.sub.a1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(43) 8. Repeating the second receiving operation (step 5) by receiving play-back messages 136.sub.2, 136.sub.3, 136.sub.4 . . . 136.sub.n with references 132.sub.2, 132.sub.3, 132.sub.4 . . . 132.sub.n, the using operation (step 6) to retrieve segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116.sub.jn (for example), and the second sending operation (step 7) by sending the retrieved segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116j.sub.n of the broadcast content 112 in a sequential manner to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(44) 9. Deleting the (1) one set of segmented files 116.sub.l1-n (for example) stored in the specific PVR storage unit 122.sub.1 associated with user 104.sub.1, and (2) the remaining sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n which are stored in the general storage unit 124 after receiving a delete request 139.sub.1 from user 104.sub.1 (see
(45) Note: The description above with respect to steps 5-9 relates to providing the network-based personal video recording service 102 for one user 104.sub.1 but it should be appreciated that the same steps can be performed by the recording device 100a to provide the network-based personal video recording service 102 for any number of users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n each of which have their own end-user device 128.sub.1, 128.sub.2, 128.sub.3 . . . 128.sub.n and each of which can record the same broadcast content 112 (e.g., channel Z) or different broadcast content (e.g., channels A-Y) at the same time or different times.
(46) Referring to
(47) Referring to
(48) Referring to
(49) Referring to FIG. 2G1-2G3, there is shown a basic flowchart illustrating an exemplary method 200g that can be performed by the recording device 100a to delete a recorded broadcast content 112 in accordance with the first embodiment of the present invention (see the aforementioned step 9 and
(50) Referring to
(51) The adaptive bit rate encoder 108 is configured to receive the broadcast content 112 (e.g., channel Z with a resolution of 1920×1080 at 15 Mbs) and generate multiple files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 (for example) of the same video and audio content but which are encoded at different bit rates. In this example, the adaptive bit rate encoder 404 receives the broadcast content 112 (1920×1080 15 Mbs) and outputs a 1920×1080 10 Mbs file 114.sub.1, a 1920×1080 9 Mbs file 114.sub.2, a 1920×1080 8 Mbs file 114.sub.3, a 1280×720 5 Mbs file 114.sub.4, a 1280×720 4 Mbs file 114.sub.5, a 1280×720 3 Mbs file 114.sub.6, a 720×480 2.2 Mbs file 114.sub.7, a 720×480 1.8 Mbs file 114.sub.8, a 720×480 1.4 Mbs file 114.sub.9, a 640×360 900 Kbs file 114.sub.10, a 400×224 600 Kbs file 114.sub.11, and a 400×224 300 Kbs file 114.sub.12.
(52) The segmenting device 110 is configured to receive the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 and then segment each of the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 into multiple segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n. Each of the segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n contains video and audio packets for a predetermined time duration (e.g., 10 seconds). It should be appreciated that the segmented files 116.sub.a1-n have a higher quality (higher bit rate) than segmented files 116.sub.b1-n which in turn have a higher quality (higher bit rate) than segmented files 116.sub.c1-n and so on where the segmented files 116.sub.l1-n have the lowest quality (lowest bit rate). The recording device 100b receives the multiple sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n from the segmenting device 110. A detailed description is provided next on how the recording device 100b is configured to store these segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n to provide the network-based personal video recording service 102 for the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n in accordance with the second embodiment of the present invention.
(53) The recording device 100b is shown as having a processor 118, a memory 120, multiple PVR storage units 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n and the general storage unit 124. The recording device 100b can have additional well-known components but for clarity only the components needed to explain the present invention are described herein. The recording device 100b is configured such that the processor 118 interfaces with the memory 120 and executes processor-executable instructions stored in the memory 120 to enable the following operations:
(54) 1. Receiving a record message 126.sub.1 from an end-user device 128.sub.1 (e.g., set-top-box computer, laptop computer, mobile phone (smart phone), tablet, internet capable television) associated with user 104.sub.1 (for example)(see
(55) 2. Storing one of the sets of segmented files 116.sub.l1-n (e.g., the lowest bit rate) in the network PVR storage unit 122.sub.1 associated with user 104.sub.1 (see
(56) 3. Generating a unique manifest 130.sub.1 for the user 104.sub.1 (see
(57) 4. Sending the unique manifest 130.sub.1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(58) 5. Receiving a play-back message 136.sub.1 from the end-user device 128.sub.1 associated with user 104.sub.1 (see
(59) 6. Using the one reference 132.sub.1 in the play-back message 136.sub.1 to retrieve a corresponding segmented file 116.sub.a1 (for example) from either the PVR storage unit 122.sub.1 associated with user 104.sub.1 or from the general storage unit 124 depending on which storage unit 122.sub.1 or 124 is actually storing the requested segmented file 116.sub.a1 (see
(60) 7. Sending the retrieved segmented file 116.sub.a1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(61) 8. Repeating the second receiving operation (step 5) by receiving play-back messages 136.sub.2, 136.sub.3, 136.sub.4 . . . 136.sub.n with references 132.sub.2, 132.sub.3, 132.sub.4 . . . 132.sub.n, the using operation (step 6) to retrieve segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116.sub.jn (for example), and the second sending operation (step 7) by sending the retrieved segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116j.sub.n of the broadcast content 112 in a sequential manner to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(62) 9. Deleting the (1) one set of segmented files 116.sub.l1-n (for example) stored in the specific PVR storage unit 122.sub.1 associated with user 104.sub.1, and (2) the remaining sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n which are stored in the general storage unit 124 after receiving a delete request 139.sub.1 from user 104.sub.1 (see
(63) Note: The description above relates to providing the network-based personal video recording service 102 for one user 104.sub.1 but it should be appreciated that the same steps can be performed by the recording device 100b to provide the network-based personal video recording service 102 for any number of users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n each of which have their own end-user device 128.sub.1, 128.sub.2, 128.sub.3 . . . 128.sub.n and each of which can record the same broadcast content 112 (e.g., channel Z) or different broadcast content (e.g., channels A-Y) at the same time or different times.
(64) Referring to
(65) The adaptive bit rate encoder 108 is configured to receive the broadcast content 112 (e.g., channel Z with a resolution of 1920×1080 at 15 Mbs) and generate multiple files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 (for example) of the same video and audio content but which are encoded at different bit rates. In this example, the adaptive bit rate encoder 404 receives the broadcast content 112 (1920×1080 15 Mbs) and outputs a 1920×1080 10 Mbs file 114.sub.1, a 1920×1080 9 Mbs file 114.sub.2, a 1920×1080 8 Mbs file 114.sub.3, a 1280×720 5 Mbs file 114.sub.4, a 1280×720 4 Mbs file 114.sub.5, a 1280×720 3 Mbs file 114.sub.6, a 720×480 2.2 Mbs file 114.sub.7, a 720×480 1.8 Mbs file 114.sub.8, a 720×480 1.4 Mbs file 114.sub.9, a 640×360 900 Kbs file 114.sub.10, a 400×224 600 Kbs file 114.sub.11, and a 400×224 300 Kbs file 114.sub.12.
(66) The segmenting device 110 is configured to receive the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 and then segment each of the files 114.sub.1, 114.sub.2, 114.sub.3, 114.sub.4, 114.sub.5, 114.sub.6, 114.sub.7, 114.sub.8, 114.sub.9, 114.sub.10, 114.sub.11, and 114.sub.12 into multiple segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n. Each of the segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n contains video and audio packets for a predetermined time duration (e.g., 10 seconds). It should be appreciated that the segmented files 116.sub.a1-n have a higher quality (higher bit rate) than segmented files 116.sub.b1-n which in turn have a higher quality (higher bit rate) than segmented files 116.sub.c1-n and so on where the segmented files 116.sub.l1-n have the lowest quality (lowest bit rate). The recording device 100c receives the multiple sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n from the segmenting device 110. A detailed description is provided next on how the recording device 100c is configured to store these segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n, and 116.sub.l1-n to provide the network-based personal video recording service 102 for the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n in accordance with the second embodiment of the present invention.
(67) The recording device 100c is shown as having a processor 118, a memory 120, multiple PVR storage units 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n and the general storage unit 124. The recording device 100c can have additional well-known components but for clarity only the components needed to explain the present invention are described herein. The recording device 100c is configured such that the processor 118 interfaces with the memory 120 and executes processor-executable instructions stored in the memory 120 to enable the following operations:
(68) 1. Receiving a record message 126.sub.1 from an end-user device 128.sub.1 (e.g., set-top-box computer, laptop computer, mobile phone (smart phone), tablet, internet capable television) associated with user 104.sub.1 (for example)(see
(69) 2. Storing all of the sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n and 116.sub.l1-n corresponding to the requested broadcast content 112 within the network PVR 122.sub.1 associated with user 104.sub.1 and within the other network PVRs 122.sub.2, 122.sub.3 . . . 122.sub.n associated with users 104.sub.2, 104.sub.3 . . . 104.sub.n that also requested to record the broadcast content 112 (see
(70) 3. Once the recording sessions stop for all of the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n who had requested to record the broadcast content 112 then the recording device 100c performs following operations (see
(71) 3a. Identifying common segmented files that have been stored in the network PVR 122.sub.1 associated with the user 104.sub.1 and in the other network PVRs 122.sub.2, 122.sub.3 . . . 122.sub.n associated with other users 104.sub.2, 104.sub.3 . . . 104.sub.n (see
(72) 3b. Determining which of the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n that has longest recording session for the broadcast content 112 (see
(73) 3c. Deleting all of the identified common segmented files except for one set of segmented files 116.sub.l1-n (for example) which are stored in the network PVRs 122.sub.1, 122.sub.3 . . . 122.sub.n (not PVR 122.sub.2) associated with the users 104.sub.1, 104.sub.3 . . . 104.sub.n that did not have the longest recording session for the broadcast content 112 (see
(74) 4. Re-writing the unique manifests 130.sub.1′, 130.sub.3′ . . . 132.sub.n′ associated with users 104.sub.1, 104.sub.3 . . . 104.sub.n that did not have the longest recording session for the broadcast content 112 (see
(75) 5. Sending the unique manifest 130.sub.1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(76) 6. Receiving a play-back message 136.sub.1 from the end-user device 128.sub.1 associated with user 104.sub.1 (see
(77) 7. Using the one reference 132.sub.1 in the play-back message 136.sub.1 to retrieve a corresponding segmented file 116.sub.a1 (for example) from either the PVR storage unit 122.sub.1 associated with user 104.sub.1 or from PVR storage unit 122.sub.3 depending on which storage unit 122.sub.1 or 122.sub.3 is actually storing the requested segmented file 116.sub.a1 (see
(78) 8. Sending the retrieved segmented file 116.sub.a1 to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(79) 9. Repeating the second receiving operation (step 6) by receiving play-back messages 136.sub.2, 136.sub.3, 136.sub.4 . . . 136.sub.n with references 132.sub.2, 132.sub.3, 132.sub.4 . . . 132.sub.n, the using operation (step 7) to retrieve segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116.sub.jn (for example), and the second sending operation (step 8) by sending the retrieved segmented files 116.sub.b2, 116.sub.b3, 116.sub.c4 . . . 116j.sub.n of the broadcast content 112 in a sequential manner to the end-user device 128.sub.1 associated with user 104.sub.1 (see
(80) 9. Deleting the (1) one set of segmented files 116.sub.l1-n (for example) which are stored in the specific PVR storage unit 122.sub.1 associated with user 104.sub.1, and (2) the remaining sets of segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n which are stored in the PVR storage unit 122.sub.2 (assuming all other users 104.sub.2, 104.sub.3 . . . 104.sub.n have deleted the recorded broadcast content 112) after receiving a delete request 139.sub.1 from user 104.sub.1 (see
(81) Note: The description above relates to providing the network-based personal video recording service 102 for one user 104.sub.1 but it should be appreciated that the same steps can be performed by the recording device 100c to provide the network-based personal video recording service 102 for any number of users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n each of which have their own end-user device 128.sub.1, 128.sub.2, 128.sub.3 . . . 128.sub.n and each of which can record the same broadcast content 112 (e.g., channel Z) or different broadcast content (e.g., channels A-Y) at the same time or different times.
(82) In view of the foregoing description, one skilled in the art will readily appreciate that the present invention is a marked improvement over the state-of-the-art since for each user 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n who wishes to record broadcast content 112 the recording device 110 records at a minimum a single bit rate (segmented files 116.sub.k1-n) of the broadcast content 112 within each user's network PVR storage unit 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n. The recording device 100 also stores the other bit rates (segmented files 116.sub.a1-n, 116.sub.b1-n, 116.sub.c1-n, 116.sub.d1-n, 116.sub.e1-n, 116.sub.f1-n, 116.sub.g1-n, 116.sub.h1-n, 116.sub.i1-n, 116.sub.j1-n, 116.sub.k1-n) in a central storage location 124 (first and second embodiments) or some other storage location (third embodiment). In any embodiment, the users 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n are confined to only viewing broadcast content 112 that they have individually recorded (should they only record ten minutes of a program then that is all they can see). The recording device 100 has many advantages some of which are as follows (for example): The recording device 100 eliminates certain inefficiencies by keeping one network copy (single bit rate) for each user 104.sub.1, 104.sub.2, 104.sub.3 . . . 104.sub.n in their respective network PVR storage unit 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n while still keeping to existing laws. The recording devices 100a and 100b also keeps the “user initiated” clause of existing laws. The recording device 100a has the advantage of allowing complex and robust behavior in a single system with the least amount of waste by storing only manifest data and a single bitrate (one set of segmented files) in each network PVR storage unit 122.sub.1, 122.sub.2, 122.sub.3 . . . 122.sub.n.
(83) Although multiple embodiments of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the invention is not limited to the disclosed embodiments, but instead is also capable of numerous rearrangements, modifications and substitutions without departing from the present invention that as has been set forth and defined within the following claims.