The disclosed subject matter relates to the field of television distribution and programming, and more particularly to methods and systems including recording and/or time shifting television content.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings that form a part of this document: Copyright 2005, SBC Knowledge Ventures L.P. All Rights Reserved.
Subscribers to broadcast television sometimes desire to view television programming at times other than when the programming is broadcast. While digital video recorders (DVRs) such as the TIVO® system are used to record and time shift television programs, they are cumbersome to set up and use, particularly where the subscriber has to interconnect the DVR with a television, set top box or other television accessories. A particular challenge for subscribers to Internet protocol television (1PTV) is that not all channels are simultaneously received by the subscriber as they are in over-the-air or cable television broadcast systems. Therefore, the subscriber's ability to record live television broadcasts is limited to only those channels they can receive at one time.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the disclosed subject matter can be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present disclosed subject matter. The leading digit(s) of reference numbers appearing in the Figures generally corresponds to the Figure number in which that component is first introduced, such that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
As described further below, according to various example embodiments of the disclosed subject matter described herein, there is provided methods and systems to provide time shifting of television programming, including but not limited to methods and systems to manage the storage requirements on system servers used to record programming for later viewing by subscribers. As described in more detail below, in one example embodiment, the systems and methods provide for recording broadcast programming on one or more servers in the distribution system upstream from the subscribers, to enable time-shifted delivery of the recorded programming on demand from the subscribers.
In one embodiment, a method is provided which includes recording broadcast programming for at least one television channel for a first period of time where the recording is performed remotely from subscribers in a television distribution system; and after the first period of time, storing the recorded broadcast programming for rebroadcast by request from at least one subscriber device, wherein the request occurs prior to a second period of time based in part on requests made by other subscriber devices. The method also includes deleting the recorded broadcast programming after a third period of time, wherein if more than a pre-determined number of subscriber devices (N) have requested a same content of the recorded broadcast programming, deleting the same content after an adjustable delay period (T), wherein the delay period is adjusted based on an amount of storage available.
In another embodiment, a non-transitory computer-readable storage medium is provided that includes computer instructions for storing recorded programming for rebroadcast by request from at least one subscriber device; and deleting the stored recorded programming after a deletion time period, wherein if more than a pre-determined number of subscriber devices (N) have requested a same content of the stored recorded programming, deleting the same content after an adjustable delay period (T), wherein the delay period is adjusted based on subscriber feedback.
In yet another embodiment, a network element is provided that includes a network interface and a controller. The network interface can receive a request for rebroadcast of recorded programming, where the request is received from at least one subscriber device remote from the network element. The controller can record the programming for at least one television channel for a first period of time, where the recording is performed remotely from the at least one subscriber; and after the first period of time, store the recorded programming for the rebroadcast, wherein the request occurs prior to a second period of time based in part on requests made by other subscribers. The controller can also delete the recorded programming after a third period of time, wherein if more than a pre-determined number of subscribers (N) have requested a same content of the recorded programming, deleting the same content after an adjustable delay period (T), wherein the delay period is adjusted based on an amount of storage available.
Referring now to
In one example embodiment of the IPTV video delivery system, the SHO 110 distributes content to the VHOs 120 which may be spread across the a wide geographic territory, such as an entire country. The SHO 110 may, for example, be in a central location for acquisition and aggregation of national-level broadcast TV (or linear) programming. A redundant SHO 110 may be provided for backup in case of failure. The SHO 110 may also the central point of on-demand content acquisition and insertion into the IPTV network. Linear programming may be received at the SHO 110 via satellite and processed for delivery to the VHOs 120. On-demand content may be received from various sources and processed/encoded to codec and bit-rate requirements for the communication network for transmission to the VHOs 120 over the high speed communication links. VHOs 120 are the video distribution points within each demographic market area (DMA) or geographic region.
Referring now to
Referring now to
As also illustrated in
Also provided in the VHO 120, or alternatively at another distribution point in the IPTV network such as the SHO 110, IO 130 or CO 140, is an additional digital video recorder (DVR) DVR server 325 that acquires live television programming, records the programming/channels in digital form, and distributes the recorded content to subscribers using an unicast data stream in the same manner as server 330. In addition, DVR server 325 includes software to support interaction with subscribers 150 through STBs 240. For example, subscribers can, for example, interact with the DVR server 325 using a remote control 250 and a STB 240 to request programming be saved, view saved programming on their own list of saved content, and request delivery of the saved content to them from server 325. Alternatively, in another embodiment, the functions described for DVR server 325 may be performed by a single acquisition server such as server 320 or VOD server 360, and server 325 can be eliminated in whole or in part. The subscribers 150 may request content recorded on DVR server 325, which is delivered, in one example embodiment, with unicast data streams 380A, 380B or 380C. DVR server 325 may be connected to, in one example embodiment, one or more mass storage devices or systems 327, such as magnetic disk drives or optical recording systems.
According to one embodiment, access to regularly scheduled programming on the television channels, or alternatively access to recorded programming recorded under the control of DVR server 325, may be controlled by a STB 240 in the subscriber premises. Thus, in one example embodiment, each subscriber 150 receives live television programs from the VHO acquisition server 320 based on IP-based multicasting services, while the video distribution servers 330 are used to provide subscribers “instant” channel change and recover video packet losses to maintain acceptable quality of service. Further, the DVR server 325 provides recorded television programming upon demand by subscribers 150 as more fully described herein.
Referring now to
Subscribers may request 440 that the automatically recorded programming be rebroadcast to them on demand, for example by streaming the recorded programming from the DVR server 325 using a unicast IP data stream. Such requests for rebroadcast may be accomplished, for example, by identifying a program by name, or by specifying a time window for a particular channel. For example the stored content may be indexed by time and channel so that a subscriber can request rebroadcast of the stored live TV stream for a particular channel starting from a given time. The programs and content may also be indexed by program, such that a subscriber may request rebroadcast of a stored live TV program by choosing the program. The system may, in one example embodiment, cross-reference electronic programming guide information to determine the start and end time indices of a requested program. Once these are determined, the request would be handled identically to the case where the subscriber has requested a particular time frame for a channel to be rebroadcast.
For instance, a subscriber may request that a particular episode of a favorite television program be rebroadcast at a later point in time, or may request that a particular window of time from a particular television channel be rebroadcast. As explained further below, according to another example embodiment, even if recorded programming is saved beyond the minimum time period, there is a limit to the amount of time it will be stored even if it has not yet been rebroadcast by all of the subscribers who made a request. Further, although the request for delivery of programming is shown in
According to one example embodiment, in order for programming to be saved longer than the minimum period, a request for rebroadcast must be received at least in advance of the expiration of the minimum period. For example, in one example embodiment, a request for rebroadcast must be received by at least one subscriber prior to seventy hours (72) after the initial broadcast, where the minimum storage period for the programming is three days. Alternatively, the request may be required at least prior to when the programming is no longer being stored, which may be longer than the minimum period based on requests for rebroadcasts received from other subscribers.
If programming is designated to be saved longer than the minimum storage period based on one or more requests to keep the programming for rebroadcast to the subscribers 150, the programming may be saved an additional period according to one or more different schemes or algorithms. For example according to one example algorithm, after expiration of the initial minimum recording period, recorded programming is kept by advanced request from subscribers, and in one example embodiment only by advance request. According to one example embodiment, for each channel/time-span permutation requested, the identities and number of subscribers requesting the recording are recorded. The programming is kept beyond the minimum time period for channels/time-spans which have outstanding requests from subscribers 150. As each subscriber views the requested content, the outstanding requests are decremented. When there are no longer any outstanding requests, i.e. when the decrement reaches zero, the stored programming may be deleted or the storage space for such content released to the system.
As noted above, even if recorded programming is saved beyond the minimum time period, there is a limit to the amount of time it will be stored even if it has not yet been rebroadcast by all of the subscribers who made a request to keep the programming for such rebroadcast before it is deleted or the storage space used for the programming made available to be recorded over. The maximum period of time that programming is saved may be a fixed period, for example no more than seven days after the initial minimum time period is over, or may be variable, based on a formula or algorithm. For example, if the initial time period was seventy two hours, any programming requested to be saved longer for rebroadcast could not be saved longer than an additional seven days, for a total of ten days, whether or not all the subscribers requesting the content to be saved had viewed it. According to another example embodiment, the amount of time the programming is stored in total may be limited channel by channel, such that if content on a particular channel is requested by many subscribers to be saved for rebroadcast it would be saved longer than content on a channel that had been requested by fewer subscribers. According to another example embodiment, if more than N subscribers have requested the same segment of a specific content, this content may be deleted after a delay period T, and in one example embodiment only after the delay period. T is decided by the following formula T=C*log (N), where C is a constant that may be empirically determined based on subscriber feedback and system parameters such as the amount of storage available.
According to one example embodiment, programming may be saved as specified in the following example:
As each subscriber's request is fulfilled, the associated segments' request and subscriber lists are decremented appropriately. A segment with no outstanding requests is deleted from storage after a delay, for example the delay T described above. The subscriber requests may also be timed out after a delay, e.g., a window of 14 days, or a variable delay T calculated as described above, to view requested content before the request is automatically timed out, for example by automatically decrementing the outstanding request count to zero.
Referring now to
According to still another example embodiment, the methods and systems provide that once a subscriber has had a program rebroadcast to them one time, that program or time segment is deleted from the subscribers list of content saved for rebroadcast such that the subscriber cannot again request rebroadcast of the same content. Accordingly, the system does not permit multiple rebroadcasts of the same content.
According to still another example embodiment, the system and method may permit a digital rights management policy to be established for one or more of the following: a television channel or group of channels, a television program, a time segment in a programming schedule, such as midnight to six in the morning, or a type of program, such as reruns or first broadcasts or content—e.g. sports or news, late night television, reruns, old movies or new movies. The foregoing are examples only, and digital rights management policies may be established in other ways for managing programming. Furthermore, the system and method may provide that television programming be recorded and rebroadcast or delivered in accordance with one or more policies established for the content, and in one embodiment only in accordance with the one or more policies, by any or more than one of the categories mentioned, or other categories or characterizations of programming. For example, a network may require that football programs not be recorded for rebroadcast, or that any rebroadcast occurs more than one day after the initial programming was broadcast. In one embodiment, these policies may be stored on the DVR server 325 or on any other computer or storage device in the system. Using such digital rights management, therefore, the operator of the television distribution system can tailor the system to the requirements or demands of the content owners.
Referring to
Thus, as described above, the systems and methods described herein provide for time shifting of television broadcasts, including but not limited to methods and systems to manage the storage requirements for such operation. As described above in various embodiments, the system and method provides for recording broadcast programming on one or more servers in the distribution system upstream from the subscribers, and rebroadcast of the programming on demand to time-shift it from the originally scheduled time to a time desired by the subscriber. Subscribers are therefore provided greater flexibility in viewing programming without the additional cost and logistics required if they use a personal DVR located on their premises. While the example embodiments herein are generally illustrated in the environment of an IPTV system, in an alternative embodiment a cable distribution system or satellite distribution system is used instead that does not use IPTV methodologies but instead any other available distribution techniques, such as classic frequency modulation or each channel in a television frequency band, or time division or orthogonal frequency division multiplexing, for example only and not by way of limitation. Further, the IPTV may be delivered over-the-air using, for example, broadband wireless telecommunications techniques.
Referring now to
The example computer system 700 includes a processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 704 and a static memory 706, which communicate with each other via a bus 708. The computer system 700 may further include a video display unit 710 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT) The computer system 700 also includes an alphanumeric input device 712 (e.g., a keyboard), a user interface (UI) navigation device 714 (e.g., a mouse), a disk drive unit 716, a signal generation device 718 (e.g., a speaker) and a network interface device 720.
The disk drive unit 716 includes a machine-readable medium 722 on which is stored one or more sets of instructions and data structures (e.g., software 724) embodying or utilized by anyone or more of the methodologies or functions described herein. The software 724 may also reside, completely or at least partially, within the main memory 704 and/or within the processor 702 during execution thereof by the computer system 700, the main memory 704 and the processor 702 also constituting machine-readable media.
The software 724 may further be transmitted or received over a network 726 via the network interface device 720 utilizing anyone of a number of well-known transfer protocols, for example the hyper text transfer protocol (HTTP). While the machine-readable medium 722 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform anyone or more of the methodologies of the present disclosed subject matter, or that is capable of storing, encoding or carrying data structures utilized by or associated with such a set of instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosed subject matter may be not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
Although the disclosed subject matter has been described with reference to several example embodiments, it may be understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the disclosed subject matter in all its aspects. Although the disclosed subject matter has been described with reference to particular means, materials and embodiments, the disclosed subject matter is not intended to be limited to the particulars disclosed; rather, the subject matter extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims.
This application is a Continuation of co-pending U.S. application Ser. No. 11/316,537, filed on Dec. 21, 2005, the disclosure of which is hereby incorporated by reference. This application is related to co-pending U.S. application Ser. No. 11/316,066, filed on Dec. 21, 2005 and entitled, “SYSTEM AND METHOD FOR RECORDING AND TIME-SHIFTING PROGRAMMING IN A TELEVISION DISTRIBUTION SYSTEM USING POLICIES,” by Zesen Chen, Peter Chou, Sean Chen, Brian Gonsalves and Don Smith.
Number | Date | Country | |
---|---|---|---|
Parent | 11316537 | Dec 2005 | US |
Child | 12878052 | US |