The invention provides a method and system for distributing personalized content to potentially large numbers of recipients. A pool is selected, from among all content available for distribution, of those content elements that will be made available for simultaneous distribution, and personalized content is selected for distribution from that pool. The content of the pool can change with new selections over time. For each individual recipient, content elements in the pool are examined to determine if they are predicted to be of sufficient interest to that recipient for distribution, and if so, those content elements are distributed. If not, successive content elements in the pool are examined, relaxing the standard for sufficient interest, until at least one content element is found and distributed to the individual recipient.

Patent
   7394816
Priority
Jun 26 1998
Filed
Jun 26 1998
Issued
Jul 01 2008
Expiry
Jun 26 2018
Assg.orig
Entity
Large
16
18
EXPIRED
67. A method comprising:
determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
comparing said score with a threshold;
choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
selecting a new pool that differs from said pool, said new pool being selected based on timing information.
66. A method comprising:
determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
comparing said score with a threshold;
choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
selecting a new pool that differs from said pool, said new pool being selected by replacing said pool entirely.
68. A system including:
means for determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
means for comparing said score with a threshold;
means for choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
means for selecting a new pool that differs from said pool, said means for selecting said new pool includes means for replacing said pool entirely.
69. A system including:
means for determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
means for comparing said score with a threshold;
means for choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
means for selecting a new pool that differs from said pool, said means for selecting said new pool includes means for selecting based on timing information.
1. A method comprising:
determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
comparing said score with a threshold;
choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
selecting a new pool that differs from said pool, said selecting said new pool includes:
selecting an individual content element for addition to said pool, and
selecting an individual content element for removal from said pool.
45. A method comprising:
determining a score for more than one of several different content elements in a pool of content elements, said scores being responsive to a predicted interest in said different content elements by an individual recipient;
comparing said scores with a threshold;
noting a plurality of content elements in said pool, each having an associated score, in response to said comparing;
selecting one of said plurality of content elements in response to said scores; and
choosing whether to distribute at least one of said plurality of content elements to said individual recipient.
71. A computer program stored on a tangible computer-readable medium, the computer program comprising one or more code segments that, when executed, cause a computer to:
determine a score for one of a set of content elements in a pool, a score being responsive to a predicted interest in said one content element by an individual recipient;
compare said score with a threshold;
choose whether to distribute said one content element to said individual recipient, in response to said comparing; and
select a new pool that differs from said pool, said new pool being selected based on timing information.
70. A computer program stored on a tangible computer-readable medium, the computer program comprising one or more code segments that, when executed, cause a computer to:
determine a score for one of a set of content elements in a pool, a score being responsive to a predicted interest in said one content element by an individual recipient;
compare said score with a threshold;
choose whether to distribute said one content element to said individual recipient, in response to said comparing; and
select a new pool that differs from said pool, said new pool being selected by replacing said pool entirely.
14. A system including:
a plurality of scores for content elements in a set of content elements in a pool, said scores being responsive to a predicted interest by an individual recipient of said one content element to a recipient;
a result of comparing said scores with a threshold;
an adjusted threshold, said adjusted threshold being determined in response to said result for comparing;
a communication path disposed for coupling said one content element to said individual recipient, in response to said result of comparing; and
a selected one of said content elements, said selected one being in response to said scores.
52. A system comprising:
means for determining a score for more than one of several different content elements in a pool of content elements, said scores being responsive to a predicted interest in said different content element by an individual recipient;
means for comparing said scores with a threshold;
means for noting a plurality of content elements in said pool, each having an associated score, in response to said comparing;
means for selecting one of said plurality of content elements in response to said scores; and
means for choosing whether to distribute at least one of said plurality of content elements to said individual recipient.
17. A system including:
means for determining a score for one of a set of content elements in a pool, said score being responsive to a predicted interest in said one content element by an individual recipient;
means for comparing said score with a threshold;
means for choosing whether to distribute said one content element to said individual recipient, in response to said comparing; and
means for selecting a new pool that differs from said pool, said means for selecting said new pool includes:
means for selecting an individual content element for addition to said pool, and
means for selecting an individual content element for removal from said pool.
31. A computer program stored on a tangible computer-readable medium, the computer program comprising one or more code segments that, when executed, cause a computer to:
determine a score for one of a set of content elements in a pool, a score being responsive to a predicted interest in said one content element by an individual recipient;
compare said score with a threshold;
choose whether to distribute said one content element to said individual recipient, in response to said comparing; and
select a new pool that differs from said pool, said selection of said new pool includes:
selecting an individual content element for addition to said pool, and
selecting an individual content element for removal from said pool.
15. A system including:
a plurality of scores for content elements in a set of content elements in a pool, said scores being responsive to a predicted interest by an individual recipient of said one content element to a recipient;
a result of comparing said scores with a threshold;
an adjusted threshold, said adjusted threshold being in response to said result for comparing;
a corresponding set of results of comparing said plurality of scores with said adjusted threshold;
a communication path disposed for coupling said one content element to said individual recipient, in response to said result of comparing; and
a selected one of said content elements, said selected one being responsive to said set of results of comparing.
59. A computer program for choosing whether to distribute one content element stored on a tangible computer-readable medium, the computer program comprising one or more code segments that, when executed, cause a computer to:
determine a score for more than one of several different content elements in a pool of content elements, said scores being responsive to a predicted interest in said different content elements by an individual recipient;
compare said scores with a threshold;
note a plurality of content elements in said pool, each having an associated score, in response to said comparing;
select one of said plurality of content elements in response to said scores; and
choose whether to distribute at least one of said plurality of content elements to said individual recipient.
2. A method as in claim 1 further comprising adjusting said threshold in response to comparing.
3. A method as in claim 1 further comprising adjusting said threshold in response to said individual recipient.
4. A method as in claim 1, wherein a number of said individual recipients is substantially greater than a number of content elements in said pool.
5. A method as in claim 1 further comprising:
repeating said determining and comparing, for a plurality of content elements in said pool; and
selecting one of said plurality in response to said scores.
6. A method as in claim 5 further comprising adjusting said threshold in response to said comparing.
7. A method as in claim 5 further comprising adjusting said threshold in response to said individual recipient.
8. A method as in claim 5 wherein said selecting one of said plurality in response to said scores is responsive to said threshold.
9. A method as in claim 1 further comprising repeating said determining, comparing, and choosing, until a condition occurs.
10. A method as in claim 9 further comprising adjusting said threshold in response to said comparing.
11. A method as in claim 9 further comprising adjusting said threshold in response to said individual recipient.
12. A method as in claim 9 wherein said condition is responsive to a number of times said determining is performed.
13. A method as in claim 9, wherein said condition is that at least one content element in said pool is chosen for distribution.
16. A method as in claim 1 further comprising selecting a pool of content elements from said set of content elements, said pool having a plurality of content elements but less than all of said set of content elements.
18. A system as in claim 17 further comprising means for adjusting said threshold in response to comparing.
19. A system as in claim 17 further comprising means for adjusting said threshold in response to said individual recipient.
20. A system as in claim 17 wherein a number of said individual recipients is substantially greater than a number of content elements in said pool.
21. A system as in claim 17 further comprising:
means for repeating said determining and comparing, for a plurality of content elements in said pool; and
means for selecting one of said plurality in response to determining and comparing performed by said means for determining and comparing.
22. A system as in claim 21 further comprising means for adjusting said threshold in response to said comparing.
23. A system as in claim 21 further comprising means for adjusting said threshold in response to said individual recipient.
24. A system as in claim 21 wherein said means for selecting one of said plurality selects the one of said plurality responsive to said threshold.
25. A system as in claim 17 further comprising means for repeating said determining, comparing, and choosing, until a condition occurs.
26. A system as in claim 25 further comprising means for adjusting said threshold in response to said comparing.
27. A system as in claim 25 further comprising means for adjusting said threshold in response to said individual recipient.
28. A system as in claim 25 wherein said condition is responsive to a number of times said determining is performed.
29. A system as in claim 25 wherein said condition is that at least one content element in said pool is chosen for distribution.
30. A system as in claim 17 further comprising means for selecting a pool of content elements from said set of content elements, said pool having a plurality of content elements but less than all of said set of content elements.
32. A computer program as in claim 31 farther comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said comparison of said score with a threshold.
33. A computer program as in claim 31 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said individual recipient.
34. A computer program as in claim 31 wherein a number of said individual recipients is substantially greater than a number of content elements in said pool.
35. A computer program as in claim 31 further comprising one or more code segments that, when executed, cause a computer to:
repeat said determining and comparing, for a plurality of content elements in said pool; and
select one of said plurality of content elements in response to determining and comparing repeatedly performed.
36. A computer program as in claim 35 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said comparison of said score with a threshold.
37. A computer program as in claim 35 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said individual recipient.
38. A computer program as in claim 35 wherein said selection of one of said plurality of content elements is responsive to said threshold.
39. A computer program as in claim 31 further comprising one or more code segments that, when executed, cause a computer to repeat said determining, comparing, and choosing, until a condition occurs.
40. A computer program as in claim 39 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said comparing.
41. A computer program as in claim 39 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said individual recipient.
42. A computer program as in claim 39 wherein said condition is responsive to a number of times said determining is performed.
43. A computer program as in claim 39 wherein said condition is that at least one content element in said pool is chosen for distribution.
44. A computer program as in claim 31 further comprising one or more code segments that, when executed, cause a computer to select a pool of content elements from said set of control elements, said pool having a plurality of content elements, but less than all of said set of content elements.
46. The method of claim 45 further comprising adjusting said threshold in response to said comparing.
47. The method of claim 45 further comprising selecting said pool of content elements from a set of content elements, said pool having a plurality of content elements but less than all of said set of content elements.
48. A method as in claim 45 further comprising repeating said determining and comparing, for a plurality of content elements in said pool.
49. The method of claim 48 further comprising:
adjusting said threshold in response to said comparing; and
noting a plurality of content elements in said pool, each having an associated score, in response to said adjusting.
50. A method as in claim 48 further comprising repeating said choosing until a condition is satisfied.
51. The method of claim 50 further comprising:
adjusting said threshold in response to said comparing; and
noting a plurality of content elements in said pool, each having an associated score, in response to said adjusting.
53. The system of claim 52 further comprising means for adjusting said threshold in response to said comparing.
54. The system of claim 52 further comprising means for selecting said pool of content elements from a set of content elements, said pool having a plurality of content elements but less than all of said set of content elements.
55. A system as in claim 52 further comprising means for repeating said determining and comparing, for a plurality of content elements in said pool.
56. The system of claim 55 further comprising:
means for adjusting said threshold in response to said comparing; and
means for noting a plurality of content elements in said pool, each having an associated score, in response to said adjusting.
57. A system as in claim 55 further comprising means for repeating said choosing until a condition is satisfied.
58. The system of claim 57 further comprising:
means for adjusting said threshold in response to said comparing; and
means for noting a plurality of content elements in said pool, each having an associated score, in response to said adjusting.
60. The computer program of claim 59 further comprising one or more code segments that, when executed, cause a computer to adjust said threshold in response to said comparing.
61. The computer program of claim 59 further comprising one or more code segments that, when executed, cause a computer to select said pool of content elements from a set of content elements, said pool having a plurality of content elements but less than all of said set of content elements.
62. The computer program as in claim 59 further comprising one or more code segments that, when executed, cause a computer to repeat said determining and comparing, for a plurality of content elements in said pool.
63. The computer program of claim 62 further comprising one or more code segments that, when executed, cause a computer to:
adjust said threshold in response to said comparing; and
note a plurality of content elements in said pool, each having an associated score, in response to said adjusting.
64. The computer program of claim 62 further comprising one or more code segments that, when executed, cause a computer to repeat said choosing until a condition is satisfied.
65. The computer program of claim 64 further comprising one or more code segments that, when executed, cause a computer to:
adjust said threshold in response to said comparing; and
note a plurality of content elements in said pool, each having an associated score, in response to said adjusting.

