Aspects of this disclosure are illustrated by way of example, and not by way of limitation, in the accompanying drawings, wherein:
Embodiments of the present invention and their advantages are best understood by referring to the detailed description that follows. It should be appreciated that like reference numerals are used to identify like elements illustrated in one or more of the figures.
In operation 110, the digital video recorder checks to see if a tuner is available. Tuners are considered available if they are not currently being used to record a program. A recorder having multiple tuners will not be available if all tuners are currently recording programs. For example, the digital video recorder may have two tuners, both of which are busy recording separate programs. The user may currently be watching one of the programs currently recording or another pre-recorded program. The user then tries to change to a channel other than the channels of the two programs currently being recorded. Since the two tuners are busy recording, a recording conflict arises. If a tuner is available, the digital video recorder allows the channel change in operation 114.
Operations 116 and 118 may include two configurable options presented to a user. In some embodiments, a user may configure the recorder to do one or the other. In other embodiments, only one option may be used.
If in operation 110 a tuner is not available, in operation 116, if so configured, the system may go to operation 120 where a search the program guide to see if a future recording is available where there are no other recording conflicts. If initially there are no un-conflicted slots available, the system may then check the program listings to see if programs currently set to record in the future conflicted slots can be moved to other unconflicted slots. The system may iterate through this process to attempt to resolve all conflicts.
If a tuner is not available, in operation 118, if so configured, the system may go to operation 124 where it may prompt the user to decide if they want the system to search for an un-conflicted future broadcast of one of the programs currently recording. If the user does not want the system to do the search, it may go to operation 132, described below. If the user wants to do the search, it may go to operation 120, described above.
In operation 128, if the conflict cannot be resolved in operation 120, the system may go to operation 132 where it may prompt the user to either abandon one of the current recordings to free up a tuner so they can change the channel, or keep the current recordings running and stay on the current channel which may be one of the programs currently being recorded.
The system can be configured to stop at operation 132 or through a user controlled configuration option, it can continue to operation 134 where it may store the program that was abandoned in operation 132 and attempt to search for it later. Through user configuration options, the system may always store the program and search for it later, never store it or search for it later, or it may ask the user each time if they want to store it and search for it later.
If the program is subsequently found the system may record it provided it can be found in an unconflicted timeslot or if the programs already set during to record during conflicted timeslots can be moved by iterating through the process in operation 120.
In operation 128, if the conflict was resolved in operation 120, the system may go to operation 138 where it may schedule the future unconflicted recording of the program recording that may currently be abandoned so that the channel may be changed per the user's wishes. The system may optionally save the already recorded portion of the program currently recording that is being abandoned in favor of a future recording date and then only record the parts that have not been recorded to minimize future usage of the tuners to enable the recording of other programs.
In operation 201, the user is watching a live program while the time for a scheduled program recording on another channel is approaching and there are no free tuners to allow the user to both continue watching the program on current channel and record the upcoming program on the alternate channel.
In operation 202, the system searches for future un-conflicted broadcasts of the program about to be recorded, the program currently being watched by the user and any programs that are currently being recorded. If initially there are no un-conflicted slots available, the system may then check the program listings to see if programs currently set to record in the future conflicted slots can be moved to other unconflicted slots. The system may iterate through this process to attempt to resolve all conflicts.
In operation 204, if the future un-conflicted recording(s) were found, it may go to operation 206 where the system may give the user the option of selecting one of the future recordings of the scheduled program(s) or the program they are watching live to resolve the conflict.
In operation 204, if the conflicts were not resolved, it may go to operation 208 where the system may give the user the option of abandoning the scheduled recording and staying on the current channel, or allowing the channel to be changed to that the scheduled program may be recorded. The system may then go to operation 210 where it may store the program that was abandoned in operation 208 and attempt to search for it later. Through user configuration options, the system may always store the program and search for it later, never store it or search for it later, or it may ask the user each time if they want to store it and search for it later.
If the program is subsequently found the system may record it provided it can be found in an unconflicted timeslot or if the programs already set during to record during conflicted timeslots can be moved by iterating through operation 202.
In operation 301, a user sets a program already in progress to record. The start of the program is not immediately available in a buffer or otherwise.
From operation 301 the system may go to either operation 304 or 306 depending on how the system is configured. In the preferred embodiment, users can configure the system to do one or the other. In other embodiments, only one of the options is used.
In operation 304 the system may go to operation 308 where it may prompt the user to decide if they want the system to search for an un-conflicted future broadcast of the in-progress program. If the user does not want the system to do the search, it may go to operation 324, described below. If the user wants to do the search, it may go to operation 312.
In operation 306, the user may not be prompted if they want a search for a future broadcast to be searched for. The system may go to operation 312.
In operation 312, the system may conduct a search of the available program listings that tell what shows are on what channel when for the in-progress program to see if a future recording is available where there are no other recording conflicts. If initially there are no un-conflicted slots available, the system may then check the program listings to see if programs currently set to record in the future conflicted slots can be moved to other unconflicted slots. The system may iterate through this process to attempt to resolve all conflicts.
In operation 314, if an un-conflicted future broadcast is found in operation 312, the system may go to operation 320 where it may give the user the option of recording a future broadcast of the program currently in progress.
In operation 314, if an un-conflicted future broadcast is found in operation 312, the system may go to operation 324 where it may give the user the option of recording the program in-progress from the current point in the program.
In operation 326, the system may store the program that was not found in operation 314 and attempt to search for it later. Through user configuration options, the system may always store the program and search for it later, never store it or search for it later, or it may ask the user each time if they want to store it and search for it later.
If the program is subsequently found the system may record it provided it can be found in an unconflicted timeslot or if the programs already set during to record during conflicted timeslots can be moved by iterating through operation 312.
Although the invention has been described with respect to particular embodiments, this description is only an example of the invention's application and should not be taken as a limitation. It should also be understood that numerous modifications, combinations and variations are possible in accordance with the principles of the present invention. Accordingly, the scope of the invention is defined only by the following claims.