IP Library Granted Patent US 8,832,099
Granted Patent B2
US 8,832,099 · App. 12/720,394 · Granted Sep 9, 2014

User specific feed recommendations

Inventors: Timothy Howes (Los Altos, CA); Eric Vishria (San Carlos, CA)
Assignee: Yahoo! Inc.
G06F17/30011
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,832,099
App. No.
12/720,394
Granted
Sep 9, 2014
Kind
B2
Abstract

A system for recommending feeds for a user comprises a client with a web browser, an application server, and a content server. The browser tracks the user's browsing activity and transmits user data related to the user's browsing activity to the application server. The application server searches the content server to determine feeds that may be relevant to the user's browsing activity and then communicates those feeds to the browser. The browser displays the received feeds to the user as feed recommendations, prompting the user to select from among the recommended feeds. Once the user has selected one or more feeds, the browser transmits the user's selection to the application server, which enables the feeds to be presented subsequently to the user. In this way, the system uses the user's browsing activity to obtain automatically for a user feeds that are likely to be relevant to the user.

Claims (59)

1. A computer-implemented method for recommending feeds for a user, the method comprising:

requesting, by a web browser, authentication information for the user, wherein the authentication information is used to associate the user with activities of the user on a plurality of websites, the request for authentication information made before the user requests access to the plurality of websites using the browser;

receiving authentication information associated with the user, the authentication information used to associate the user with the web browser;

authenticating the user based on the received authentication information;

identifying a plurality of content items published within the plurality of websites and one or more additional websites, each of the one or more additional websites referenced by at least one of the plurality of websites;

generating a feed for the user that comprises a subset of the plurality of content items, the subset selected based, at least in part, on the user's activities on the plurality of websites and a ranking of the plurality of websites, wherein the subset of the plurality of content items includes a first content item published within a first one of the plurality of websites, and the first content item is selected based, at least in part, on a rank associated with first website and determined by a search engine, wherein the subset of the plurality of content items are selected such that greater weight is given to content items associated with high ranked search result pages than lower ranked search result pages; and

communicating the generated feed to a module in the web browser for recommendation to the user.

2. The computer-implemented method of claim 1 , further comprising:

determining a change in the user's browsing activities; and

adjusting a wait period in response to the change in the user's browsing activity, the wait period specifying an amount of time to wait before updating the feed with one or more additional content items.

3. A non-transitory computer program product for recommending feeds for a user, the computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:

requesting, by a web browser, authentication information for the user, wherein the authentication information is used to associate the user with activities of the user on a plurality of websites, the request for authentication information made before the user requests access to the plurality of websites using the browser;

receiving authentication information associated with the user, the authentication information used to associate the user with the web browser;

authenticating the user based on the received authentication information;

identifying a plurality of content items published within the plurality of websites and one or more additional websites, each of the one or more additional websites referenced by at least one of the plurality of websites;

generating a feed for the user that comprises a subset of the plurality of content items, the subset selected based, at least in part, on the user's activities on the plurality of websites and a ranking of the plurality of websites, wherein the subset of the plurality of content items includes a first content item published within a first one of the plurality of websites, and the first content item is selected based, at least in part, on a rank associated with first website and determined by a search engine, wherein the subset of the plurality of content items are selected such that greater weight is given to content items associated with high ranked search result pages than lower ranked search result pages; and

communicating the generated feed to a module in the web browser for recommendation to the user.

4. The computer program product of claim 3 , further comprising computer program code for:

determining a change in the user's browsing activities; and

adjusting a wait period in response to the change in the user's browsing activity, the wait period specifying an amount of time to wait before updating the feed with one or more additional content items.

5. A computer-implemented method for receiving feed recommendations, the method comprising:

requesting, by a web browser, authentication information for the user, wherein the authentication information is used to associate the user with activities of the user on a plurality of websites, the request for authentication information made before the user requests access to the plurality of websites using the browser;

receiving authentication information associated with a user, the authentication information used to associate the user with the web browser;

authenticating the user based on the received authentication information;

identifying a plurality of content items published within the plurality of websites and one or more additional websites, each of the one or more additional websites referenced by at least one of the plurality of websites;