1. Field of the Invention

This invention relates to distributing personalized content.

2. Related Art

Known distribution systems for content include broadcast systems, such as broadcast radio and broadcast television, and personalized systems, such as direct purchases of records and videotapes. Recent developments in content distribution include digital storage of content and digital distribution of content, including both audio and video. For example, it is now possible to store popular songs on disk and distribute those songs to recipients using a communication network.

One problem in the known art is that distributing personalized information greatly increases the bandwidth used for distribution. At any one moment, each individual recipient can have different desires for content, so a large number of recipients can use substantial amounts of distribution bandwidth. Distribution bandwidth includes both the communication infrastructure to transmit that content to recipients, as well as the infrastructure to retrieve that content from storage and present that content to the communication infrastructure. For example, while it can be relatively easy to store several thousand songs on magnetic media, it is still relatively difficult to retrieve more than a few dozen of those songs from magnetic media simultaneously.

Accordingly, it would be desirable to distribute personalized content to potentially large numbers of recipients, without incurring the problems of the known art. This advantage is achieved in an embodiment of the invention in which a pool is selected, from among all content available for distribution, of those content elements that will be made available for simultaneous distribution, and personalized content is selected for distribution from that pool.

The invention provides a method and system for distributing personalized content to potentially large numbers of recipients. A pool is selected, from among all content available for distribution, of those content elements that will be made available for simultaneous distribution, and personalized content is selected for distribution from that pool. The content of the pool can change with new selections over time. For each individual recipient, content elements in the pool are examined to determine if they are predicted to be of sufficient interest to that recipient for distribution, and if so, those content elements are distributed. If not, successive content elements in the pool are examined, relaxing the standard for sufficient interest, until at least one content element is found and distributed to the individual recipient.

