US20160309228A1 - Systems and methods for history-based decision making in a television receiver - Google Patents

Systems and methods for history-based decision making in a television receiver Download PDF

Info

Publication number
US20160309228A1
US20160309228A1 US15/166,119 US201615166119A US2016309228A1 US 20160309228 A1 US20160309228 A1 US 20160309228A1 US 201615166119 A US201615166119 A US 201615166119A US 2016309228 A1 US2016309228 A1 US 2016309228A1
Authority
US
United States
Prior art keywords
television receiver
history data
device history
parameters
television
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US15/166,119
Other versions
US10958979B2 (en
Inventor
Michael Alexander
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DISH Technologies LLC
Original Assignee
EchoStar Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EchoStar Technologies LLC filed Critical EchoStar Technologies LLC
Priority to US15/166,119 priority Critical patent/US10958979B2/en
Publication of US20160309228A1 publication Critical patent/US20160309228A1/en
Application granted granted Critical
Publication of US10958979B2 publication Critical patent/US10958979B2/en
Assigned to U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: DISH BROADCASTING CORPORATION, DISH NETWORK L.L.C., DISH Technologies L.L.C.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus

Definitions

  • the technical field relates to facilitating history-based decision making and more particularly, to apparatus, systems, and methods for facilitating decision making in a television receiver, such as a set-top box, based on device history information.
  • Set-top boxes include hardware and software components that are limited in various ways.
  • a set-top box may include a hard disk that has limited storage capacity, a video processor that has limited bandwidth, a limited number of tuners, or the like.
  • Existing set-top boxes can require considerable user configuration to manage the limited hardware and software resources. For example, when a hard disk or other storage device reaches or nears capacity, a user may be asked to manually specify stored programs to delete from the storage device. Similarly, when a program is to be recorded, a user may be asked to indicate a tuner to utilize to receive the program for recording. Accordingly, there is a need to provide improved resource management capabilities for set-top boxes and other media television receivers.
  • a method for facilitating decision making in a television receiver includes receiving an indication of a function to be performed by a television receiver, the function including one or more parameters; determining values for the one or more parameters based on device history data that reflects past operation of the television receiver; and causing the television receiver to perform the function with the determined values for the one or more parameters.
  • FIG. 1 is a block diagram illustrating functional elements of an example embodiment of a history-based decision facilitator.
  • FIG. 2 is a block diagram illustrating an example content distribution environment in which embodiments of a history-based decision facilitator may be implemented.
  • FIGS. 3A-3B are block diagrams illustrating example user interfaces and/or example device history information provided and utilized by example embodiments.
  • FIG. 4 is a block diagram of a computing system for practicing example embodiments of a history-based decision facilitator.
  • FIG. 5 is a flow diagram of an example history-based decision facilitator process provided by one example embodiment.
  • FIG. 1 is a block diagram illustrating functional elements of an example embodiment of a history-based decision facilitator (“HBDF”) 100 .
  • the HBDF 100 facilitates decision making in a television receiver 118 , such as a set-top box, based on device history information. More particularly, the HBDF 100 can assist the television receiver 118 to automatically or semi-automatically make decisions or determinations about functions or operations to be performed by the television receiver 118 . Decisions may be based at least in part on past operations performed by the television receiver 118 and/or other television receivers. In one example embodiment, when a user schedules a recording operation, the television receiver 118 may request that the HBDF 100 determine which tuner to utilize to perform the recording, based on the device history maintained by the HBDF 100 .
  • determining or identifying functions to be performed by the television receiver 118 e.g., determining to initiate or schedule a recording operation
  • determining values for parameters for functions to be performed by the television receiver 118 e.g., determining a program, time, tuner, channel, or the like, for a recording operation
  • Function parameters specify various aspects and/or operations performed by a corresponding function. For example, recording time parameter for a recording function may be used to specify the time and/or duration of a recording; a channel parameter for a recording function may be used to specify a channel to record; and a tuner parameter for a recording function may be used to specify a tuner to use to receive a program for recording.
  • the television receiver 118 comprises two tuners 190 a and 190 b and is communicatively coupled to two presentation devices 120 a and 120 b.
  • the tuners 190 a and 190 b can be used to concurrently receive two different programs transmitted by a content distributor 106 (e.g., a satellite television broadcaster), and present each of the received programs on a respective one of the presentation devices 120 a and 120 b.
  • a content distributor 106 e.g., a satellite television broadcaster
  • the television receiver 118 can provide programming to two presentation devices 120 a and 120 b that may be located in different parts of a customer's premises, such as a living room and a bed room.
  • the HBDF 100 includes a usage and health tracker 151 , a decision manager 152 , and device history data 155 .
  • the tracker 151 receives device data from the television receiver 118 , and stores the received data as device history data 155 .
  • the device data may be received in various ways.
  • the television receiver 118 may be configured to transmit the device data to the HBDF 100 on a periodic basis, such as daily, weekly, monthly, or the like.
  • the television receiver 118 may be configured to transmit the device data upon the occurrence of some event, such as after a specified amount of data (e.g., 100 kilobytes, 50 records) has been accumulated locally to the television receiver 118 .
  • a specified amount of data e.g., 100 kilobytes, 50 records
  • Various protocols for communicating the device data between the television receiver 118 and the HBDF 100 are contemplated, including the television receiver 118 transmitting the device data upon receiving a request from the HBDF 100 (e.g., a pull protocol), the television receiver 118 transmitting the device data without initiation by the HBDF 100 (e.g., a push protocol), and the like.
  • Device data includes information that reflects the usage and operation of the television receiver 118 . More particularly, device data may reflect the operation/usage of the television receiver by including indications of functions/operations performed by the television receiver 118 (e.g., indications of channels or programs that have been viewed or recorded), the operational state of the television receiver 118 (e.g., device parameters, error conditions, status or health information), and the like.
  • Information about the operational state of the television receiver 118 includes information about the “health” of the television receiver 118 . Such information may include, for example, information about various hardware conditions, software conditions, connectivity conditions, operating environment information, television receiver temperature, and the like.
  • Connectivity conditions may include information about whether or not particular types of cables, such as Ethernet, USB, and the like, are connected to a television receiver; information about various communication interfaces, such as signal strength and/or signal to noise ratios; and the like.
  • operating environment information may include information about settings, user preferences, environment variables, and the like, that are associated with a television receiver 118 and/or its associated devices, such as a presentation device.
  • operating environment information may include internal television receiver settings or preferences such as modulated output frequency, output resolution, audio output/format preferences, and the like; display resolution or other settings, such as volume, contrast, color adjustment, and the like, of a presentation device that is communicatively coupled to a television receiver; and the like.
  • the decision manager 152 assists the television receiver 118 in making operational decisions, based on the stored device history data 155 .
  • the television receiver 118 transmits an indication of an operation to be performed to the HBDF 100 , and in response, the HBDF 100 provides indications of suggested, recommended, or default parameter values for the indicated operation.
  • the decision manager 152 may determine which one of tuners 190 a and 190 b to utilize for purposes of recording a scheduled program. More particularly, suppose that a user of the television receiver 118 schedules a recording of a particular program that is to be transmitted at 10 PM. In response, the television receiver 118 transmits to the HBDF 100 a request including an indication that a recording operation has been scheduled for 10 PM.
  • the decision manager 152 Upon receiving the request, the decision manager 152 determines that, based on the device history data 155 , the user typically watches programming received by tuner 190 b upon presentation device 120 b located in his bedroom during the late evening (e.g., after 10 PM). Based on this understanding of the user's viewing patterns, the decision manager 152 then determines to use tuner 190 a for purposes of performing the scheduled recording. Finally, the decision manager 152 responds to the received request by transmitting an indication of tuner 190 a as the recommended tuner to use for recording to the television receiver 118 .
  • the HBDF 100 is here illustrated as separate from the television receiver 118 , in other embodiments, functions of the HBDF 100 may be distributed in different ways. In particular, in one embodiment, at least some of the described functions of the HBDF 100 are performed locally by the television receiver 118 . At one extreme, the television receiver 118 performs all of the operations in isolation, for example by storing and executing local versions of modules 151 , 152 , and 155 . In another embodiment, the television receiver has a local decision manager 152 while device history data management functions are provided remotely by the HBDM 100 (or some other system).
  • HBDM 100 do not include all of the illustrated modules.
  • device history data management functions such as are provided by the usage and health tracker 151 and the device history data 155 , are performed by some system that is remote and separate from the HBDM 100 .
  • FIG. 2 is a block diagram illustrating an example content distribution environment 102 in which embodiments of an HBDF 100 may be implemented.
  • audio, video, and/or data service providers such as, but not limited to, television service providers, provide their customers audio/video/data programming (hereafter, collectively and/or exclusively “programming”).
  • programming is often provided by use for the television receiver 118 that is communicatively coupled to the presentation device 120 that is configured to receive and display the programming.
  • the television receiver 118 includes client logic 160 for interacting with the HBDF 100 via the communication system 108 .
  • the client logic 160 reports, from time to time, device data to the HBDF 100 , such that the HBDF 100 can record a device history for the television receiver 118 .
  • the television receiver 118 cooperates with the HBDF 100 in order to determine operations and/or operation parameter values based on the recorded device history. For example, when a user schedules a recording operation, the television receiver 118 may request that the HBDF 100 determine which tuner to utilize to perform the recording, based on the device history maintained by the HBDF 100 .
  • some or all of the functions of the HBDF 100 may instead be performed locally by the television receiver 118 .
  • the television receiver 118 interconnects to one or more communications or media sources (e.g., a cable head-end, satellite antenna, telephone company switch, Ethernet portal, over-the-air antenna) that provide the programming.
  • the television receiver 118 commonly receives programming by way of the communications media or sources described in greater detail below.
  • the television receiver 118 processes and communicates the selected programming to the presentation device 120 .
  • the television receiver 118 may be interchangeably referred to as a “television converter,” “receiver,” “receiving device,” “set-top box,” “television television receiver,” “television receiver,” “television recording device,” “satellite set-top box,” “satellite receiver,” “cable set-top box,” “cable receiver,” “media player,” and/or “television tuner.”
  • the television receiver 118 may be any suitable converter device or electronic equipment that is operable to receive programming.
  • the television receiver 118 may itself include user interface devices, such as buttons or switches.
  • the remote-control device (“remote”) 128 is operable to control the television receiver 118 and/or the presentation device 120 .
  • the remote 128 typically communicates with the television receiver 118 using a suitable wireless medium, such as infrared (“IR”), radio frequency (“RF”), or the like.
  • IR infrared
  • RF radio frequency
  • the television receiver 118 may also include other components, such as a digital video recorder, to record, store, and later present programming.
  • Examples of the presentation device 120 include, but are not limited to, a television (“TV”), a personal computer (“PC”), a sound system receiver, a digital video recorder (“DVR”), a compact disk (“CD”) device, game system, or the like. Presentation devices 120 employ a display, one or more speakers, and/or other output devices to communicate video and/or audio content to a user. In many implementations, one or more presentation devices 120 reside in or near a customer's premises 116 and are communicatively coupled to the television receiver 118 . Further, the television receiver 118 and the presentation device 120 may be integrated into a single device. Such a single device may have the above-described functionality of the television receiver 118 and the presentation device 120 , or may even have additional functionality.
  • a content provider 104 provides program content, such as television content or audio content, to a distributor, such as the program distributor 106 .
  • Example content providers include television stations which provide local or national television programming, special content providers which provide premium based programming or pay-per-view programming, or radio stations which provide audio programming.
  • Communication system 108 may include many different types of communication media, now known or later developed. Non-limiting media examples include telephony systems, the Internet, internets, intranets, cable systems, fiber optic systems, microwave systems, asynchronous transfer mode (“ATM”) systems, frame relay systems, digital subscriber line (“DSL”) systems, radio frequency (“RF”) systems, and satellite systems.
  • ATM asynchronous transfer mode
  • DSL digital subscriber line
  • RF radio frequency
  • the received program content is converted by the program distributor 106 into a suitable signal (a “program signal”) that is communicated (i.e., “uplinked”) by antenna 110 to satellite 112 (separately illustrated herein from, although considered part of, the communication system 108 ).
  • the communicated uplink signal may contain a plurality of multiplexed (e.g., time division multiplexed) programs that are organized into distinct logical or physical channels.
  • the uplink signal is received by the satellite 112 and then communicated (i.e., “downlinked”) from the satellite 112 in one or more directions, for example, onto a predefined portion of the planet.
  • a receiver antenna 114 that is within reception range of the downlink signal communicated from satellite 112 receives the above-described downlink signal.
  • Some types of receiver antenna 114 are operable to receive signals from a single satellite 112 .
  • Other types of receiver antenna 114 are operable to receive signals from multiple satellites 112 and/or from terrestrial based transmitters.
  • antenna 114 is a terrestrial “over-the-air” (“OTA”) broadcast antenna that is configured to receive a program signal from a terrestrial based transmitter, such as broadcast transmit tower.
  • OTA over-the-air
  • the television receiver 118 is operable to receive signals from multiple, distinct antennas, such as by including multiple tuners.
  • the receiver antenna 114 can be located at customer premises 116 .
  • customer premises 116 include a residence, a business, or any other suitable location operable to receive signals from satellite 112 .
  • the received signal is communicated, typically over a hard-wire connection, to a television receiver 118 .
  • the television receiver 118 converts, via an audio/video processor or similar component, the received signal from antenna 114 into a signal and/or format suitable for communication to a presentation device 120 or another device, such as a digital video recorder or a home computing system.
  • the receiver antenna 114 may be remotely located from the customer premises 116 .
  • the antenna 114 may be located on the roof of an apartment building, such that the received signals may be transmitted, after possible recoding, via cable or other mechanisms, such as Wi-Fi, to the customer premises 116 .
  • the television receiver 118 may receive programming partially from, or entirely from, another source other than the above-described receiver antenna 114 .
  • Other embodiments of the television receiver 118 may receive data from program distributors 106 and/or content providers 104 via locally broadcast RF signals, cable, fiber optic, Internet media, or the like.
  • information providers may provide various forms of content and/or services to various devices residing in the customer premises 116 .
  • an information provider may provide a Web page (or other information) to the television receiver 118 or other computing device.
  • Information provider 138 may further perform or facilitate electronic commerce transactions, such as by operating as payment processor, online merchants, order fulfillment systems, or the like.
  • FIG. 2 illustrates just one example of a content distribution environment 102 and that the various embodiments discussed herein are not limited to such environments.
  • content distribution environment 102 and the various devices therein may contain other devices, systems and/or media not specifically described herein.
  • Example embodiments described herein provide applications, tools, data structures and other support to implement a history-based decision facilitator. Other embodiments of the described techniques may be used for other purposes or contexts, such as for configuring desktop applications based on usage history.
  • numerous specific details are set forth, such as data formats, code sequences, and the like, in order to provide a thorough understanding of the described techniques.
  • the embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, and the like.
  • the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular module, component, or routine.
  • FIGS. 3A-3B are block diagrams illustrating example user interfaces and/or example device history data provided and utilized by example embodiments.
  • FIG. 3A shows a table 200 illustrating example device history data utilized by an example embodiment.
  • Table 200 includes device data arranged in rows 204 a - 204 j and columns 202 a - 202 h. The data of table 200 may be stored, for example, as device history data 155 , described with reference to FIG. 1 .
  • Table 200 includes device data that reflects operations performed by multiple different television receivers, along with associated parameter values and related information.
  • each row 204 a - 204 j includes device data that was received from a single television receivers television receiver at a particular time, including television receiver identifier (“ID”) 202 a, operation 202 b, channel number 202 c, start time 202 d, duration 202 e, program identifier (“ID”) 202 f, and tuner 202 g.
  • ID television receiver identifier
  • operation 202 b operation 202 b
  • channel number 202 c start time 202 d
  • start time 202 d start time 202 d
  • duration 202 e duration 202 e
  • program identifier (“ID”) 202 f program identifier
  • tuner 202 g tuner 202 g.
  • the example device history data includes information about operations performed by television receivers at particular times or during particular time intervals.
  • row 204 a indicates that a television receiver having the device identifier 1001 received and presented (e.g., performed a VIEW operation) a program (program ID 1234) received on channel 13 via tuner 1, starting on May 4, 2010, at 17:32 for a duration of 45 minutes.
  • row 204 b indicates that a television receiver having the device identifier 1023 recorded (e.g., performed a RECORD operation) a program (program ID 1009) received on channel 43 via tuner 2, starting on May 5, at 15:00 for a duration of 60 minutes.
  • row 204 c indicates that a television receiver having the device identifier 1003 deleted (e.g., performed a DELETE operation) a previously recorded program (program ID 3473).
  • program ID 3473 a previously recorded program.
  • not all table cells contain relevant data for every type of action. For example, for the DELETE action, channel number 202 c, duration 202 e, and tuner 202 g contain “-,” indicating that such values are not relevant for the particular operation.
  • FIG. 3B shows an example a user interface screen 310 displayed by the television receiver 118 upon a presentation device 120 .
  • the screen 310 is a configuration screen that allows a user to schedule a future recording of a program.
  • elements (e.g., user interface controls) 312 a - 312 d respectively specify parameter values for the recording operation, including a program to record (e.g., “Competitive Eating”), a start time (e.g., 10:30 PM), a duration (e.g., 30 minutes), and a tuner (e.g., tuner 1) of the television receiver to utilize for the recording operation.
  • a program to record e.g., “Competitive Eating”
  • start time e.g., 10:30 PM
  • duration e.g., 30 minutes
  • tuner e.g., tuner 1
  • User interface elements/controls include interactive and non-interactive user interface components or portions, including menus, buttons, text boxes/areas, text, graphics, and the like.
  • the controls 312 a - 312 d are pre-populated by the television receiver based on a program interactively selected by the user, such as via an electronic program guide or other mechanism.
  • the screen 310 is displayed, having at least some of controls 312 a - 312 d pre-populated with, for example, program name, time, and duration.
  • one or more of controls 312 a - 312 d may be interactive, in that the user can further adjust their values via the screen 310 .
  • the user can schedule the recording by selecting control 314 a.
  • the user can cancel the recording by selecting control 314 b.
  • the HBDF 100 utilizes device history data such as that shown in table 200 to assist television receivers in making various decisions.
  • the television receiver 118 has pre-populated at least user interface control 312 d (used to specify the tuner to utilize), based on a value received from the HBDF 100 .
  • the television receiver transmitted to the HBDF 100 an indication that a record operation was being scheduled for 10:30, and received in return an indication to utilize tuner 1, based on a determination that tuner 1 was typically idle during that time period, for example because the user typically viewed programming in his bedroom via tuner 2 in the late evening.
  • the user can override the default value used by the television receiver 118 to pre-populate, based on device history information, user interface controls. For example, the user can select control 312 d to initiate a drop down or other type of selection control in order to specify that a different tuner should be used.
  • a television receiver may make, in cooperation with the HBDF 100 , decisions that are transparent to the user. For example, some decisions are made for purposes other than determining default values to use for pre-populating user interface controls with suitable default values.
  • the HBDF 100 can determine any operations and/or operation parameter values based on device history information.
  • the HBDF 100 facilitates resource allocation functions.
  • a resource may include any hardware, firmware, or software component or element that has limited availability and/or capacity, such as a processor, storage device, tuner, or the like. Resource allocation may thus including assisting a television receiver in allocating or otherwise utilizing limited or finite resources, such as storage capacity, processor utilization, tuner availability, audio/video encoder/decoder availability, audio/video output ports, recorder capability, or the like.
  • a user may specify multiple programs to record on an ongoing basis.
  • the television receiver 118 may not be able to record all of the indicated programs, such as because during a particular time period there are more programs being transmitted than there are tuners in the television receiver 118 .
  • the HBDF 100 can assist the television receiver 118 in making an intelligent determination regarding which program or programs to record (or not record), based on device history information. For example, the HBDF 100 may determine that programs A and C are frequently viewed by the user, whereas program B is infrequently viewed, and accordingly recommend that the television receiver 118 record programs A and C.
  • a television receiver 118 may automatically adjust presentation settings, based on device information processed by the HBDF 100 .
  • the HBDF 100 may determine that during a particular weekend time period, a television receiver 118 is used to view sports programming at high audio volume, and in response cause the television receiver 118 to automatically increase the audio volume during that time.
  • Other presentation settings may be similarly adjusted, including determining to display video at a particular quality level (e.g., high definition, letter boxed, zoomed), determining to display subtitles or closed captioning, determining a particular audio type/quality to use, and the like.
  • the HBDF may determine a function to perform that would free up (or increase availability of) some resource of the set-top box. For example, the television receiver 118 may automatically discard data. In particular, the television receiver 118 may detect that a storage device for recording programs (e.g., a hard disk) is at or near its capacity, such that it will not be able to perform a scheduled recording. The television receiver 118 can request that the HBDF 100 identify one or more previously recorded programs to be deleted, based on device history data. The HBDF 100 may determine that a particular program is frequently recorded but infrequently viewed, and accordingly recommend that program for deletion.
  • a storage device for recording programs e.g., a hard disk
  • decisions facilitated by the HBDF 100 may be based on device history information obtained from multiple television receivers.
  • the HBDF 100 may aggregate device history data received from multiple distinct television receivers. Aggregating device history data may include performing a statistical analysis of multiple device history data records received from multiple distinct television receivers, in order to, for example, determine a frequency, mean, mode, median, maximum, minimum, or the like.
  • the HBDF 100 may determine one or more programs to be recorded based on the determined programs being more popular (e.g., because they are viewed more often by a community of users) than other programs.
  • the HBDF 100 may aggregate device history information obtained from various user communities, including all users (e.g., reflected by device data received from all television receivers), regional users (e.g., reflected by device data received from television receivers in a particular city or state), demographic groups (e.g., reflected by device data received from television receivers associated with users of a particular age and/or gender), household users (e.g., device data received from television receivers located in the same premises), randomly selected users, and the like.
  • all users e.g., reflected by device data received from all television receivers
  • regional users e.g., reflected by device data received from television receivers in a particular city or state
  • demographic groups e.g., reflected by device data received from television receivers associated with users of a particular age and/or gender
  • household users e.g., device data received from television receivers located in the same premises
  • the HBDF 100 first attempts to make a requested determination based on device history information that is specific to the requesting television receiver 118 . If it is unable to do so, such as because it lacks sufficient device history data that is specific to the requesting television receiver 118 , it may then utilize device data received from one or more other television receivers, such as another television receiver in the same premises as the requesting television receiver, television receivers in the same city, a random sampling of television receivers, or the like.
  • the table 200 of device history information may include more or less information, as indicated by row 204 j and/or column 202 h.
  • the table 200 includes a column that identifies a user associated with the television receiver 118 for at least some of the recorded operations.
  • the table 200 includes one or more columns that include health or operational state data, such as free space available on a recording device, presentation settings (e.g., volume), or the like.
  • FIG. 4 is a block diagram of a computing system 400 for practicing example embodiments of an HBDF 100 .
  • FIG. 4 shows a computing system 400 that may be utilized to implement an HBDF 100 .
  • the computing system 400 may comprise one or more distinct computing systems/devices and may span distributed locations.
  • each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks.
  • the HBDF 100 may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.
  • computing system 400 comprises a computer memory (“memory”) 401 , a display 402 , one or more Central Processing Units (“CPU”) 403 , Input/Output devices 404 (e.g., audio processor, video processor, keyboard, mouse, CRT or LCD display, and the like), other computer-readable media 405 , and network connections 406 .
  • the HBDF 100 is shown residing in memory 401 . In other embodiments, some portion of the contents, some of, or all of the components of the HBDF 100 may be stored on and/or transmitted over the other computer-readable media 405 .
  • the components of the HBDF 100 preferably execute on one or more CPUs 403 and facilitate history-based decision making, as described herein.
  • Other code or programs 430 e.g., a Web server, a database management system, or the like
  • data repositories such as data repository 420
  • FIG. 4 may not be present in any specific implementation. For example, some embodiments may not provide other computer readable media 405 or a display 402 .
  • the HBDF 100 includes a usage and health tracker 151 , a decision manager 152 , and device history information 155 (e.g., stored in a data repository), as described with respect to FIG. 1 .
  • the illustrated embodiment of the HBDF 100 also includes an HBDF application program interface (“API”) 153 .
  • the API 153 provides programmatic access to one or more functions of the HBDF 100 .
  • the API 153 may provide a programmatic interface to one or more functions of the HBDF 100 that may be invoked by one of the other programs 430 or some other module.
  • the API 153 facilitates the development of third-party software, such as user interfaces, plug-ins, adapters (e.g., for integrating functions of the HBDF 100 into other systems), and the like.
  • the API 153 may be in at least some embodiments invoked or otherwise accessed via remote entities, such as the television receiver 118 , to access various functions of the PSN 100 .
  • the television receiver 118 may upload or otherwise transmit device history data to the HBDF 100 via the API 153 .
  • the HBDF 100 interacts with various remote entities via the communication system 108 , including the television receiver 118 , the content provider 104 , and/or the program distributor 106 .
  • the television receiver 118 transmits device history data to the HBDF 100 via the communication system 108 ; and the HBDF 100 transmits indications of determined operations and/or operation parameter values to the television receiver 118 via the communication system 108 .
  • the HBDF 100 may receive programming information (e.g., program schedule information), user information (e.g., information about users that are associated with television receivers), and the like via the communication system 108 from the content provider 104 and/or the program distributor 106 .
  • components/modules of the HBDF 100 are implemented using standard programming techniques.
  • the HBDF 100 may be implemented as a “native” executable running on the CPU 403 , along with one or more static or dynamic libraries.
  • the HBDF 100 may be implemented as instructions processed by a virtual machine that executes as one of the other programs 430 .
  • a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript, VB Script, and the like), declarative (e.g., SQL, Prolog, and the like).
  • object-oriented e.g., Java, C++, C#, Visual Basic.NET, Smalltalk, and the like
  • functional e.g., ML, Lisp, Scheme, and the like
  • procedural e.g., C, Pascal, Ada, Modula, and the like
  • scripting e.g., Perl, Ruby, Python, JavaScript, VB Script,
  • the embodiments described above may also use well-known or proprietary synchronous or asynchronous client-server computing techniques.
  • the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs.
  • Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques.
  • Equivalent synchronous embodiments are also supported by an HBDF implementation. Also, other functions could be implemented and/or performed by each component/module, and in different orders, and by different components/modules, yet still achieve the functions of the HBDF 100 .
  • programming interfaces to the data stored as part of the HBDF 100 can be available by standard mechanisms such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through markup languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data.
  • the data repositories 155 and 420 may be implemented as one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques.
  • some or all of the components of the HBDF 100 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and the like.
  • ASICs application-specific integrated circuits
  • controllers e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers
  • FPGAs field-programmable gate arrays
  • CPLDs complex programmable logic devices
  • system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques.
  • a computer-readable medium e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device
  • system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
  • Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
  • the illustrated program distributor 106 , content provider 104 , and television receiver 118 may be implemented using techniques similar to those described above. That is, each of the program distributor 106 , content provider 104 , and television receiver 118 may comprise one or more computing systems similar to computing system 400 , and include functionality implemented by way of a suitable arrangement of hardware, firmware, and/or software components.
  • FIG. 5 is a flow diagram of an example HBDF process provided by one example embodiment.
  • FIG. 5 illustrates a process 500 that may be implemented by, for example, one or more modules/components of the HBDF 100 as described with respect to FIGS. 1 and/or 4 , above.
  • the illustrated process 500 starts at 501 , where it receives device history data that reflects operation of a television receiver.
  • device history data can include operational data, such as indications of various types of operations or functions performed by a television receiver along with associated parameter values, such as a television receiver identifier, a channel identifier, a program identifier, a time/date, a user identifier, or the like.
  • the process receives an indication of a function to be performed by the television receiver, the function including one or more parameters.
  • this includes receiving a request that includes a function identifier, such as a function name, along with indications of one or more parameters for which the process is to determine a value.
  • some of the one or more parameters may be accompanied with values that have already been set by the user (or some other source), while other of the one or more parameters may be identified as needing to have suitable values determined for them by the process.
  • the process determines values for the one or more parameters, based on the received device history data. Determining values for the one or more parameters may include obtaining device history data records that describe previous invocations of the same or similar function. Then, the obtained records may be processed to determine a suitable parameter value, such as the most frequently used parameter value, the most recently used parameter value, or the like. For example, when determining which tuner to use for a recording during a particular time period, the process may determine which tuner has been most frequently used during that time period over the past year (or other analysis window). In other cases, other device history data may be consulted to determine a suitable parameter value, including device history data records associated with other television receivers.
  • determining values for the one or more parameters may also include determining or selecting a code module that is configured to make the determination.
  • the process may utilize a table or other structure that maps function names to handler code modules (e.g., objects, functions, processes) that are structured to perform the necessary processing of device history data (e.g., to execute one or more database queries) to determine suitable values for the indicated parameters.
  • handler code modules e.g., objects, functions, processes
  • device history data e.g., to execute one or more database queries
  • the HBDF can thus maintain an extensible architecture that provides for the addition of new or updated handler code modules that are each configured determine parameter values for one or more different types of functions.
  • the process provides the determined values for the one or more parameters.
  • Providing the determined values may include storing and/or transmitting the values to the television receiver, thereby causing the television receiver to perform the function with the determined parameter values, or to perform some other operation with the determined parameter values, such as pre-populate one or more user interface controls with the determined values.
  • the process ends.
  • the process may instead continue to one of steps 501 - 504 in order to receive and process additional device history data and/or determine additional parameter values.
  • process 500 can also determine operations to be performed, such as automatically determining to record a program, based on an observation that that the television receiver has previously recorded the program or some similar program.
  • the process 500 may not perform one or more of the described operations.
  • the process may not receive device history data as described with respect to block 501 , in that some other component or module may be responsible for receiving and storing the device history data.
  • the process may access the device history data previously stored and managed by some other component, such as by initiating execution of database queries against a remote database that contains device history data.

