TITLE OF THE INVENTION
METHOD AND APPARATUS FOR DOWNLOADING OBJECTS VIA AN
INBAND CHANNEL WITH MINIMAL SUBSCRIBER IMPACT
FIELD OF THE INVENTION
The present invention relates generally to the field of cable television, and more particularly to a method and apparatus for downloading objects via an inband channel with minimal subscriber impact.
BACKGROUND OF THE INVENTION
Cable television systems are extremely popular in modern society. By subscribing to a cable television network, a subscriber can have access in his or her home to dozens of channels of television programming that are not otherwise available. As cable networks develop and become more sophisticated more and more features are available to subscribers. For example, some cable systems now offer high-fidelity stereo quality sound, parental control of which channels are received, and a program listing of the subscriber's favorite channels for more ready access to those channels. The feature list is ever expanding. These advanced features of a cable system are typically implemented in a set- top terminal. A set-top terminal is a box of electronic circuitry which is connected between the subscriber's television set and the cable network. The set-top terminal usually includes a computer processor and is programmed to provide those advanced features which are offered by the cable network. Periodically, as the cable system evolves, new features may become available or signal distribution may be refined in such a manner that the programming in the set-top terminal needs to be updated in order to allow the set-top terminal to continue to provide the services of the cable system to subscribers with peak efficiency. If a technician must visit the home of each subscriber to upgrade the programming in the set-top terminals, the implementation of the upgrade becomes time-consuming and expensive.
To avoid these problems, new programming for the set-top terminal can be transmitted to the set-top terminal over the cable network itself, as seen by reference to U.S. Patent No. 5,666,293 entitled "DOWNLOADING OPERATING SYSTEM
SOFTWARE THROUGH A BROADCAST CHANNEL" issued to Metz et al. Metz et al. disclose a digital set-top terminal that periodically captures and stores an operating system broadcast on a fixed channel of a broadband broadcast network. Metz et al. further disclose that the operating system upgrade can be initiated either automatically or manually. The set-top terminal may automatically check the time or number of power-off cycles since the last upgrade to trigger an operating system upgrade routine. Alternatively, Metz et al. disclose that the user may execute a specific sequence of keystrokes on the remote control to call up a menu, one option of which is an operating system upgrade. The system of Metz et al., however, has shortcomings.
One shortcoming of the set-top terminal of Metz et al. is that it does not address the problem of subscriber impact that could arise as a result of a download of ' new software or data to the set-top terminal, as offered or commanded by the headend. In particular, when the set-top tuner includes only one video tuner, and the proposed download is to be delivered to the set-top terminal via an inband channel, a potential conflict over the use of the video tuner arises. If the physical channel (e.g., the RF channel) on which the download resides is different from the physical channel being tuned in order to receive the programming selected by the subscriber, then the set-top terminal would have to cause the tuner to tune to the download channel, thereby interrupting continued receipt of the program selected by the subscriber.
Moreover, simply downloading during off-hours may not help. There are subscribers who use their television service during all hours, even if only to record programming which will be watched later. The interruption of set-top terminal functions for ^ purposes of accepting a download may therefore affect the subscriber's viewing practice at any time.
Accordingly, there is a need for a set-top terminal, and a method of operating the same, that minimizes or eliminates one or more of the problems as set forth above.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a solution to the above- identified shortcomings in the art, and to provide the downloading of objects via an inband channel to improve downloading speed while minimizing or eliminating subscriber impact.
Additional objects, advantages and novel features will be set forth in the description which follows or may be learned by those of ordinary skill in the art through reading these materials or practicing the invention. The object and advantages of the invention may be achieved through the means recited in the attached claims.
To achieve these stated and other objects, the present invention may be embodied and described as a set-top terminal configured to minimize or eliminate unnecessary and undue interruptions of service when accepting a download of new programming or data over a cable network. A set-top terminal according to the invention includes a tuner, and a processing system. The tuner is configured to tune one of a plurality of channels of an input signal which carries video/audio information corresponding to a primary service selected by a subscriber. The processing system is coupled to the tuner and is configured to generate an output signal comprising the primary service, which may then optionally be connected to a television monitor, or the like. The processing system is configured for operation in one of a first mode and a second mode selected in accordance with a command received over the cable network from a download server. The command instructs the set-top terminal to accept a download of software or data. The processing system as operating in the first mode will accept the download when the subscriber's primary service is unaffected by accepting the download. For example, this can occur when the download can be found in the same physical channel as the primary service (e.g., an MPEG-2 transport stream containing multiple services). The system as operating in the second mode will accept the download irrespective of any effect on the subscriber's primary service. The download server specifies the mode with the command. Less urgent downloads can be specified to occur in the first mode (i.e., for no subscriber interruption, which may be satisfied when the set-top terminal is in a standby state, or, the download channel is the same physical channel that carries the subscriber's primary service). For more urgent downloads, the download server can specify the second mode of operation, which can be used to force the set-top terminal to tune to the download channel immediately regardless of the set-top terminal's current status (e.g., standby, off, in-use, etc.).
In a preferred embodiment, a third mode of operation is further defined, which is a combination of the first and second modes with an added element of timing. For the third mode, the download server specifies a time frame with the command. If the
current date and time (as determined by the set-top terminal) is before the specified time frame, the processing system treats the command as a first mode command (i.e., accept the download so long as the download can be made without impact on the subscriber's primary service). If, however, the current date and time is currently, or progresses to be within the specified time frame, then the processing system treats the command as a second mode command (i.e., forces the set-top to immediately accept the download, which may require tuning to the download channel, perhaps interrupting the subscriber's primary service).
In a further embodiment, preselected channels of the input signal that are provided to the set-top terminal contain an MPEG-2 transport stream having multiple services or programs, one of which may be the subscriber's primary service, and another of which may be the download service (i.e., the software or data for download). In this further embodiment, the processing system in the first mode is configured to receive the subscriber service, while accepting the download of software or data in the background. In the second mode, when the download is on a different physical channel, the tuner is directed to tune to the download channel and accept the software or data in the foreground.
The present invention also encompasses a method for operating a set-top terminal that minimizes or eliminates interruptions to the subscriber's primary service. Other objects, features, and advantages of the present invention will become apparent to one of ordinary skill in the art from the following detailed description and drawings illustrating the invention by way of example, but not by way of limitation.
BRIEF DESCRIPTION OF THE DRA INGS Figure 1 is a block diagram of a cable television system, including a headend facility, a cable network and a set- top terminal in accordance with the present invention;
Figure 2 is a block diagram showing, in greater detail, the set-top terminal of
Figure 1; Figure 3 is a simplified block diagram view of various portions of a download command issued by a download server shown in Figure 1 to the set-top terminal; and Figure 4 is a flowchart of a method of controlling the download of software or data to a set -top terminal over a cable network on an inband channel with minimal subscriber impact.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention involves configuring a set-top terminal to accept a download of software or data offered by a headend over a cable network in accordance with a multi-mode arrangement. The multi-mode arrangement minimizes or eliminates undesirable interruptions of the subscriber's primary service.
Referring now to the drawings wherein like reference numerals are used to identify identical components in the various views, Figure 1 illustrates a cable television system 10 which includes a signal headend 12, a cable or broadband network 14, and a plurality of set-top terminals 16 (only one shown for clarity). The signal headend 12 is a facility maintained by a cable television company from which a cable television signal, designated 18 in Figure 1, is broadcast to subscribers over network 14. Signal 18 is received as an input signal at set-top terminal 16. Each subscriber (not shown) to the cable service is typically provided with at least one set- top terminal 16. The set-top terminal is a box of electronic equipment that interfaces the subscriber's television, and possibly other electronic equipment, with network 14. Set-top terminal 16 is configured to generate an output signal 20, destined for a display device, such as a television that contains a primary service selected by the subscriber. Signal headend 12 includes a download server 22, an inband device 24, and inband modulator 26, an out-of-band modulator 28 and an RF (radio frequency) combiner/splitter 30.
In a preferred embodiment, headend 12 provides signal 18 having one or more physical channels that contain digital information that can be recovered by digital set- top terminal 16. In this regard, program material destined for transmission through network 14, such as video, audio or the like, is available at signal headend 12 as digital data. The digital data is encoded and packetized in compliance with a specified protocol or standard, for example, a Moving Pictures Expert Group (e.g., MPEG-2) encoding standard. A single MPEG-2 transport stream may carry multiple programs or services, as understood in the art. Each service may itself include a collection of elementary streams (e.g., video, audio, etc.) that define the service. The MPEG-2 standard also allows for the transport of data as payload information.
Download server 22 is configured to provide commands, via network 14, to set-top terminals 16, instructing an addressed one or more terminals to accept a
download of software or data (hereinafter "objects"). The objects to be downloaded are carouseled in one or more inband channels. The command, according to the invention, also specifies a mode of operation that is followed by the set-top terminal in carrying out (or attempting to carry out) the download command. Download server 22 is also configured as the source of the objects themselves. In one embodiment, the command from server 22 to the set-top terminal 16 is transmitted on an out-of-band (OOB) channel, traversing modulator 28, RF combiner/splitter 30 and network 14. Also, preferably, the downloaded objects are transmitted on an inband channel via inband device 24, modulator 26, combiner/splitter 30 and network 14. Inband device 24 is provided to multiplex various sources of digital data into a plurality of digital transport streams (e.g., MPEG-2 transport streams). In the illustrated embodiment, for example, download server 22 provides first digital data to inband device 24. Other sources of digital data, such as audiovisual programs and the like (e.g., HBO) are also provided to inband device 24. Device 24 multiplexes the various sources into multiple MPEG-2 transport streams. Device 24 may comprise conventional components known in the art. The MPEG-2 digital transport stream is thereafter provided to inband modulator 26.
Inband modulator 26 is configured to receive the plurality of MPEG-2 transport streams from device 24, and modulate each on a specified RF carrier signal having a predetermined frequency. As known, system 10 may operate in accordance with a predetermined frequency plan which specifies carrier frequencies for each physical, RF channel. The digital data must be converted to analog form for transmission on the main carrier frequency. Therefore, inband modulator 26 may .also employ conventional and known modulation schemes, such as 64 Quadrature Amplitude Modulation (64-QAM) or 256 QAM modulation for the MPEG-2 transport
to set-top terminal 16, which may specify what physical channel and program contained therein, a logical or virtual channel may be found. It should be appreciated that this information is required, since multiple services or programs may be carried in one transport stream (i.e., modulated on one RF channel). The broadband signal 18 is transmitted over the cable plant (i.e., broadband network 14) to various subscribers. For a 64-QAM-modulation approach, signal headend 12 is capable of transmitting approximately 27 Mbps of digital data to digital set-top terminal 16, this throughput increases to approximately 38 Mbps when a 256-QAM approach is employed. RF block 30 may also transmit analog program material in a channel of signal 18. Out-of-band (OOB) modulator 28 modulates digital data using conventional, known modulation techniques, such as Quadrature Phase Shift Keying (QPSK) on a fixed frequency carrier. In one embodiment, the bandwidth transmitted on the out-of- band channel is 2.048 Mbps. It bears emphasizing that providing a download of objects by way of the out-of-band (OOB) channel is bandwidth-limited inasmuch as current technology limits data transfer rates to approximately 2 Mbps. Due to the limited bandwidth provided by the OOB channel, object downloading via inband channels is therefore desirable. The larger bandwidth available on the inband channels can be used to reduce the downloading time. However, use of an inband channel presents certain challenges. Cost considerations for set-top terminal 16 generally require that only one inband video tuner be provided (although other tuners, such as an OOB tuner, cable modem tuner, etc. may be present). Accordingly, a potiential conflict arises from the use of the lone-inband tuner for tuning to a download channel to accept the download. Tuning to the download channel may ^ require tuning away from the channel carrying the subscriber's primary service, thereby interrupting the primary service selected by the subscriber. The system according to the invention reduces or eliminates undesirable impact on the subscriber. For a digital capable set-top terminal 16, the invention realizes an opportunity to minimize subscriber impact previously unavailable with analog set-top terminals. Specifically, inasmuch as multiple programs or services may be contained in a single channel, there is an opportunity to coordinate to minimize subscriber impact when the download is contained in the same channel as the primary service selected by the subscriber.
Figure 2 is a block diagram showing set-top terminal 16 in greater detail. Terminal 16 includes an inband tuner 32, an out-of-band (OOB) tuner 34, a
processing system 36, a non- volatile memory 38 such as a FLASH memory, RAM 40, and an input device 42.
Inband tuner 32 is an RF tuner configured to tune and receive an inband channel, i.e., one of a plurality of channels of cable television input signal 18. This tuning action recovers a signal, which may thereafter be demodulated by, for example, a corresponding QAM demodulator (not shown) to recover digital information, such as MPEG-2 transport streams. During normal operation, the particular channel of input signal 18 to which inband tuner 32 is tuned may carry video/audio information corresponding to a primary service selected by the subscriber. Accordingly, the output signal 20 of set-top terminal 16 would contain the primary service. RF tuner 32 may comprise conventional components and have a nominal tuning range between 54-860 MHz, in order to tune and recover the present range of conventionally spaced RF cable channels.
Out-of-band (OOB) tuner 34 is configured to tune and receive the out-of-band channel transmitted by signal headend 12, and to recover the digital data transmitted therewith. OOB tuner 34 operates at a fixed frequency, generally, in contrast to tuner 32, which is frequency agile. Tuner 34 may comprise conventional components known to those of ordinary skill in the art, and have a nominal tuning range of between about 70-130 MHz to tune and recover the present range of conventional OOB channels.
Processing system 36 is configured for multimode operation. Processing system 36 controls tuners 32 and 34 in a manner known generally in the art. Particularly, system 36 controls tuner 32 in such a way as to cause it to tune to the,, particular channel of input signal 18 that is desired. Processing system 36 may also include a specialized (e.g., an MPEG-2 main level) video processor, an audio processor (e.g., ATSE Standard Dolby AC-3), a general purpose processor, as well as graphics/video processor. There are a variety of conventional and known hardware configurations suitable for use in implementing processing system 36. Processing system 36 operates generally in accordance with software and data stored in memory, such as non-volatile memory 38.
Set-top terminal 16 may further include an input device 42 to operate or invoke various features. For example, using either a handheld remote control or front panel through user input device 42, a subscriber may set up parental control of channels received i.e., lock-out channels considered inappropriate for children; set or
change passwords on control channels; set user preferences in an on-screen display, setup a listing of favorite channels for viewing, etc.
The downloading functionality according to the invention allows the Multi- System Operator (MSO) to deliver, update, and upgrade various objects (i.e., software and data) to set-top terminal 16.
Signal headend 12 initiates the downloading functionality by generating and transmitting a message via download server 22. Preferably, the command is delivered to set-top terminal 16 by way of the OOB channel. The message contains a tune command 44 to instruct set-top terminal 16 to accept the download of various objects. The objects may comprise operating system software, application software, data, etc. Figure 3 shows details concerning the composition of tune command 44. The tune command 44 includes a download location, and a tune_ channel_control field 48. The download location 46 provides information to set-top terminal 16 as to what inband channel to tune to in order to acquire the needed software or data, including an identification of the program or service within the transport stream where the download may be found. Control field 48 is used to define, in the illustrated embodiment, three different tuning modes of operation for set-top terminal 16. The three different tuning modes define how processing system 36 controls the tuning action of inband tuner 32 as a function of the set-top terminal's running status to accept the download. Control field 48 contains a mode selection parameter 50, and a plurality of control parameters 52. The mode selection 50 may be any one of a first mode, namely a background_tune mode 54, a second mode, namely a foreground_tune mode 56, and a third mode, namely a featured_tune mode 58. These modes will be described in-turn. The objects proposed for download may be multiplexed with program materials selected by the subscriber (i.e., the particular program selected by the subscriber hereinafter designated as the "primary service"). In such case, tuner 32 may be tuned to that channel, and both the primary service and the download service may be extracted. However, when the download is not in the same channel as the primary service, a conflict of using inband tuner 32 results. Forcing inband tuner 32 to tune to the download channel when it is different than the channel carrying the primary service may cause an interruption to the primary service. This may generate an unexpected impact on the subscriber, which is undesireable.
The background_tune mode 54 is used to instruct setrtop terminal 16 to accept the download in the background only when the subscriber's primary service will not be interrupted or otherwise affected. This typically means that the tuning to the download channel could occur while set-top terminal 16 is in a standby state or, alternatively, when the primary service selected by the subscriber happens to be on the same physical channel of input signal 18 that carries the software or data proposed for download.
The foreground_tune mode 56 is used to force set-top terminal 16 to tune to the download channel immediately regardless of the set-top's current running status and thus irrespective of any effect such an action may have on the subscriber's primary service. This may interrupt the subscriber's primary service and affect the subscriber's viewing practice for a predetermined time.
The featured_tune mode 58 is a combination of the background_tune mode 54 and the foreground_tune mode 56. Mode 58 provides a mechanism to escalate the priority of the download if the download has not occurred by a certain time. A time frame, in absolute terms, is associated with the featured_tune mode 58. If the current date/time is not within the specified time frame (i.e., the current date/time is before the specified time frame), then the featured_tune mode 58 will operate like a background_tune mode 54. Thus, prior to the time frame, if the set-top terminal 16 can obtain the download without affecting the subscriber's primary service, then it will do so. Otherwise, acceptance of the download will be deferred. However, if the current date/time is within the specified time frame, the featured_tune mode 58 will operate like a foreground_tune mode 56. If the downloading cannot be commenced (or completed) before the beginning of the specified time frame as a background download, then the set-top terminal 16 will forced to tune to the specified channel in order to complete the downloading. This forced tuning is done irrespective of the effect on the subscriber. Through the foregoing, the priority of the download (vis-avis the primary service) has been escalated.
With continued reference to Figure 3, in conjunction with the various modes of operation, command 44 also includes various control parameters 52, which further define the set-top terminal 16 behavior when the command 44 is received. Control parameters 52 include a background_connect_allowed parameter 60, a subscriber_ACK_required parameter 62, an ACK ime outparameter, an
intersession_timer parameter 66 and a start time 68/stop time 70 parameter pair. Each control parameter will be described in-rum.
The background_connect_allowed parameter 60 is a flag used to indicate whether a connection to the specified stream of a channel is allowed when the inband tuner 32 is already tuned to the same physical channel that carries the download objects. Parameter 60 is used for the background_tune mode 54 and the featured_tune mode 58 where a connection is to be established in the background. If the parameter is set to "YES", then the set-top terminal 16 requests the connection to the download stream or streams (i.e., when the tuner 32 already is tuned to the physical channel that carries the download). If the parameter 60 is set to "NO", the set-top terminal 16 does not make the connection. Note that in the backgroundjmne mode 54, the primary service selected by the subscriber.always has priority in controlling inband tuner 32.
The subscriber_ acknowledge_ required parameter 62 is also a flag used to indicate whether subscriber intervention is required. Parameter 62 is used for the foreground__tune mode 56. If the parameter is set to "YES", the subscriber's acknowledgement is required before the set-top terminal 16 will accept the download. If the parameter is set to "NO", then downloading should proceed without the subscriber's acknowledgement. Acknowledgement may be made through, for example, input device 42 (best shown in Figure 2). Acknowledgement timeout parameter 64 is preferably used for the case when the subscriber_ acknowledge parameter 62 is set to "YES". The parameter 64 specifies a period of time (e.g., in seconds) that a downloader portion (not shown) of processing system 36 waits for receipt of an acknowledgement from the subscriber. If the downloader does not receive the acknowledgement before expiration of the specified time period, it is configured to abort (or cause to abort) the download process.
Intersession timer parameter 62 is preferably used for the case when the subscriber_acknowledge_required parameter 62 is set to "YES". The intersession timer parameter 66 specifies the period of time that the above-described downloader will ignore the same command 44 after either (i) no acknowledgement from the subscriber is received, or (ii) the subscriber affirmatively rejects the download. That is, the set-top terminal 16, through the foregoing parameter, is configured to ignore the same command 44 for a period of time specified by the intersession timer parameter 66. This parameter is employed so that a subscriber who has just rejected a
download is not immediately solicited (and resolicited) to accept the very download just rejected.
The start time parameter 68 and stop time parameter 70 respectively define the beginning and the end of the time frame referred to above in connection with the featured_tune mode 58. Parameters 68 and 70 specify the range of time, in-effect, during which tuning to the download channel should be enforced (i.e., to trigger the switch from the background_tune mode to the foreground_tune mode 56). In one embodiment, the start time parameter 68 and stop time parameter 70 are defined in GPS seconds. The start time parameter 68 must be less than or equal to the stop time parameter 70. In a constructed embodiment, a value of 0x00000000 (hex) indicates the infinite past, while a value of OxFFFFFFFF (hex) indicates the infinite future. Of course, other arrangements are possible. The start stop time parameters 68, 70 are used preferably in connection with the featured_tune mode 58.
Referring now to Figure 4, the overall operation of set-top terminal 16 will be described. In step 72, the set-top terminal receives the tune command 44 from download server 22, preferably over an OOB channel, to accept a download of objects. The method proceeds to step 74.
In step 74, the set-top terminal 16 extracts the download location information from command 44, which includes the physical, inband channel identification, and the identification of the stream or streams (e.g., program ID) containing the download objects. The method proceeds to step 76.
In step 76, set-top terminal 16, particularly processing system 36 determines whether the commanded mode is the background xme mode. If the answer to «=. decision step 76 is "YES", then the method branches to step 78. In the background_tune mode, processing system 36 is configured to accept the download only when the subscriber's primary service would be unaffected by accepting the download. Accordingly, in step 78, processing system 36 determines whether the offered download is on the same physical inband channel as the subscriber's primary service, or alternatively, whether the set-top terminal 16 is in a standby mode. In either of these situations, the subscriber's primary service will remain unaffected if the download is accepted. Other situations where the subscriber's primary service would be unaffected will be recognized by those if ordinary skill in the art. If the answer to decision step 78 is "YES", and parameter 60 (background_connect_allowed) is set to "YES", then the method branches to step 80.
In step 80, processing system 36 accepts the download in the background, which is being provided on the same physical inband channel that inband tuner 32 is already tuned to (in the case where the set-top terminal 16 is on). If terminal 16 is in standby (i.e., no primary service selected), performance of step 80 may require that processing system 36 command inband tuner 32 to tune to the specified channel carrying the download service to recover the data stream(s) defining the offered download. The method then proceeds to step 82.
In step 82, processing system 36 implements the captured download according to predetermined procedures. It will be understood that the download may comprise new functionality, or may be an upgrade to existing functionality. The process of replacing an existing, executing program with a newly downloaded version may itself involve a reboot, and thus an interruption of the subscriber's primary service. This may be taken into consideration by the background_rune mode to defer reboot. In addition, error detection and version control, among other items, may be considered as part of the predetermined procedures for implementing the download in set-top terminal 16, once obtained from download server 22. These and other considerations are as set forth in a cop ending application assigned to the common assignee of the present invention entitled "METHOD AND APPARATUS FOR PREVENTING DISRUPTIONS IN SET-TOP TERMINAL FUNCTION DUE TO THE DOWNLOAD OF UPDATED PROGRAMMING OR DATA TO THE SET-TOP TERMINAL", U.S. Application No. 09/353,583, filed July 15, 1999, hereby incorporated by reference in its entirety.
Otherwise, if the answer to decision step 78 is "NO" (i.e., accepting the ^ download would affect the subscriber's primary service, perhaps interrupting it), then the method branches to step 84, wherein acceptance of the download offered by download server 22 is deferred.
If the answer to decision step 76 (background_tune?) is "NO", then the method branches to step 86.
In step 86, processing system 36 determines whether the commanded mode is the foreground_tune mode 56. If the answer is "YES", then the method branches to step 88.
Processing system 36 is configured, in the foreground_tune mode 56, to force acceptance of a download wherein the set-top terminal tunes to the download channel irrespective of an effect on the subscriber's primary service. In step 88, the set-top
terminal accepts the offered download, wherein processing system 36, if needed, immediately tunes inband tuner 32 to the specified download channel. Acceptance of the download assumes that either the subscriber acknowledge required parameter 62 had been set to "NO", or, if it had been set to "YES", that the subscriber affirmatively acknowledged and accepted the download before the acknowledgement timeout interval has elapsed. The method then branches to step 82 wherein the download is implemented in the set-top terminal 16, as described above.
If the answer to decision step 86 (foreground_tune?) is "NO", then the specified mode is the featured_tune mode 58, and the method branches to step 90. In step 90, processing system 36 initializes the featured_tune mode 58. The method proceeds to step 92.
In step 92, processing system 36 performs a test. Processing system 36 determines whatever the current time is before the featured_tune time frame (i.e., defined by start parameter 68 and stop parameter 70). Therefore, if the answer to decision step 92 is "YES", then the method branches to step 94.
In step 94, processing system 36 implements the above-described background_tune mode 54. When the subscriber's primary service would be unaffected by acceptance of the download, this is, in-effect, equivalent to the background_tune mode 54. The method proceeds to step 96. In step 96, processing system 36 performs a test to determine whether the download can be accepted. If the download can be accepted without affecting the subscriber's primary service, then the download is accepted and the method branches to step 82 (i.e., implementation). Otherwise, if the download cannot presently be *_ accepted, the answer to decision step 96 is "NO", and the method branches back to step 92 (current_time less than start_time?). Processing system 36 continues to attempt to commence and complete the download commanded by download server 22 in the background until the beginning of the featured_tune time frame is reached. Once that time is reached, the method proceeds from step 92 to step 98.
In step 98, processing system 36 enforces acceptance of the commanded download. Processing system 36 is thus configured to accept the download commanded by download server 22 during the time frame specified in the command, irrespective of the effect such action may have on the subscriber's primary service. This assumes that the download was not already accepted before the beginning of the time frame. This step may involve the processing system 36 controlling tuner 32 to
tune to the inband download channel. Once the download has been forced, the method proceeds to step 82 (implementation). The method ends in step 100.
In an alternate embodiment, the invention may be applied to a download on an out-of-band (OOB) channel. An OOB channel uses a fixed frequency, and has its own OOB tuner 34; accordingly, there is not a tuner conflict problem for tuning to the download channel when the download channel is an OOB channel. However, if the digital set-top terminal 16 needs to be reset in order to complete the downloading process, the subscriber's primary service and viewing practice could be interrupted unexpectedly. In this case, the downloading may be controlled based on the current set-top terminal state. The foregoing modes may be applied to this scenario. For example, in background_tune mode 54, the actual download of the software or data may be allowed to occur, but the required reset will be deferred until there is no conflict or interruption of the subscriber's primary service (e.g., when the set-top terminal is off, or in standby mode). Likewise, processing system 36 may be configured in the foreground_tune mode 56 to allow both the download, and the required reset irrespective of an effect on the subscriber's primary service.
The proceeding description has been presented only to illustrate and describe the invention. It is not intended to be exhaustive or to limit the invention to any precise form disclosed. Many modifications and variations are possible in light of the above-teachings.