Distributed content discovery for in-network caching
First Claim
1. A method for deploying cache location services, the method comprising:
- selecting, by a controller, a subset of candidate nodes to provide the cache location services for a content server based on a criteria; and
sending, by the controller, a configuration message to nodes in the subset of candidate nodes, wherein the configuration message instructs the nodes in the subset of candidate nodes to maintain distributed cache location tables for content of the content server, the nodes in the subset of candidate nodes comprising a first node and a second node different from the controller, wherein a first cache location table of the distributed cache location tables maps a first segment of the content to a first set of one or more cache locations, and a second cache location table of the distributed cache location tables maps a second segment of the content to a second set of one or more cache locations, the first segment of the content and the second segment of the content comprising at least one piece of the content, and the first set of one or more cache locations and the second set of one or more cache locations identifying a same content node storing the at least one piece of the content.
2 Assignments
0 Petitions
Accused Products
Abstract
Network caching performance can be improved by allowing users to discover distributed cache locations storing content of a central content server. Specifically, retrieving the content from a distributed cache proximately located to the user, rather than from the central content server, may allow for faster content delivery, while also consuming fewer network resources. Content can be associated with distributed cache locations storing that content by cache location tables, which may be maintained at intermediate network nodes, such as border routers and other devices positioned in-between end-users and central content servers. Upon receiving a query, the intermediate network nodes may determine whether the content requested by the query is associated with a cache location in the cache location table, and if so, provide the user with a query response identifying the associated cache location.
63 Citations
25 Claims
-
1. A method for deploying cache location services, the method comprising:
-
selecting, by a controller, a subset of candidate nodes to provide the cache location services for a content server based on a criteria; and sending, by the controller, a configuration message to nodes in the subset of candidate nodes, wherein the configuration message instructs the nodes in the subset of candidate nodes to maintain distributed cache location tables for content of the content server, the nodes in the subset of candidate nodes comprising a first node and a second node different from the controller, wherein a first cache location table of the distributed cache location tables maps a first segment of the content to a first set of one or more cache locations, and a second cache location table of the distributed cache location tables maps a second segment of the content to a second set of one or more cache locations, the first segment of the content and the second segment of the content comprising at least one piece of the content, and the first set of one or more cache locations and the second set of one or more cache locations identifying a same content node storing the at least one piece of the content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 25)
-
-
11. An apparatus comprising:
-
a processor; and a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to; select a subset of candidate nodes to provide cache location services for a content server based on a criteria; and send a configuration message to nodes in the subset of candidate nodes, wherein the configuration message instructs the nodes in the subset of candidate nodes to maintain distributed cache location tables for content of the content server, the nodes inn the subset of candidate nodes comprising a first node and a second node different from the apparatus, wherein a first cache location table of the distributed cache location tables maps a first segment of the content to a first set of one or more cache locations, and a second cache location table of the distributed cache location tables maps a second segment of the content to a second set of one or more cache locations, the first segment of the content and the second segment of the content comprising at least one piece of the content, and the first set of one or more cache locations and the second set of one or more cache locations identifying a same content node storing the at least one piece of the content.
-
-
12. A method for discovering cached content, the method comprising:
-
receiving, by a first node in a subset of candidate nodes, a query from a requesting device and a stop forwarding condition, the query comprising information requesting caching locations of content reposited in a content server of a network, wherein the first node in the subset of candidate nodes maintains a first cache location table, wherein the first cache location table maps at least a segment of the content to one or more content nodes; forwarding, by the first node in the subset of candidate nodes based on the first cache location table maintained by the first node, the query to at least one of the subset of candidate nodes configured to maintain distributed cache location tables for the content server if the stop forwarding condition is not satisfied, wherein the at least one of the subset of candidate nodes is different than the content server; and stopping, by the first node in the subset of candidate nodes, further query operation if the stop forwarding condition is satisfied. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24)
-
-
23. An apparatus in a subset of candidate nodes, the apparatus comprising:
-
a processor; and a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions to; receive a query from a requesting device, the query requesting caching locations of content reposited in a content server of a network from a requesting device, wherein the apparatus in the subset of candidate nodes maintains a first cache location table, wherein the first cache location table maps at least a segment of the content to one or more content nodes; determine whether the first cache location table identifies a caching location storing the requested content; forward, based on the first cache location table maintained by the apparatus, the query to at least one of the subset of candidate nodes configured to maintain distributed cache location tables for the content server if the first cache location table does not identify at least one cache location storing the requested content, wherein the at least one of the subset of candidate nodes is different than the content server; and send a query response to the requesting device if the first cache location table identifies one or more cache locations storing the requested content, wherein the query response indicates the one or more cache locations storing the requested content.
-
Specification