FIG. 1 shows a diagram of a system for distributing personalized content.

FIG. 2 shows a flow diagram of a method for distributing personalized content.

In the following description, a preferred embodiment of the invention is described with regard to preferred process steps and data structures. Those skilled in the art would recognize after perusal of this application that embodiments of the invention can be implemented using general or special purpose processors under program control, or other circuits, adapted to particular process steps and data structures described herein, and that implementation of the process steps and data structures described herein would not require undue experimentation or further invention.

System Elements

FIG. 1 shows a diagram of a system for distributing personalized content.

A system 100 for distributing personalized content includes a processor 110, program and data memory 120, mass storage 130, and a communication path 140 to a community 150 of individual recipients.

The processor 110 and memory 120 include any one of a set of known processors, operating under control of operating system and application programs in the memory 120. The mass storage 130 includes magnetic, optical, or magneto-optical storage suitable for maintains large amounts of data and delivering segments of that data to the memory 120 upon instruction by the processor 110.

The mass storage 130 maintains a relatively large number of content elements. In a preferred embodiment, each content element comprises an audio song in a digital format, such as an AU format, a WAV format, (preferably) a “Real Audio” or “Real Player” format, or another known format. Storage and delivery of all of these digital formats are known in the art. For example, in a preferred embodiment, the mass storage 130 maintains about 80,000 songs.

