Patent ID: 7509663

Claim:
A system for updating a list of user-preferred program channels comprising: a set-top terminal (STT); a memory; a list of “k” user-preferred program channels stored in the memory; a channel table stored in memory, the channel table comprising a list of viewed channels, wherein each viewed channel is associated with a cumulative count value; a timer; and a processing unit configured to communicate with the memory and the timer, wherein the processing unit executes instructions causing the processing unit to perform the tasks of: (a) detecting a first channel change event to establish the tuning of the STT to a viewed channel; (b) starting the timer to measure a first continuous duration of the STT tuned to the viewed channel; (c) detecting the occurrence of a second channel change event to establish the tuning of the STT away from the viewed channel before the first continuous duration reaches a first milestone duration; (d) when the first milestone duration is reached, then resetting the timer to zero and setting a count to 1; (e) starting the timer to measure a second continuous duration of the STT tuned to the viewed channel; (f) detecting the occurrence of a second channel change event to establish the tuning of the STT away from the viewed channel before the second continuous duration reaches a second milestone duration, wherein the second milestone duration is greater that the first milestone duration; (g) when the second milestone duration is not reached, then adding the count to the cumulative count value for the viewed channel; (h) when the second milestone duration is reached, then incrementing the counter for the viewed channel by 1 and then adding the count to the cumulative count value for the viewed channel; (i) selecting from the channel table the “k” program channels having the cumulative count values; and (j) revising the list of user-preferred program channels to reflect the selected “k” program channels.