generating a feed for the user that comprises a subset of the plurality of content items, the subset selected based, at least in part, on the user's activities on the plurality of websites and a ranking of the plurality of websites, wherein the subset of the plurality of content items includes a first content item published within a first one of the plurality of websites, and wherein the first content item is selected based, at least in part, on a rank associated with first website and determined by a search engine, wherein the subset of the plurality of content items are selected such that greater weight is given to content items associated with high ranked search result pages than lower ranked search result pages; and

performing at least one step from a group of steps comprising:

displaying an option to add the generated feed to a list of feeds associated with the web browser and the user; and

adding the generated feed to a list of feeds associated with the web browser and the user.

6. The method of claim 1 , wherein at least one of the subset of the plurality of content items is published within the one or more additional websites.

7. The method of claim 1 , wherein generating the feed comprises:

for each of the plurality of websites, determine a quantity of time the user performs activities on the website and a frequency with which the user accesses the website;

ranking the plurality of websites and the one or more additional websites according to the quantity of time the user performs activities on each website and the frequency with which the user accesses each website of the plurality of websites; and

selecting the subset of the plurality of content items based on the rankings of the plurality of websites and the one or more additional websites.

8. The method of claim 7 , wherein ranking comprises, for each of the plurality of websites, weighting the quantity of time the user performs activities on the website based on a first weight and weighting the frequency with which the user accesses the website based on a second weight.

9. The method of claim 1 , further comprising:

identifying one or more additional users connected to the user via a social networking platform; and

identifying a second plurality of content items published within a second plurality of websites accessed by the one or more additional users, wherein the generated feed includes the second plurality of content items.

10. The computer program product of claim 3 , wherein at least one of the subset of the plurality of content items is published within the one or more additional websites.

11. The computer program product of claim 3 , wherein generating the feed comprises:

for each of the plurality of websites, determine a quantity of time the user performs activities on the website and a frequency with which the user accesses the website;

ranking the plurality of websites and the one or more additional websites according to the quantity of time the user performs activities on each website and the frequency with which the user accesses each website of the plurality of websites; and

selecting the subset of the plurality of content items based on the rankings of the plurality of websites and the one or more additional websites.

12. The computer program product of claim 11 , wherein ranking comprises, for each of the plurality of websites, weighting the quantity of time the user performs activities on the website based on a first weight and weighting the frequency with which the user accesses the website based on a second weight.

13. The computer program product of claim 3 , further comprising computer program code for:

identifying one or more additional users connected to the user via a social networking platform; and

identifying a second plurality of content items published within a second plurality of websites accessed by the one or more additional users, wherein the generated feed includes the second plurality of content items.

14. The method of claim 5 , wherein at least one of the subset of the plurality of content items is published within the one or more additional websites.

15. The method of claim 5 , wherein generating the feed comprises:

for each of the plurality of websites, determine a quantity of time the user performs activities on the website and a frequency with which the user accesses the website;

ranking the plurality of websites and the one or more additional websites according to the quantity of time the user performs activities on each website and the frequency with which the user accesses each website of the plurality of websites; and

selecting the subset of the plurality of content items based on the rankings of the plurality of websites and the one or more additional websites.

16. The method of claim 15 , wherein ranking comprises, for each of the plurality of websites, weighting the quantity of time the user performs activities on the website based on a first weight and weighting the frequency with which the user accesses the website based on a second weight.

17. The method of claim 5 , further comprising:

identifying one or more additional users connected to the user via a social networking platform; and

identifying a second plurality of content items published within a second plurality of websites accessed by the one or more additional users, wherein the generated feed includes the second plurality of content items.

18. The method of claim 5 , wherein the first website is associated with a result of a search term provided by the user executed on the search engine.

19. The method of claim 1 , wherein the first website is associated with a result of a search term provided by the user executed on the search engine.

20. The non-transitory computer program product of claim 3 , wherein the first website is associated with a result of a search term provided by the user executed on the search engine.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
MERGER Recorded Oct 2, 2013
From: ROCKMELT, INC.
To: YAHOO! INC.
Reel/Frame 031328/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2010
From: HOWES, TIMOTHY; VISHRIA, ERIC
To: ROCKMELT, INC.
Reel/Frame 024053/0725 →
Continuity (1)
Related Publication 20110225197A1 · Sep 15, 2011