The invention is described herein with primary regard to delivery of audio songs in a digital format. However, the invention has wide applicability to delivery of other content elements, including other types of data and other types of format. For example, the invention is applicable to delivery of music videos, other audiovisual or video elements, graphic elements, mapping information, seismic information, telemetry information, or other known data in addition to or in combination therewith.

Network Distribution

The communication path 140 includes a communication link 141 (such as a T1 connection or a similar link) to a communication network 142 (such as the internet or a similar network). The communication link 141 is disposed for transmitting data from the memory 120 at a rate sufficient to deliver each content element to the community 150 of individual recipients, so that each individual recipient 151 in the community 150 receives content elements substantially in real time.

The communication network 142 is disposed for transmitting data from the communication link 141 to each individual recipient 151 in the community 150 at a rate sufficient to deliver each content element to each individual recipient 151 in the community 150 substantially in real time.

In alternative embodiments, the communication network 142 may be disposed for transmitting data to sets of individual recipients 151 in the community 150 using a multicast distribution technique, such as IP multicast.

Each content element maintained on the mass storage 130 is assigned to one or more channels for distribution.

In a preferred embodiment, each channel includes a recognizable genre or subdivision of known music, such as for example “Big Bands,” “Classical,” “Country & Western,” “Heavy Metal,” “Love Songs,” “1950s,” and the like. For example, in a pre-ferred embodiment, each song maintained on the mass storage 130 is assigned to one or more of about 100 or so channels. Channels can, but need not, be assigned numeric or alphanumeric identifiers.

Each channel comprises content elements that are thought to appeal to substantially the same set of individual recipients 151 in the community 150.

For example, content elements are assigned to the channel “Country & Western” because it is believed that they will all have appeal to a group of individual recipients 151 in the community 150 who like “Country & Western” songs.

However, within each particular channel, those individual recipients 151 who receive content elements from that particular channel often have differing likes and dislikes. For each particular channel, the content elements on that channel do not necessarily have the same appeal to each individual recipient 151 receiving content elements from that channel.

Distribution Pool

For each particular channel, the system 100 maintains a pool 160 in the memory 120 of selected content elements assigned to that channel.

Those content elements selected for the pool 160 are maintained in the memory 120 to be distributed to individual recipients 151. The pool 160 is more than one such content element, but smaller than the entire collection of content elements on the mass storage 130.

The processor 110 and memory 120 are disposed to be able to deliver substantially all the content elements in the pool 160 simultaneously and substantially in real time.

In alternative embodiments, the pool 160 can be maintained on the mass storage 130 in addition to or instead of in the memory 120. The pool 160 is limited only by the ability of the system 100 to retrieve and deliver substantially all of the content elements in the pool 160 simultaneously.

In a preferred embodiment, the pool 160 comprises about 30 content elements for each channel. The inventor has found that this is a sufficient large number that, at any particular time, virtually every individual recipient 151 will have at least one content element they will enjoy. The inventor has also found that this is a sufficiently small number that the processor 110 and memory 120 are not substantially taxed by attempting to deliver all content elements in the pool 160 simultaneously.

