# US 2013/0159274 A1 · User Behavior-Driven Background Cache Refreshing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159274 A1
- Document ID: US20130159274A1
- Status: Published application
- Kind: A1
- Application number: 13/332,340
- Filed: 2011-12-20
- Published: 2013-06-20
- Earliest claimed: 2011-12-20
- Assignees: Yahoo! Inc.
- Inventors: Adam Silberstein; Ashwin Machanavajjhala
- Web page: https://patentgrep.com/patent/US20130159274A1

## CPC

- G06F 16/9574: {of access to content, e.g. by caching}
- G06Q 10/10: Office automation; Time management
- H04L 67/53: using third party service providers
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 67/567: Integrating service provisioning from a plurality of service providers
- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and system for providing social feeds from a plurality of third party sites to a user at a host site includes retrieving one or more access logs capturing online behavior of the user. The access logs are analyzed to determine the user's interactive behavioral pattern related to social feeds from each of the plurality of third party sites. A refresh schedule for the user is computed to refresh cache entries of social feeds at the host site based on the analysis of the user's online behavior at the social feeds. Cache entries of social feeds for the user are refreshed at the host site from the one or more of the plurality of third party sites at an allotted time specified by the refresh schedule.

## Claims

### Claim 1

A method for providing social feeds from a plurality of third party sites to a user at a host site, comprising:
retrieving one or more access logs of the user, the access logs capturing the user's online behavior;
analyzing information related to social feeds from the plurality of third party sites within the access logs of the user;
computing a refresh schedule for the user to refresh cache entries of social feeds at the host site based on the analysis, the refresh schedule predicting a likelihood of receiving a subsequent request from the user for one or more of the social feeds from the plurality of third party sites; and
refreshing cache entries of social feeds from the one or more of the plurality of third party sites at the host site for the user, at an allotted time specified in the refresh schedule so as to maintain current social feeds for the user upon receiving the user's subsequent request for the one or more social feeds.

### Claim 2 (depends on 1)

The method of claim 1, wherein analyzing further includes,
determining the user's online behavior from the access logs to identify interactive behavioral pattern of the user related to social feeds from each of the plurality of third party sites.

### Claim 3 (depends on 2)

The method of claim 2, wherein computing a refresh schedule further includes,
generating a signature for the user, the signature encoding access history of the user based on the online behavior of the user in relation to each of the social feeds from the access logs, the signature defining refresh granularity desired for scheduling refresh of the cache entries of each of the social feeds for the user.

### Claim 4 (depends on 3)

The method of claim 3, wherein the signature generated for refreshing the cache entries reflects different refresh schedule for refreshing social feeds from different third party sites.

### Claim 5 (depends on 3)

The method of claim 3, wherein computing a refresh schedule further includes,
parsing the signature of the user to determine the desired refresh schedule;
creating an execute bucket for the allotted time; and
adding an entry of the refresh schedule of the user in to the execute bucket for the allotted time, the execute bucket including entries of refresh schedules of a plurality of users with the refresh schedule matching the refresh schedule of the user.

### Claim 6 (depends on 4)

The method of claim 4, wherein refreshing the cache entries further includes,
prioritizing the refresh schedule entries within the execute bucket based on the online behavior of the respective users; and
refreshing the cache entries of the users in the execute bucket in an order reflected by the prioritized refresh schedule entries.

### Claim 7 (depends on 5)

The method of claim 5, wherein refreshing the cache entries further includes,
when the refreshing is unable to complete all refresh schedules within the execute bucket at the allotted time,
moving the one or more refresh schedule entries left behind in the execute bucket to a second execute bucket that is scheduled for executing refresh at a subsequent time slot following the allotted time, wherein the one or more refresh schedule entries discarded are of lower priority.

### Claim 8 (depends on 5)

The method of claim 5, wherein refreshing the cache entries further includes,
discarding one or more refresh schedule entries left behind in the execute bucket when the refreshing is unable to complete all refresh schedules within the execute bucket at the allotted time, wherein the one or more refresh schedule entries discarded are of lower priority.

### Claim 9 (depends on 5)

The method of claim 5, wherein refreshing the cache entries further includes,
presenting the social feeds from the cache entries to the user upon request; and
refreshing the cache entries of the social feeds of the user in the background upon presentation of the social feeds.

