IP Library Granted Patent US 8,886,742
Granted Patent B2
US 8,886,742 · App. 13/360,551 · Granted Nov 11, 2014

Content delivery network with deep caching infrastructure

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,886,742
App. No.
13/360,551
Granted
Nov 11, 2014
Kind
B2
Abstract

Embodiments herein include methods and systems for use in delivering resources to a client device over a local network. An exemplary system comprises a plurality of caching devices operable to cache resources on behalf of a plurality of content providers, and a local caching device communicatively situated between an access network and the client device, wherein the access network is communicably situated between the plurality of caching devices and the local caching device. The local caching device is operable to retrieve a requested resource from at least one of the plurality of caching devices, deliver the requested resource to the client device over the local network, and store the requested resource for future requests by other client devices.

Claims (65)

1. A system for use in delivering resources to client devices in a local network, the system comprising:

a plurality of caching devices operable to cache resources on behalf of a plurality of content providers, wherein the plurality of caching devices comprise at least one processor operable to execute instructions stored in memory; and

a community of local caching devices communicatively situated between an access network and the client devices, wherein the access network is communicably situated between the plurality of caching devices and the community of local caching devices, wherein the community of local caching devices is communicatively coupled via a residential wireless cloud, wherein each local caching device in the community of local caching devices comprises at least one processor operable to execute instructions stored in memory, and wherein at least one local caching device in the community of local caching devices is operable to:

in response to a request for a resource by a client device, retrieve the requested resource from at least one of the plurality of caching devices, wherein the requested resource is transmitted between the at least one of the plurality of caching devices and the at least one local caching device over the access network;

deliver the requested resource to the client device over the local network;

store the requested resource for future requests by other client devices; and

share the requested resource with at least one other local caching in the community of local caching devices via the residential wireless cloud, wherein the requested resource is shared with the at least one other local caching device in response to another request for the resource by at least one other client device.

2. A system as recited in claim 1 , wherein at least one of the plurality of caching devices is part of a cluster of caching devices.

3. A system as recited in claim 1 , wherein, in response to the at least one local caching device requesting the requested resource from the at least one of the plurality of caching devices, the at least one of the plurality of caching devices is operable to retrieve the requested resource from at least one of:

an origin server of the content provider associated with the requested resource; and

a peer caching device.

4. A system as recited in claim 1 , wherein each local caching device in the community of local caching devices is dedicated to a respective client device.

5. A system as recited in claim 1 , wherein a local caching device is designated as a master cache within the community of local caching devices.

6. A system as recited in claim 5 , wherein the community of local caching devices is communicatively coupled via at least one of a shared wireless frequency and a shared powerline.

7. A system as recited in claim 5 , wherein a local caching device that is not in the community of local caching devices is prompted to opt-in to join the community of local caching devices.

8. A system as recited in claim 1 , further comprising a proxy device operable to intercept a request for the requested resource.

9. A system as recited in claim 8 , wherein the request is a Domain Name System (DNS) request, the proxy device further operable to redirect the client device to the at least one local caching device for delivery of the requested resource over the local network.

10. A system as recited in claim 8 , wherein the request is an application protocol request, the proxy device further operable to redirect the client device to the at least one local caching device for delivery of the requested resource over the local network.

11. A system as recited in claim 10 , wherein the application protocol request is a Hyper Text Transfer Protocol (HTTP) request.

12. A system as recited in claim 8 , wherein the proxy device is distinct from the local caching devices in the community of local caching devices.

13. A system as recited in claim 12 , wherein, in response to intercepting the request for the requested resource, the proxy device is operable to redirect the client device to a second local caching device in the community of local caching devices, the second local caching device operable to:

in response to the redirected request by the client device, retrieve the requested resource from at least one of the plurality of caching devices, wherein the requested resource is transmitted between the at least one plurality of caching devices and the second local caching device over the access network;

deliver the requested resource to the client device over the local network; and

store the requested resource for future requests by other client devices.

14. A system as recited in claim 8 , wherein the proxy device is further operable to determine, based on certain criteria, which local caching devices in the community of local caching devices to redirect the client device for delivery of the requested resource.

15. A system as recited in claim 14 , wherein the certain criteria comprises at least one of availability, relative load, relative connectivity, availability, and whether a given local caching device has a copy of the requested resource.

16. A system as recited in claim 14 , wherein the proxy device is operable to receive the certain criteria via a push from the plurality of caching devices.

17. A system as recited in claim 14 , wherein the proxy device is operable to pull the certain criteria from the plurality of caching devices.