In alternative embodiments, the number of content elements in the pool 160 could be different. The number of content elements in the pool 160 may be selected in response to various factors, in addition to or instead of the factors noted above.

The content elements in the pool 160 are replaced from time to time; thus, the pool 160 does not comprise the same content elements at all times.

In a preferred embodiment, each content element in the pool 160 has a known play length, which is the amount of time it takes to play that song in real time. Each song is retained in the pool 160 for its play length (plus any amount of time required to actually distribute the song if it has been selected for distribution to individual recipients 151). After a particular content element is ready for replacement, the processor 110 selects a new content element from the entire set of content elements (for that particular channel) to enter into the pool 160.

In alternative embodiments, the content elements in the pool 160 may be replaced in response to other factors, in addition to or instead of play length:

For each individual recipient 151 requesting personalized distribution, there are times when a content element is selected for personalized distribution to that individual recipient 151. At those times, the content element is selected from the pool 160. After examining at least one such content element, the processor 110 selects one content element for distribution to that individual recipient 151. After that one content element is distributed to that individual recipient 151 (and if the individual recipient 151 still desires personalized distribution) the processor 110 continues to examine content elements in the pool 160 and select them for distribution to that individual recipient 151.

In a preferred embodiment, the processor 110 selects content elements for personalized distribution at times responsive to each individual recipient 151, such as when an individual recipient 151 specifically requests distribution of a content element, or when a previous content element ends, or triggered by a timer or other event.

In alternative embodiments, the processor 110 may select content elements for personalized distribution at times responsive to sets of individual recipients 151, such as when content elements are scheduled for multicast to a plurality of individual recipients 151. In such alternative embodiments, the processor 110 may give preference to those content elements scheduled for multicast. The preference may be expressed, for example, by adjusting the score of content elements responsive to that schedule or by restricting the selection for personalized distribution to those content elements.

The processor 110 selects a first content element from the pool 160, and determines a predicted interest by the individual recipient 151 in that first content element.

In a preferred embodiment, the first content element is selected from the pool in a weighted round robin manner. In alternative embodiments, the first content element may be selected in response to another technique, such as at random.

In a preferred embodiment, the processor 110 determines the predicted interest in response to a set of known correlation factors between the particular individual recipient 151 and other known groups of individual recipients 151 in the community 150. The processor 110 preferably uses a known CF (collaborative filtering) technique. CF techniques are known in the art of predicting audience response.

In alternative embodiments, where determining a predicted interest is relatively less resource-intensive, the processor 110 may make the determination using other techniques. For example, the processor 110 may make the determination for a larger number of content elements in the pool 160 (even for all of them). The processor 110 may make the determination for content elements not already in the pool 160 (for possible addition to the pool 160).

The processor 110 compares the predicted interest with a minimum interest threshold, to determine whether the first content element will probably be liked or disliked by the particular individual recipient 151.

In a preferred embodiment, both the predicted interest and the interest threshold are compared using dimensionless units. In this application these units are referred to as being on a scale of zero (worst) to ten (best). However, there is no special reason for the scale to have this particular granularity or these particular endpoint values.

In a preferred embodiment, the minimum interest threshold is initially set relatively high, to maximize the probability that the individual recipient 151 will like the song. For example, the initial minimum interest threshold is preferably set to about nine (on a scale of zero to ten).

The processor 110 also compares the first content element with a set of business rules, to determine whether distribution of the first content element will be disallowed for administrative reasons. Business rules have three possible types:

If the processor 110 determines that the content element meets the minimum interest threshold and the business rules, it distributes the content element tot the individual recipient 151.

If the processor 110 determines that the content element should not be distributed for either reason, it selects a second content element from the pool 160 and repeats the examination with regard to that second content element.

For each successive content element it examines, the processor 110 adjusts the minimum interest threshold downward. The processor 110 compares each of the content elements it has examined against the adjusted minimum interest threshold, and selects the best one.

Thus, if the first content element does not meet the relatively high initial threshold, both the first and second content elements are compared against a somewhat relaxed threshold. If both the first and second content elements do not meet the relaxed threshold, a third content element is selected and all of the first, second, and third content elements are compared against a further relaxed threshold. This process is repeated until one of the following:

In either case, the processor 110 distributes one content element it has examined that has the best predicted interest (and satisfies the business rules).

In a preferred embodiment, the minimum interest threshold is adjusted downward by multiplying the previous minimum interest threshold by a factor smaller than one. For example, this factor is preferably about 0.9.

