[go: up one dir, main page]

HK1171540B - Recommendation based caching of content items - Google Patents

Recommendation based caching of content items Download PDF

Info

Publication number
HK1171540B
HK1171540B HK12112275.7A HK12112275A HK1171540B HK 1171540 B HK1171540 B HK 1171540B HK 12112275 A HK12112275 A HK 12112275A HK 1171540 B HK1171540 B HK 1171540B
Authority
HK
Hong Kong
Prior art keywords
cache
content items
user
content item
content
Prior art date
Application number
HK12112275.7A
Other languages
Chinese (zh)
Other versions
HK1171540A1 (en
Inventor
C.B.韦尔
E.N.洛克德
Original Assignee
微软技术许可有限责任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/959,403 external-priority patent/US20120144117A1/en
Application filed by 微软技术许可有限责任公司 filed Critical 微软技术许可有限责任公司
Publication of HK1171540A1 publication Critical patent/HK1171540A1/en
Publication of HK1171540B publication Critical patent/HK1171540B/en

Links

Description

Recommendation based content item caching
Technical Field
The present invention relates to computer technology, and more particularly to recommendation-based content item caching.
Background
Many existing systems recommend content items such as music, movies and video games to users. These recommendation systems typically base their recommendations on the relevance of a history of content items viewed or used by a user to a history of content items viewed or used by other users. These systems may further use ratings or reviews submitted by the user and metadata provided by the content provider describing aspects of the content (genre, actors, appropriate age group, etc.) to further refine which content items are recommended to the user.
While the recommendations generated by these systems are effective in reminding users of new or unknown content items, these recommendations are not currently used to make decisions regarding the distribution or delivery of recommended content items to users. The available local storage capacity and bandwidth may be wasted due to the reduced cost of local storage and the reduced propensity of users to access online content items at similar times (e.g., prime time).
Disclosure of Invention
Content item recommendations are generated for a user based on metadata associated with the content items and a content item usage history associated with the user. Each content item recommendation identifies a user and a content item and includes a score that indicates how likely the user is to use or like the content item. Based on the content item recommendations, and the constraints of the one or more caches, the content item is selected for storage in the one or more caches. The constraints of the caches may include, for example, the users associated with each cache, the geographic location of each cache, the size of each cache, and the cost associated with each cache, such as bandwidth cost. The content items stored in the cache are recommended to the user associated with the cache. By recommending content items stored in a cache associated with a user, the overall bandwidth capacity may be better managed as content items are distributed to the cache during off-peak hours. In addition, the user experience may be improved due to the short latency between the cache and the user.
In one implementation, a computing device receives metadata associated with a content item. A computing device receives user data associated with a user. An affinity score is determined for each content item using the user data and metadata associated with each content item. One or more content items are selected based on the determined affinity scores. The computing device causes the selected content item to be stored in a cache associated with the user.
In one implementation, a computing device receives affinity data for each of a plurality of content items. The affinity data for the content item includes an affinity score associated with each of the plurality of users. The computing device receives one or more constraints for each of the plurality of caches. Each cache is associated with one or more users. For each cache, the computing device selects one or more content items based on the constraint(s) of the cache and the affinity score associated with the user associated with the cache. For each cache, the selected content item is caused to be stored in the cache.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Drawings
The foregoing summary, as well as the following detailed description of illustrative embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the embodiments, there is shown in the drawings exemplary constructions of the embodiments; however, the embodiments are not limited to the specific methods and instrumentalities disclosed. In the drawings:
FIG. 1 is an illustration of an example environment for recommending content items and storing the content items in one or more caches according to the recommendations;
FIG. 2 is an illustration of an example content item recommender;
FIG. 3 is an operational flow of an implementation of a method for recommending one or more content items;
FIG. 4 is an operational flow of another implementation of a method for recommending one or more content items;
FIG. 5 illustrates an exemplary computing environment in which example embodiments and aspects may be implemented.
Detailed Description
FIG. 1 is an illustration of an example environment 100 for recommending content items and storing the content items in one or more caches according to the recommendations. The client device 110 may communicate with the content item recommender 160 and the content item server 190 via the network 120. Network 120 may be a variety of network types including, for example, the Public Switched Telephone Network (PSTN), a cellular telephone network, and a packet-switched network (e.g., the internet).
In some implementations, client devices 110 may include desktop Personal Computers (PCs), workstations, laptops, Personal Digital Assistants (PDAs), cellular phones, smart phones, video game consoles, set-top boxes, televisions, or any other computing device capable of interfacing directly or indirectly with network 120. For example, client device 110 may be implemented using a general purpose computing device, such as computing device 500 shown in FIG. 5. Although only one client device 110 is shown, this is for illustration purposes only and there is no limit to the number of client devices 110 that can be supported by the environment 100.
The content item server 190 may provide one or more content items 171 to the client device 110 for use by a user or users associated with the client device 110. The content items 171 may be stored and available from a content item store 170 (or multiple content item stores) and may include video content items (e.g., movies, television shows, and videos), audio content items (e.g., songs, albums, and ringtones), computing device applications (e.g., cellular phone applications, personal computer applications, and related plug-ins), and video game content items (e.g., video games, video game patches, and other video game related content, such as downloadable levels, clothing, in-game items, and so forth). The use of the content item may include various user actions, such as downloading the content item, viewing the content item, listening to the content item, playing the content item, storing the content item, or sharing the content item. For example, the content item server 190 may be implemented using a general purpose computing device, such as the computing device 500 shown in FIG. 5.
The content item recommender 160 may generate one or more recommendations 151 for a user and may send the recommendations 151 to one or more users at the client device 110 or multiple client devices over the network 120. In some implementations, the recommendations 151 may be recommendations for one or more content items 171 from the content item store 170 that the user may be interested in using. The recommendations 151 may be displayed or presented to the user by the user's respective client device 110. The content item recommender 160 may be implemented using a general purpose computing device, such as the computing device 500 shown in FIG. 5.
In some implementations, the content item recommender 160 may generate the recommendations 151 using the user data 180. The user data 180 may include usage history of the content items 171 by one or more users. For example, the user data 180 may include a list of identifiers of some or all of the content items 171 that have been used by the user, such as movies that the user has watched and/or songs that the user has listened to.
The user data 180 may also include an indicator of how satisfied the user is with each of the content items 171. For example, the user data 180 may include ratings that the user generated for content items that they use. The user data 180 may also include other data such as demographic data about the user (e.g., age, income, gender, and nationality), social networking data associated with the user (e.g., "friends" associated with the user), and the type of client device 110 used by the user (e.g., cell phones, televisions, and video game consoles).
In some implementations, the content item recommender 160 generates recommendations 151 using content item metadata 165 in addition to the user data 180. The content item metadata 165 may include metadata about some or all of the content items 171 from the content item store 170. For example, for video content items, the content item metadata 165 may include information about the video content items, such as directors, genres, or actors, appearing in the video content items. For example, for audio content items, the content item metadata 165 may include, for example, artist information, album title, and genre. Other information such as an average rating or score associated with a content item and the number of times the content item was used may also be part of the content item metadata 165.
In some implementations, the content item recommender 160 may generate recommendations 151 for a user by correlating user data 180 for the user and other users with content item metadata 165 associated with content items 171. Any method or technique known in the art for recommending content items based on the user data 180 and the content item metadata 165 may be employed.
The content item recommender 160 may use the generated recommendations 151 to determine to store one or more content items 171 in one or more of the caches 115a-115 c. Each cache may be associated with one or more users or client devices. For example, cache 115b may be associated with 100, 1000, or 10000 users or client devices. Each user may be associated with one or more client devices, and each client device may be associated with one or more users. The number of users or client devices that may be associated with the cache is not limited.
When a user of a client device 110 requests a content item, the content item server 190 and/or the content item recommender 160 may determine whether the content item is stored in a cache associated with the requesting user and the client device. If so, the content item request may be fulfilled from the cache, rather than from the content item server 190. Typically, the cache associated with the user and the user's client device is located closer to the user than the content item server 190, so when using content items, the cache may provide the user with reduced latency and increased performance than the content item server 190. Thus, by fulfilling content item requests from the cache(s) (e.g., caches 115a-115c) where possible, the overall experience for the user may be improved and the overall load on the content item server 190 reduced.
In some implementations, the caches 115a-115c may be associated with particular geographic regions, such as countries, states, or cities. For example, cache 115c may store content items for users in the san Francisco region, and cache 115b may store content items for users in the New York region.
Additionally, the caches 115a-115c may be associated with a particular type of client device. For example, cache 115b may serve users of smart phones for client devices, and cache 115c may serve users of video game consoles for client devices.
In some implementations, each client device 110 may have its own cache. For example, the cache 115a may be part of the client device 110 as a set-top box or video game console. For example, cache 115a may be implemented in client device 110 using, for example, a hard disk drive in client device 110.
In some implementations, caches 115a-115c may be hierarchical. For example, when a client device 110 requests a content item, the client device 110 may first look for the content item in cache 115a, and if the content item is not in cache 115a, the client device 110 may look for the content item in cache 115 b.
As further described herein, the content item recommender 160 may cause one or more content items 171 to be stored in the caches 115a-115c based on the recommendations 151 and one or more characteristics of the caches 115a-115 c. For example, the content item recommender 160 may generate recommendations 151 for a particular content item to a user associated with the cache 115 b. Thus, the content item recommender 160 may cause the content item server 190 to store the content item 171 in association with the recommendation 151 in the cache 115 b.
In addition, the content item recommender 160 may provide recommendations 151 corresponding to content items 171 stored in a cache to users associated with the cache and client devices 110. Thus, the content item recommender 160 may cause the caches 115a-115c to be populated with content items 171 corresponding to the recommendations 151, and may also recommend content items 171 that are subsequently stored in the caches 115a-115 c. By populating the cache with content items 171 that may be of interest to the user and recommending that the user use the content items 171 stored in the cache associated with the content items 171, the user may have a chance to use the content items 171 stored in the cache associated with the content items 171, resulting in more efficient use of the content item server 190 and a better user experience due to reduced latency.
FIG. 2 is an illustration of an example content item recommender, such as the content item recommender 160. As shown, the content item recommender 160 may include components including, but not limited to, a recommendation engine 220 and a cache engine 230. Although these components are shown as part of the content item recommender 160, each of the various components may be implemented separately from each other, for example, using one or more computing devices such as the computing device 500 shown in FIG. 5.
The recommendation engine 220 may generate affinity data 250 for one or more content items 171 from the content item store 170. In some implementations, the affinity data 250 may include a plurality of tuples, each tuple including an identifier of a content item, a user identifier, and an affinity score generated for an identified user that relates to the identified content item. The affinity score may be a measure of the likelihood that the identified user will like or use the identified content item. The affinity score for each tuple may be generated by the recommendation engine 220 for the identified content item from the user data 180 and the content item metadata 165. The affinity score may be generated using various known methods for predicting a user's interest in a content item, including collaborative filtering, boosting, and bayesian inference. Other methods may be used.
The cache engine 230 may use the generated affinity data 250 to select one or more content items 171 to store in the caches 115a-115 c. In some implementations, the cache engine 230 may select the content item 171 for the cache that has the highest affinity score. The number of selected content items 171 may depend on the size of the cache or the available space. In other implementations, the cache engine 230 may select the content item 171 for the cache that has the highest affinity score for the user associated with the cache. For example, if a single user is associated with the cache 115a because the cache 115a is located within a set-top box associated with the user, the cache engine 230 may select one or more content items 171 that have a high affinity score for the user.
In some implementations, the cache engine 230 may use the generated affinity data 250 and the cache data 240 associated with each of the caches 115a-115c to select one or more content items 171 to store in the caches 115a-115 c. The cached cache data 240 may describe one or more constraints or preferences associated with the cache, such as geographic limitations, size limitations, and bandwidth limitations. Other constraints may be used.
The geographic restrictions may include the location of the cache and may include the geographic region of the user that the cache may support. The size limit may include the overall size of the cache and/or the amount of free space of the cache. The bandwidth constraints may include bandwidth costs of the cache, as well as constraints describing usage patterns of users associated with the cache. For example, a user associated with cache 115b may infrequently or infrequently use content items 171, while a user of cache 115c may frequently use content items 171.
In some implementations, the cache engine 230 may generate a fitness score for each content item for each of the caches 115a-115 c. The cache engine 230 may generate the fitness score using one or more fitness functions that take into account the affinity score of the affinity data 250 for each content item and one or more constraints of the cache data 240. For example, when generating fitness scores for a particular cached content item 171, a particular fitness function used by the cache engine 230 trades off the affinity score for the content item 171 as indicated by the affinity data 250 against the bandwidth cost associated with placing each content item into the cache and the usage pattern and geographic location of the user associated with the cache as indicated by the cache data 240. Thus, if the user's geographic location is considered far from the cache, or if the user does not view the content items often, content items with high affinity scores for the user may result in low fitness scores for the cache.
The cache engine 230 may select one or more content items 171 for storage in each cache according to the generated fitness scores for each content item 171 of the cache. In some implementations, the cache engine 230 may select for each cache the content item 171 having the highest fitness score for that cache.
The cache engine 230 may cause the selected one or more content items 171 to be stored in respective caches. For example, the cache engine 230 may instruct the content item server 190 to send one or more content items 171 to one of the caches 115a-115 c.
The recommendation engine 220 may generate recommendations 151 for content items 171 stored in the caches 115a-115c and provide the generated recommendations 151 to the user. For example, the recommendation 151 may be emailed to the user or displayed to the user in an application on the client device 110, such as a media player.
FIG. 3 is an operational flow of an implementation of a method 300 for recommending one or more content items. The method 300 may be implemented by, for example, the content item recommender 160.
At 301, metadata associated with a plurality of content items is received. The metadata may include content item metadata 165 and may be received by the content item recommender 160 from the content item server 190. In some implementations, the content items may include, for example, video content items, audio content items, and/or video game content items. For example, metadata associated with each content item may include descriptive information such as the genre of the content item, the title of the content item, the author of the content item, the artist or creator associated with the content item, and other information.
At 303, user data associated with a user is received. The user data may include user data 180 and may be received by the content item recommender 160 from the content item server 190. In some implementations, the user data 180 for the user may identify some or all of the content items in the history of content items associated with the user. For example, the user data 180 may identify some or all of the video content items viewed by the user. Additionally, the user data 180 may include user preferences for known genres or artists, social network data associated with the user, and one or more ratings for content items generated by the user.
At 305, an affinity score is determined for each content item using the user data and metadata associated with the content item. The affinity score may be determined by the recommendation engine 220 of the content item recommender 160. In some implementations, the affinity score for a content item is a measure of the predictable likelihood that the user will use and/or enjoy the content item. The affinity score may be determined using various known recommendation techniques, such as collaborative filtering, boosting, and bayesian inference, that employ some or all of the metadata as well as the user data. Other methods may be used.
At 307, one or more content items are selected according to the determined affinity scores. The one or more content items are selected by the cache engine 230 of the content item recommender 160 in accordance with the determined affinity scores. In some implementations, a subset of the one or more content items having the highest overall affinity scores may be selected.
In some implementations, the one or more content items may be selected according to the affinity scores of the one or more content items and one or more constraints associated with the cache. For example, the constraints may include the size or available space of the cache, the geographic location of the cache, and the bandwidth cost associated with the cache and/or the client device 110 associated with the user.
At 309, the selected one or more content items are caused to be stored in a cache associated with the user. The cache engine 230 of the content item recommender 160 may cause the selected one or more content items to be stored. For example, the content item recommender 160 may cause or instruct the content item server 190 to send the selected one or more content items from the content item store 170 to a cache associated with the user. In some implementations, the cache may be a local cache geographically located closer to the user than the content item server 190. Alternatively or additionally, the cache may be located in a client device 110 associated with the user.
At 311, one (or more) of the selected one or more content items are recommended to the user. The content item recommender 160 may recommend the selected content item(s) to the user. In some implementations, the content item recommender 160 may generate one or more recommendations 151 corresponding to the selected content item(s) and may provide them to the client device 110 associated with the user. Client device 110 may then display recommendation 151 to the user.
FIG. 4 is an operational flow of an implementation of a method 400 for recommending one or more content items. The method 400 may be implemented by, for example, the content item recommender 160.
At 401, affinity data is received for each of a plurality of content items. The affinity score may be received by the cache engine 230 from the recommendation engine 220 of the content item recommender 160. In some implementations, the affinity data 250 may include a set of tuples, each tuple including an identifier of the content item, a user identifier, and a determined affinity score. The affinity data may have been generated by the recommendation engine 220 using some or all of the user data 180 and the content item metadata 165.
At 403, one or more constraints are received for each of the plurality of caches. One or more constraints for each of the caches may be received by the cache engine 230 from the cache data 240. The one or more constraints for each of the caches may include, for example, cache location, latency or cost of bandwidth associated with the cache, and size of the cache.
At 405, for each cache, one or more content items are selected based on one or more constraints of the cache and affinity scores associated with one or more users associated with the cache. The cache engine 230 of the content item recommender 160 may select the content item(s) for each cache using a fitness function that scores each content item according to the affinity data associated with the content item and one or more constraints associated with the cache. In some implementations, the one or more content items having the highest determined fitness scores are selected to fit the size of the cache or the available space of the cache. The fitness function may take into account the geographic locations of the users and the cache such that affinity scores for users geographically closer to the cache are weighted higher than affinity scores for users further from the cache. Other constraints may be considered, such as bandwidth associated with each user and usage habits of the users associated with the cache.
At 407, for each cache, one or more selected content items are caused to be stored in the cache. The content item recommender 160 causes the selected item(s) to be stored in each corresponding cache. For example, the content item recommender 160 may instruct or cause the content item server 190 to store the selected content item(s) in a cache.
At 409, for each cache, one or more content items stored in the cache are recommended to the user associated with the cache. The stored content items may be recommended to the user by the content item recommender 160. In some implementations, the content item recommender 160 may generate one or more recommendations 151 corresponding to the stored content item(s) and may provide them to the client device 110 associated with the user. Client device 110 may display recommendations 151 to the user.
FIG. 5 illustrates an exemplary computing environment in which example embodiments and aspects may be implemented. The computing system environment is only one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality.
Numerous other general purpose or special purpose computing system environments or configurations may be used. Examples of well known computing systems, environments, and/or configurations that may be suitable for use include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, network PCs, minicomputers, mainframe computers, embedded systems, distributed computing environments that include any of the above systems or devices, and the like.
Computer-executable instructions, such as program modules, may be used that are executable by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Distributed computing environments may also be used where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program modules and other data may be located in both local and remote computer storage media including memory storage devices.
With reference to FIG. 5, an exemplary system for implementing aspects described herein includes a computing device, such as computing device 500. In its most basic configuration, computing device 500 typically includes at least one processing unit 502 and memory 504. Depending on the exact configuration and type of computing device, memory 504 may be volatile (such as Random Access Memory (RAM)), non-volatile (such as read-only memory (ROM), flash memory, etc.) or some combination of the two. This most basic configuration is illustrated in fig. 5 by dashed line 506.
Computing device 500 may have additional features or functionality. For example, computing device 500 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in FIG. 5 by removable storage 508 and non-removable storage 510.
Computing device 500 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computing device 500 and includes both volatile and nonvolatile media, removable and non-removable media.
Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Memory 504, removable storage 508 and non-removable storage 510 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computing device 500. Any such computer storage media may be part of computing device 500.
Computing device 500 may contain communication connections 512 that allow the device to communicate with other devices. Computing device 500 may also include input device(s) 514 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 516 such as a display, speakers, printer, etc. may also be included. All of these devices are well known in the art and need not be discussed at length here.
It should be understood that the various techniques described herein may be implemented in connection with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the presently disclosed subject matter, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the presently disclosed subject matter.
While exemplary implementations may involve utilizing aspects of the presently disclosed subject matter in the context of one or more stand-alone computer systems, the subject matter is not so limited, but may be implemented in connection with any computing environment, such as a network or distributed computing environment. Further, aspects of the presently disclosed subject matter may be implemented in or across a plurality of processing chips or devices, and storage may similarly be effected across a plurality of devices. These devices may include, for example, personal computers, network servers, and handheld devices.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.

Claims (6)

1. A method, comprising:
a computing device receives metadata associated with a plurality of content items (301);
the computing device receiving user data (303) for a plurality of users associated with a cache, wherein the cache is associated with a particular type of client device;
the computing device determining an affinity score for each of the content items using the user data and the metadata associated with each of the content items (305);
receiving one or more constraints associated with the cache, wherein the one or more constraints include a geographic limit and a bandwidth limit, the geographic limit including a geographic location of the cache and a geographic location of each of the plurality of users associated with the cache;
selecting one or more of the content items in accordance with the determined affinity scores and the received one or more constraints (307);
the computing device causing the selected one or more content items to be stored in the cache (309); and
recommending one of the selected one or more content items stored in the cache to a user associated with the cache.
2. The method of claim 1, wherein the cache (115a) is part of a media player, a video game console, a set-top box, or a television.
3. The method of claim 1, wherein the plurality of content items (171) comprises audio content items, video content items, or video game content items.
4. The method of claim 1, wherein the user data (180) comprises a content item usage history associated with a user.
5. A system, comprising:
at least one computing device (110); and
a content item recommender (160) adapted to:
receiving metadata associated with each of a plurality of content items (301);
receiving user data (303) associated with a plurality of users associated with a cache, wherein the cache is associated with a particular type of client device;
determining an affinity score for each of the plurality of content items using the user data and the metadata associated with each of the plurality of content items (305);
receiving one or more constraints associated with the cache, wherein the one or more constraints include a geographic limit and a bandwidth limit, the geographic limit including a geographic location of the cache and a geographic location of each of the plurality of users associated with the cache;
selecting one or more of the plurality of content items in dependence on the determined affinity scores and the received one or more constraints (307);
causing the selected one or more content items to be stored in a cache associated with the user (309); and
recommending one of the selected one or more content items stored in the cache to a user associated with the cache.
6. The system of claim 5, wherein the cache (115a) is part of a media player, a video game console, a set-top box, or a television associated with the user.
HK12112275.7A 2010-12-03 2012-11-28 Recommendation based caching of content items HK1171540B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/959,403 2010-12-03
US12/959,403 US20120144117A1 (en) 2010-12-03 2010-12-03 Recommendation based caching of content items

Publications (2)

Publication Number Publication Date
HK1171540A1 HK1171540A1 (en) 2013-03-28
HK1171540B true HK1171540B (en) 2016-09-15

Family

ID=

Similar Documents

Publication Publication Date Title
US20120144117A1 (en) Recommendation based caching of content items
US10437896B2 (en) Singular, collective, and automated creation of a media guide for online content
US8849816B2 (en) Personalized media charts
US20220138274A1 (en) System, methods and computer products for determining affinity to a content creator
US8572098B2 (en) Client playlist generation
US20140279817A1 (en) Taste profile attributes
US10911384B2 (en) Staggered notification by affinity to promote positive discussion
US20110138306A1 (en) Online interactive digital content scrapbook and time machine
CN107690638A (en) The reader application and method with personalized feed for recommending to keep privacy of user simultaneously are provided
US8949874B1 (en) Evaluating media channels
US9170712B2 (en) Presenting content related to current media consumption
US20210406925A1 (en) Algorithm for identification of trending content
US10609109B1 (en) Delivery of personalized digital content in real time
US20180218395A1 (en) Advertisements targeting on video playlists
CN118368447A (en) Dynamic integration of customized supplemental media content
US9959322B1 (en) Ranking channels in search
US20240281490A1 (en) Ranking of Content Based On Implied Relationships
HK1171540B (en) Recommendation based caching of content items
US20160328404A1 (en) Algorithmic radio for arbitrary textual queries
WO2017132589A1 (en) Presenting artist-autored messages dirctly to user via a content system
US8996526B1 (en) Determining a lasting value of content items and performers