Data storage management and scheduling system
AssigneeTiVo Inc.
InventorsJames M. Barton, Brian Beach
Life of this patent
Estimating the term…
Abstract
A data storage management and scheduling system schedules the recording, storing, and deleting of television and Web page program material on a client system storage medium. A schedule of time versus available storage space is generated that is optimal for the viewer's scheduled program recordings. The programs include television broadcast programs and Universal Resource Locators (URLs). A program is recorded if at all times between when the recording would be initiated and when it expires, sufficient space is available to hold it. All scheduling conflicts are resolved as early as possible.
Claims20
A method, comprising:
- storing program guide data describing program material and including at least a description of program material contents, the program material including at least broadcast programs and web programs;
- storing an aggregation object that references multiple programs in the program guide data, the aggregation object associated with at least a particular broadcast program and at least a particular web program;
- based on input requesting recording for the aggregation object, generating a schedule for recording specific programs associated with the aggregation object on at least one storage device, the specific programs including at least the particular broadcast program;
- recording the specific programs in accordance with the schedule;
- listing programs associated with the aggregation object together in a directory for the aggregation object, the presented programs including at least the specific programs and the particular web program;
- playing a program associated with the aggregation object responsive to selection of the program.
One or more non-transitory computer readable media storing software instructions, which when executed by one or more processors, cause performance of:
- storing program guide data describing program material and including at least a description of program material contents, the program material including at least broadcast programs and web programs;
- storing an aggregation object that references multiple programs in the program guide data, the aggregation object associated with at least a particular broadcast program and at least a particular web program;
- based on input requesting recording for the aggregation object, generating a schedule for recording specific programs associated with the aggregation object on at least one storage device, the specific programs including at least the particular broadcast program;
- recording the specific programs in accordance with the schedule;
- listing programs associated with the aggregation object together in a directory for the aggregation object, the presented programs including at least the specific programs and the particular web program;
- playing a program associated with the aggregation object responsive to selection of the program.
An apparatus, comprising:
- a subsystem configured to store program guide data describing program material and including at least a description of program material contents, the program material including at least broadcast programs and web programs;
- a subsystem configured to store an aggregation object that references multiple programs in the program guide data, the aggregation object associated with at least a particular broadcast program and at least a particular web program;
- a subsystem configured to, based on input requesting recording for the aggregation object, generate a schedule for recording specific programs associated with the aggregation object on at least one storage device, the specific programs including at least the particular broadcast program;
- a subsystem configured to record the specific programs in accordance with the schedule;
- a subsystem configured to list programs associated with the aggregation object together in a directory for the aggregation object, the presented programs including at least the specific programs and the particular web program;
- a subsystem configured to play a program associated with the aggregation object responsive to selection of the program.
Dependencies are inferred from the claim text.