System and method for on-demand content exchange with adaptive naming in information-centric networks
First Claim
1. A computer-executable method for content exchange in an information-centric network (ICN), the method comprising:
- receiving, by a first node in the ICN, an interest for content from a second node, wherein the interest indicates a name of the content and an incoming identifier assigned to the interest by the second node, wherein the incoming identifier is a concatenation of a predecessor token that indicates a previous-hop neighbor to the second node, a forwarding token, and an anchor token that indicates a destination node that advertises the content, and the forwarding token is assigned by the second node and is unique to a combination of the previous-hop neighbor to the second node, the first node, and the destination node, and wherein the received interest further indicates a hop count from the second node to the destination node that advertises the content;
determining, based on routing information stored on the first node and the hop count, whether a distance-based forwarding condition is met to determine whether the first node is closer to the destination node than the second node from which the interest was received, wherein in response to the distance-based forwarding condition not being met, dropping the interest and sending a control message back to the second node indicating that an interest loop is detected, and in response to the distance-based forwarding condition being met;
determining whether a matching entry is found in an identifier table stored on the first node that corresponds to the incoming identifier, wherein in response to the matching entry being found in the identifier table, the matching entry indicates a next-hop neighbor and an outgoing identifier, and in response to no matching entry corresponding to the incoming identifier being found in the identifier table;
identifying a next-hop neighbor based on the routing information stored on the first node; and
creating an entry in the identifier table for the received interest, wherein creating the entry comprises generating an outgoing identifier, and the generated outgoing identifier indicates an outgoing forwarding token that is assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and the destination node that advertises the content;
updating the interest by replacing the incoming identifier with the outgoing identifier, wherein the outgoing identifier includes an outgoing predecessor token, an outgoing forwarding token, and an outgoing anchor token, the outgoing predecessor token is a same as the forwarding token assigned by the second node, and the outgoing forwarding token is assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and the destination node indicated by the outgoing anchor token;
forwarding the updated interest to the next-hop neighbor;
receiving, by the first node, a content object in response to the interest, wherein the content object includes a content identifier, wherein the content identifier includes, at least in part, the outgoing forwarding token assigned by the first node;
identifying a second matching entry in the identifier table stored on the first node that corresponds to the content identifier wherein the second matching entry indicates the second node and an identifier associated with the second node, wherein the identifier associated with the second node that is stored on the first node includes, at least in part, the forwarding token assigned by the second node;
updating the content object by replacing the content identifier with the previously received incoming identifier associated with the second node; and
forwarding the updated content object to the second node.
3 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system for content exchange in an information-centric network (ICN). During operation, a first node in the ICN receives an interest for a piece of content from a second node. The interest indicates a name of the piece of content and an incoming identifier assigned to the interest by the second node. The system identifies a matching entry in an identifier table stored on the first node that corresponds to the incoming identifier. The matching entry indicates a next-hop neighbor and an outgoing identifier. The system then updates the interest by replacing the incoming identifier with the outgoing identifier, and forwards the updated interest to the next-hop neighbor.
-
Citations
20 Claims
-
1. A computer-executable method for content exchange in an information-centric network (ICN), the method comprising:
-
receiving, by a first node in the ICN, an interest for content from a second node, wherein the interest indicates a name of the content and an incoming identifier assigned to the interest by the second node, wherein the incoming identifier is a concatenation of a predecessor token that indicates a previous-hop neighbor to the second node, a forwarding token, and an anchor token that indicates a destination node that advertises the content, and the forwarding token is assigned by the second node and is unique to a combination of the previous-hop neighbor to the second node, the first node, and the destination node, and wherein the received interest further indicates a hop count from the second node to the destination node that advertises the content; determining, based on routing information stored on the first node and the hop count, whether a distance-based forwarding condition is met to determine whether the first node is closer to the destination node than the second node from which the interest was received, wherein in response to the distance-based forwarding condition not being met, dropping the interest and sending a control message back to the second node indicating that an interest loop is detected, and in response to the distance-based forwarding condition being met; determining whether a matching entry is found in an identifier table stored on the first node that corresponds to the incoming identifier, wherein in response to the matching entry being found in the identifier table, the matching entry indicates a next-hop neighbor and an outgoing identifier, and in response to no matching entry corresponding to the incoming identifier being found in the identifier table; identifying a next-hop neighbor based on the routing information stored on the first node; and creating an entry in the identifier table for the received interest, wherein creating the entry comprises generating an outgoing identifier, and the generated outgoing identifier indicates an outgoing forwarding token that is assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and the destination node that advertises the content; updating the interest by replacing the incoming identifier with the outgoing identifier, wherein the outgoing identifier includes an outgoing predecessor token, an outgoing forwarding token, and an outgoing anchor token, the outgoing predecessor token is a same as the forwarding token assigned by the second node, and the outgoing forwarding token is assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and the destination node indicated by the outgoing anchor token; forwarding the updated interest to the next-hop neighbor; receiving, by the first node, a content object in response to the interest, wherein the content object includes a content identifier, wherein the content identifier includes, at least in part, the outgoing forwarding token assigned by the first node; identifying a second matching entry in the identifier table stored on the first node that corresponds to the content identifier wherein the second matching entry indicates the second node and an identifier associated with the second node, wherein the identifier associated with the second node that is stored on the first node includes, at least in part, the forwarding token assigned by the second node; updating the content object by replacing the content identifier with the previously received incoming identifier associated with the second node; and forwarding the updated content object to the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory, computer-readable storage medium storing instructions that, when executed by a computing device, cause the computing device to perform a method for content exchange in an information-centric network (ICN), the method comprising:
-
receiving, by the computing device in the ICN, an interest for content from a node, wherein the interest indicates a name of the content and an incoming identifier assigned to the interest by the node, wherein the incoming identifier is a concatenation of a predecessor token that indicates a previous-hop neighbor to the node, a forwarding token, and an anchor token that indicates a destination node that advertises the content, and the forwarding token is assigned by the node and is unique to a combination of the previous-hop neighbor to the node, the computing device, and the destination node, and wherein the received interest further indicates a hop count from the node to the destination node that advertises the content; determining, based on routing information stored on the computing device and the hop count, whether a distance-based forwarding condition is met to determine whether the computing device is closer to the destination node than the node from which the interest was received, wherein in response to the distance-based forwarding condition not being met, dropping the interest and sending a control message back to the node indicating that an interest loop is detected, and in response to the distance-based forwarding condition being met; determining whether a matching entry is found in an identifier table stored on the computing device that corresponds to the incoming identifier, wherein in response to the matching entry being found in the identifier table, the matching entry indicates a next-hop neighbor and an outgoing identifier, and the outgoing identifier includes an outgoing predecessor token, an outgoing forwarding token, and an outgoing anchor token, the outgoing predecessor token is a same as the forwarding token assigned by the node, and the outgoing forwarding token is assigned by the computing device and is unique to a combination of the node, the next-hop neighbor, and the destination node indicated by the outgoing anchor token, and in response to no matching entry corresponding to the incoming identifier being found in the identifier table; identifying a next-hop neighbor based on routing information stored on the computing device; and creating an entry in the identifier table for the received interest, wherein creating the entry comprises generating an outgoing identifier, and the generated outgoing identifier indicates an outgoing forwarding token that is assigned by the computing device and is unique to a combination of the node, the next-hop neighbor, and the destination node that advertises the content; updating the interest by replacing the incoming identifier with the outgoing identifier; forwarding the updated interest to the next-hop neighbor; receiving, by the computing device, a content object in response to the interest, wherein the content object includes a content identifier, wherein the content identifier includes, at least in part, the outgoing forwarding token assigned by the computing device; identifying a second matching entry in the identifier table stored on the computing device that corresponds to the content identifier, wherein the second matching entry indicates the node and an identifier associated with the node, wherein the identifier associated with the node that is stored on the computing device includes, at least in part, the forwarding token assigned by the node; updating the content object by replacing the content identifier with the previously received incoming identifier associated with the node; and forwarding the updated content object to the node. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for content exchange in an information-centric network (ICN), the system comprising:
-
a memory for storing instructions for an interest-receiving module, an interest-processing module, a forwarding module, and a content-object processing module; a processor for executing the instructions, wherein executing the instructions causes the system to perform operations, comprising; the interest-receiving module is configured to receive, by a first node in the ICN, an interest for content from a second node, wherein the interest indicates a name of the content and an incoming identifier assigned to the interest by the second node, wherein the incoming identifier is a concatenation of a predecessor token that indicates a previous-hop neighbor to the second node, a forwarding token, and an anchor token that indicates a destination node that advertises the content, and the forwarding token is assigned by the second node and is unique to a combination of the previous-hop neighbor to the second node, the first node, and the destination node, and wherein the received interest further indicates a hop count from the second node to the destination node that advertises the content; the interest-processing module is configured to determine, based on routing information stored on the first node and the hop count, whether a distance-based forwarding condition is met to determine whether the first node is closer to the destination node than the second node from which the interest was received, wherein in response to the distance-based forwarding condition not being met, drop the interest and send a control message back to the second node indicating that an interest loop is detected, and in response to the distance-based forwarding condition being met; determine whether a matching entry is found in an identifier table stored on the first node that corresponds to the incoming identifier, wherein in response to the matching entry being found, the matching entry indicates a next-hop neighbor and an outgoing identifier, and in response to no matching entry corresponding to the incoming identifier being found in the identifier table; identify a next-hop neighbor based on the routing information stored on the first node; and create an entry in the identifier table for the received interest, wherein creating the entry comprises generating an outgoing identifier, and the generated outgoing identifier indicates an outgoing forwarding token that is assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and the destination node that advertises the content; and update the interest by replacing the incoming identifier with the outgoing identifier, wherein the outgoing identifier includes an outgoing predecessor token, an outgoing forwarding token, and an outgoing anchor token, the outgoing predecessor token is a same as the forwarding token assigned by the second node, and the outgoing forwarding token assigned by the first node and is unique to a combination of the second node, the next-hop neighbor, and a destination node indicated by the outgoing anchor token; the forwarding module is configured to forward the updated interest to the next-hop neighbor; and the content-object processing module is configured to receive, by the first node, a content object in response to the interest, wherein the content object includes a content identifier, wherein the content identifier includes, at least in part, the outgoing forwarding token assigned by the first node; identify a second matching entry in the identifier table stored on the first node that corresponds to the content identifier, wherein the second matching entry indicates the second node and an identifier associated with the second node, wherein the identifier associated with the second node that is stored on the first node includes, at least in part, the forwarding token assigned by the second node; and update the content object by replacing the content identifier with the previously received incoming identifier associated with the second node, wherein the forwarding module is configured to forward the updated content object to the second node. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification