Suggestive content based on habit

Information

  • Patent Grant
  • 10750244
  • Patent Number
    10,750,244
  • Date Filed
    Thursday, August 11, 2016
    7 years ago
  • Date Issued
    Tuesday, August 18, 2020
    3 years ago
Abstract
Suggestions for content are based on a habit of a user. As the user requests content, content selections are monitored for habitual selections according to channels, titles, or genres. A programming guide may then be customized based on the habitual selections.
Description
BACKGROUND
Field of the Invention

The present invention relates to entertainment systems, and more particularly, to a system and method for generating a television (TV) programming guide.


Background of the Invention

With cable and satellite TV technologies, a TV set can receive broadcast signals through hundreds of channels. A TV set “tunes in” to a channel selected by a viewer. For TV sets that have two tuners, a viewer can see a first program of a first channel in the monitor and a second program of a second channel in a smaller “window” within the same monitor. Each tuner is typically controlled by the viewer using a remote control unit.


“Channel surfing” involves a viewer tuning in to a first channel, quickly determining whether he or she wishes to watch the program of the first channel, and tuning in to a second channel. The process repeats for additional channels. With hundreds of channels available for surfing, it can take the viewer a long time to find a desirable program. Channel surfing is often performed by the user by repeatedly pressing one of the “Channel Up” and the “Channel Down” buttons on the remote control unit.


Recognizing that channel surfing is time consuming, a number of solutions have been offered by TV set manufacturers. One solution is to make the remote control unit programmable. A user of a programmable remote control unit can designate certain channels as his or her “favorite” or “frequently watched” channels. One example of this solution is to program the “Channel Up” button and the “Channel Down” button so that when one of them is pressed, only those channels previously designated as “favorite” will be tuned in. For example, when a viewer presses the “Channel Up” button repeatedly, instead of sequentially tuning in to Channels 1, 2, 3, 4, 5, 6, 7, etc., the solution enables to viewer to scan only Channels 2, 4, and 7, assuming that these three channels have been designated by the viewer to be his “favorite” or “frequently watched” channels.


Additional efforts have been made to help viewers navigate through hundreds of TV channels without requiring them to affirmatively program the remote control unit or the TV set itself.


For example, U.S. Pat. No. 5,585,865 issued to Amano et al. (“The Amano Patent”) on Dec. 17, 1996, discloses a “television broadcast receiver which selects programs by genre and past viewing habits.” When an Amano receiver receives a genre code from a user, the receiver tunes in the channel that has a past record of highest frequency of reception among all channels that are associated with the genre code. The Amano Patent is incorporated herein by reference in its entirety.


U.S. Pat. No. 5,734,444 issued to Yoshinobu (“The Yoshinobu Patent”) on May 31, 1998, discloses a “broadcast receiving apparatus that automatically records frequency [sic] watched programs.” The Yoshinobu apparatus automatically records a user's frequently tuned in programming when the user is not watching the programming at the day and time when the user is expected to tune in to the channel. The Yoshinobu Patent is incorporated herein by reference in its entirety.


U.S. Pat. No. 5,945,988 issued to Williams et al. (“The Williams Patent”) on Aug. 31, 1999, discloses a “method and apparatus for automatically determining and dynamically updating user preferences in an entertainment system.” The Williams invention monitors a user's interaction with an entertainment system. Based on the interaction, the invention can automatically determine which of a plurality of users is currently using the entertainment system. The Williams Patent is incorporated herein by reference in its entirety.


U.S. Pat. No. 6,128,009 issued to Ohkura et al. (“The Ohkura Patent”) on Oct. 3, 2000, discloses a “Program guide controller.” In this invention, programs of high viewing frequency of a user are automatically registered, permitting registered programs to be included in genre information. The Ohkura Patent is incorporated herein by reference in its entirety.


SUMMARY OF THE INVENTION

The present invention is a system and method for generating a broadcast programming guide. One embodiment of the present invention is a broadcast signals receiver that contains a tuner, a microcomputer, a memory, and an output device. The tuner is adapted to select a specific channel out of many that are broadcast by stations. The microcomputer is adapted to monitor activities of the tuner. The microcomputer stores the result of monitoring in the memory. After a suitable time period of monitoring, the microcomputer generates a programming guide based at least in part on the result. Preferably, the programming guide contains programming information obtained from one or more external sources. After the programming guide is generated and when the receiver is powered on or when the programming guide is requested by a user of the receiver, the programming guide is reproduced on the output device. Reproduction can be an audio output by a speaker or a video display by a monitor, or both, depending on the type of output device equipped with the receiver.


