IP Library Granted Patent US 9,633,354
Granted Patent B2
US 9,633,354 · App. 12/913,724 · Granted Apr 25, 2017

User feed data delivery

Inventors: Timothy Howes (Los Altos, CA); Eric Vishria (San Carlos, CA)
Assignee: Yahoo! Inc.
G06Q30/01
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 9,633,354
App. No.
12/913,724
Granted
Apr 25, 2017
Kind
B2
Abstract

A system for delivering user specific data comprises a web browser, an application server, and a content server. The browser receives an identification associated with a user profile and transmits a login message to the application server. The application server receives the login message, determines the profile associated with the login message and the feeds or searches associated with the determined profile. Next, the application server queries the content server for data associated with the profile's feeds and searches. The application server determines from the retrieved data the data that has not been previously transmitted to the browser in connection with the profile. The application server then transmits the determined data to the browser and the browser communicates the data to a user associated with the profile.

Claims (73)

1. A computer-implemented method, comprising:

accessing a profile associated with a browser used to access feed content, wherein the profile identifies a plurality of feeds to which the profile has subscribed;

determining that one or more feeds from the plurality of feeds contain one or more feed items that have not been delivered in connection with the profile;

transmitting the one or more feed items to the browser associated with the profile;

comparing an amount of data in the one or more feed items to a threshold amount;

adjusting a wait period based upon a result of comparing the amount of data in the one or more feed items to the threshold amount;

retrieving data associated with at least one of the plurality of feeds from at least one data source, wherein retrieving the data includes polling the data source after the wait period;

classifying the data into two categories, the two categories including ordered data and disordered data, wherein the ordered data includes an order characteristic and the disordered data does not include the order characteristic of the ordered data;

determining from the data one or more additional feed items that have not previously been transmitted to the browser associated with the profile, wherein determining from the data one or more additional feed items that have not previously been transmitted to the browser associated with the profile includes:

for the data classified as disordered data, comparing hash values corresponding to the disordered data with hash values corresponding to previously delivered data that has been delivered to the browser associated with the profile; and

for the data classified as ordered data, determining whether the ordered data has previously been delivered to the browser associated with the profile based, at least in part, on the order characteristic; and

transmitting, to the browser associated with the profile, the one or more additional feed items that have not previously been transmitted to the browser associated with the profile.

2. The computer-implemented method of claim 1 , wherein the transmission of the one or more feed items and the additional feed item are separated by at least the adjusted wait period.

3. A computer-implemented method for delivering undelivered content for one or more profiles, the method comprising:

determining a feed associated with a browser used to access feed content, the browser being associated with one of the profiles;

determining one or more data items associated with the feed, the one or more data items not previously delivered to the browser;

transmitting the one or more data items to the browser;

retrieving data associated with the feed from a data source;

classifying the data into two categories, the two categories including ordered data and disordered data, each item of the ordered data having a particular order characteristic and each item of the disordered data not having the particular order characteristic of the ordered data;

for each of the additional data items classified as disordered data, determine whether the additional data item has previously been transmitted to the browser by comparing a hash value corresponding to the additional item classified as disordered data with hash values corresponding to previously delivered data that has been delivered to the browser associated with the profile;

for each of the additional data items classified as ordered data, determining whether the additional data item has previously been delivered to the browser associated with the profile based, at least in part, on a value of the order characteristic; and

transmitting, to the browser, the one or more additional data items that have not previously been delivered to the browser associated with the one of the profiles.

4. The computer-implemented method of claim 3 , wherein the undelivered one or more data items are determined based, at least in part, on content of the undelivered one or more data items.

5. The computer-implemented method of claim 3 , wherein the undelivered one or more data items are determined based, at least in part, on a unique identifier assigned to the undelivered one or more data items.

6. The computer-implemented method of claim 3 , the method further comprising:

adjusting a wait period by a processor based, at least in part, on an amount of data in the one or more feed items, wherein retrieving data includes polling the data source after the wait period.

7. A computer program product for delivering undelivered content for one or more profiles, the computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:

determining feeds associated with a browser used to access feed content, the browser being associated with one of the profiles;

determining one or more undelivered data items associated with the feeds, the undelivered data items not previously delivered to the browser;

retrieving data associated with the feeds from at least one data source;

classifying the data into two categories, the two categories including ordered data and disordered data, each item of the ordered data having a particular order characteristic and each item of the disordered data not having the particular order characteristic of the ordered data;

