IP Library Granted Patent US 7,409,433
Granted Patent B2
US 7,409,433 · App. 11/379,985 · Granted Aug 5, 2008

Method and system for community data caching

Assignee: Parallel Networks, LLC
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 7,409,433
App. No.
11/379,985
Granted
Aug 5, 2008
Kind
B2
Abstract

A cache module ( 26 ) at a client computer ( 12 ) controls a cache portion ( 28 ) on a storage device ( 24 ). The cache module communicates with other cache modules at other clients to form a cache community ( 15 ). The cache modules store World Wide Web or other content in the cache portions for retrieval in response to requests ( 32 ) for content from browsers ( 30 ) in the cache community. When the requested content is not available in the cache community, the requested content may be retrieved from an origin server ( 19 ) using the Internet.

Claims (63)

1. A method for establishing a community cache, comprising:

initiating a particular cache module;

generating a cache status message at the particular cache module, the cache status message operable to indicate that the particular cache module desires to establish a cache community;

broadcasting the cache status message to other cache modules;

negotiating distribution of content among all of the cache modules;

updating location tables at each cache module according to the negotiated distribution;

caching content according to the negotiated distribution.

2. The method of claim 1 , further comprising:

accumulating data associated with requests for content;

renegotiating distribution of content in response to the accumulated data.

3. The method of claim 1 , further comprising:

receiving a deactivation indication from the particular one of the cache modules;

renegotiating distribution of content in response to the deactivation indication.

4. The method of claim 1 , further comprising:

receiving a cache status message from a new cache module desiring to join the cache community;

renegotiating distribution of content in response to the new cache module desiring to join the cache community.

5. The method of claim 1 , further comprising:

negotiating one or more layers of content distribution.

6. The method of claim 5 , wherein a particular one of the layers of content distribution takes into account a failure of the particular cache module.

7. The method of claim 1 , further comprising:

determining whether particular content is to be cached in the cache community.

8. The method of claim 1 , further comprising:

assigning the particular one of the plurality of caches as the master of the cache community, the master operable to control entering and exiting of the cache community by cache modules.

9. The method of claim 1 , further comprising:

identifying a cache community that provides a best fit criteria for the particular one of the plurality of caches.

10. The method of claim 9 , further comprising:

identifying a cache community that provides a next best fit criteria in response to the cache community with the best fir criteria not accepting the particular one of the plurality of cache modules.

11. A system for establishing a community cache, comprising:

means for initiating a particular cache module;

means for generating a cache status message at the particular cache module, the cache status message operable to indicate that the particular cache module desires to establish a cache community;

means for broadcasting the cache status message to other cache modules;

means for negotiating distribution of content among all of the cache modules;

means for updating location tables at each cache module according to the negotiated distribution;

means for caching content according to the negotiated distribution.

12. The system of claim 11 , further comprising:

means for accumulating data associated with requests for content;

means for renegotiating distribution of content in response to the accumulated data.

13. The system of claim 11 , further comprising:

means for receiving a deactivation indication from the particular one of the cache modules;

means for renegotiating distribution of content in response to the deactivation indication.

14. The system of claim 11 , further comprising:

means for receiving a cache status message from a new cache module desiring to join the cache community;

means for renegotiating distribution of content in response to the new cache module desiring to join the cache community.

15. The method of claim 11 , further comprising:

means for negotiating one or more layers of content distribution.

16. A computer readable medium including code for establishing a community cache, the code operable to:

initiate a particular cache module;

generate a cache status message at the particular cache module, the cache status message operable to indicate that the particular cache module desires to establish a cache community;

broadcast the cache status message to other cache modules;

negotiate distribution of content among all of the cache modules;

update location tables at each cache module according to the negotiated distribution;

cache content according to the negotiated distribution.

17. The computer readable medium of claim 1 , wherein the code is further operable to:

accumulate data associated with requests for content;

renegotiate distribution of content in response to the accumulated data.

18. The computer readable medium of claim 16 , wherein the code is further operable to:

receive a deactivation indication from the particular one of the cache modules;

renegotiate distribution of content in response to the deactivation indication.

19. The computer readable medium of claim 16 , wherein the code is further operable to:

receive a cache status message from a new cache module desiring to join the cache community;

renegotiate distribution of content in response to the new cache module desiring to join the cache community.

20. The computer readable medium of claim 16 , wherein the code is further operable to:

negotiate one or more layers of content distribution.

Assignments (6)
COURT ORDER Recorded Apr 22, 2021
From: PARALLEL NETWORKS LICENSING, LLC
To: MICROSOFT CORPORATION
Reel/Frame 056027/0120 →
MERGER Recorded Sep 26, 2007
From: EPICREALM LICENSING, LLC
To: EPICREALM LICENSING, LP
Reel/Frame 019886/0728 →
NUNC PRO TUNC ASSIGNMENT Recorded Sep 26, 2007
From: EPICREALM LICENSING, LP
To: PARALLEL NETWORKS, LLC
Reel/Frame 019886/0769 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2006
From: LOWERY, KEITH A.; CHIN, BRYAN S.; CONSOLVER, DAVID A.; DEMASTERS, GREGG A.
To: EPICREALM INC.
Reel/Frame 017518/0172 →
CHANGE OF NAME Recorded Apr 24, 2006
From: EPICREALM INC.
To: EPICREALM OPERATING INC.
Reel/Frame 017518/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2006
From: EPICREALM OPERATING INC.
To: EPICREALM LICENSING LLC
Reel/Frame 017518/0193 →
Continuity (2)
Continuation 0975939200 · Jan 12, 2001
Related Publication 20060190607A1 · Aug 24, 2006