Abstract

Various embodiments facilitate history-based decision making in television receivers, such as set-top boxes. In one embodiment, a history-based decision facilitator (“HBDF”) is provided. The HBDF facilitates decision making in a television receiver based on device history data received from the television receiver. In one embodiment, the HBDF receives an indication of an operation to be performed by the television receiver, the operation including one or more parameters. In response, the HBDF determines values for the one or more parameters, based on device history data received from the television receiver. The HBDF then provides the determined parameter values to the television receiver. In one example application, the HBDF can determine a tuner of the television receiver to utilize for recording a program, based on the history of the television receiver, such as that the determined tuner is typically idle during the scheduled recording time period.

Description

    PRIORITY CLAIM
  • This patent application is a Continuation of U.S. Non-Provisional Patent Application Ser. No. 12/819,417, filed Jun. 21, 2010, published as U.S. Publication No. 2011/0310305, entitled “SYSTEMS AND METHODS FOR HISTORY-BASED DECISION MAKING IN A TELEVISION RECEIVER,” issued as U.S. Pat. No. 9,363,464 on Jun. 7, 2016, which is hereby incorporated herein by reference in its entirety.
  • TECHNICAL FIELD
  • The technical field relates to facilitating history-based decision making and more particularly, to apparatus, systems, and methods for facilitating decision making in a television receiver, such as a set-top box, based on device history information.
  • BACKGROUND
  • Set-top boxes include hardware and software components that are limited in various ways. For example, a set-top box may include a hard disk that has limited storage capacity, a video processor that has limited bandwidth, a limited number of tuners, or the like. Existing set-top boxes can require considerable user configuration to manage the limited hardware and software resources. For example, when a hard disk or other storage device reaches or nears capacity, a user may be asked to manually specify stored programs to delete from the storage device. Similarly, when a program is to be recorded, a user may be asked to indicate a tuner to utilize to receive the program for recording. Accordingly, there is a need to provide improved resource management capabilities for set-top boxes and other media television receivers.
  • BRIEF SUMMARY
  • In one embodiment, a method for facilitating decision making in a television receiver is provided. The method includes receiving an indication of a function to be performed by a television receiver, the function including one or more parameters; determining values for the one or more parameters based on device history data that reflects past operation of the television receiver; and causing the television receiver to perform the function with the determined values for the one or more parameters.
  • Other embodiments provide systems and computer-readable storage media configured to perform methods similar to the one described above.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
  • FIG. 1 is a block diagram illustrating functional elements of an example embodiment of a history-based decision facilitator.
  • FIG. 2 is a block diagram illustrating an example content distribution environment in which embodiments of a history-based decision facilitator may be implemented.
  • FIGS. 3A-3B are block diagrams illustrating example user interfaces and/or example device history information provided and utilized by example embodiments.
  • FIG. 4 is a block diagram of a computing system for practicing example embodiments of a history-based decision facilitator.
  • FIG. 5 is a flow diagram of an example history-based decision facilitator process provided by one example embodiment.
  • DETAILED DESCRIPTION A. Environment Overview
  • FIG. 1 is a block diagram illustrating functional elements of an example embodiment of a history-based decision facilitator (“HBDF”) 100. The HBDF 100 facilitates decision making in a television receiver 118, such as a set-top box, based on device history information. More particularly, the HBDF 100 can assist the television receiver 118 to automatically or semi-automatically make decisions or determinations about functions or operations to be performed by the television receiver 118. Decisions may be based at least in part on past operations performed by the television receiver 118 and/or other television receivers. In one example embodiment, when a user schedules a recording operation, the television receiver 118 may request that the HBDF 100 determine which tuner to utilize to perform the recording, based on the device history maintained by the HBDF 100. Other types of decisions are contemplated, including but not limited to, determining or identifying functions to be performed by the television receiver 118 (e.g., determining to initiate or schedule a recording operation), determining values for parameters for functions to be performed by the television receiver 118 (e.g., determining a program, time, tuner, channel, or the like, for a recording operation), and the like. Function parameters specify various aspects and/or operations performed by a corresponding function. For example, recording time parameter for a recording function may be used to specify the time and/or duration of a recording; a channel parameter for a recording function may be used to specify a channel to record; and a tuner parameter for a recording function may be used to specify a tuner to use to receive a program for recording.
  • In the illustrated example, the television receiver 118 comprises two tuners 190 a and 190 b and is communicatively coupled to two presentation devices 120 a and 120 b. The tuners 190 a and 190 b can be used to concurrently receive two different programs transmitted by a content distributor 106 (e.g., a satellite television broadcaster), and present each of the received programs on a respective one of the presentation devices 120 a and 120 b. In this manner, the television receiver 118 can provide programming to two presentation devices 120 a and 120 b that may be located in different parts of a customer's premises, such as a living room and a bed room.
  • In one embodiment, the HBDF 100 includes a usage and health tracker 151, a decision manager 152, and device history data 155. The tracker 151 receives device data from the television receiver 118, and stores the received data as device history data 155. The device data may be received in various ways. For example, the television receiver 118 may be configured to transmit the device data to the HBDF 100 on a periodic basis, such as daily, weekly, monthly, or the like. In another embodiment, the television receiver 118 may be configured to transmit the device data upon the occurrence of some event, such as after a specified amount of data (e.g., 100 kilobytes, 50 records) has been accumulated locally to the television receiver 118. Various protocols for communicating the device data between the television receiver 118 and the HBDF 100 are contemplated, including the television receiver 118 transmitting the device data upon receiving a request from the HBDF 100 (e.g., a pull protocol), the television receiver 118 transmitting the device data without initiation by the HBDF 100 (e.g., a push protocol), and the like.
  • Device data includes information that reflects the usage and operation of the television receiver 118. More particularly, device data may reflect the operation/usage of the television receiver by including indications of functions/operations performed by the television receiver 118 (e.g., indications of channels or programs that have been viewed or recorded), the operational state of the television receiver 118 (e.g., device parameters, error conditions, status or health information), and the like. Information about the operational state of the television receiver 118 includes information about the “health” of the television receiver 118. Such information may include, for example, information about various hardware conditions, software conditions, connectivity conditions, operating environment information, television receiver temperature, and the like. Connectivity conditions may include information about whether or not particular types of cables, such as Ethernet, USB, and the like, are connected to a television receiver; information about various communication interfaces, such as signal strength and/or signal to noise ratios; and the like. In addition, operating environment information may include information about settings, user preferences, environment variables, and the like, that are associated with a television receiver 118 and/or its associated devices, such as a presentation device. For example, operating environment information may include internal television receiver settings or preferences such as modulated output frequency, output resolution, audio output/format preferences, and the like; display resolution or other settings, such as volume, contrast, color adjustment, and the like, of a presentation device that is communicatively coupled to a television receiver; and the like.
  • The decision manager 152 assists the television receiver 118 in making operational decisions, based on the stored device history data 155. In one embodiment, the television receiver 118 transmits an indication of an operation to be performed to the HBDF 100, and in response, the HBDF 100 provides indications of suggested, recommended, or default parameter values for the indicated operation. As one example, the decision manager 152 may determine which one of tuners 190 a and 190 b to utilize for purposes of recording a scheduled program. More particularly, suppose that a user of the television receiver 118 schedules a recording of a particular program that is to be transmitted at 10 PM. In response, the television receiver 118 transmits to the HBDF 100 a request including an indication that a recording operation has been scheduled for 10 PM. Upon receiving the request, the decision manager 152 determines that, based on the device history data 155, the user typically watches programming received by tuner 190 b upon presentation device 120 b located in his bedroom during the late evening (e.g., after 10 PM). Based on this understanding of the user's viewing patterns, the decision manager 152 then determines to use tuner 190 a for purposes of performing the scheduled recording. Finally, the decision manager 152 responds to the received request by transmitting an indication of tuner 190 a as the recommended tuner to use for recording to the television receiver 118.
  • Although the HBDF 100 is here illustrated as separate from the television receiver 118, in other embodiments, functions of the HBDF 100 may be distributed in different ways. In particular, in one embodiment, at least some of the described functions of the HBDF 100 are performed locally by the television receiver 118. At one extreme, the television receiver 118 performs all of the operations in isolation, for example by storing and executing local versions of modules 151, 152, and 155. In another embodiment, the television receiver has a local decision manager 152 while device history data management functions are provided remotely by the HBDM 100 (or some other system).
  • In addition, other embodiments of the HBDM 100 do not include all of the illustrated modules. For example, in some embodiments, device history data management functions, such as are provided by the usage and health tracker 151 and the device history data 155, are performed by some system that is remote and separate from the HBDM 100.
  • FIG. 2 is a block diagram illustrating an example content distribution environment 102 in which embodiments of an HBDF 100 may be implemented. In the content distribution environment 102, audio, video, and/or data service providers, such as, but not limited to, television service providers, provide their customers audio/video/data programming (hereafter, collectively and/or exclusively “programming”). Such programming is often provided by use for the television receiver 118 that is communicatively coupled to the presentation device 120 that is configured to receive and display the programming.
  • In the illustrated embodiment, the television receiver 118 includes client logic 160 for interacting with the HBDF 100 via the communication system 108. The client logic 160 reports, from time to time, device data to the HBDF 100, such that the HBDF 100 can record a device history for the television receiver 118. Then, the television receiver 118 cooperates with the HBDF 100 in order to determine operations and/or operation parameter values based on the recorded device history. For example, when a user schedules a recording operation, the television receiver 118 may request that the HBDF 100 determine which tuner to utilize to perform the recording, based on the device history maintained by the HBDF 100. As noted, in other embodiments, some or all of the functions of the HBDF 100 may instead be performed locally by the television receiver 118.
  • The television receiver 118 interconnects to one or more communications or media sources (e.g., a cable head-end, satellite antenna, telephone company switch, Ethernet portal, over-the-air antenna) that provide the programming. The television receiver 118 commonly receives programming by way of the communications media or sources described in greater detail below. Based upon selection by a user, such as may be input via remote control 128 or other input mechanism, the television receiver 118 processes and communicates the selected programming to the presentation device 120.
  • For convenience, the television receiver 118 may be interchangeably referred to as a “television converter,” “receiver,” “receiving device,” “set-top box,” “television television receiver,” “television receiver,” “television recording device,” “satellite set-top box,” “satellite receiver,” “cable set-top box,” “cable receiver,” “media player,” and/or “television tuner.” Accordingly, the television receiver 118 may be any suitable converter device or electronic equipment that is operable to receive programming. Further, the television receiver 118 may itself include user interface devices, such as buttons or switches. In many applications, the remote-control device (“remote”) 128 is operable to control the television receiver 118 and/or the presentation device 120. The remote 128 typically communicates with the television receiver 118 using a suitable wireless medium, such as infrared (“IR”), radio frequency (“RF”), or the like. The television receiver 118 may also include other components, such as a digital video recorder, to record, store, and later present programming.
  • Examples of the presentation device 120 include, but are not limited to, a television (“TV”), a personal computer (“PC”), a sound system receiver, a digital video recorder (“DVR”), a compact disk (“CD”) device, game system, or the like. Presentation devices 120 employ a display, one or more speakers, and/or other output devices to communicate video and/or audio content to a user. In many implementations, one or more presentation devices 120 reside in or near a customer's premises 116 and are communicatively coupled to the television receiver 118. Further, the television receiver 118 and the presentation device 120 may be integrated into a single device. Such a single device may have the above-described functionality of the television receiver 118 and the presentation device 120, or may even have additional functionality.
  • A content provider 104 provides program content, such as television content or audio content, to a distributor, such as the program distributor 106. Example content providers include television stations which provide local or national television programming, special content providers which provide premium based programming or pay-per-view programming, or radio stations which provide audio programming.
  • Program content, interchangeably referred to as a program, is communicated to the program distributor 106 from the content provider 104 through suitable communication media, generally illustrated as communication system 108 for convenience. Communication system 108 may include many different types of communication media, now known or later developed. Non-limiting media examples include telephony systems, the Internet, internets, intranets, cable systems, fiber optic systems, microwave systems, asynchronous transfer mode (“ATM”) systems, frame relay systems, digital subscriber line (“DSL”) systems, radio frequency (“RF”) systems, and satellite systems.
  • In at least one embodiment, the received program content is converted by the program distributor 106 into a suitable signal (a “program signal”) that is communicated (i.e., “uplinked”) by antenna 110 to satellite 112 (separately illustrated herein from, although considered part of, the communication system 108). The communicated uplink signal may contain a plurality of multiplexed (e.g., time division multiplexed) programs that are organized into distinct logical or physical channels. The uplink signal is received by the satellite 112 and then communicated (i.e., “downlinked”) from the satellite 112 in one or more directions, for example, onto a predefined portion of the planet.
  • A receiver antenna 114 that is within reception range of the downlink signal communicated from satellite 112 receives the above-described downlink signal. Some types of receiver antenna 114 are operable to receive signals from a single satellite 112. Other types of receiver antenna 114 are operable to receive signals from multiple satellites 112 and/or from terrestrial based transmitters. In some embodiments, antenna 114 is a terrestrial “over-the-air” (“OTA”) broadcast antenna that is configured to receive a program signal from a terrestrial based transmitter, such as broadcast transmit tower. Furthermore, in some cases, the television receiver 118 is operable to receive signals from multiple, distinct antennas, such as by including multiple tuners.
  • The receiver antenna 114 can be located at customer premises 116. Examples of customer premises 116 include a residence, a business, or any other suitable location operable to receive signals from satellite 112. The received signal is communicated, typically over a hard-wire connection, to a television receiver 118. The television receiver 118 converts, via an audio/video processor or similar component, the received signal from antenna 114 into a signal and/or format suitable for communication to a presentation device 120 or another device, such as a digital video recorder or a home computing system. In some embodiments, the receiver antenna 114 may be remotely located from the customer premises 116. For example, the antenna 114 may be located on the roof of an apartment building, such that the received signals may be transmitted, after possible recoding, via cable or other mechanisms, such as Wi-Fi, to the customer premises 116.
  • The television receiver 118 may receive programming partially from, or entirely from, another source other than the above-described receiver antenna 114. Other embodiments of the television receiver 118 may receive data from program distributors 106 and/or content providers 104 via locally broadcast RF signals, cable, fiber optic, Internet media, or the like.
  • In addition, information providers (not shown) may provide various forms of content and/or services to various devices residing in the customer premises 116. For example, an information provider may provide a Web page (or other information) to the television receiver 118 or other computing device. Information provider 138 may further perform or facilitate electronic commerce transactions, such as by operating as payment processor, online merchants, order fulfillment systems, or the like.
  • The above description of the content distribution environment 102 and the customer premises 116, and the various devices therein, is intended as a broad, non-limiting overview of an example environment in which various embodiments of a history-based decision facilitator may be implemented. FIG. 2 illustrates just one example of a content distribution environment 102 and that the various embodiments discussed herein are not limited to such environments. In particular, content distribution environment 102 and the various devices therein, may contain other devices, systems and/or media not specifically described herein.
  • Example embodiments described herein provide applications, tools, data structures and other support to implement a history-based decision facilitator. Other embodiments of the described techniques may be used for other purposes or contexts, such as for configuring desktop applications based on usage history. In the following description, numerous specific details are set forth, such as data formats, code sequences, and the like, in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, and the like. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular module, component, or routine.
  • B. Example User Interfaces and Device History Data
  • FIGS. 3A-3B are block diagrams illustrating example user interfaces and/or example device history data provided and utilized by example embodiments. In particular, FIG. 3A shows a table 200 illustrating example device history data utilized by an example embodiment. Table 200 includes device data arranged in rows 204 a-204 j and columns 202 a-202 h. The data of table 200 may be stored, for example, as device history data 155, described with reference to FIG. 1. Table 200 includes device data that reflects operations performed by multiple different television receivers, along with associated parameter values and related information. In particular, each row 204 a-204 j includes device data that was received from a single television receivers television receiver at a particular time, including television receiver identifier (“ID”) 202 a, operation 202 b, channel number 202 c, start time 202 d, duration 202 e, program identifier (“ID”) 202 f, and tuner 202 g.
  • As noted above, the example device history data includes information about operations performed by television receivers at particular times or during particular time intervals. For example, row 204 a indicates that a television receiver having the device identifier 1001 received and presented (e.g., performed a VIEW operation) a program (program ID 1234) received on channel 13 via tuner 1, starting on May 4, 2010, at 17:32 for a duration of 45 minutes. As another example, row 204 b indicates that a television receiver having the device identifier 1023 recorded (e.g., performed a RECORD operation) a program (program ID 1009) received on channel 43 via tuner 2, starting on May 5, at 15:00 for a duration of 60 minutes. As a further example, row 204 c indicates that a television receiver having the device identifier 1003 deleted (e.g., performed a DELETE operation) a previously recorded program (program ID 3473). Note that not all table cells contain relevant data for every type of action. For example, for the DELETE action, channel number 202 c, duration 202 e, and tuner 202 g contain “-,” indicating that such values are not relevant for the particular operation.
  • FIG. 3B shows an example a user interface screen 310 displayed by the television receiver 118 upon a presentation device 120. The screen 310 is a configuration screen that allows a user to schedule a future recording of a program. In this example, elements (e.g., user interface controls) 312 a-312 d respectively specify parameter values for the recording operation, including a program to record (e.g., “Competitive Eating”), a start time (e.g., 10:30 PM), a duration (e.g., 30 minutes), and a tuner (e.g., tuner 1) of the television receiver to utilize for the recording operation. User interface elements/controls include interactive and non-interactive user interface components or portions, including menus, buttons, text boxes/areas, text, graphics, and the like. Typically, at least some of the controls 312 a-312 d are pre-populated by the television receiver based on a program interactively selected by the user, such as via an electronic program guide or other mechanism. For example, in response to a user selecting the Competitive Eating program on an electronic program guide, the screen 310 is displayed, having at least some of controls 312 a-312 d pre-populated with, for example, program name, time, and duration. In some embodiments, one or more of controls 312 a-312 d may be interactive, in that the user can further adjust their values via the screen 310. Once the user is satisfied with the selections in controls 312 a-312 d, the user can schedule the recording by selecting control 314 a. Alternatively, the user can cancel the recording by selecting control 314 b.
  • As noted, the HBDF 100 utilizes device history data such as that shown in table 200 to assist television receivers in making various decisions. In this example, the television receiver 118 has pre-populated at least user interface control 312 d (used to specify the tuner to utilize), based on a value received from the HBDF 100. In particular, when the user indicated that they wished to record a program beginning at 10:30, the television receiver transmitted to the HBDF 100 an indication that a record operation was being scheduled for 10:30, and received in return an indication to utilize tuner 1, based on a determination that tuner 1 was typically idle during that time period, for example because the user typically viewed programming in his bedroom via tuner 2 in the late evening.
  • In the illustrated example, the user can override the default value used by the television receiver 118 to pre-populate, based on device history information, user interface controls. For example, the user can select control 312 d to initiate a drop down or other type of selection control in order to specify that a different tuner should be used.
  • In other applications, a television receiver may make, in cooperation with the HBDF 100, decisions that are transparent to the user. For example, some decisions are made for purposes other than determining default values to use for pre-populating user interface controls with suitable default values.
  • In general, the HBDF 100 can determine any operations and/or operation parameter values based on device history information. In at least some embodiments, the HBDF 100 facilitates resource allocation functions. A resource may include any hardware, firmware, or software component or element that has limited availability and/or capacity, such as a processor, storage device, tuner, or the like. Resource allocation may thus including assisting a television receiver in allocating or otherwise utilizing limited or finite resources, such as storage capacity, processor utilization, tuner availability, audio/video encoder/decoder availability, audio/video output ports, recorder capability, or the like. In one embodiment, there may be multiple functions competing for access to or use of a limited resource on a set-top box, and the HBDF 100 may allocate the resource by selecting some subset of the multiple functions that, when performed, would not over-utilize the limited resource.
  • As one example, a user may specify multiple programs to record on an ongoing basis. In some cases, the television receiver 118 may not be able to record all of the indicated programs, such as because during a particular time period there are more programs being transmitted than there are tuners in the television receiver 118. For example, suppose that the user specifies three programs (e.g., programs A, B, and C) to record, and all three programs are then scheduled for transmission during a same or overlapping time period. In such a case, a television receiver 118 having two tuners could not record all three programs. However, the HBDF 100 can assist the television receiver 118 in making an intelligent determination regarding which program or programs to record (or not record), based on device history information. For example, the HBDF 100 may determine that programs A and C are frequently viewed by the user, whereas program B is infrequently viewed, and accordingly recommend that the television receiver 118 record programs A and C.
  • As another example, a television receiver 118 may automatically adjust presentation settings, based on device information processed by the HBDF 100. For example, the HBDF 100 may determine that during a particular weekend time period, a television receiver 118 is used to view sports programming at high audio volume, and in response cause the television receiver 118 to automatically increase the audio volume during that time. Other presentation settings may be similarly adjusted, including determining to display video at a particular quality level (e.g., high definition, letter boxed, zoomed), determining to display subtitles or closed captioning, determining a particular audio type/quality to use, and the like.
  • In another embodiment, the HBDF may determine a function to perform that would free up (or increase availability of) some resource of the set-top box. For example, the television receiver 118 may automatically discard data. In particular, the television receiver 118 may detect that a storage device for recording programs (e.g., a hard disk) is at or near its capacity, such that it will not be able to perform a scheduled recording. The television receiver 118 can request that the HBDF 100 identify one or more previously recorded programs to be deleted, based on device history data. The HBDF 100 may determine that a particular program is frequently recorded but infrequently viewed, and accordingly recommend that program for deletion.
  • In addition, decisions facilitated by the HBDF 100 may be based on device history information obtained from multiple television receivers. For example, the HBDF 100 may aggregate device history data received from multiple distinct television receivers. Aggregating device history data may include performing a statistical analysis of multiple device history data records received from multiple distinct television receivers, in order to, for example, determine a frequency, mean, mode, median, maximum, minimum, or the like. In one embodiment, the HBDF 100 may determine one or more programs to be recorded based on the determined programs being more popular (e.g., because they are viewed more often by a community of users) than other programs. The HBDF 100 may aggregate device history information obtained from various user communities, including all users (e.g., reflected by device data received from all television receivers), regional users (e.g., reflected by device data received from television receivers in a particular city or state), demographic groups (e.g., reflected by device data received from television receivers associated with users of a particular age and/or gender), household users (e.g., device data received from television receivers located in the same premises), randomly selected users, and the like.
  • In some embodiments, the HBDF 100 first attempts to make a requested determination based on device history information that is specific to the requesting television receiver 118. If it is unable to do so, such as because it lacks sufficient device history data that is specific to the requesting television receiver 118, it may then utilize device data received from one or more other television receivers, such as another television receiver in the same premises as the requesting television receiver, television receivers in the same city, a random sampling of television receivers, or the like.
  • The table 200 of device history information may include more or less information, as indicated by row 204 j and/or column 202 h. For example, in some embodiments, the table 200 includes a column that identifies a user associated with the television receiver 118 for at least some of the recorded operations. In other embodiments, the table 200 includes one or more columns that include health or operational state data, such as free space available on a recording device, presentation settings (e.g., volume), or the like.
  • C. Example Computing System Implementation
  • FIG. 4 is a block diagram of a computing system 400 for practicing example embodiments of an HBDF 100. In particular, FIG. 4 shows a computing system 400 that may be utilized to implement an HBDF 100. Note that one or more general purpose or special purpose computing systems/devices may be used to implement the HBDF 100. In addition, the computing system 400 may comprise one or more distinct computing systems/devices and may span distributed locations. Furthermore, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Also, the HBDF 100 may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.
  • In the embodiment shown, computing system 400 comprises a computer memory (“memory”) 401, a display 402, one or more Central Processing Units (“CPU”) 403, Input/Output devices 404 (e.g., audio processor, video processor, keyboard, mouse, CRT or LCD display, and the like), other computer-readable media 405, and network connections 406. The HBDF 100 is shown residing in memory 401. In other embodiments, some portion of the contents, some of, or all of the components of the HBDF 100 may be stored on and/or transmitted over the other computer-readable media 405. The components of the HBDF 100 preferably execute on one or more CPUs 403 and facilitate history-based decision making, as described herein. Other code or programs 430 (e.g., a Web server, a database management system, or the like) and potentially other data repositories, such as data repository 420, also reside in the memory 401, and preferably execute on one or more CPUs 403. Of note, one or more of the components in FIG. 4 may not be present in any specific implementation. For example, some embodiments may not provide other computer readable media 405 or a display 402.
  • In a typical embodiment, the HBDF 100 includes a usage and health tracker 151, a decision manager 152, and device history information 155 (e.g., stored in a data repository), as described with respect to FIG. 1.
  • The illustrated embodiment of the HBDF 100 also includes an HBDF application program interface (“API”) 153. The API 153 provides programmatic access to one or more functions of the HBDF 100. For example, the API 153 may provide a programmatic interface to one or more functions of the HBDF 100 that may be invoked by one of the other programs 430 or some other module. In this manner, the API 153 facilitates the development of third-party software, such as user interfaces, plug-ins, adapters (e.g., for integrating functions of the HBDF 100 into other systems), and the like. In addition, the API 153 may be in at least some embodiments invoked or otherwise accessed via remote entities, such as the television receiver 118, to access various functions of the PSN 100. For example, the television receiver 118 may upload or otherwise transmit device history data to the HBDF 100 via the API 153.
  • The HBDF 100 interacts with various remote entities via the communication system 108, including the television receiver 118, the content provider 104, and/or the program distributor 106. As noted, the television receiver 118 transmits device history data to the HBDF 100 via the communication system 108; and the HBDF 100 transmits indications of determined operations and/or operation parameter values to the television receiver 118 via the communication system 108. In addition, the HBDF 100 may receive programming information (e.g., program schedule information), user information (e.g., information about users that are associated with television receivers), and the like via the communication system 108 from the content provider 104 and/or the program distributor 106.
  • In an example embodiment, components/modules of the HBDF 100 are implemented using standard programming techniques. For example, the HBDF 100 may be implemented as a “native” executable running on the CPU 403, along with one or more static or dynamic libraries. In other embodiments, the HBDF 100 may be implemented as instructions processed by a virtual machine that executes as one of the other programs 430. In general, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript, VB Script, and the like), declarative (e.g., SQL, Prolog, and the like).
  • The embodiments described above may also use well-known or proprietary synchronous or asynchronous client-server computing techniques. However, the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques.
  • Equivalent synchronous embodiments are also supported by an HBDF implementation. Also, other functions could be implemented and/or performed by each component/module, and in different orders, and by different components/modules, yet still achieve the functions of the HBDF 100.
  • In addition, programming interfaces to the data stored as part of the HBDF 100, such as in the data repositories 155 and 420, can be available by standard mechanisms such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through markup languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. The data repositories 155 and 420 may be implemented as one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques.
  • Different configurations and locations of programs and data are contemplated for use with techniques of described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, and the like). Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of an HBDF.
  • Furthermore, in some embodiments, some or all of the components of the HBDF 100 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and the like. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
  • The illustrated program distributor 106, content provider 104, and television receiver 118 may be implemented using techniques similar to those described above. That is, each of the program distributor 106, content provider 104, and television receiver 118 may comprise one or more computing systems similar to computing system 400, and include functionality implemented by way of a suitable arrangement of hardware, firmware, and/or software components.
  • D. Example Processes
  • FIG. 5 is a flow diagram of an example HBDF process provided by one example embodiment. In particular, FIG. 5 illustrates a process 500 that may be implemented by, for example, one or more modules/components of the HBDF 100 as described with respect to FIGS. 1 and/or 4, above.
  • The illustrated process 500 starts at 501, where it receives device history data that reflects operation of a television receiver. As noted, device history data can include operational data, such as indications of various types of operations or functions performed by a television receiver along with associated parameter values, such as a television receiver identifier, a channel identifier, a program identifier, a time/date, a user identifier, or the like.
  • At 502, the process receives an indication of a function to be performed by the television receiver, the function including one or more parameters. In one embodiment, this includes receiving a request that includes a function identifier, such as a function name, along with indications of one or more parameters for which the process is to determine a value. In some cases, some of the one or more parameters may be accompanied with values that have already been set by the user (or some other source), while other of the one or more parameters may be identified as needing to have suitable values determined for them by the process.
  • At 503, the process determines values for the one or more parameters, based on the received device history data. Determining values for the one or more parameters may include obtaining device history data records that describe previous invocations of the same or similar function. Then, the obtained records may be processed to determine a suitable parameter value, such as the most frequently used parameter value, the most recently used parameter value, or the like. For example, when determining which tuner to use for a recording during a particular time period, the process may determine which tuner has been most frequently used during that time period over the past year (or other analysis window). In other cases, other device history data may be consulted to determine a suitable parameter value, including device history data records associated with other television receivers.
  • In some embodiments, determining values for the one or more parameters may also include determining or selecting a code module that is configured to make the determination. For example, the process may utilize a table or other structure that maps function names to handler code modules (e.g., objects, functions, processes) that are structured to perform the necessary processing of device history data (e.g., to execute one or more database queries) to determine suitable values for the indicated parameters. The HBDF can thus maintain an extensible architecture that provides for the addition of new or updated handler code modules that are each configured determine parameter values for one or more different types of functions.
  • At 504, the process provides the determined values for the one or more parameters. Providing the determined values may include storing and/or transmitting the values to the television receiver, thereby causing the television receiver to perform the function with the determined parameter values, or to perform some other operation with the determined parameter values, such as pre-populate one or more user interface controls with the determined values.
  • Then, the process ends. In other embodiments, the process may instead continue to one of steps 501-504 in order to receive and process additional device history data and/or determine additional parameter values.
  • Some embodiments perform one or more operations/aspects in addition to, or instead of, the ones described with respect to process 500. For example, in one embodiment, process 500 can also determine operations to be performed, such as automatically determining to record a program, based on an observation that that the television receiver has previously recorded the program or some similar program. In other embodiments, the process 500 may not perform one or more of the described operations. For example, the process may not receive device history data as described with respect to block 501, in that some other component or module may be responsible for receiving and storing the device history data. In such cases, the process may access the device history data previously stored and managed by some other component, such as by initiating execution of database queries against a remote database that contains device history data.
  • It should be emphasized that the above-described embodiments of the history-based decision facilitator 100 and related techniques are merely possible examples of implementations of the invention. Many variations and modifications may be made to the above-described embodiments. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.