One method for generating the programming guide involves the following steps. First, one or more favorite channels are recognized by the receiver based on how the tuner has been controlled by a user over a predetermined period of time. In other words, the habit of the user during that time period is interpreted by the microcomputer to determine which are his or her favorite channels. Alternatively, the user may designate the favorite channels by directly inputting them in the memory of the receiver.


Second, the microcomputer of a preferred embodiment, via a modem, retrieves programming information for the favorite channels from one or more external sources. The external sources may be, for example, host computers or web sites of broadcast stations or other entities that provide broadcast programming information. Third, the microcomputer generates a programming guide based on the favorite channels and the programming information. Finally, the programming guide is reproduced by an output device of the receiver when the receiver is powered on or when the programming guide is requested by the user.


In one embodiment in which the present invention is incorporated in a TV set that has access to multiple channels, the invention can generate a short list of suggested channels for the television user. In one specific implementation of the present invention, the viewer's habit for using the television can be used to cull a list of suggested channels out of a substantially larger number of available channels. For example, in accordance with one aspect of the present invention, after the viewer has used his television set for a period of, e.g., three weeks, the short list can comprise four suggested channels out of 400 available channels. The first two suggested channels may be, for example, the viewer's most frequently watched channels. Each of the next two suggested channels may be, for example, a channel similar to one of the first two channels, but that which has not been tuned in by the viewer in the past. A number of criteria can be used to generate the list of suggested channels.


Accordingly, none of the prior art references, standing alone or in combination, teaches a system and method that would provide a user of a TV set, or other broadcast program receivers, a customized programming guide in accordance with the present invention.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram illustrating a receiver according to an embodiment of the present invention.



FIG. 2 is a flowchart illustrating exemplary steps involved in generating a programming guide in accordance with one embodiment of the present invention.



FIG. 3 is a flowchart illustrating exemplary steps involved in dynamically generating a programming guide in accordance with another embodiment of the present invention.



FIG. 4 is a flowchart illustrating exemplary steps involved in using one embodiment of the present invention.



FIG. 5 is a flowchart illustrating exemplary steps involved in using another embodiment of the present invention.



FIG. 6 is a flowchart illustrating exemplary steps involved in using yet another embodiment of the present invention.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS


FIG. 1 is a block diagram illustrating receiver 100 according to an embodiment of the present invention. It is noted that receiver 100 can be a TV set, a radio receiver, a video cassette recorder, a cable TV or satellite TV set top box, or other similar devices that can receive and process broadcast signals in multiple channels. For discussion purposes, the exemplary receiver depicted in FIG. 1 is a TV set.


Antenna 102 of receiver 100 is adapted to receive broadcast signals 101 that are transmitted by one or more TV stations (not shown). Antenna 102 supplies broadcast signals 101 to tuner 104. Amplifier 106, audio signal processor 110, and video signal processor 120 process these signals for output by speaker 114 and for display on monitor 124. One or more of the patents that have been incorporated by reference disclose a system and method for receiving and reproducing broadcast signals.


For cable TV programming, tuner 104 can be adapted to received broadcast signals 101 from a cable TV programs provider via a cable (not shown). Similarly, for satellite TV programming, tuner 104 can be adapted to receive broadcast signals 101 from a satellite through a satellite dish and a cable (not shown).


Microcomputer 130 is in communication with tuner 104. Microcomputer 130 can process information related to tuner 104 and store the information in memory 132. In addition, microcomputer 130 can retrieve the information from memory 132 to operate or control tuner 104.


Microcomputer 130 is in communication with user signal receiver 140. User signal receiver 140 is adapted to receive user signals 141 comprising a user's input. For example, in one embodiment, user signal receiver 140 can be a remote control signal receiver that is adapted to receive a signal generated by a remote control unit (not shown). In another embodiment, user signal receiver 140 can be adapted to receive electrical or electronic signals generated by the user using other methods. For example, user signal receiver 140 can be adapted to receiver user signals 141 from an input device (not shown) connected to receiver 100. The input device may be a keyboard, a mouse, a track ball, or another similar device. User signals 141 received from the user can also be stored in memory 132.


Microcomputer 130 is also in communication with character generator 150 and sound generator 160. Character generator 150 can be instructed by microcomputer 130 to generate characters. The characters generated can then be added to a video signal by adder 152 for display on monitor 124 or another output device. Similarly, sound generator 160 can be instructed by microcomputer 130 to generate sound to be mixed by adder 162 for output by speaker 114. Speaker 114 and monitor 124 are two types of output devices. An audio switch (not shown) and a video switch (not shown) that are controlled by microcomputer 130 can be used to select whether outputs of sound generator 160 and character generator 150 should be reproduced by speaker 114 and monitor 124, respectively.


Furthermore, microcomputer 130 can be adapted to receive information from a number of external sources. For example, microcomputer 130 can be adapted to have access to computer network 190. Preferably, computer network 190 is the Internet, from which microcomputer 130 can obtain specific information as explained below. In other embodiments, computer network 190 can be a local area network or a wide area network. For example, information available at external sources 182 can be obtained by microcomputer 130 via modem 170 and computer network 190. External sources 182 can be, for example, host computers or web sites associated with broadcast stations. External sources 182 may also be other entities that provide programming information for broadcast signal receivers.



FIG. 2 is a flowchart illustrating exemplary steps involved in generating a programming guide for a TV set in accordance with one embodiment of the invention.


In optional step 202, memory 132 of receiver 100 is preloaded with preliminary channel information. The preliminary channel information can be supplied by a manufacturer or vendor of receiver 100. For example, if receiver 100 is designed for a user or purchaser in a specific geographic market, memory 132 may be preloaded with information related to broadcast programs that are receivable by receiver 100 in that market. In one specific implementation of the present invention, for example, the preliminary channel information stored in memory 132 can include the information shown in Table 1 below.









TABLE 1







Preliminary Channel Information









Channel
Station
Network Address





14
WNBC
www.wnbc.com


17
WABC
www.wabc.com


19
WCBS
www.wnbc.com









Information contained in the left column of Table 1 represents the numeric channel designations that are associated with specific broadcast frequencies. In Table 1 shown above, for example, Channels 14, 17, and 19 are associated with Stations WNBC, WABC, and WCBS, respectively, as indicated in the middle column. Each of these stations is also associated with a network address, which is shown in the right column of Table 1. In an example in which computer network 190 uses TCP/IP, the network addresses for the stations can be uniform resource locators (URL). It is noted that Table 1 can contain information related to hundreds of channels.


Step 202 is optional. However, regardless of whether memory 132 has been preloaded with the preliminary channel information in step 202, at the start of the process memory 132 does not contain any user specific information.


In step 204, when a user brings home the TV set, the user can decide whether or not to supplement memory 132 with user-specific information. The supplemental user-specific information may comprise, for example, a short list of the user's favorite channels. For example, as the user channel surfs, the user may designate one or more channels as his or her favorite channels. Designation of favorite channels may be accomplished by pressing a specific button on the TV set or its remote control unit. For illustration purposes, assume that memory 132 were preloaded with Table 1 above. In addition, assume further than the user adopts two of the channels in Table 1 as his or her favorite channels, and the user designates two additional channels as his or her favorite channels. As explained below in a different embodiment (see FIG. 3) of the present invention, designation of the user's favorite channels can be done dynamically.


In step 206, receiver 100 stores the data created in step 204 in memory 132. At the conclusion of step 206, Table 1 may be modified or updated based on the example and assumption discussed above, to become Table 2 shown below.









TABLE 2







User-Specific Channels









Channel
Station
Network Address





14
WNBC
www.wnbc.com


17
WABC
www.wabc.com


21
WGAM
www.sportngames.com


23
WPUB
www.localpbs.com









In step 208, microcomputer 130 retrieves programming schedule for each channel listed in Table 2. The programming schedules may be retrieved from memory 132 or directly from external sources 182.


Preferably, once a day and at a specific time of the day, for example, at 12:01 am (or at other time), microcomputer 130, in step 252, reviews data in memory 132 to determine what information it has and what additional details it needs from external sources 182.


In step 254, microcomputer 130 establishes a data communication session with computer network 190 via modem 170. The data communication session may be accomplished in one of several ways. For example, the session may be established using a conventional telephone line, a digital subscriber line, or other known methods.


During the data communication session, in step 256, microcomputer 130 contacts external sources 182 that are associated with the stations listed in Table 2. External sources 182 can be one or more host computers or web sites of the stations listed in Table 2. External sources 182 may also be associated with an entity that provides broadcast programming guides for a plurality of broadcast stations including those listed in Table 2.


In step 258, microcomputer 130 obtains daily programming schedules from external sources 182. In step 260, microcomputer 130 updates memory 132 with the daily programming schedules obtained in step 258.


It is noted that steps 252 through 260 may be optional, they may be performed more than once for a particular day, or they may be performed once every few days.


In step 210, information obtained in step 208 can be used by receiver 100 to generate a programming guide or a channel guide. Table 3 below is one example of a programming guide.









TABLE 3







User-Specific Programming guide












Channel
7 pm
8 pm
9 pm















14
Movie
News












17
Sitcom
Talk Show
News



21
Tennis
Golf
Football











23
History
Biography










Table 3 shown above represents one of many different ways that can be used to organize the information generated in step 210. As shown above, the guide shows the programming of the user's favorite channels for a three-hours period when receiver 100 is expected to be powered on. If the user were to receive the guide at 9 pm, however, the guide might appear as Table 4.