18. A system as recited in claim 14 , wherein the certain criteria is locally generated at the proxy device.

19. A system as recited in claim 18 , wherein the certain criteria is based on a request history at the proxy device.

20. A system as recited in claim 1 , wherein the local network comprises the residential wireless cloud.

21. A computer-implemented method for use in delivering resources to client devices in a local network, the method comprising:

by a plurality of caching devices comprising at least one processor operable to execute instructions stored in memory, caching resources on behalf of a plurality of content providers; and

by a local caching device comprising at least one processor operable to execute instructions stored in memory:

in response to a request for a resource by a client device, retrieving the requested resource from at least one of the plurality of caching devices, wherein the requested resource is transmitted between the at least one of the plurality of caching devices and the local caching device over an access network, wherein the local caching device is in a community of local caching devices communicatively situated between the access network and the client devices, wherein the access network is communicably situated between the plurality of caching devices and the community of local caching devices, and wherein the community of local caching devices is communicatively coupled via a residential wireless cloud,

delivering the requested resource to the client device over the local network;

storing the requested resource for future requests by other client devices; and

sharing the requested resource with at least one other local caching in the community of local caching devices via the residential wireless cloud, wherein the requested resource is shared with the at least one other local caching device in response to another request for the resource by at least one other client device.

22. A computer-implemented method as recited in claim 21 , wherein at least one of the plurality of caching devices is part of a cluster of caching devices.

23. A computer-implemented method as recited in claim 21 , wherein, in response to the local caching device requesting the requested resource from the at least one of the plurality of caching devices, retrieving, by the at least one of the plurality of caching devices, the requested resource from at least one of an origin server of the content provider associated with the requested resource and a peer caching device.

24. A computer-implemented method as recited in claim 21 , further comprising:

by a proxy device, intercepting a request for the requested resource.

25. A computer-implemented method as recited in claim 24 , wherein the request is a Domain Name System (DNS) request, the method further comprising:

by the proxy device, redirecting the client device to the local caching device for delivery of the requested resource over the local network.

26. A computer-implemented system as recited in claim 8 , wherein the request is an application protocol request, the method further comprising:

by the proxy device, redirecting the client device to the local caching device for delivery of the requested resource over the local network.

27. A computer-implemented system as recited in claim 26 , wherein the application protocol request is a Hyper Text Transfer Protocol (HTTP) request.

28. A computer-implemented method as recited in claim 24 , wherein the proxy device is distinct from the local caching devices in the community of local caching devices.

29. A computer-implemented method as recited in claim 24 , further comprising:

by the proxy device, in response to intercepting the request for the requested resource, redirecting the client device to a second local caching device in the community of local caching devices; and

by the second local caching device:

in response to the redirected request by the client device, retrieving the requested resource from at least one of the plurality of caching devices, wherein the requested resource is transmitted between the at least one plurality of caching devices and the second local caching device over the access network;

delivering the requested resource to the client device over the local network; and

storing the requested resource for future requests by other client devices.

30. A computer-implemented method as recited in claim 24 , further comprising:

by the proxy device, determining, based on certain criteria, which local caching devices in the community of local caching devices to redirect the client device for delivery of the requested resource.

31. A computer-implemented method as recited in claim 30 , wherein the certain criteria comprises at least one of availability, relative load, relative connectivity, availability, and whether a given local caching device has a copy of the requested resource.

32. A computer-implemented method as recited in claim 31 , further comprising:

by the proxy device, receiving the certain criteria via a push from the plurality of caching devices.

33. A computer-implemented method as recited in claim 31 , further comprising:

by the proxy device, pulling the certain criteria from the plurality of caching devices.

34. A computer-implemented method as recited in claim 31 , further comprising:

by the proxy device, locally generating the certain criteria.

35. A computer-implemented method as recited in claim 34 , wherein the certain criteria is based on a request history at the proxy device.

36. A computer-implemented method as recited in claim 21 , wherein the local network comprises the residential wireless cloud.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2024
From: LEVEL 3 COMMUNICATIONS, LLC
To: SANDPIPER CDN, LLC
Reel/Frame 068256/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2012
From: CROWE, JAMES Q.; WATERS, JOHN F.; DUGAN, ANDREW; NEWTON, CHRISTOPHER; LIPSTONE, LAURENCE; BROOKMAN, KEN; LAWRENCE, JOSEPH; SWART, ANDREW; FULLAGAR, DAVID; PAUL, KEVIN
To: LEVEL 3 COMMUNICATIONS, LLC
Reel/Frame 028133/0869 →