In a preferred embodiment, the maximum number of content elements examined by the processor 110 is about half the size of the pool 160. For example, this number is preferably about 15.

In alternative embodiments, any of the values used for this process may be adaptively selected in response to a variety of factors:

In a preferred embodiment, the processor 110 selects content elements for personalized distribution separately for each channel.

In alternative embodiments, the individual recipient 151 can select a plurality of channels from which the processor 110 selects content elements for personalized distribution. In such alternative embodiments, the processor 110 can select content elements from a union of pools 160 for each channel, or using some other technique.

Method of Operation

FIG. 2 shows a flow diagram of a method for distributing personalized content.

A method 200 is performed by the system 100, including the processor 110, memory 120, mass storage 130, and communication path 140.

Pool Selection

At a flow point 210, the system 100 has a set of content elements for distribution to the community 150.

At as tep 211, the processor 110 selects a set of content elements for entry into the pool 160. As noted herein, the number of elements in the pool 160 is preferably about 30, but may be different and may be adaptive in response to factors noted herein.

At a step 212, the processor 110 periodically replaces one or more content elements in the pool 160. As noted herein, the processor 110 preferably replaces each content element in the pool 160 after the duration of its play length. At that time, the processor 110 retains ejected content elements in the memory 120 if they are then currently being distributed, but marks them as ineligible for selection for personalized distribution.

In alternative embodiments, at the step 212, the processor 110 may periodically replace all of the content elements in the pool 160. For example, the processor 110 may perform this step periodically about every 30 seconds.

If the system 100 is reset for any reason, such as by a system failure or a reset forced by an operator, the method 200 returns to the flow point 210 and the processor 110 selects a new pool 160.

Content Element Selection

At a flow point 220, the system 100 has selected the pool 160 of content elements for personalized distribution to individual recipients 151 in the community 150.

At a step 221, an individual recipient 151 makes a request for personalized content from a particular channel (or as noted above, from a particular set of channels). The processor 110 receives the request and the method 200 proceeds with the next step.

At a step 222, the processor 110 searches the pool 160 for a next content element to be distributed. As noted herein, the particular method for search is preferably a weighted round robin technique, but there is no particular reason in the context of this invention for using any particular search technique.

At a step 223, the processor 110 determines a predicted rating for the selected content element. As noted herein, the processor 110 preferably uses a known CF technique.

At a step 224, the processor 110 determines if the selected content element meets the business rules for selection.

At a step 225, the processor 110 combines the predicted rating with other selected factors to determine a score for that particular content element.

In a preferred embodiment, violating any of the business rules bars distribution of the content element, so the processor 110 assigns the content element the lowest possible score (zero).

In alternative embodiments, violating licensing restrictions has the same effect, but violating marketing or administrative restrictions may have a less drastic effect. For example, the processor 110 can significantly reduce the score of the content element, but not reduce it to zero, for violating selected “soft” marketing business rules.

At a step 226, the processor 110 determines if the score meets or exceeds a selected minimum threshold for the individual recipient 151. As noted above, the initial value for the minimum threshold is about nine (on a scale of zero to ten), but may be different or may be adaptive responsive to a variety of factors.

If the score for the selected content element meets or exceeds the selected minimum threshold, the method 200 proceeds with the flow point 230, and the content element is distributed to the individual recipient 151.

If the score for the selected content element does not meet the selected minimum threshold, the method 200 proceeds with the next step.

At a step 227, the processor 110 adjusts the selected minimum threshold to determine an adjusted minimum threshold. As noted above, the processor 110 preferably multiplies the selected minimum threshold by a factor less than one, such as 0.9, but in alternative embodiments the factor may be different or may be adaptive in response to various factors.

At a step 228, the processor 110 determines if the score for any content element selected so far meets or exceeds the adjusted minimum threshold.

If one or more content elements selected so far meet or exceed the adjusted minimum threshold, the processor 110 selects the content element with the highest score. The method 200 proceeds with the flow point 230, and that content element is distributed to the individual recipient 151.

If none of the content elements selected so far meet or exceed the adjusted threshold, the method 200 returns to the step 222, and a next content element is selected.

As noted herein, the method 200 returns to the step 222 only a selected maximum number of times. In a preferred embodiment, this selected maximum number is about 15. In alternative embodiments, this selected maximum number may be different or may be adaptive in response to various factors.

If the selected maximum number of returns to the step 222 would be exceeded, the processor 110 selects the content element with the highest score, similarly to the case when that score did meet or exceed the adjusted minimum threshold. Similarly, the method 200 proceeds with the flow point 230, and that content element is distributed to the individual recipient 151.