TABLE 4







User-Specific Programming guide












Channel
9 pm
10 pm
11 pm







14
News
Travel Guide
Talk Show











17
News
Movies











21
Football
Hockey











23
Biography
Home & Garden Show










It is noted that Tables 3 and 4 can be presented in different formats. For example, the user-specific programming guide can contain scheduling information for more than three hours. In another example, the user-specific programming guide can be scrolled down automatically or by the user to reveal more information. Note that the user-specific programming guide, such as that shown in Table 3 or Table 4, is significantly shorter than a typical programming guide that takes a long time to browse.


In step 212, memory 132 is updated with information generated in step 210.


In accordance with the embodiment shown above, each time the user powers on receiver 100 after step 212 or otherwise requests a programming guide, depending on the time of day, a variation of Table 3 or Table 4 would appear. The user can then select one of the channels that appears on the suggested list. In the specific example described above, the invention allows the user to browse his or her specific programming guide that comprises four favorite channels, effectively avoiding browsing information related to hundreds of other channels that are not of interest to the user.



FIG. 3 is a flowchart illustrating exemplary steps involving in dynamically generating a TV programming guide for a user. In this embodiment, microcomputer 130 is adapted to monitor the activities of tuner 104.


In optional step 302, as in step 202, memory 132 of receiver 100 can be preloaded with preliminary channel information.


In step 304, as the user tunes in to different channels using tuner 104 at different times, microcomputer 130 stores in memory 132 information related to how tuner 104 is used or controlled by the user. For example, the information can be related to which channel was tuned in, for how long, and on what day.


In step 306, receiver 100, through microcomputer 130, memory 132, and tuner 104 monitors the user's interaction with respect to, for example, what channels the user tunes in, at what time, and on what day. After a suitable amount of time specified in step 306 has passed, receiver 100 can use the information collected in steps 304-306 to generate a programming guide and store it in memory 132. The amount of time can be, for example, two weeks. The amount of time can also be longer, for example, four weeks.


In one specific instance, assume that the user, for a period of four weeks, consistently tunes in to channel 26 between the hours of 6:30 pm and 7:00 pm every Monday, Tuesday, Wednesday, Thursday, and Friday. In this example, microcomputer 130 may be adapted to interpret that each time the user powers on receiver 100 between 6:30 pm and 7:00 pm on a week night, the user would want to view the program being broadcast on channel 26. Accordingly, it may be said that the user has a habit of viewing the program on channel 26 every weekday within that 30 minute time period. Similarly, further assume that the same or a different user consistently tunes in to Channel 7 on weekdays between 3:00 pm and 4:00 pm. In that respect, if receiver 100 is powered on during that time period on a weekday, receiver 100 assumes that the user would want to tune in to channel 7.


Accordingly, in step 308, microcomputer 130 may create a new table and store the table in memory 132. The new table may comprise, for example, information shown in Table 5 below.









TABLE 5







User's Viewing Habits









Day of Week
Time of Day
Channel












Monday-Friday
3:00 pm-5:00 pm
7


Monday-Friday
6:30 pm to 7:00 pm
26









Thus, each time the user powers on receiver 100 or otherwise requests for a programming guide after step 308, a user-specific programming guide can be provided based on information stored in memory 132. For example, when the user powers on receiver 100, Table 6 below may appear on monitor 124 as follows.









TABLE 6





User-Specific Programming guide


Please Pick One of Your Favorite Channels















7


26









Table 6 may be presented in different ways. For example, Table 7 may be presented when receiver 100 is powered on at 2:50 pm on a weekday.









TABLE 7





Programming guide on Weekdays


Your Favorite Programs Are Scheduled to Be Broadcast







At 3 pm on Channel 7


At 6:30 pm on Channel 26









In addition, microcomputer 130 may be programmed to tune in to the user's favorite channel directly, without offering the programming guide first. For example, if the user were to power on receiver 100 between 3 pm and 4 pm, microcomputer 130 tunes in to Channel 7 directly without providing any programming guide.


Table 8 represents an exemplary programming guide that can be displayed on monitor 124 when receiver 100 is powered on or when the programming guide is requested at a time when there is no favorite channel available. For example, no favorite channels for the users have been established for Saturdays and Sundays.









TABLE 8





Programming guide on Weekends







Your Favorite Channels Are










Channel 7 
For weekdays between 3 and 4 pm



Channel 26
For weekdays between 6:30 pm and 7:00 pm







May We Also Suggest










Channel 107
Which broadcasts programs similar to




that you like on Channel 7



Channel 126
Which is affiliated with Channel 26










