System and method for facilitating routing
A system and method are provided for routing content requests. On a given server network, content requests comprising a character string may be routed up a hierarchical network topology until a linear chain, corresponding to the character string, is identified. Thus, the content request is forwarded up the hierarchy until an intersecting server network is reached. Then the content request is forwarded down the hierarchy until, along a published linear chain corresponding to the character string, until a content source is reached. Content is provided to the requestor along a reverse path of the content request.
1 . A regional server for routing content requests, the regional server included in a present server network of a plurality of server networks of a present hierarchical level, the present hierarchical level being one of a plurality of hierarchical levels of a region-based hierarchical network, the regional server comprising:
one or more processors; and
one or more memory resources storing instructions that, when executed by the one or more processors, cause the regional server to:
receive a plurality of content requests for a target content from a plurality of end users;
determine whether a linear chain corresponding to the target content intersects with the present server network, the present server network representing a specified geographic region;
based on determining that the linear chain corresponding to the targeted content does not intersect with the present server network, pool the plurality of content requests into a single content request for the targeted content; and
forward the single content request to a next hierarchical level of the region-based hierarchical network, the next hierarchical level comprising a number of higher-tiered servers and representing a larger geographic region encompassing the specified geographic region.
2 . The regional server of claim 1 , wherein the instructions further cause the regional server to parse a character string included in each of the plurality of content requests to determine linear chain data corresponding to the target content.
3 . The regional server of claim 2 , wherein determining whether the linear chain intersects with the present server network comprises comparing the linear chain data to entries of a linear publication table maintained by the regional server.
4 . The regional server of claim 1 , wherein the instructions further cause the regional server to maintain a pending interest table that logs the plurality of content requests until the target content is received.
5 . The regional server of claim 4 , wherein pooling the plurality of content requests comprises appending entries corresponding to the plurality of content requests to a single entry in the pending interest table associated with the target content.
6 . The regional server of claim 1 , wherein the instructions further cause the regional server to determine whether the target content is stored in a local content cache prior to forwarding the single content request.
7 . The regional server of claim 6 , wherein the instructions further cause the regional server to provide the target content to the plurality of end users from the local content cache when the target content is stored therein without forwarding the single content request.
8 . The regional server of claim 1 , wherein the instructions further cause the regional server to transmit the received target content along reverse paths corresponding to the plurality of content requests to respective ones of the plurality of end users.
9 . The regional server of claim 1 , wherein the instructions further cause the regional server to utilize a forwarding table that maps name prefixes of the target content to one or more network interfaces for forwarding the single content request.
10 . The regional server of claim 1 , wherein the instructions further cause the regional server to isolate a plurality of redundant or malicious requests at a lowest hierarchical level by pooling the plurality of content requests into the single content request.
11 . The regional server of claim 1 , wherein the instructions further cause the regional server to receive the plurality of content requests via a lower-tier interface coupled to a lower hierarchical level of the region-based hierarchical network.
12 . The regional server of claim 11 , wherein the instructions further cause the regional server to forward the single content request via a higher-tier interface coupled to the next hierarchical level.
13 . The regional server of claim 1 , wherein the linear chain corresponds to a linear publication of names associated with the target content through the plurality of hierarchical levels of the region-based hierarchical network.
14 . The regional server of claim 1 , wherein the instructions further cause the regional server to determine, based on the linear chain, a single intersecting node at each hierarchical level for routing the single content request.
15 . The regional server of claim 1 , wherein the instructions further cause the regional server to cache the target content for a predetermined time period after receipt from the next hierarchical level.
16 . The regional server of claim 15 , wherein the predetermined time period is dynamically adjusted based on a frequency of subsequent requests for the target content.
17 . The regional server of claim 1 , wherein the instructions further cause the regional server to determine whether the target content is accessible within another server of the present server network prior to forwarding the single content request to the next hierarchical level.
18 . The regional server of claim 17 , wherein the instructions further cause the regional server to route the plurality of content requests horizontally within the present server network when the target content is accessible within the present server network.
19 . The regional server of claim 1 , wherein the plurality of hierarchical levels form a fractal-like topology in which each higher hierarchical level represents a progressively larger geographic region.
20 . The regional server of claim 1 , wherein the instructions further cause the regional server to process a content request comprising a command to update data associated with the target content and to receive an acknowledgment corresponding to the update via the region-based hierarchical network.