Claims (21)

1-20. (canceled)
21. A computing system configured to facilitate history-based decision making in a television receiver, comprising:
a memory; and
a module stored on the memory that is configured, when executed, to:
receive from one or more television receivers device history data that includes indications of operations performed by each of the one or more television receivers;
receive an indication of a user-specified function to be performed by the television receiver, the function including one or more parameters that specify operation of the function, the function including recording a program at an indicated time;
determine values for the one or more parameters, based on the received device history data, wherein the received device history data represents viewing patterns associated with the one or more television receivers; and
cause the television receiver to perform the function with the determined values for the one or more parameters.
22. The computing system of claim 21, wherein the device history data indicates which tuners of the one or more television receivers are typically in use at the indicated time.
23. The computing system of claim 21, wherein the module is further configured to:
determine that there is insufficient device history data about the television receiver to determine the values for the one or more parameters; and
in response, determine the values for the one or more parameters based on the device history data received from at least one other television receiver.
24. The computing system of claim 23, wherein the module is further configured to:
determine the values for the one or more parameters based on device history data received from at least one other television receiver located in a same premises as the television receiver.
25. The computing system of claim 23, wherein the module is further configured to:
determine the values for the one or more parameters based on device history data received from at least one other television receiver associated with users of a specified demographic group.
26. The computing system of claim 23, wherein the module is further configured to:
determine the values for the one or more parameters based on device history data received from at least one randomly selected television receiver.
27. The computing system of claim 21, wherein the module is further configured to:
receive an indication that the television receiver is to record multiple programs at the indicated time, the number of multiple programs to record exceeding the number of tuners in the television receiver; and
select one or more programs for recording, the number of selected programs being equal to the number of tuners, based on the viewing patterns represented by the device history data.
28. The computing system of claim 27, wherein the device history data indicates that the selected programs are more frequently viewed than other of the multiple programs that are not selected for recording.
29. The computing system of claim 21, wherein each of the television receivers has at least one tuner, and wherein the module is further configured to:
select a first tuner of one of the television receivers based on the viewing patterns indicating that a second tuner is typically in use at the indicated time; and
cause the television receiver to use the selected tuner for the recording.
30. The computing system of 29, wherein the television receiver is coupled to multiple displays, and wherein the viewing patterns indicate that a user typically views programs via a display coupled to the second tuner.
31. The computing system of claim 21, wherein the television receiver is a set-top box that includes the computing system, and wherein the module is further configured to receive the device history data from a data store of the television receiver.
32. A method for facilitating history-based decision making in a television receiver, the method comprising:
under control of a computer processor,
receiving from one or more television receivers device history data that includes indications of operations performed by each of the one or more television receivers;
receiving an indication of a user-specified function to be performed by the television receiver, the function including one or more parameters that specify operation of the function, the function including recording a program at an indicated time;
determining values for the one or more parameters, based on the received device history data, wherein the received device history data represents viewing patterns associated with the one or more television receivers; and
causing the television receiver to perform the function with the determined values for the one or more parameters.
33. The method of claim 32, further comprising:
determining that there is insufficient device history data about the television receiver to determine the values for the one or more parameters; and
in response, determining values for the one or more parameters based on the device history data received from at least one other television receiver.
34. The method of claim 33, further comprising:
determining the values for the one or more parameters based on device history data received from other television receivers located in a same premises as the television receiver.
35. The method of claim 32, further comprising:
receiving an indication that a television receiver is to record multiple programs at the indicated time, the number of multiple programs to record exceeding the number of tuners in the television receiver; and
selecting one or more programs for recording, the number of selected programs being equal to the number of tuners, based on the viewing patterns represented by the device history data, wherein the device history data indicates that the selected programs are more frequently viewed than other of the multiple programs that are not selected for recording.
36. The method of claim 32, wherein each of the television receiver has at least one tuner, and further comprising:
selecting a first tuner of one of the television receivers based on the viewing patterns indicating that a second tuner is typically in use at the indicated time; and
causing the television receiver to use the selected tuner for the recording.
37. The method of claim 32, wherein receiving the device history data includes receiving multiple records that each describe an operation performed by the television receiver, each record indicating a device identifier, an operation, and a time.
38. A non-transitory computer-readable storage medium whose contents, when executed, cause a computing system to facilitate history-based decision making in a television receiver, by performing a method comprising:
receiving from one or more television receivers device history data that includes indications of operations performed by each of the one or more television receivers;
receiving an indication of a user-specified function to be performed by the television receiver, the function including one or more parameters that specify operation of the function, the function including recording a program at an indicated time;
determining values for the one or more parameters, based on the received device history data, wherein the received device history data represents viewing patterns associated with the one or more television receivers; and
causing the television receiver to perform the function with the determined values for the one or more parameters
39. The non-transitory computer-readable storage medium of claim 38, wherein the television receiver is a set-top box that is remote from the computing system, and wherein causing the television receiver to perform the function includes transmitting to the set-top box the determined values for the one or more parameters.
40. The non-transitory computer-readable storage medium of claim 38 wherein the method further comprises:
determining that there is insufficient device history data about the television receiver to determine the values for the one or more parameters; and
in response, determining the values for the one or more parameters based on the device history data received from multiple other television receivers.
US15/166,119 2010-06-21 2016-05-26 Systems and methods for history-based decision making in a television receiver Active 2031-07-10 US10958979B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/166,119 US10958979B2 (en) 2010-06-21 2016-05-26 Systems and methods for history-based decision making in a television receiver

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/819,417 US9363464B2 (en) 2010-06-21 2010-06-21 Systems and methods for history-based decision making in a television receiver
US15/166,119 US10958979B2 (en) 2010-06-21 2016-05-26 Systems and methods for history-based decision making in a television receiver

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/819,417 Continuation US9363464B2 (en) 2010-06-21 2010-06-21 Systems and methods for history-based decision making in a television receiver

