This invention is directed to systems and methods for recording programs on a network recording device when a user's local equipment lacks sufficient resources to do so.
Recording devices, such as digital video recording (DVR) devices, are well known in the art. Some DVR systems may include multiple tuners for simultaneously recording multiple programs. Such systems, however, can only simultaneously record as many programs as they have tuners available, because each tuner only records one program at a time. If a user's DVR system has two tuners and the user would like to record, for example, three NCAA tournament college basketball games that are being played at the same time, the user would be forced to choose two of the games for recording and not record the third game.
Available storage space is also a constraint on a DVR's ability to record programs, when sufficient space is unavailable for a recording, the user must either cancel the recording or delete a recording from the DVR. Additionally, bandwidth limitations may be a constraint on simultaneously recording multiple programs. For example, the aggregate bandwidth required of the hard disk in a DVR may limit the ability of a DVR device to record more than a certain number of programs simultaneously.
Accordingly, it would be desirable to provide digital recording systems and methods for recording more programs than the system has resources to record.
This and other objects of the present invention are accomplished In accordance with the principles of the present invention by providing systems and methods for recording programs on a network recording device when a user's local equipment lacks sufficient resources to do so.
The user's equipment includes an interactive television application, such as an interactive program guide. The interactive television application allows the user to initiate or schedule programs for recording by a recording device, also included in the user's equipment. At an appropriate time (e.g., when a recording is scheduled or initiated, or at a time prior to performing a recording), the interactive television application determines whether the user's equipment has sufficient resources to perform its recordings. For example, the interactive television application may determine whether there will be a sufficient number of tuners free for recording programs simultaneously, or may determine whether the recording device will have sufficient space for recording programs over a given period of time.
If the user's equipment lacks sufficient resources to perform one or more of the recordings, the interactive television application transmits a request to a remote network recording device to perform the recording or recordings. The network recording device may respond to the request by recording the program(s) or, in some embodiments, by holding an already-stored program for the user (e.g., programs already recorded as a consequence of a similar request from another user's equipment on the same network). The interactive television application may subsequently allow the user to play back the programs from the remote network recording device, or download the programs from the network recording device when resources are available and store them locally for playback.
The interactive television application may select which recordings to perform locally, and which recordings to perform on the network recording device, using any suitable approach. In some embodiments, the interactive television application prompts the user to indicate which recordings to perform locally or on the network recording device. In some embodiments, the interactive television application automatically selects which recordings to perform locally or on the network recording device based on, for example, whether or not programs are already recorded by the network recording device, recording options (e.g., a recording priority) or characteristics (e.g., theme, actor) of the programs scheduled for recording. In some embodiments, the network recording device may record programs that it anticipates will be requested. The network recording device may identify such programs by, for example, a trending algorithm run on present or historical requests, and/or thresholding the number of requests for a program (e.g., actual number of requests or as compared to the number of requests for another program).
The above and other features of the present invention, its nature and various advantages will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings in which:
Content source 120 may be any suitable content source such as, for example, a cable system headend, satellite television distribution facility, television broadcast facility, on-demand server (e.g., VOD server), Internet-based server, IPTV server, or any other suitable facility or system for originating or distributing content. Content source 120 may be configured to transmit signals over any suitable communications path 122 including, for example, a satellite path, a fiber-optic path, a cable path, or any other suitable wired or wireless path. The signals may carry any suitable content such as, for example, television programs, music, news, web services, games, applications, or any other suitable content.
User equipment 110 may include any equipment suitable for providing an interactive television experience. User equipment 110 may include television equipment such as a television, set-top box, game machine, recording device, video player, user input device (e.g., remote control, keyboard, mouse, touch pad, touch screen and voice recognition interface) or any other device suitable for providing an interactive television experience. For example, user equipment 110 may include a DCT 1200, 2500, 5100, 6208 or 6412 set-top box provided by Motorola, Inc. In some embodiments, user equipment 110 may include computer equipment, such as a personal computer with a television card (PCTV).
In the example of
Recording device 140 may be a personal video recorder (PVR), digital video recorder (DVR), video cassette recorder (VCR), DVD-recorder, or any other suitable video recorder. Recording device 140 may include one or more tuners.
Display device 120 may be any suitable device such as, for example, a television monitor or a computer monitor. Display device 120 may also be configured to provide for the output of audio.
Control circuitry 180 is adapted to receive user inputs from input device 116 and execute the instructions of the interactive television application. Control circuitry 180 may include one or more tuners (e.g., analog or digital tuners), encoders and decoders, decrypters, processors (e.g., MIPS family processors), memory (e.g., RAM and hard disks), communications circuitry (e.g., cable modem circuitry), input/output circuitry (e.g., graphics circuitry or display adapter), connections to the various devices of user equipment 110, and any other suitable component for providing analog or digital television programming, program recording, and interactive television features. In some embodiments, control circuitry 180 may be included as part of one of the devices of user equipment 110 such as, for example, part of recording device 140, display 120, or any other device (e.g., a set-top box, television and/or video player).
Any suitable number of users may have equipment, such as user equipment no, connected to content source 120 and one or more data source 124. But for the clarity of the figure, the equipment of only a single user is shown. The equipment of the plurality of users may be connected to content source 120 and data source 124 using a cable television network or any other suitable means. In some embodiments, the equipment of the plurality of users may be connected to each other using any suitable means (e.g., home network or Internet via broadband cable modem).
User equipment 110 may receive interactive television application data from one or more data sources 124. Data sources 124 may provide data for a particular type of content or for a particular application. For example, one data source 124 may provide data for non-on-demand assets (e.g., non-pay and pay-per-view television programs), and another may provide data for on-demand assets (e.g., VOD programs). Or, for example, a single data source may provide both of these types of data. For example, one data source 124 may provide data for an interactive television program guide. Another data source 124 may, for example, provide data for another interactive television application running on user equipment 110 (e.g., a home shopping application). In some embodiments, data sources 124 may provide data to the interactive television application using a client/server approach. There may be one server per data source, one for all sources or, in some embodiments, a single server may communicate as a proxy between user equipment 110 and various data sources 124.
Illustrative interactive television system 100 includes network recording device 130. Network recording device 130 may be any suitable type of recording device including, for example, a PVR, DVR, DVD-recorder, hard-drive arrays, a server, or any other suitable device for recording program selected by one or more instances of user equipment 110. In some embodiments, network recording device 130 may be a standalone device, part of user equipment 110, part of content source 120, part of any other device in interactive television system 100, or a combination of any of the above.
Network recording device 130 may include control circuitry and a storage device for performing at least recording operations. For example, network recording device 130 includes at least control circuitry 132 and storage device 134. Control circuitry 132 may include one or more tuners, processors, memory (e.g., RAM), communications circuitry, connections to the various devices of interactive television system 100, and any other suitable component. Control circuitry 132 receives instructions from the interactive television application on one or more instances of user equipment 110. The instructions may include, for example, recording programs, deleting programs, generating a stream to transmit programs, (e.g., as VOD offerings), modifying the deleting priorities, or any other suitable instruction(s).
In response to receiving instructions from the interactive television application, control circuitry 132 directs tuners to tune to channels carrying programs requested for recording by other devices of interactive television system 100 (e.g., by user equipment 110) and records the programs in storage device 134. In some embodiments, control circuitry 132 stores in storage device 134 information related to recorded programs such as, for example, recording options, recording attributes, deleting options, instructions from devices of interactive television system 100, or any other suitable information. In some embodiments, network recording device 130 may access (e.g., via ftp over an IP network) the content directly from content source 120 without requiring a tuner.
To schedule a program or other suitable video for recording, a user may highlight a desired program, as shown in
Prior to choosing to record a program, the user may request additional information regarding the program. For example, the user may highlight a listing using highlight region 212 and press an “Information” key or key sequence on user input device 116. In response to receiving the user request, the interactive television application may display an information screen.
In some embodiments, the user may be watching a program on display device 120 in a full screen view, for example full screen view 400 shown in
In some embodiments, the interactive television application may prompt the user to set recording options for the program. For example, the interactive television application may display a screen or pop-up, such as recording options screen 500 shown in
At an appropriate time (e.g., when a recording is scheduled or initiated, or at a time prior to performing a recording), the interactive television application determines whether the user's equipment has sufficient resources to perform its recordings. For example, the interactive television application may determine whether the user's equipment has enough tuners available to record multiple programs simultaneously. The interactive television application may determine tuner availability based on current, scheduled, or anticipated uses (determined, for example, from user viewing habits) of the tuners in the user's equipment. As another example, the interactive television application may determine whether the recording device of the user's equipment has enough space to perform its recordings. The interactive television application may determine whether the recording device has enough space toy comparing the space available for recording programs with the estimated space required for performing each current or scheduled recording.
In response to determining that the user's equipment does not have sufficient resources to perform its recordings, the interactive television application transmits a request to the network recording device to perform one or more of the recordings. The request may be, for example, an indication that the user's equipment does not have sufficient resources to perform one or more of the recordings. In response to the request, the network recording device may perform one or more of the recordings, or hold one or more already-recorded programs for the user.
In some embodiments, when a user initiates a recording while viewing a program the interactive television application determines that the user's equipment does not have sufficient resources for the recording, the interactive television application may automatically direct the network recording device to perform the recording. This may allow for an uninterrupted viewing experience for the user. Alternatively, the interactive television application may prompt the user for an instruction to perform the recording with the network recording device or to make resources available to perform the recording locally.
In addition to transmitting the request to the network recording device, the interactive television application may cancel the local recordings that the network recording device performs. Alternatively, rather than canceling the local recording, the interactive television application may suspend the local recording in case resources become available prior to the transmission of the program. If resources do become available for performing the recording, the interactive television application may cancel the recording with the network recording device and remove the suspension on the local recording of the program.
The interactive television application may, in response to determining that the user's equipment does not have sufficient resources to perform all of its recordings, select which programs to record locally with the user's equipment and which programs to record remotely with the network recording device. In some embodiments, this selection is made automatically. The interactive television application may use any suitable criteria for making the selection. For example, the interactive television application may determine to perform a particular recording with the user's equipment or network recording device based on a recording option (e.g., recording priority), the transmission type of the program (e.g., first run or re-run, digital or analog transmission), program theme (e.g., sporting event), whether the network recording device has access to the program or has already recorded the program, whether the program has already been recorded or requested to be recorded with the network recording device by the user's equipment or another device, or based on any other suitable criteria.
In some embodiments, the user may set a global option that instructs the interactive television application to request the network recording device to perform recordings for programs satisfying particular criteria. The criteria may include, for example, a recording option (e.g., recording priority), the transmission type of the program (e.g., first run or re-run, digital or analog transmission), program theme (e.g., sporting event), whether the program has already been recorded with the network recording device, or any other suitable criteria. The global setting may instruct the interactive television application to automatically purchase space on the network recording device if it is necessary to record a program. In some embodiments, the user may set more restrictive criteria for recording programs on the network recording device when purchasing additional space is necessary and/or expensive. In embodiments where each user is provided a particular amount of network storage (e.g., as a function of tier of service) and additional storage may be purchased, criteria for recording a program with the network recording device may include whether or not and/or how much purchased network recording space would be used on a user-by-user basis (e.g., depending on the user's budget).
In some embodiments, the interactive television application may prompt the user for an indication of whether to perform one or more recordings with the user's equipment or the network recording device. One suitable prompt may be conflict notice 600, shown in
Notice 600 includes description section 602 and listing 610. Description section 602 indicates to the user that the user's equipment has insufficient resources and cannot record all of the programs originally scheduled. In some embodiments, the description section may include an indication of which resource is lacking (e.g., not enough tuners available or not enough space). Description section 610 prompts the user to select two programs to record locally, with the user's equipment. Description section 610 also prompts the user to select programs to record with a network recording device. In some embodiments, the description section may also describe a default action.
Listings 610 include the program name, channel number and transmission time. The listings may include any other suitable information including, for example, channel name, transmission date, actors, brief description, or any other suitable information. The user may select a listing by controlling highlighted region 612 with user input device 116. To select a program for recording with the user's equipment, the user may highlight the listing associated with the program and select a “Record locally” option (e.g., button 616). Similarly, to select a program for recording with the network recording device, the user may highlight the listing associated with the program and select a “Record remotely” option (e.g., button 618).
In some embodiments, the interactive television application may recommend to the user which programs to record with the network recording device and which programs to record with the user's equipment. For example, the interactive television application may determine whether the network recording device has already recorded a program. If a recorded program is identified, the interactive television application may recommend to the user that the program not be recorded with the user's equipment, but instead be saved by the network recording device for the user (see for example, recommendation notice 700 of
The interactive television application may determine whether a program selected for recording is already recorded with the network recording device in any suitable manner. For example, the interactive television application may request and receive from the network recording device a list of already recorded programs with the network recording device, and compare those programs to the programs selected for recording with the user's equipment that the user's equipment does not have sufficient resources to record. The interactive television application may then direct the network recording device to save the programs that are both already recorded with the network recording device and originally selected for recording with the user's equipment.
As another example of an approach for determining whether a program selected for recording is already recorded with the network recording device, the network recording device may receive from the interactive television application a list of programs selected for recording that the user's equipment does not have the resources to record. The network recording device may then compare the selected programs with the programs that are already recorded with the network recording device, and save for the user the selected programs that are already recorded with the network recording device. The network recording device may also direct the interactive television application to cancel or suspend the corresponding recordings with the user's equipment.
In some embodiments, the interactive television application may determine, either automatically or in response to receiving a notice from the network recording device, that the network recording device cannot or will not perform a recording for a particular program. The interactive television application may then, in response to the determination, recommend that the user's equipment perform the recording. For example, the network recording device may lack sufficient resources (e.g., when the network recording device is an additional recording device of the user's equipment) to record the program. As another example, the network recording device may be subject to legal limitations on which programs it may record (e.g., due to agreements between the providers of the content source and the network recording device). Alternatively, if the network recording device will not record a program, the interactive television application may perform a function to enable the network recording device to record the program (e.g., purchase additional storage space on the network recording device).
The user or the interactive television application may select which recordings are performed by which device to attempt to maximize any suitable criteria. For example, the criteria may include maximizing the use of the user's equipment's resources (e.g., tuners and/or space) and minimizing the user's use of the network recording device. This may be advantageous to minimize the user's costs for performing recordings. As another example, the criteria may include minimizing the total use of resources of the network recording device. The interactive television application would then direct the user's equipment to record the programs that are not already recorded with the network recording device, and direct the network recording device to save the already recorded programs. As still another example, the criteria may include recording programs that have a higher recording priority with the user's equipment and programs with a lower recording priority with the network recording device.
In some embodiments, the interactive television application may differentiate for the user the recordings that the user's equipment will perform and the recordings that the network recording device will perform using any suitable means including, for example, placing a colored border around the listings, changing the color of the listing (e.g., colored region 614 in
In some embodiments, the service provider operating the network recording device may charge a fee for every recording the network recording device performs on behalf of the user. As another example, the network recording device may charge a daily, weekly, or monthly fee for unlimited recording, or for a performing a certain number of recordings. As still another example, the amount of space that the user may use on the network recording device may depend on the tier of service purchased fey the user (e.g., silver member, gold member). Users having purchased the highest tier of service may perform more recordings with the network recording device than users having purchased the lowest tier of service.
The interactive television application may prompt the user for personal information required to purchase additional storage space on the network recording device (e.g., a higher tier of service) from the service provider when the user has exceeded the amount of space allotted to him. In response, the user may enter a PIN or other information to complete the purchase. Once the purchase has been completed, the service provider may release the additional space to the user.
The interactive television application may display a recorded programs menu for the user to view recordings performed by the user's equipment and the network recording device. One such menu is menu 800 shown in
In some embodiments, the listings may include both programs recorded with the user's equipment and programs recorded with the network recording device. In some embodiments, the interactive television application may distinguish the programs recorded with each recording device by marking the listings associated with programs recorded with the user's equipment or recorded with the network recording device (e.g., by placing an icon such as icon 808 besides the listing, placing a colored border around the listing, changing the color of the listing or changing the font of the listing). Alternatively, the listings for programs recorded with each device may be separate (e.g., two sets of listings, one for the user's equipment and one for the network recording device). In some embodiments, the interactive television application may not differentiate between the programs so as to keep the display as simple as possible for the user. In some applications, some or all of the programs that the network recording device has recorded on behalf of other users of the network are displayed to the user. The interactive television application may use any suitable filter to limit the number of programs recorded on behalf of other users that are displayed. The filter may be a recommendation engine (e.g., similar to the personal VOD and PPV recommendation engine provided by ChoiceStream of Cambridge, Mass.).
To play back a recorded program, the user may select the listing associated with the program from listings 802. If the selected program was recorded with the user's equipment, the interactive television application may direct the user's equipment to play back the program by, for example, directing the display device to display the selected program.
If, however, the selected program were recorded with the network recording device, the network recording device may transmit the program to the interactive television application in preparation for local playback. For example, in response to a request to play back the program, the network recording device may provide the program to the user as a VOD offering and transmit the program to the user's equipment as a stream. As another example, the network recorder may transfer the program to the user's equipment for the interactive television application to play back the program locally (provided the user's equipment has sufficient resources to receive the program).
During the course of operation, the interactive television application may free resources by, for example, deleting recorded programs. For example, the interactive television application may delete programs that are stored on both the user's equipment and the network recording device (e.g., programs that the network recording device recorded on behalf of another user) and that are being held by the network recording device for the user. The interactive television application may also autodiscover or autoconfigure additional storage devices, and add additional storage space (e.g., by automounting a hard drive or autodiscovering additional recording devices that have been added to the user's equipment). The interactive television application may then determine whether the freed resources are sufficient to transfer a program from the network recording device to the user's equipment. Alternatively, the interactive television application may periodically determine whether the user's equipment has sufficient free resources for transferring a program. In response to determining that the user's equipment has sufficient resources, the interactive television application may, automatically or in response to a user's instruction, transfer a program from the network recording device to the user's equipment. This may be advantageous, for example, when a user pays for the time the network recording device is used. Once a program is transferred, the interactive television application may direct the network recording device to delete the program or remove the previously set “do not delete” deleting priority.
Other uses for a combination of a network recording device and a user's equipment are described in commonly owned U.S. patent application Ser. No. ______, filed Nov. 4, 2005, entitled “SYSTEMS AND METHODS FOR. RECORDING PROGRAMS WITH A NETWORK RECORDING DEVICE UPON FAILURE OF A USER'S EQUIPMENT,” and incorporated herein in its entirety.
The following flow charts serve to illustrate processes involved in some embodiments of this invention.
If the interactive television application determines that performing the recording would not exceed the resources of user equipment 110, process 900 moves to step 920, where the interactive television application directs user equipment 110 to perform the recording. If instead the interactive television application determines that performing the recording would exceed the resources of user equipment 110, process 900 moves to step 930. At step 930, network recording device 130 (
At step 1020, the interactive television application determines whether the recordings will start imminently. If the interactive television application determines that the recordings will start imminently (e.g., a few minutes before the recordings are to start), process 1000 moves to step 1025 where user equipment 110 performs the recordings. If instead the interactive television application determines that the recordings will not start imminently, process 1000 moves back to step 1010 to determine whether there has been a change in the resources available to the user's equipment for performing the plurality of recordings.
If, at step 1010, the interactive television application determines that performing the recording would exceed the resources of user equipment 110, process 1000 moves to step 1030. At step 1030, the interactive television application selects one or more of the plurality of recordings to perform with network recording device 130 (
At step 1060, the interactive television application determines whether the network recording device has performed the selected recordings. If the interactive television application determines that the network recording device has performed the selected recordings, process 1000 ends at step 1062. If instead the interactive television application determines that the network recording device has performed the selected recordings, process 1000 moves to step 1070.
At step 1070, the interactive television application determines whether user equipment 110 has sufficient resources to record one or more of the selected recordings. If the interactive television application determines that user equipment 110 does not have sufficient resources, process 1000 moves back to step 1060. If instead the interactive television application determines that user equipment 110 has sufficient resources, process 1000 moves to step 1080. At step 1080, the interactive television application removes the suspension from the one or more of the selected recordings to all user equipment 110 to record those recordings. At step 1090, the interactive television application cancels performing the one or more of the selected recordings with network recording device 130. Process 1000 then moves back to step 1010.
At step 1130, the interactive television application determines whether network recording device 130 has sufficient space allocated to the user to perform the selected one or more of the plurality of recordings. If the interactive television application determines that network recording device 130 has sufficient space, process 1100 moves to step 1140, at which the process 1100 returns to process 1000 and performs step 1040. If instead the interactive television application determines that network recording device 130 does not have sufficient space, process 1100 moves to step 1150.
At step 1150, the interactive television application receives a user instruction to purchase additional space on network recording device 130. For example, the user may purchase additional space for the selected one or more of the plurality of recordings. As another example, the user may purchase a higher tier of service. The user may provide the interactive television application with personal information (e.g., a PIN or a credit card number) to execute the purchase. At step 1160, the interactive television application executes the purchase for more space on network recording device 130. At step 1170, process 1100 returns to process 1000 and performs step 1040.
Illustrative process 1200 takes place during step 1030 of process 1000. Process 1200 begins at step 1202, which is step 1010 of process 1000. At step 1210, the interactive television application determines whether the user activated a global option to perform recordings satisfying particular criteria with network recording device 130 (
If, at step 1210, the interactive television application instead determines that the user did active the global option, process 1200 moves to step 1230. At step 1230, the interactive television application determines whether any of the plurality of recordings satisfies the particular criteria for performing the recording with network recording device 130. If the interactive television application determines that none of the programs satisfy the particular criteria, process 1230 moves to step 1220, described above. If instead the interactive television application determines that one or more of the recordings satisfy the particular criteria, process 1200 moves to step 1240.
At step 1240, the interactive television application determines whether network recording device 130 has sufficient space allocated to the user to perform the one or more recordings. If the interactive television application determines that network recording device 130 has sufficient space, process 1200 moves to step 1250, at which process 1200 returns to process 1000 and performs step 1040. If instead the interactive television application determines that network recording device 130 does not have sufficient space, process 1200 moves to step 1260.
At step 1260, the interactive television application automatically executes a purchase for additional space on network recording device 130. For example, the interactive television application may use a PIN provided by the user when the user activated the global option to perform recordings satisfying particular criteria with network recording device 130. In some embodiments, the global option may include additional criteria for authorizing a purchase of additional space. In such embodiments, the interactive television application may also determine whether the one or more of the recordings satisfy the additional criteria. At step 1270, process 1200 returns to process 1000 and performs step 1040.
At step 1320, the interactive television application determines whether a program selected for recording with user equipment 110 (
If, at step 1320, the interactive television application instead determines chat the program has not already been recorded with network recording device 130, process 1300 moves to step 1350. At step 1350, process 1300 returns to process 1000 and performs step 1040.
If, at step 1410, the interactive television application instead determines that user equipment 110 has sufficient resources to perform at least one of a plurality of recordings, process 1400 moves to step 1430. At step 1430, the interactive television application determines whether at least one of the plurality of recordings satisfies particular criteria. The criteria may include, for example, a recording option (e.g., recording priority), program attribute (e.g., theme or actor), or any other criteria. In some embodiments, the user may define the criteria. If the interactive television application determines that none of the plurality of recordings satisfies the particular criteria, process 1400 moves to step 1420, described above.
If, at step 1430, the interactive television application instead determines that at least one of the plurality of recordings satisfies particular criteria, process 1400 moves to step 1440. At step 1440, the interactive television application selects at least one of the plurality of recordings that satisfies the particular criteria for recording with user equipment 110.
At step 1450, the interactive television application directs user equipment 110 to perform the recordings selected at step 1440. At step 1460, process 1400 returns to process 1000 and performs step 1030 on the recordings that were not selected to be performed with user equipment 110, so as to avoid performing the same recording twice (once with each of user equipment 110 and network recording device 130).
It will be noted that all of the features described above in connection with recording a program may be applied to recording a video-on-demand program, video clip, game, series of programs, or any other content suitable for recording and display by user equipment 110. In the case of series, the interactive television application may record multiple copies of one, some, or all episodes of the series.
The above described embodiments of the present invention are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.
Number | Date | Country | |
---|---|---|---|
Parent | 16406455 | May 2019 | US |
Child | 17381000 | US | |
Parent | 14047411 | Oct 2013 | US |
Child | 16406455 | US | |
Parent | 11267200 | Nov 2005 | US |
Child | 14047411 | US |