Table 8 contains a list of four channels, two of which were a product of steps 304 through 308. Specifically, channels 7 and 26 are included in Table 8 based on information collected in steps 304 through 308. Channels 107 and 126 may be created, for example, in steps 310 through 314 described below.


In step 310, microcomputer 130 can be adapted to obtain additional information related to a habit of the user that was established in steps 304-308. The additional information can be obtained, for example, from external sources that are accessible via computer network 190. For example, from one or more external sources 182 via computer network 190, microcomputer 130 can obtain specific information about the favorite programs of the user. Specifically, from an external source that is associated with Channel 7, it may be determined that Channel 7 broadcasts a popular soap opera between the hours of 3 pm and 4 pm on weekdays. Similarly, through the same or a different external source, it may be determined that Channel 26 broadcasts financial news on weekdays from 6:30 pm to 7:00 pm. Table 9 is an example of how such information may be stored in memory 132. The similar and additional information may also be derived from broadcast signals 101 through a filter or splitter (not shown) of receiver 100.









TABLE 9







Additional Information of Favorite Channels










Day of Week
Time of Day
Channel
Genre













Monday-Friday
3:00 pm-5:00 pm
7
Soap Opera


Monday-Friday
6:30 pm to 7:00 pm
26
Financial News









In step 312, based on the information obtained in step 310, microcomputer 130 can be adapted to access the same or other external sources via computer network 190 for similar programs. For example, it may be determined that Channel 107 broadcasts old episodes of various soap operas all day long everyday. Similarly, it may be determined that Channel 126 is affiliated with Channel 26 and specializes in financial news reporting. Table 10 is an exemplary format of how such additional information may be organized in memory 132.









TABLE 10







Additional Channels Similar to Favorite Channels









Favorite Channel
Genre
Also Suggest





Channel 17
Soap Opera
Channel 107


Channel 26
Financial News
Channel 126









In step 314, memory 132 is updated by microcomputer 130 with the information obtained and processed in steps 310 through 312. It is noted that each of the favorite channels can have more than one suggested channel associated with it.


Optionally, microcomputer 130 can be adapted to obtain additional information from the user in step 313. For example, the user can input his or her name in step 313. Memory 132 can be updated in step 314, resulting in, for example, Table 11 below.









TABLE 11







Programming Guide for Smith Family











Day of
Time of

Type of



Week
Day
Channel
Content
User














Monday-
3:00 pm-
7
Soap
Gary


Friday
5:00 pm

Opera
Smith


Monday-
6:30 pm to
26
Business
Tammy


Friday
7:00 pm

News
Smith










FIG. 4 is a flowchart illustrating exemplary steps involved in using one embodiment of the present invention.


In step 402, receiver 100 is powered on.


In step 404, microcomputer 130 reviews the information contained in memory 132.


In step 406, microcomputer 130 instructs tuner 104 to display a programming guide as discussed above or tune in to a default channel. The default channel can be one of several channels, as specified by the manufacturer or by the user. The default channel can be, for example, the last channel tuned in to during the previous viewing session. The default channel may be, alternatively, the most frequently tuned in channel at that time and day. In step 406, one of the tables shown above, or a variation thereof, may be displayed on monitor 124 as a short list of suggested channels.


In step 408, receiver 100 stays tuned to the channel previously selected unless the user interrupts in step 410.


In step 410, the user may interrupt by doing one of several things. First, the user may press a specific button to tune in a specific channel associated with the specific button. Second, the user may press the “channel up” or the “channel down” button to view a different channel. If the user interrupts, the process goes to step 412; otherwise, the process goes to step 416.


In step 412, microcomputer 130 tunes in to the channel selected by the user in step 410. In step 414, unless receiver 100 is powered off, the process returns to step 408.


In step 416, microprocessor 130 continues to review the contents of memory 132. If it is time for a favorite program, microprocessor 130 notifies the user in step 422. Otherwise, the process proceeds to step 418 and stays tuned in to the channel. Depending on whether receiver 100 is powered off in step 420, the process returns to step 408 or ends.


In step 422, after determining in step 416 that a favorite program is about to start, microprocessor 130 notifies the user that it is time for a favorite program. Microprocessor 130 can be adapted to notify the user in one of several ways. For example, a pop-up window may come up to notify the user that a favorite program is about to be broadcast in another channel. Alternatively, microprocessor 130 can run a banner across the screen to notify the user. Still, sound generator 160, adder 162, and speaker 114 can be used to notify the user by sound.


In step 424, microcomputer 130 awaits the user's respond to the notification. If the user agrees to switch, the process goes to step 426, otherwise, the process goes to step 408.


In step 426, microcomputer 130 tunes in to the favorite channel. When the program of the favorite channel has concluded, the process returns to step 408.