Publications (2)

Publication Number Publication Date
US20160309228A1 true US20160309228A1 (en) 2016-10-20
US10958979B2 US10958979B2 (en) 2021-03-23

Family

ID=45328338

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/819,417 Active 2034-03-17 US9363464B2 (en) 2010-06-21 2010-06-21 Systems and methods for history-based decision making in a television receiver
US15/166,119 Active 2031-07-10 US10958979B2 (en) 2010-06-21 2016-05-26 Systems and methods for history-based decision making in a television receiver

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/819,417 Active 2034-03-17 US9363464B2 (en) 2010-06-21 2010-06-21 Systems and methods for history-based decision making in a television receiver

Country Status (1)

Country Link
US (2) US9363464B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10587716B2 (en) * 2017-10-26 2020-03-10 Rovi Guides, Inc. Systems and methods for optimizing allocation of bandwidth for pre-caching media content

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9190110B2 (en) 2009-05-12 2015-11-17 JBF Interlude 2009 LTD System and method for assembling a recorded composition
US11232458B2 (en) 2010-02-17 2022-01-25 JBF Interlude 2009 LTD System and method for data mining within interactive multimedia
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US9699503B2 (en) * 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US10089592B2 (en) 2010-12-29 2018-10-02 Comcast Cable Communications, Llc Measuring video asset viewing
US10945011B2 (en) 2010-12-29 2021-03-09 Comcast Cable Communications, Llc Measuring video viewing
US10645433B1 (en) 2013-08-29 2020-05-05 Comcast Cable Communications, Llc Measuring video-content viewing
US11558672B1 (en) * 2012-11-19 2023-01-17 Cox Communications, Inc. System for providing new content related to content currently being accessed
US9106965B2 (en) 2012-12-27 2015-08-11 Echostar Technologies L.L.C. Using idle resources to reduce channel change times
EP3393133B1 (en) * 2012-12-27 2020-04-29 DISH Technologies L.L.C. Method for preparing a television channel for presentation, television receiver and computer program
KR102277258B1 (en) * 2014-02-27 2021-07-14 엘지전자 주식회사 Digital device and method of processing application thereof
US9653115B2 (en) 2014-04-10 2017-05-16 JBF Interlude 2009 LTD Systems and methods for creating linear video from branched video
US9854306B2 (en) 2014-07-28 2017-12-26 Echostar Technologies L.L.C. Methods and systems for content navigation among programs presenting advertising content
US9792957B2 (en) 2014-10-08 2017-10-17 JBF Interlude 2009 LTD Systems and methods for dynamic video bookmarking
US11412276B2 (en) 2014-10-10 2022-08-09 JBF Interlude 2009 LTD Systems and methods for parallel track transitions
US9756378B2 (en) 2015-01-07 2017-09-05 Echostar Technologies L.L.C. Single file PVR per service ID
US10460765B2 (en) 2015-08-26 2019-10-29 JBF Interlude 2009 LTD Systems and methods for adaptive and responsive video
US9743133B2 (en) 2015-09-15 2017-08-22 Echostar Technologies L.L.C. Apparatus, systems and methods for satellite system fast channel change
US9635413B2 (en) 2015-09-23 2017-04-25 Echostar Technologies L.L.C. Advance decryption key acquisition for streaming media content
US11164548B2 (en) 2015-12-22 2021-11-02 JBF Interlude 2009 LTD Intelligent buffering of large-scale video
US10887664B2 (en) * 2016-01-05 2021-01-05 Adobe Inc. Controlling start times at which skippable video advertisements begin playback in a digital medium environment
KR102102453B1 (en) * 2016-01-08 2020-04-20 주식회사 아이플래테아 Viewer rating calculation server, viewer rating calculation method, and viewer rating calculation remote device
US11856271B2 (en) 2016-04-12 2023-12-26 JBF Interlude 2009 LTD Symbiotic interactive video
CN109791501B (en) * 2016-11-15 2023-08-22 谷歌有限责任公司 System and method for reducing download requirements
US11050809B2 (en) 2016-12-30 2021-06-29 JBF Interlude 2009 LTD Systems and methods for dynamic weighting of branched video paths
US10257572B2 (en) 2017-01-03 2019-04-09 Bliss Point Media, Inc. Optimization of broadcast event effectiveness
US11368752B2 (en) * 2017-01-03 2022-06-21 Bliss Point Media, Inc. Optimization of broadcast event effectiveness
US10257578B1 (en) 2018-01-05 2019-04-09 JBF Interlude 2009 LTD Dynamic library display for interactive videos
KR102540001B1 (en) * 2018-01-29 2023-06-05 삼성전자주식회사 Display apparatus and method for displayling a screen of display apparatus
CN108282673B (en) * 2018-01-29 2021-02-23 阿里巴巴(中国)有限公司 Updating method of playing record, server and client
KR102423058B1 (en) * 2018-02-23 2022-07-21 삼성전자주식회사 Display Device and the Method for identifying Preference based on Internet of Things
US11601721B2 (en) * 2018-06-04 2023-03-07 JBF Interlude 2009 LTD Interactive video dynamic adaptation and user profiling
US11064255B2 (en) * 2019-01-30 2021-07-13 Oohms Ny Llc System and method of tablet-based distribution of digital media content
US11546647B2 (en) 2019-06-07 2023-01-03 Roku, Inc. Content-modification system with probability-based selection feature
US11146843B2 (en) * 2019-06-17 2021-10-12 Accenture Global Solutions Limited Enabling return path data on a non-hybrid set top box for a television
US11490047B2 (en) 2019-10-02 2022-11-01 JBF Interlude 2009 LTD Systems and methods for dynamically adjusting video aspect ratios
US11245961B2 (en) 2020-02-18 2022-02-08 JBF Interlude 2009 LTD System and methods for detecting anomalous activities for interactive videos
US20220377413A1 (en) * 2021-05-21 2022-11-24 Rovi Guides, Inc. Methods and systems for personalized content based on captured gestures
US11882337B2 (en) 2021-05-28 2024-01-23 JBF Interlude 2009 LTD Automated platform for generating interactive videos
US11934477B2 (en) 2021-09-24 2024-03-19 JBF Interlude 2009 LTD Video player integration within websites

Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018972A1 (en) * 2001-07-17 2003-01-23 Jitesh Arora Method, system and software for display of multiple media channels
US20030226153A1 (en) * 2002-06-04 2003-12-04 Sony Corporation, A Japanese Corporation Method and apparatus for switching television channels
US20040091249A1 (en) * 2002-11-12 2004-05-13 Koninklijke Philips Electronics N.V. Continue recording channel feature for personal video recorder
US20040181814A1 (en) * 1998-06-16 2004-09-16 United Video Properties, Inc. Interactive television program guide with simultaneous watch and record capabilities
US20040258396A1 (en) * 2003-04-09 2004-12-23 Pioneer Corporation Video recording apparatus and control method thereof
US20050002638A1 (en) * 2003-07-02 2005-01-06 Daniel Putterman Methods and apparatus for client aggregation of television programming in a networked personal video recording system
US20050114901A1 (en) * 2003-10-03 2005-05-26 Canon Kabushiki Kaisha Information processor, TV system, control method and program
US20050204388A1 (en) * 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US20050289616A1 (en) * 2004-06-02 2005-12-29 Pioneer Corporation Information processor, method thereof, program for executing the method, recording medium storing the program and information storage
US20060035610A1 (en) * 2004-08-13 2006-02-16 Microsoft Corporation Systems for unifying heterogeneous multimedia tuners
US20060236233A1 (en) * 2004-11-02 2006-10-19 Jun Ozawa Display apparatus and display method
US20060242665A1 (en) * 1999-07-20 2006-10-26 United Video Properties, Inc. Interactive television program guide systems with initial channel tuning
US20070058930A1 (en) * 2005-09-09 2007-03-15 Sony Corporation Information processing apparatus, information processing method and program
US20070067820A1 (en) * 2005-09-14 2007-03-22 Lg Electronics Inc. Broadcasting receiver and method for upgrading firmware
US20070104456A1 (en) * 2005-11-04 2007-05-10 Guideworks, Llc Systems and methods for recording programs using a network recording device as supplemental storage
US20070107010A1 (en) * 2005-11-08 2007-05-10 United Video Properties, Inc. Interactive advertising and program promotion in an interactive television system
US20070157209A1 (en) * 2005-05-31 2007-07-05 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal and program execution method
US20070171198A1 (en) * 2006-01-20 2007-07-26 Hitachi, Ltd. Image display apparatus, image recording apparatus, and control system for image distribution
US20070182867A1 (en) * 2006-02-09 2007-08-09 Price James D Iii Multiple video source management
US20070226344A1 (en) * 2004-07-23 2007-09-27 General Instrument Corporation Centralized Resource Manager With Power Switching System
US20080040750A1 (en) * 2002-05-10 2008-02-14 Microsoft Corporation Playback Diagnostics
US20080059884A1 (en) * 2006-07-31 2008-03-06 Guideworks, Llc Systems and methods for providing media guidance planners
US20080075423A1 (en) * 2006-09-26 2008-03-27 Debie Tod A Automatic resolution of viewing and recording conflicts in digital video recorders
US20080101763A1 (en) * 2006-10-26 2008-05-01 Kulvir Singh Bhogal Viewing pattern data collection
US20080141303A1 (en) * 2005-12-29 2008-06-12 United Video Properties, Inc. Interactive media guidance system having multiple devices
US20080166103A1 (en) * 2004-11-30 2008-07-10 Nec Corporation Video/Audio Recording System, Video/Audio Recording Device, Receiving Device, Video/Audio Recording Method, and Video/Audio Management Program
US20080273856A1 (en) * 2007-05-04 2008-11-06 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US20080307470A1 (en) * 2006-11-02 2008-12-11 Nec Electronics Corporation Control method for an information processing device
US20090055870A1 (en) * 2005-04-08 2009-02-26 Panasonic Corporation Digital Broadcast Receiving Apparatus
US20090133070A1 (en) * 2007-11-21 2009-05-21 United Video Properties, Inc. Enabling a friend to remotely modify user data
US20090222875A1 (en) * 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US20100031282A1 (en) * 2008-08-01 2010-02-04 Fujitsu Limited Display device, remote operation device and computer-readable medium storing display program
US20100031162A1 (en) * 2007-04-13 2010-02-04 Wiser Philip R Viewer interface for a content delivery system
US20100192178A1 (en) * 2009-01-26 2010-07-29 Candelore Brant L Capture of stylized TV table data via OCR
US7773859B1 (en) * 2000-08-30 2010-08-10 Microsoft Corporation Resolving recording conflicts between coinciding programming
US20100211988A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Managing resources to display media content
US20100333137A1 (en) * 2009-06-30 2010-12-30 Gemstar Development Corporation Methods and systems for content scheduling across multiple devices
US20110013091A1 (en) * 2009-07-20 2011-01-20 Samsung Electronics Co. Ltd. Tuner control method and apparatus for broadcast reception system
US20110072452A1 (en) * 2009-09-23 2011-03-24 Rovi Technologies Corporation Systems and methods for providing automatic parental control activation when a restricted user is detected within range of a device
US7962935B2 (en) * 2002-10-01 2011-06-14 Sony Corporation Data processing apparatus, data processing method and program, and data processing system
US20110162020A1 (en) * 2009-12-29 2011-06-30 Kahn Raynold M Method and system for operating a multi-room digital video recording system
US20120079540A1 (en) * 1999-03-15 2012-03-29 Rob Myers Secure Module And A Method For Providing A Dedicated On-Site Media Service
US20130071092A1 (en) * 2001-11-13 2013-03-21 British Sky Broadcasting Ltd. Receivers for television signals
US8495693B2 (en) * 2007-09-21 2013-07-23 Echostar Technologies L.L.C Systems and methods for time shifting in multiple video presentation
US8856844B2 (en) * 2007-11-16 2014-10-07 United Video Properties, Inc. Systems and methods for automatically purchasing and recording popular pay programs in an interactive media delivery system
US9015736B2 (en) * 2005-12-29 2015-04-21 Rovi Guides, Inc. Systems and methods for episode tracking in an interactive media environment

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946688A (en) * 1995-07-26 1997-02-14 Fujitsu Ltd Video information offer/reception system
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6298482B1 (en) * 1997-11-12 2001-10-02 International Business Machines Corporation System for two-way digital multimedia broadcast and interactive services
DE69918341T2 (en) * 1998-03-04 2005-06-30 United Video Properties, Inc., Tulsa Program guide system with monitoring of advertising usage and user activities
CN1867068A (en) * 1998-07-14 2006-11-22 联合视频制品公司 Client-server based interactive television program guide system with remote server recording
US6898762B2 (en) * 1998-08-21 2005-05-24 United Video Properties, Inc. Client-server electronic program guide
TW465235B (en) * 1998-09-17 2001-11-21 United Video Properties Inc Electronic program guide with digital storage
JP4378576B2 (en) * 1999-05-18 2009-12-09 ソニー株式会社 Reception device and method, supply device and method, bidirectional communication system and method, and recording medium
CA2972297A1 (en) * 2000-03-31 2001-10-11 Rovi Guides, Inc. Systems and methods for improved audience measuring
KR101548473B1 (en) * 2001-02-21 2015-08-28 로비 가이드스, 인크. Systems and methods for interactive program guides with personal video recording features
JP4123733B2 (en) * 2001-04-04 2008-07-23 株式会社日立製作所 Access control equipment
JP4326174B2 (en) * 2001-10-04 2009-09-02 ソニー株式会社 Information processing system, information processing apparatus and method, recording medium, and program
US20040049571A1 (en) * 2002-09-06 2004-03-11 Johnson Bruce L. Tracking document usage
CN1729671A (en) * 2002-12-20 2006-02-01 松下电器产业株式会社 System and terminal equipment for collecting content history log and server equipment
US8613024B2 (en) * 2005-12-13 2013-12-17 United Video Properties, Inc. Cross-platform predictive popularity ratings for use in interactive television applications
US20070157281A1 (en) * 2005-12-23 2007-07-05 United Video Properties, Inc. Interactive media guidance system having multiple devices
US20070157237A1 (en) * 2005-12-29 2007-07-05 Charles Cordray Systems and methods for episode tracking in an interactive media environment
US7669222B2 (en) * 2006-01-17 2010-02-23 Microsoft Corporation Virtual tuner management
US8418206B2 (en) * 2007-03-22 2013-04-09 United Video Properties, Inc. User defined rules for assigning destinations of content
JP5061829B2 (en) * 2007-10-04 2012-10-31 ソニー株式会社 Content providing apparatus, data processing method, and computer program
US8001561B2 (en) * 2007-11-20 2011-08-16 Samsung Electronics Co., Ltd. System and method for automatically rating video content
JP2009237843A (en) * 2008-03-27 2009-10-15 Brother Ind Ltd File management system, mobile terminal, and mobile terminal program
US9118884B2 (en) * 2008-12-18 2015-08-25 Verizon Patent And Licensing Inc. Methods, systems and computer program products for local DVR scheduling conflict management
WO2010137079A1 (en) * 2009-05-29 2010-12-02 Hitachi, Ltd. Management methods of storage system and file system
US20110078717A1 (en) * 2009-09-29 2011-03-31 Rovi Technologies Corporation System for notifying a community of interested users about programs or segments