for each of the additional data items classified as disordered data, determine whether the additional data item has previously been transmitted to the browser by comparing a hash value corresponding to the additional data item of disordered data with hash values corresponding to previously delivered data that has been delivered to the browser associated with the profile;

for each of the additional data items classified as ordered data, determining whether the additional data item has previously been delivered to the browser associated with the profile based, at least in part, on a value of the order characteristic; and

transmitting, to the browser, the one or more additional data items that have not previously been delivered to the browser.

8. The computer program product of claim 7 , wherein the undelivered data items are determined based, at least in part, on a timestamp associated with the undelivered data items.

9. The computer program product of claim 7 , wherein the undelivered data items are determined based, at least in part, on content of the undelivered data items.

10. An apparatus, comprising:

at least one processor; and

a memory, at least one of the processor or the memory being configured to:

determine a feed associated with a browser used to access feed content;

determine one or more data items associated with the feed, the one or more data items not previously delivered to the browser;

transmit the one or more data items to the browser;

retrieve data associated with the feed from a data source;

classify the data into two categories, the two categories including ordered data and disordered data, each item of the ordered data having a particular order characteristic and each item of the disordered data not having the particular order characteristic of the ordered data;

for each of the additional data items classified as disordered data, determine whether the additional data item has previously been transmitted to the browser by comparing a hash value corresponding to the additional item of the disordered data with hash values corresponding to previously delivered data that has been delivered to the browser associated with the profile;

for the each of the additional data items classified as ordered data, determine whether the additional data item has previously been delivered to the browser associated with the profile based, at least in part, on a value of the order characteristic; and

transmit, to the browser, the one or more additional data items that have not previously been delivered to the browser.

11. The apparatus of claim 10 , at least one of the processor or the memory being further configured to:

increase a wait period upon determining that an amount of data in the one or more data items is less than a particular threshold amount;

wherein retrieving data includes polling the data source after the wait period.

12. The apparatus of claim 10 , at least one of the processor or the memory being further configured to:

decrease a wait period upon determining that an amount of data in the one or more data items is greater than a particular threshold amount;

wherein retrieving data includes polling the data source after the wait period.

13. The method of claim 1 , wherein the order characteristic is a timestamp or sequence number.

14. The method of claim 1 , wherein the order characteristic of the ordered data indicates an order in which ordered data items were created or published.

15. The apparatus of claim 10 , wherein the order characteristic is a timestamp or sequence number.

16. The apparatus of claim 10 , wherein the order characteristic of the ordered data indicates an order in which ordered data items were created or published.

17. The computer program product of claim 7 , wherein the order characteristic is a timestamp or sequence number.

18. The computer program product of claim 7 , wherein the order characteristic of the ordered data indicates an order in which ordered data items were created or published.

19. The method of claim 1 , wherein the order characteristic comprises a timestamp, and wherein determining whether the ordered data has previously been delivered to the browser associated with the profile includes comparing the timestamp associated with the latest delivered data and the timestamp associated with the retrieved data.

20. The method of claim 1 , wherein retrieving data comprises transmitting the order characteristic to the at least one data source.

21. The apparatus of claim 10 , at least one of the processor or the memory being further configured to:

comparing an amount of data in the one or more data items to a threshold amount; and

adjusting a wait period based upon a result of comparing the amount of data in the one or more data items to the threshold amount;

wherein retrieving the data includes polling the data source after the wait period.

22. The computer program product of claim 7 , further comprising:

comparing an amount of data in the one or more undelivered data items to a threshold amount; and

adjusting a wait period based upon a result of comparing the amount of data in the one or more undelivered data items to the threshold amount;

wherein retrieving the data includes polling the data source after the wait period.

23. The method of claim 3 , wherein classifying the data into two categories comprises classifying a data item according to whether the data item comprises a value for the particular order characteristic.

24. The method of claim 3 , wherein the hash values corresponding to the disordered data comprises hash values of content of the disordered data and the hash values corresponding to the previously delivered data comprises hash values of content of the previously delivered data.

25. The method of claim 3 , wherein determining whether the ordered data has previously been delivered to the browser associated with the profile based, at least in part, on the order characteristic comprises:

determining whether a value of the order characteristic of the ordered data is greater than the value of the order characteristic of latest delivered data for the browser.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2021
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 055283/0483 →
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 →
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 Oct 28, 2010
From: HOWES, TIMOTHY; VISHRIA, ERIC
To: ROCKMELT, INC.
Reel/Frame 025214/0569 →
Continuity (1)
Related Publication 20120109922A1 · May 3, 2012