FIG. 5 is a flowchart illustrating exemplary steps involved in using another embodiment of the present invention.


In step 502, receiver 300 is powered on.


In step 504, microcomputer 130 determines identity of the user. This step can be preformed using any known methods, including those disclosed in the patents incorporated by reference.


In step 506, microcomputer 130 reviews the information related to the user in memory 132.


In step 508, microcomputer 130 suggests a number of favorite channels that are specific to the user. For example, if the user is Gary Smith, then only Gary's favorite channels would be suggested by receiver 100. Preferably, the number is between about three and about five channels. The list of suggested channels (the programming guide) can be based on the frequency of the channels viewed within, for example, the previous two weeks. The programming guide can also be generated using other method and criteria.


In step 510, if the user picks one of the suggested channels, the process goes to step 512. If the user does not pick any of the channels, the process goes to step 518.


In step 512, microcomputer 130 receives the response and instructs tuner 104 to tune in to the channel selected by the user in step 510.


In step 514, receiver 100 stays tuned to the channel.


In step 516, unless receiver 100 is powered off, the process goes to step 524.


In step 518, microcomputer 100 instructs tuner 104 to tune in to one of the favorite channels on the programming guide. Tuner 104 may tune in to the channel that has the most frequency of viewing in the past.


In step 520, if the user disagrees with the selection, the process goes to step 510. If the user agrees with or does not object to the selection in step 520, the process goes to step 522.


In step 522, receiver 100 stays tuned to the channel tuned in step 518.


In step 524, microcomputer 130 determines whether there is an overriding factor. An overriding factor can be, for example, a show time for another favorite channel has arrived, and if so, the process returns to step 518.



FIG. 6 is a flowchart illustrating exemplary steps involved in using another embodiment of the present invention. The steps involved in FIG. 6 is generally same as those corresponding steps discussed above in FIG. 5. In step 604, however, instead of determining the identity of the user as was done in step 504, the current day and time is determined. The current day and time is then used to generate the programming guide. In step 608, for example, the programming guide may comprise a list of programs associated with favorite channels that are being broadcast or are about to be broadcast within three hours (e.g., see one of Tables 3 and 4).


In describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of exemplary steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.


The foregoing disclosure of the preferred embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be obvious to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.

Claims
  • 1. A method, comprising: receiving, by a server, selections of contents associated with a user identity, the user identity associated with a user;determining, by the server, favorite genres of the contents associated with times of days, the favorite genres of the contents based on the selections of the contents associated with the user identity;receiving, by the server, a request for a programming guide, the request for the programming guide associated with the user identity, the request for the programming guide specifying a time of day;comparing, by the server, the favorite genres of the contents associated with the times of days to the time of day specified by the request for the programming guide;determining, by the server, that none of the favorite genres of the contents is associated with the time of day specified by the request for the programming guide;in response to none of the favorite genres of the contents being associated with the time of day specified by the request for the programming guide, selecting, by the server, a favorite genre of the favorite genres of the contents;selecting, by the server, a related program that is related to the favorite genre selected from the favorite genres of the contents in response to none of the favorite genres of the contents being associated with the time of day; andgenerating, by the server, a suggestion for the related program in response to the determining that none of the favorite genres of the contents is associated with the time of day specified by the request for the programming guide.
  • 2. The method of claim 1, further comprising retrieving information associated with the related program.
  • 3. The method of claim 1, further comprising generating the programming guide.
  • 4. The method of claim 1, further comprising organizing the favorite genres of the contents.
  • 5. The method of claim 1, further comprising selecting multiple programs associated with the favorite genre.
  • 6. The method of claim 1, further comprising selecting a content offering associated with the favorite genre.
  • 7. The method of claim 1, further comprising organizing the favorite genres of the contents according to the time of day.
  • 8. An apparatus, comprising: a hardware processor; anda memory device, the memory device storing code, the code when executed causing the hardware processor to perform operations, the operations comprising:determining favorite genres of contents based on habitual content selections;generating an electronic table that electronically associates the favorite genres of contents according to time;receiving a request for a programming guide, the request for the programming guide specifying a time of day;querying the electronic table for the time of day specified in the request for the programming guide;determining that the electronic table lacks an entry for the time of day specified by the request for the programming guide;selecting one of the favorite genres of contents from the electronic table after the determining that the electronic table lacks the entry for the time of day specified by the request for the programming guide;determining a program associated with the one of the favorite genres of contents selected from the electronic table;selecting a related program that is related to the program associated with the one of the favorite genres of contents selected from the electronic table; andgenerating a suggestion for the related program as a response to the request for the programming guide.
  • 9. The apparatus of claim 8, wherein the operations further comprise generating the programming guide.
  • 10. The apparatus of claim 8, wherein the operations further comprise selecting a title associated with the one of the favorite genres of contents.
  • 11. The apparatus of claim 8, wherein the operations further comprise displaying the favorite genres of contents.
  • 12. The apparatus of claim 8, wherein the operations further comprise displaying any content associated with the one of the favorite genres of contents.
  • 13. The apparatus of claim 8, wherein the operations further comprise selecting content offerings associated with the one of the favorite genres of contents.
  • 14. The apparatus of claim 8, wherein the operations further comprise selecting content offerings associated with the favorite genres of contents.
  • 15. A memory device storing instructions that when executed cause a hardware processor to perform operations, the operations comprising: determining favorite genres of contents based on habitual content selections;generating an electronic table that electronically associates the favorite genres of contents according to time;receiving a request that specifies a time of day;querying the electronic table for the time of day specified in the request;determining that the electronic table lacks an entry for the time of day specified by the request;selecting any one of the favorite genres of contents from the electronic table in response to the electronic table lacking the entry for the time of day specified in the request;determining a program associated with the any one of the favorite genres of contents selected from the electronic table;selecting a related program that is related to the program associated with the any one of the favorite genres of contents selected from the electronic table; andgenerating a suggestion as a response to the request specifying the time of day, the suggestion specifying a title of the related program associated with the any one of the favorite genres of contents selected from the electronic table.
  • 16. The memory device of claim 15, wherein the operations further comprise generating a programming guide.
  • 17. The memory device of claim 15, wherein the operations further comprise generating a programming guide based on the favorite genres of contents.
  • 18. The memory device of claim 15, wherein the operations further comprise displaying the favorite genres of contents as the response to the request.
  • 19. The memory device of claim 15, wherein the operations further comprise selecting multiple content offerings associated with the any one of the favorite genres of contents.
  • 20. The memory device of claim 15, wherein the operations further comprise selecting content titles associated with the any one of the favorite genres of contents.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 14/737,638 filed Jun. 12, 2015 and since issued as U.S. Pat. No. 9,432,743, which is a continuation of U.S. application Ser. No. 14/280,709 filed May 19, 2014 and since issued as U.S. Pat. No. 9,084,024, which is a continuation of U.S. application Ser. No. 13/848,081 filed Mar. 21, 2013 and since issued as U.S. Pat. No. 8,739,221, which is a continuation of U.S. application Ser. No. 09/955,217 filed Sep. 19, 2001 and since issued as U.S. Pat. No. 8,429,688, with all applications incorporated herein by reference in their entireties.