### Claim 10 (depends on 1)

The method of claim 1, further includes,
continuing to monitor the user's online behavior to one or more of the social feeds using the access logs; and
refining the refresh schedule for the user based on the continued monitoring of the user's online behavior.

### Claim 11 (depends on 1)

The method of claim 1, wherein the refresh schedule of the user is adjusted based on constraints of the one or more third party sites.

### Claim 12 (depends on 1)

The method of claim 1, wherein analyzing further includes,
determining one or more attributes of the user from information provided in the access logs, the one or more attributes;
classifying the user into a logical category associated with a plurality of users based on a match of the one or more attributes of the user with one or more attributes of the plurality of users.

### Claim 13 (depends on 12)

The method of claim 12, wherein computing a refresh schedule for the user further includes,
assigning a refresh schedule related to the logical category of the plurality of users whose attributes match the attributes of the user.

### Claim 14

A method for providing social feeds from a plurality of third party sites to a user at a host site, comprising:
detecting the user's online activity related to the social feeds provided for the user at the host site, the online activity identifying the interactive behavioral pattern of the user in relation to the social feeds from the plurality of third party sites;
generating a refresh schedule for the user to refresh cache entries of social feeds at the host site based on the user's online activity, wherein the refresh schedule spans multiple refresh cycles, the refresh schedule predicting a likelihood of receiving a subsequent request from the user for one or more of the social feeds from the plurality of third party sites, the refresh schedule capturing refresh requirements for each of the plurality of third party sites; and
refreshing the cache entries of social feeds for the user at the host site from the one or more of the plurality of third party sites at an allotted time specified in the refresh schedule so as to maintain fresh social feeds for the user prior to receiving the user's request for the social feed.

### Claim 15 (depends on 14)

The method of claim 14, further includes,
monitoring the user's online activity with relation to each of the social feeds; and
when the online activity of the user in relation to one or more of the social feeds changes,
refining the refresh schedule of the one or more social feeds for the user to accommodate a change in the interaction by the user at the one or more of the social feeds.

### Claim 16 (depends on 15)

The method of claim 15, wherein when the online activity of the user in relation to one or more of the social feeds remains unchanged,
updating the refresh schedule of the one or more social feeds to include additional refresh cycles based on an analysis of the corresponding one or more social feeds, the analysis determining presence of updates to the corresponding one or more social feeds for the user.

### Claim 17

A system for providing social feeds from a plurality of third party sites to a user at a host site, comprising:
a server equipped with a search engine and a refresh algorithm, the search engine configured to query one or more third party sites and receive one or more social feeds from the one or more third party sites;
the refresh algorithm includes a schedule builder and a schedule executor, the schedule builder configured to,
retrieve one or more access logs of the user, wherein the access logs capture the user's online behavior;
analyze the information within the access logs of the user related to the social feeds from the plurality of third party sites;
compute a refresh schedule for the user to refresh cache entries of social feeds at the host site based on the analysis, the refresh schedule predicting a likelihood of receiving a subsequent request from the user for one or more of the social feeds from the one or more of the plurality of third party sites; and
the schedule executor configured to refresh the cache entries of social feeds for the user at the host site from the one or more of the plurality of third party sites at an allotted time specified in the refresh schedule so as to maintain fresh social feeds for the user prior to receiving the user's subsequent request for the social feed.

### Claim 18 (depends on 17)

The system of claim 17, further includes memory configured to:
a. store signatures of a plurality of users, wherein the signature generated by the schedule builder encodes access history of the user in relation to the social feeds;
b. store a plurality of execute buckets generated by the schedule builder to run at a specific allotted time, wherein each of the execute buckets including entries associated with the refresh schedule of a plurality of users; and
c. third party site cache to store cache entries for the social feeds for the user received from one or more of the third party sites.

### Claim 19 (depends on 17)

The system of claim 17, wherein the schedule builder includes predictor logic to analyze the online activity of the plurality of users and predict when each of the plurality of users will generate a subsequent request for the social feeds from one or more of the third party sites, the schedule builder is further configured to generate priority metadata for each user based on the online activity of the user in relation to the social feeds.

### Claim 20 (depends on 17)

The system of claim 17, wherein the schedule executor includes a timer module to keep track of time for refreshing cache entries of social feeds for the user.
