Data storage management and scheduling system
First Claim
1. A method for allowing recording of video signals for later playback, comprising:
- a) receiving, from a server, one or more aggregate program objects, each aggregate program object of the one or more aggregate program objects lists two or more programs having one or more attributes in common based on aggregated viewing behaviors of a plurality of viewers that were gathered by the server, the server creates and distributes aggregate program objects to a plurality of processing systems;
b) receiving input specifying a criteria for recording of a show from a video input source;
c) automatically scheduling for recording by a processor a future show and a second future show from a channel guide database based on the criteria, the automatically scheduling for recording of the future show is based on pattern matching and the automatically scheduling for recording of the second future show is based on fuzzy logic analysis of a set of criteria from a criteria database, an aggregate program object among the one or more aggregate program objects, and the channel guide database, the set of criteria includes the specified criteria;
d) recording the future show and the second future show onto a randomly accessible recording medium.
10 Assignments
0 Petitions
Accused Products
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. The invention accepts as input a prioritized list of program viewing preferences which is compared with a database of program guide objects which indicate when programs of interest are actually broadcast. A schedule of time versus available storage space is generated that is optimal for the viewer'"'"'s explicit or derived preferred programs. The preferred programs include television broadcast programs and Universal Resource Locators (URLs). The viewer may request that certain programs be captured, which results in the highest possible priority for those programs, or express preferences using appurtenances provided through the viewer interface. Preferences may additionally be inferred from viewing patterns. The invention correlates an input schedule that tracks the free and occupied time slots for each input source with a space schedule that tracks all currently recorded programs and the programs that have been scheduled to be recorded in the future, to schedule new programs to record and resolve recording conflicts. 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. A background scheduler schedules each preferred program in turn until the list of preferred programs is exhausted or no further opportunity to record is available.
-
Citations
41 Claims
-
1. A method for allowing recording of video signals for later playback, comprising:
-
a) receiving, from a server, one or more aggregate program objects, each aggregate program object of the one or more aggregate program objects lists two or more programs having one or more attributes in common based on aggregated viewing behaviors of a plurality of viewers that were gathered by the server, the server creates and distributes aggregate program objects to a plurality of processing systems; b) receiving input specifying a criteria for recording of a show from a video input source; c) automatically scheduling for recording by a processor a future show and a second future show from a channel guide database based on the criteria, the automatically scheduling for recording of the future show is based on pattern matching and the automatically scheduling for recording of the second future show is based on fuzzy logic analysis of a set of criteria from a criteria database, an aggregate program object among the one or more aggregate program objects, and the channel guide database, the set of criteria includes the specified criteria; d) recording the future show and the second future show onto a randomly accessible recording medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A video data recorder, comprising:
-
a recording medium configured to record video signals; a video signal input port; a channel guide database; a criteria database; and a processor coupled in communication with the channel guide database and the criteria database and coupled to control the recording of video signals received on the video signal input port onto the recording medium based on the channel guide database and the criteria database, wherein the processor is configured to; receive, from a server, one or more aggregate program objects, each aggregate program object of the one or more aggregate program objects lists two or more programs having one or more attributes in common based on aggregated viewing behaviors of a plurality of viewers that were gathered by the server, the server creates and distributes aggregate program objects to a plurality of processing systems; and automatically record video signals, a first video signal automatically scheduled to record based on pattern matching using information in the channel guide database and a second video signal automatically scheduled to record based on fuzzy logic analysis of the criteria database, an aggregate program object among the one or more aggregate program objects, and the channel guide database. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A video data recorder, comprising:
-
a recording medium configured to record video signals; a video signal input port configured to receive video signals; an input port configured to receive a channel guide database; data storage configured to store the channel guide database; a processor coupled in communication with the channel guide database configured to control the recording of video signals received on the video signal input port onto the recording medium based on the channel guide database, and configured to receive, from a server, one or more aggregate program objects, each aggregate program object of the one or more aggregate program objects lists two or more programs having one or more attributes in common based on aggregated viewing behaviors of a plurality of viewers that were gathered by the server, the server creates and distributes aggregate program objects to a plurality of processing systems; and a selection system configured to allow a user to specify criteria for recording of shows received from the video input port based on information in the channel guide database, wherein the selection system is further configured to automatically schedule a recording of a first future show based on pattern matching using information in the channel guide database and to automatically schedule for recording a second future show based on fuzzy logic analysis of a set of criteria from a criteria database, an aggregate program object among the one or more aggregate program objects, and the channel guide, the set of criteria includes the user specified criteria. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A video recorder, comprising:
-
receiving means for receiving a video signal; video storage means for recording the video signal; processing means for receiving, from a server, one or more aggregate program objects, each aggregate program object of the one or more aggregate program objects lists two or more programs having one or more attributes in common based on aggregated viewing behaviors of a plurality of viewers that were gathered by the server, the server creates and distributes aggregate program objects to a plurality of processing systems; and selection means for automatically scheduling a recording of the video signal based on pattern matching and automatically scheduling a recording of a second video signal based on fuzzy logic analysis of a set of criteria from a criteria database that includes user defined criteria for recording of video signals received by the receiving means, an aggregate program object among the one or more aggregate program objects, and a channel guide database. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
Specification