Patent Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204388A1 (en) * 1998-06-11 2005-09-15 Knudson Edward B. Series reminders and series recording from an interactive television program guide
US20040181814A1 (en) * 1998-06-16 2004-09-16 United Video Properties, Inc. Interactive television program guide with simultaneous watch and record capabilities
US20120079540A1 (en) * 1999-03-15 2012-03-29 Rob Myers Secure Module And A Method For Providing A Dedicated On-Site Media Service
US20060242665A1 (en) * 1999-07-20 2006-10-26 United Video Properties, Inc. Interactive television program guide systems with initial channel tuning
US7773859B1 (en) * 2000-08-30 2010-08-10 Microsoft Corporation Resolving recording conflicts between coinciding programming
US20030018972A1 (en) * 2001-07-17 2003-01-23 Jitesh Arora Method, system and software for display of multiple media channels
US20130071092A1 (en) * 2001-11-13 2013-03-21 British Sky Broadcasting Ltd. Receivers for television signals
US20090222875A1 (en) * 2002-04-18 2009-09-03 Cheng David J Distributed tuner allocation and conflict resolution
US20080040750A1 (en) * 2002-05-10 2008-02-14 Microsoft Corporation Playback Diagnostics
US20030226153A1 (en) * 2002-06-04 2003-12-04 Sony Corporation, A Japanese Corporation Method and apparatus for switching television channels
US7962935B2 (en) * 2002-10-01 2011-06-14 Sony Corporation Data processing apparatus, data processing method and program, and data processing system
US20040091249A1 (en) * 2002-11-12 2004-05-13 Koninklijke Philips Electronics N.V. Continue recording channel feature for personal video recorder
US20040258396A1 (en) * 2003-04-09 2004-12-23 Pioneer Corporation Video recording apparatus and control method thereof
US20050002638A1 (en) * 2003-07-02 2005-01-06 Daniel Putterman Methods and apparatus for client aggregation of television programming in a networked personal video recording system
US20050114901A1 (en) * 2003-10-03 2005-05-26 Canon Kabushiki Kaisha Information processor, TV system, control method and program
US20050289616A1 (en) * 2004-06-02 2005-12-29 Pioneer Corporation Information processor, method thereof, program for executing the method, recording medium storing the program and information storage
US20070226344A1 (en) * 2004-07-23 2007-09-27 General Instrument Corporation Centralized Resource Manager With Power Switching System
US20060035610A1 (en) * 2004-08-13 2006-02-16 Microsoft Corporation Systems for unifying heterogeneous multimedia tuners
US20060236233A1 (en) * 2004-11-02 2006-10-19 Jun Ozawa Display apparatus and display method
US20080166103A1 (en) * 2004-11-30 2008-07-10 Nec Corporation Video/Audio Recording System, Video/Audio Recording Device, Receiving Device, Video/Audio Recording Method, and Video/Audio Management Program
US20090055870A1 (en) * 2005-04-08 2009-02-26 Panasonic Corporation Digital Broadcast Receiving Apparatus
US20070157209A1 (en) * 2005-05-31 2007-07-05 Matsushita Electric Industrial Co., Ltd. Broadcast receiving terminal and program execution method
US20070058930A1 (en) * 2005-09-09 2007-03-15 Sony Corporation Information processing apparatus, information processing method and program
US20070067820A1 (en) * 2005-09-14 2007-03-22 Lg Electronics Inc. Broadcasting receiver and method for upgrading firmware
US20070104456A1 (en) * 2005-11-04 2007-05-10 Guideworks, Llc Systems and methods for recording programs using a network recording device as supplemental storage
US20070107010A1 (en) * 2005-11-08 2007-05-10 United Video Properties, Inc. Interactive advertising and program promotion in an interactive television system
US20080141303A1 (en) * 2005-12-29 2008-06-12 United Video Properties, Inc. Interactive media guidance system having multiple devices
US9015736B2 (en) * 2005-12-29 2015-04-21 Rovi Guides, Inc. Systems and methods for episode tracking in an interactive media environment
US20070171198A1 (en) * 2006-01-20 2007-07-26 Hitachi, Ltd. Image display apparatus, image recording apparatus, and control system for image distribution
US20070182867A1 (en) * 2006-02-09 2007-08-09 Price James D Iii Multiple video source management
US20080059884A1 (en) * 2006-07-31 2008-03-06 Guideworks, Llc Systems and methods for providing media guidance planners
US20080075423A1 (en) * 2006-09-26 2008-03-27 Debie Tod A Automatic resolution of viewing and recording conflicts in digital video recorders
US20080101763A1 (en) * 2006-10-26 2008-05-01 Kulvir Singh Bhogal Viewing pattern data collection
US20080307470A1 (en) * 2006-11-02 2008-12-11 Nec Electronics Corporation Control method for an information processing device
US20100031162A1 (en) * 2007-04-13 2010-02-04 Wiser Philip R Viewer interface for a content delivery system
US20080273856A1 (en) * 2007-05-04 2008-11-06 United Video Properties, Inc. Systems and methods for recording overlapping media content during scheduling conflicts
US8495693B2 (en) * 2007-09-21 2013-07-23 Echostar Technologies L.L.C Systems and methods for time shifting in multiple video presentation
US8856844B2 (en) * 2007-11-16 2014-10-07 United Video Properties, Inc. Systems and methods for automatically purchasing and recording popular pay programs in an interactive media delivery system
US20090133070A1 (en) * 2007-11-21 2009-05-21 United Video Properties, Inc. Enabling a friend to remotely modify user data
US20100031282A1 (en) * 2008-08-01 2010-02-04 Fujitsu Limited Display device, remote operation device and computer-readable medium storing display program
US20100192178A1 (en) * 2009-01-26 2010-07-29 Candelore Brant L Capture of stylized TV table data via OCR
US20100211988A1 (en) * 2009-02-18 2010-08-19 Microsoft Corporation Managing resources to display media content
US20100333137A1 (en) * 2009-06-30 2010-12-30 Gemstar Development Corporation Methods and systems for content scheduling across multiple devices
US20110013091A1 (en) * 2009-07-20 2011-01-20 Samsung Electronics Co. Ltd. Tuner control method and apparatus for broadcast reception system
US20110072452A1 (en) * 2009-09-23 2011-03-24 Rovi Technologies Corporation Systems and methods for providing automatic parental control activation when a restricted user is detected within range of a device
US20110162020A1 (en) * 2009-12-29 2011-06-30 Kahn Raynold M Method and system for operating a multi-room digital video recording system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10587716B2 (en) * 2017-10-26 2020-03-10 Rovi Guides, Inc. Systems and methods for optimizing allocation of bandwidth for pre-caching media content

