IP Library Granted Patent US 8,843,608
Granted Patent B2
US 8,843,608 · App. 13/240,469 · Granted Sep 23, 2014

Methods and systems for caching popular network content

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,843,608
App. No.
13/240,469
Granted
Sep 23, 2014
Kind
B2
Abstract

In one embodiment, downloading one or more content items; determining which ones of the one or more content items are popular among a plurality of users; categorizing the one or more content items into one or more groups, wherein each group comprises one or more related content items; associating one or more keywords with each group, wherein the one or more keywords describe content of the one or more related content items in the corresponding group; and caching the one or more content items categorized into the one or more groups and the one or more keywords associated with each group.

Claims (134)

1. A method comprising:

downloading, at one or more first computing devices, one or more content items;

determining, at the one or more first computing devices, a specific time period over which to measure popularity;

determining, at the one or more first computing devices, which ones of the one or more content items are popular among a plurality of users during the specific time period;

categorizing, at the one or more first computing devices, the one or more content items into one or more groups, wherein each group comprises one or more related content items;

associating, at the one or more first computing devices, one or more keywords with each group, wherein the one or more keywords describe content of the one or more related content items in the corresponding group; and

caching, at the one or more first computing devices, the one or more content items categorized into the one or more groups and the one or more keywords associated with each group.

2. The method of claim 1 , further comprising filtering the one or more content items to delete any unsafe or undesirable content item.

3. The method of claim 1 , wherein determining which ones of the one or more content items are popular among the plurality of users comprises determining a popularity rank for each of the one or more content items.

4. The method of claim 1 , further comprising sending at least one of the one or more content items that is popular among the plurality of users to one or more second computing devices to be cached by the one or more second computing devices.

5. The method of claim 4 , wherein:

the one or more first computing devices are located in a first time zone;

the one or more second computing devices are located in a second time zone; and

the second time zone is behind the first time zone.

6. The method of claim 1 , further comprising:

receiving a search query from a third computing device associated with a user;

determining whether any group matches the search query by comparing the one or more keywords associated with each group with the search query; and

if a group matches the search query, then sending at least one content item in the group to the third computing device to be presented to the user in response to the search query.

7. The method of claim 1 , further comprising:

receiving an indication that a user is using a third computing device to access a content item supplied by a fourth computing device; and

if the content item is not downloaded from the fourth computing device to the third computing device within a predefined time period and one of the one or more cached content items is the same as the content item supplied by the fourth computing device, then sending the one cached content item to the third computing device.

8. The method of claim 1 , further comprising:

receiving an indication that a user is using a third computing device to access a content item supplied by a fourth computing device; and

if the content item is not downloaded from the fourth computing device to the third computing device within a predefined time period and at least one of the one or more cached content items is related to the content item supplied by the fourth computing device, then sending a suggestion to the third computing device suggesting the at least one cached content item to the user.

9. The method of claim 1 , further comprising:

receiving a request for a web page from a third computing device associated with a user;

selecting at least one of the one or more content items;

incorporating the at least one content item in the web page; and

sending the web page to the third computing device to be presented to the user.

10. The method of claim 1 , further comprising:

receiving an indication that a user is using a third computing device to view a content item;

selecting from the one or more content items at least one content item that is related to the content item being viewed by the user; and

sending a suggestion to the third computing device suggesting the at least one content item to the user.

11. The method of claim 10 , wherein the at least one content item and the content item being viewed by the user belong to the same group.

12. The method of claim 10 , wherein the at least one content item is selected based in part on the third computing device.

13. The method of claim 12 , wherein selecting the at least one content item based in part on the third computing device comprises:

determining a network connection of the third computing device;

determining one or more hardware components of the third computing device; and

selecting the at least one content item, wherein each of the at least one content item has a format that is suitable for the network connection of the third computing device and the one or more hardware components of the third computing device.

14. The method of claim 1 , further comprising:

analyzing content items provided by one or more fourth computing devices;

predicting one or more potentially popular content items among the content items provided by the one or more fourth computing devices;

downloading the one or more potentially popular content items from the one or more fourth computing devices; and

caching the one or more potentially popular content items.

15. A first system comprising:

a memory comprising instructions executable by one or more processors; and

the one or more processors coupled to the memory and operable to execute the instructions, the one or more processors being operable when executing the instructions to:

download one or more content items;

determine a specific time period over which to measure popularity;

determine which ones of the one or more content items are popular among a plurality of users during the specific time period;

categorize the one or more content items into one or more groups, wherein each group comprises one or more related content items;

associate one or more keywords with each group, wherein the one or more keywords describe content of the one or more related content items in the corresponding group; and

cache the one or more content items categorized into the one or more groups and the one or more keywords associated with each group.

16. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to filter the one or more content items to delete any unsafe or undesirable content item.

17. The first system of claim 15 , wherein determining which ones of the one or more content items are popular among the plurality of users comprises determine a popularity rank for each of the one or more content items.

18. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to send at least one of the one or more content items that is popular among the plurality of users to one or more second systems to be cached by the one or more second systems.

19. The first system of claim 18 , wherein:

the first system is located in a first time zone;

the one or more second systems are located in a second time zone; and

the second time zone is behind the first time zone.

20. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

receive a search query from a third system associated with a user;

determine whether any group matches the search query by comparing the one or more keywords associated with each group with the search query; and

if a group matches the search query, then send at least one content item in the group to the third system to be presented to the user in response to the search query.

21. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

receive an indication that a user is using a third system to access a content item supplied by a fourth system; and

if the content item is not downloaded from the fourth system to the third system within a predefined time period and one of the one or more cached content items is the same as the content item supplied by the fourth system, then send the one cached content item to the third system.

22. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

receive an indication that a user is using a third system to access a content item supplied by a fourth system; and

if the content item is not downloaded from the fourth system to the third system within a predefined time period and at least one of the one or more cached content items is related to the content item supplied by the fourth system, then send a suggestion to the third system suggesting the at least one cached content item to the user.

23. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

receive a request for a web page from a third system associated with a user;

select at least one of the one or more content items;

incorporate the at least one content item in the web page; and

send the web page to the third system to be presented to the user.

24. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

receive an indication that a user is using a third system to view a content item;

select from the one or more content items at least one content item that is related to the content item being viewed by the user; and

send a suggestion to the third system suggesting the at least one content item to the user.

25. The first system of claim 24 , wherein the at least one content item and the content item being viewed by the user belong to the same group.

26. The first system of claim 24 , wherein the at least one content item is selected based in part on the third system.

27. The first system of claim 26 , wherein selecting the at least one content item based in part on the third computing device comprises:

determine a network connection of the third system;

determine one or more hardware components of the third system; and

select the at least one content item, wherein each of the at least one content item has a format that is suitable for the network connection of the third system and the one or more hardware components of the third system.

28. The first system of claim 15 , wherein the one or more processors are further operable when executing the instructions to:

analyze content items provided by one or more fourth system;

predict one or more potentially popular content items among the content items provided by the one or more fourth system;

download the one or more potentially popular content items from the one or more fourth system; and

cache the one or more potentially popular content items.

29. One or more computer-readable non-transitory storage media embodying software operable when executed by one or more first computer systems to:

download one or more content items;

determine a specific time period over which to measure popularity;

determine which ones of the one or more content items are popular among a plurality of users during the specific time period;

categorize the one or more content items into one or more groups, wherein each group comprises one or more related content items;

associate one or more keywords with each group, wherein the one or more keywords describe content of the one or more related content items in the corresponding group; and

cache the one or more content items categorized into the one or more groups and the one or more keywords associated with each group.

30. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to filter the one or more content items to delete any unsafe or undesirable content item.

31. The media of claim 29 , wherein determining which ones of the one or more content items are popular among the plurality of users comprises determine a popularity rank for each of the one or more content items.

32. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to send at least one of the one or more content items that is popular among the plurality of users to one or more second computer systems to be cached by the one or more second computer systems.

33. The media of claim 32 , wherein:

the one or more first computer systems are located in a first time zone;

the one or more second computer systems are located in a second time zone; and

the second time zone is behind the first time zone.

34. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

receive a search query from a third computer system associated with a user;

determine whether any group matches the search query by comparing the one or more keywords associated with each group with the search query; and

if a group matches the search query, then send at least one content item in the group to the third computer system to be presented to the user in response to the search query.

35. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

receive an indication that a user is using a third computer system to access a content item supplied by a fourth computer system; and

if the content item is not downloaded from the fourth computer system to the third computer system within a predefined time period and one of the one or more cached content items is the same as the content item supplied by the fourth computer system, then send the one cached content item to the third computer system.

36. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

receive an indication that a user is using a third computer system to access a content item supplied by a fourth computer system; and

if the content item is not downloaded from the fourth computer system to the third computer system within a predefined time period and at least one of the one or more cached content items is related to the content item supplied by the fourth computer system, then send a suggestion to the third computer system suggesting the at least one cached content item to the user.

37. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

receive a request for a web page from a third computer system associated with a user;

select at least one of the one or more content items;

incorporate the at least one content item in the web page; and

send the web page to the third computer system to be presented to the user.

38. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

receive an indication that a user is using a third computer system to view a content item;

select from the one or more content items at least one content item that is related to the content item being viewed by the user; and

send a suggestion to the third computer system suggesting the at least one content item to the user.

39. The media of claim 38 , wherein the at least one content item and the content item being viewed by the user belong to the same group.

40. The media of claim 38 , wherein the at least one content item is selected based in part on the third computer system.

41. The media of claim 40 , wherein selecting the at least one content item based in part on the third computing device comprises:

determine a network connection of the third computer system;

determine one or more hardware components of the third computer system; and

select the at least one content item, wherein each of the at least one content item has a format that is suitable for the network connection of the third computer system and the one or more hardware components of the third computer system.

42. The media of claim 29 , wherein the software is further operable when executed by the one or more first computer systems to:

analyze content items provided by one or more fourth computer system;

predict one or more potentially popular content items among the content items provided by the one or more fourth computer system;

download the one or more potentially popular content items from the one or more fourth computer system; and

cache the one or more potentially popular content items.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2011
From: LI, QING; FREDERICK, RONALD ANDREW
To: BLUE COAT SYSTEMS INC.
Reel/Frame 026950/0285 →