Content Element Distribution

At a flow point 230, the system 100 has selected a particular content element for distribution to the individual recipient 151.

At a step 231, the processor 110 reads the selected content element into the memory 120 from the mass storage 130 (if the selected content element is not already in the memory 120).

At a step 232, the processor 110 distributes the selected content element from the memory 120, using the communication path 140, to the individual recipient 151.

At a flow point 240, the system 100 has distributed the selected content element to the individual recipient 151, and is ready to distribute further personalized content elements. The method 200 proceeds with the flow point 230.

Although preferred embodiments are disclosed herein, many variations are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application.

Bill, David

Patent Priority Assignee Title
10171624, Apr 24 2000 TIVO CORPORATION Management of pre-loaded content
10242006, Dec 18 2013 GOOGLE LLC Identifying and/or recommending relevant media content
10609451, Apr 24 2000 TIVO CORPORATION Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
10735805, Aug 25 2011 Comcast Cable Communications, LLC Application triggering
10742766, Apr 24 2000 TIVO CORPORATION Management of pre-loaded content
11076205, Mar 07 2014 Comcast Cable Communications, LLC Retrieving supplemental content
11297382, Aug 25 2011 Comcast Cable Communications, LLC Application triggering
11665394, Mar 13 2013 Comcast Cable Communications, LLC Selective interactivity
11736778, Mar 07 2014 Comcast Cable Communications, LLC Retrieving supplemental content
11877026, Mar 13 2013 Comcast Cable Communications, LLC Selective interactivity
11968419, Aug 25 2011 Comcast Cable Communications, LLC Application triggering
8196168, Dec 10 2003 Time Warner, Inc Method and apparatus for exchanging preferences for replaying a program on a personal video recorder
9471671, Dec 18 2013 GOOGLE LLC Identifying and/or recommending relevant media content
9699265, Apr 24 2000 TIVO CORPORATION Method and system for transforming content for execution on multiple platforms
9788058, Apr 24 2000 TIVO CORPORATION Method and system for automatic insertion of interactive TV triggers into a broadcast data stream
9888292, Apr 24 2000 TIVO CORPORATION Method and system to provide interactivity using an interactive channel bug
Patent Priority Assignee Title
5721827, Oct 02 1996 PERSONAL AUDIO LLC System for electrically distributing personalized information
5920702, Jul 19 1994 Sarnoff Corporation Method of striping a data stream onto subsets of storage devices in a multiple user data distribution system
5973722, Sep 16 1996 Rockwell Collins, Inc Combined digital audio/video on demand and broadcast distribution system
5996014, Oct 30 1996 Kabushiki Kaisha Toshiba Distribution multimedia server system using shared disk arrays connected in a chain and having two ports each that are striped with digitalized video data
6005597, Oct 27 1997 Disney Enterprises, Inc. Method and apparatus for program selection
6014701, Jul 03 1997 Microsoft Technology Licensing, LLC Selecting a cost-effective bandwidth for transmitting information to an end user in a computer network
6041239, Jul 18 1997 Motorola, Inc Method and apparatus for distributing offered load in a wireless communications system
6097720, Apr 07 1998 Hewlett Packard Enterprise Development LP Enabling multicast distribution efficiencies in a dialup access environment
6119163, Jul 06 1998 Two-Way Media Ltd Multicasting method and apparatus
6122658, Jul 03 1997 Microsoft Technology Licensing, LLC Custom localized information in a networked server for display to an end user
6253375, Jan 13 1997 Comcast IP Holdings I, LLC System for interactively distributing information services
6345293, Jul 03 1997 Microsoft Technology Licensing, LLC Personalized information for an end user transmitted over a computer network
6363383, Dec 26 1997 Red Hat, Inc Information filtering for selectively limiting access
6530083, Jun 19 1998 Gateway, Inc System for personalized settings
6687703, Dec 26 1997 Red Hat, Inc Information filtering system and information filtering method
7096486, Jun 26 1998 MAXELL, LTD TV program selection support system
7162487, Dec 26 1997 Red Hat, Inc Information filtering system and information filtering method
20070174866,
////////////////////////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jun 24 1998TERRAFLEX DATA SYSTEMS INCORPORATEDSPINNER NETWORKS, INC CHANGE OF NAME SEE DOCUMENT FOR DETAILS 0095740482 pdf
Jun 26 1998AOL LLC, a Delaware Limited Liability Company(assignment on the face of the patent)
Sep 25 1998BILL, DAVIDSPINNER NETWORKS, INC ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0095500261 pdf
May 28 1999ADAMS ACQUISITION SUB, INC A DELAWARE CORPORATION SPINNER NETWORKS, INC A CALIFORNIA CORPORATION MERGER SEE DOCUMENT FOR DETAILS 0206110319 pdf
Apr 03 2006SPINNER NETWORKS INCORPORATEDAOL LLC, A DELAWARE LIMITED LIABILITY COMPANY FORMERLY KNOWN AS AMERICA ONLINE, INC REORGANIZATION0206210465 pdf
Apr 03 2006ADAMS ACQUISITION SUB, INC AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY FORMERLY KNOWN AS AMERICA ONLINE, INC REORGANIZATION0206210465 pdf
Apr 03 2006AMERICA ONLINE, INC AOL LLC, A DELAWARE LIMITED LIABILITY COMPANY FORMERLY KNOWN AS AMERICA ONLINE, INC REORGANIZATION0206210465 pdf
Dec 04 2009AOL LLCAOL IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0237230645 pdf
Dec 09 2009YEDDA, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009TRUVEO, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009Tacoda LLCBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009SPHERE SOURCE, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009AOL IncBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009AOL ADVERTISING INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009BEBO, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009ICQ LLCBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009GOING, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009Lightningcast LLCBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009MAPQUEST, INC BANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009Netscape Communications CorporationBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Dec 09 2009Quigo Technologies LLCBANK OF AMERICAN, N A AS COLLATERAL AGENTSECURITY AGREEMENT0236490061 pdf
Sep 30 2010BANK OF AMERICA, N A Lightningcast LLCTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A YEDDA, INC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A TRUVEO, INC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A Tacoda LLCTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A AOL IncTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A AOL ADVERTISING INC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A GOING INCTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A MAPQUEST, INC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A Quigo Technologies LLCTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A SPHERE SOURCE, INC TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Sep 30 2010BANK OF AMERICA, N A Netscape Communications CorporationTERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS0253230416 pdf
Jul 01 2013AOL IncJPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0309360011 pdf
Jul 01 2013PICTELA, INC JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0309360011 pdf
Jul 01 2013MAPQUEST, INC JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0309360011 pdf
Jul 01 2013BUYSIGHT, INC JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0309360011 pdf
Jul 01 2013AOL ADVERTISING INC JPMORGAN CHASE BANK, N A , AS ADMINISTRATIVE AGENTSECURITY AGREEMENT0309360011 pdf
Jun 23 2015JPMORGAN CHASE BANK, N A AOL IncRELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936 00110360420053 pdf
Jun 23 2015JPMORGAN CHASE BANK, N A AOL ADVERTISING INC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936 00110360420053 pdf
Jun 23 2015JPMORGAN CHASE BANK, N A PICTELA, INC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936 00110360420053 pdf
Jun 23 2015JPMORGAN CHASE BANK, N A BUYSIGHT, INC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936 00110360420053 pdf
Jun 23 2015JPMORGAN CHASE BANK, N A MAPQUEST, INC RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936 00110360420053 pdf
Jun 12 2017AOL IncOATH INCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0436720369 pdf
Nov 02 2021VERIZON MEDIA INC Yahoo Ad Tech LLCCHANGE OF NAME SEE DOCUMENT FOR DETAILS 0594710514 pdf
Date Maintenance Fee Events
Apr 07 2010ASPN: Payor Number Assigned.
Nov 30 2011M2551: Payment of Maintenance Fee, 4th Yr, Small Entity.
Feb 12 2016REM: Maintenance Fee Reminder Mailed.
Apr 07 2016M1559: Payment of Maintenance Fee under 1.28(c).
May 02 2016STOL: Pat Hldr no Longer Claims Small Ent Stat
May 04 2016M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
May 04 2016M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity.
Feb 17 2020REM: Maintenance Fee Reminder Mailed.
Aug 03 2020EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Jul 01 20114 years fee payment window open
Jan 01 20126 months grace period start (w surcharge)
Jul 01 2012patent expiry (for year 4)
Jul 01 20142 years to revive unintentionally abandoned end. (for year 4)
Jul 01 20158 years fee payment window open
Jan 01 20166 months grace period start (w surcharge)
Jul 01 2016patent expiry (for year 8)
Jul 01 20182 years to revive unintentionally abandoned end. (for year 8)
Jul 01 201912 years fee payment window open
Jan 01 20206 months grace period start (w surcharge)
Jul 01 2020patent expiry (for year 12)
Jul 01 20222 years to revive unintentionally abandoned end. (for year 12)