Also Published As

Publication number Publication date
US10958979B2 (en) 2021-03-23
US9363464B2 (en) 2016-06-07
US20110310305A1 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
US10958979B2 (en) Systems and methods for history-based decision making in a television receiver
US9948987B2 (en) Systems and methods for providing predefined category-based channel lists
US9407953B2 (en) Systems and methods for reducing disruptions in recorded programming
US8819661B2 (en) Systems and methods for determining times to perform software updates on receiving devices
US9055260B2 (en) Electronic program guide generation apparatus, systems, and methods
US20080098436A1 (en) Top recording events list for media device
US20120278826A1 (en) Systems and methods for highly scalable automated testing and monitoring of receiving devices
US8136136B2 (en) Recording multi-stream interactive television
JP2011501512A (en) System and method for generating and / or presenting an aggregate list of channels
US20090193466A1 (en) Distributed network-based video content for television
US8769585B2 (en) Systems and methods of processing programming wish list data
CN111866553A (en) Media information calibration method and server
US8464300B2 (en) Systems and methods for receiving device health management
CN101340535B (en) Recording control apparatus and recording system
US20110135281A1 (en) Systems and methods for managing files on a digital video recorder
US20120030725A1 (en) Contents url notification system
CA2992834C (en) Systems and methods for synchronization of television channel data
US8959564B2 (en) Method for creating interactive applications for television
AU2014101162A4 (en) Remote content download
AU2013101518A4 (en) Remote content download

Legal Events

Date Code Title Description
STCV Information on status: appeal procedure

Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS

STCV Information on status: appeal procedure

Free format text: BOARD OF APPEALS DECISION RENDERED

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, MINNESOTA

Free format text: SECURITY INTEREST;ASSIGNORS:DISH BROADCASTING CORPORATION;DISH NETWORK L.L.C.;DISH TECHNOLOGIES L.L.C.;REEL/FRAME:058295/0293

Effective date: 20211126