US Referenced Citations (139)
Number Name Date Kind
4638359 Watson Jan 1987 A
4706121 Young Nov 1987 A
4751578 Reiter et al. Jun 1988 A
4792864 Watanabe et al. Dec 1988 A
4908713 Levine Mar 1990 A
4963994 Levine Oct 1990 A
4977455 Young Dec 1990 A
5038211 Hallenbeck Aug 1991 A
5123046 Levine Jun 1992 A
5151789 Young Sep 1992 A
5155591 Wachob Oct 1992 A
D336417 Yuen et al. Jun 1993 S
D338202 Yuen et al. Aug 1993 S
D338203 Yuen et al. Aug 1993 S
5293357 Hallenbeck Mar 1994 A
5297204 Levine Mar 1994 A
D346169 Wannier et al. Apr 1994 S
5307173 Yuen et al. Apr 1994 A
D348268 Chambers Jun 1994 S
D349118 Yuen Jul 1994 S
5335079 Yuen et al. Aug 1994 A
5353121 Young et al. Oct 1994 A
5365282 Levine Nov 1994 A
5373330 Levine Dec 1994 A
5377317 Bates et al. Dec 1994 A
5382983 Kwoh et al. Jan 1995 A
5398074 Duffield Mar 1995 A
5414756 Levine May 1995 A
5420647 Levine May 1995 A
D364166 Yuen Nov 1995 S
5475382 Yuen et al. Dec 1995 A
5479266 Young et al. Dec 1995 A
5479268 Young et al. Dec 1995 A
5488409 Yuen et al. Jan 1996 A
5508815 Levine Apr 1996 A
5515173 Mankovitz et al. May 1996 A
5523794 Mankovitz et al. Jun 1996 A
5532732 Yuen et al. Jul 1996 A
5532754 Young et al. Jul 1996 A
5539391 Yuen Jul 1996 A
5543852 Yuen et al. Aug 1996 A
5550576 Klosterman Aug 1996 A
5552837 Mankovitz Sep 1996 A
5553123 Chan et al. Sep 1996 A
5559550 Mankovitz Sep 1996 A
5568272 Levine Oct 1996 A
5574934 Mirashrafi Nov 1996 A
5583560 Florin Dec 1996 A
5585865 Amano et al. Dec 1996 A
5592551 Lett Jan 1997 A
5596373 White Jan 1997 A
D377797 Stropkay et al. Feb 1997 S
5600711 Yuen Feb 1997 A
5619274 Roop et al. Apr 1997 A
5619383 Ngai Apr 1997 A
5621579 Yuen Apr 1997 A
5635989 Rothmuller Jun 1997 A
5659367 Yuen Aug 1997 A
5673089 Yuen et al. Sep 1997 A
5684525 Klosterman Nov 1997 A
5692214 Levine Nov 1997 A
5701383 Russo et al. Dec 1997 A
5716273 Yuen Feb 1998 A
5719637 Ohkura et al. Feb 1998 A
5724521 Dedrick Mar 1998 A
5727060 Young Mar 1998 A
5734444 Yoshinobu Mar 1998 A
5748716 Levine May 1998 A
5790198 Roop et al. Aug 1998 A
5798785 Hendricks et al. Aug 1998 A
5801747 Bedard Sep 1998 A
5801787 Schein et al. Sep 1998 A
5808608 Young et al. Sep 1998 A
5809204 Young et al. Sep 1998 A
5812205 Milnes et al. Sep 1998 A
5812931 Yuen Sep 1998 A
5822123 Davis et al. Oct 1998 A
5828945 Klosterman Oct 1998 A
RE35954 Levine Nov 1998 E
5852478 Kwoh Dec 1998 A
5867226 Wehmeyer Feb 1999 A
5880768 Lemmons et al. Mar 1999 A
5920477 Hoffberg et al. Jul 1999 A
5940071 Treffers Aug 1999 A
5945988 Williams et al. Aug 1999 A
5977964 Williams Nov 1999 A
6003041 Wugofski Dec 1999 A
6025837 Matthews et al. Feb 2000 A
6118498 Reitmeier Sep 2000 A
6128009 Ohkura Oct 2000 A
6163316 Killian Dec 2000 A
6169728 Perreault Jan 2001 B1
6177931 Alexander et al. Jan 2001 B1
6253188 Witek Jun 2001 B1
6314064 Ueda Nov 2001 B1
6615024 Boros Sep 2003 B1
6681396 Bates et al. Jan 2004 B1
6691106 Sathyanarayan Feb 2004 B1
6756997 Ward et al. Jun 2004 B1
6789120 Lee Sep 2004 B1
6845374 Oliver Jan 2005 B1
6917972 Basko Jul 2005 B1
6934917 Lin Aug 2005 B2
6956833 Yukie Oct 2005 B1
6990676 Proehl et al. Jan 2006 B1
7240355 Eldering Jul 2007 B1
7284256 Candelore et al. Oct 2007 B2
7313806 Williams Dec 2007 B1
7328177 Lin-Hendel Feb 2008 B1
7665111 Barton Feb 2010 B1
7788339 Srinivasan Aug 2010 B1
7966369 Briere et al. Jun 2011 B1
8281001 Busam et al. Oct 2012 B2
8302127 Klarfeld Oct 2012 B2
8438487 Lin-Hendel May 2013 B1
8478114 Beach Jul 2013 B1
8650496 Van Gestel Feb 2014 B1
9043228 Ross, Jr. et al. May 2015 B1
9269107 Boulter Feb 2016 B2
9419665 Ellis Aug 2016 B2
20010049826 Wilf Dec 2001 A1
20020010932 Nguyen et al. Jan 2002 A1
20020040326 Spratt Apr 2002 A1
20020104081 Candelore et al. Aug 2002 A1
20020116471 Shteyn Aug 2002 A1
20020120528 Hutten Aug 2002 A1
20020124248 Matey Sep 2002 A1
20020144289 Taguchi Oct 2002 A1
20020152459 Bates Oct 2002 A1
20020152463 Dudkiewicz Oct 2002 A1
20020152474 Dudkiewicz Oct 2002 A1
20020178394 Bamberger et al. Nov 2002 A1
20020188955 Thompson Dec 2002 A1
20030056216 Wugofski et al. Mar 2003 A1
20030110499 Knudson Jun 2003 A1
20030200172 Randle Oct 2003 A1
20050149972 Knudson Jul 2005 A1
20050235318 Grauch Oct 2005 A1
20180165253 Bimson Jun 2018 A1
Related Publications (1)
Number Date Country
20160353179 A1 Dec 2016 US
Continuations (4)
Number Date Country
Parent 14737638 Jun 2015 US
Child 15234003 US
Parent 14280709 May 2014 US
Child 14737638 US
Parent 13848081 Mar 2013 US
Child 14280709 US
Parent 09955217 Sep 2001 US
Child 13848081 US