P
US9729616B2ActiveUtilityPatentIndex 84

Reputation-based strategy for forwarding and responding to interests over a content centric network

Assignee: CISCO TECH INCPriority: Jul 18, 2014Filed: Jul 18, 2014Granted: Aug 8, 2017
Est. expiryJul 18, 2034(~8 yrs left)· nominal 20-yr term from priority
Inventors:MAHADEVAN PRIYASCOTT GLENN C
H04L 45/306G06F 16/285G06F 16/955H04L 45/748H04L 67/10H04L 65/403H04L 67/327H04L 67/2842G06F 17/30876G06F 17/30598H04L 67/568H04L 67/63H04L 67/60
84
PatentIndex Score
8
Cited by
780
References
26
Claims

Abstract

A CCN network node use reputation values for one or more interfaces to determine how to forward an Interest. During operation, the network node can receive an Interest or Content Object via a network interface, determines one or more candidate outbound faces for forwarding the Interest by performing a longest-prefix-matching lookup in a forwarding information base (FIB) using the Interest's name or name prefix as input. A respective FIB entry maps a name prefix to a forwarding rule that includes a corresponding outbound face for the name prefix. The node can determine a reputation value for each of the candidate outbound faces based on reputation information stored in association with the Interest's name or name prefix, and selects a candidate outbound face with a reputation value exceeding a first predetermined threshold. The node can then forward the received Interest via the selected outbound face.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-executable method for reputation-based forwarding and caching, the method comprising:
 determining, by a computing device, one or more candidate outbound faces for forwarding an interest by looking up the interest's name or name prefix in a forwarding information base (FIB), wherein a respective FIB entry maps a name prefix to a forwarding rule that includes a corresponding outbound face for the name prefix, and wherein the name or name prefix is a hierarchically structured variable-length identifier (HSVLI); 
 determining a reputation value for each of the candidate outbound faces based on reputation information stored in association with the interest's name or name prefix; 
 selecting a candidate outbound face with a reputation value exceeding a first predetermined threshold; 
 forwarding the interest via the selected candidate outbound face; 
 receiving, via the selected candidate outbound face, a content object associated with the name or name prefix; 
 determining the reputation value for the selected candidate outbound face through which the content object is received; and 
 responsive to determining that the reputation value for the selected candidate outbound face through which the content object is received exceeds a second predetermined threshold, caching the content object in a content store that stores cached content objects. 
 
     
     
       2. The method of  claim 1 , wherein the reputation information includes at least one of:
 a reputation value; 
 a set of attribute values; and 
 a set of attribute weights. 
 
     
     
       3. The method of  claim 1 , wherein determining the reputation value involves performing one or more of:
 obtaining the reputation value from the reputation information; 
 computing the reputation value based on one or more of the attribute values and attribute weights from the reputation information; and 
 computing the reputation value from one or more of the attribute values of the reputation information and custom attribute weights for the one or more attribute values. 
 
     
     
       4. The method of  claim 1 , further comprising:
 receiving, via one or more faces, one or more content objects associated with a common name or name prefix; 
 determining, for each of the one or more content objects, reputation information for a respective face, or for the name or name prefix of the content object received via the respective face; 
 determining whether to cache a respective content object based on the corresponding reputation information; and 
 responsive to determining to cache the respective content object, caching the content object with the corresponding reputation information in a content store. 
 
     
     
       5. The method of  claim 1 , further comprising:
 forwarding the interest via multiple outbound faces; 
 waiting for a predetermined period of time to receive one or more content objects via any of the multiple outbound faces, wherein each of the one or more content objects is associated with reputation information; 
 selecting, from the one or more content objects, a second content object with a highest reputation value; 
 responsive to determining that the second content object's reputation value is higher than a reputation value of a cached content object: 
 caching the second content object; and 
 returning the second content object via a face from which the interest was received. 
 
     
     
       6. The method of  claim 1 , further comprising:
 receiving a second interest from a first ingress face; 
 performing a lookup in a content store to retrieve a cached content object that satisfies the second interest, wherein the content store stores the cached content object along with corresponding reputation information; and 
 responsive to determining, from the cached content object's reputation information, that the cached content object's reputation value exceeds a predetermined threshold, returning the cached content object to the requesting node. 
 
     
     
       7. The method of  claim 1 , further comprising:
 assigning an attribute value to one or more attributes for a second candidate outbound face; 
 assigning a weight value to each of the one or more attributes; 
 computing a reputation value for the second candidate outbound face for the name prefix based on the assigned attribute value and the assigned weight value; and 
 storing reputation information, which includes the computed reputation value, attribute values, and weight values, in association with the second candidate outbound face and/or the name prefix. 
 
     
     
       8. The method of  claim 1 , further comprising:
 computing one or more attribute values for a respective candidate outbound face based on the name prefix; 
 normalizing a respective attribute value based on a highest expected value for the attribute; 
 determining a weight for the respective attribute value; and 
 computing the reputation value for the outbound face and name prefix as a weighted sum of the one or more attribute values. 
 
     
     
       9. The method of  claim 1 , further comprising:
 receiving a first interest from a first ingress face, and a second interest from a second ingress face; 
 determining that the second ingress face is associated with a higher priority than the first ingress face; 
 forwarding the first interest via a first egress face; and 
 forwarding the second interest via a second egress face with a reputation value that is higher than that of the first egress face. 
 
     
     
       10. The method of  claim 1 , further comprising:
 determining, for a name prefix classification, a set of name prefixes associated with the name prefix classification; 
 generating reputation information for the name prefix classification based on profiling information associated with the set of name prefixes; and 
 associating the reputation information with the name prefix classification. 
 
     
     
       11. The method of  claim 1 , wherein determining the reputation value for each of the candidate outbound faces further comprises determining a success rate for verifying signatures of content objects arriving via a respective candidate outbound face. 
     
     
       12. A non-transitory computer-readable storage medium storing instructions which when executed by a computer cause the computer to perform a method, the method comprising:
 determining one or more candidate outbound faces for forwarding an interest by looking up the interest's name or name prefix in a forwarding information base (FIB), wherein a respective FIB entry maps a name prefix to a forwarding rule that includes a corresponding outbound face for the name prefix, and wherein the name or name prefix is a hierarchically structured variable-length identifier (HSVLI; 
 determining a reputation value for each of the candidate outbound faces based on reputation information stored in association with the interest's name or name prefix; 
 selecting a candidate outbound face with a reputation value exceeding a first predetermined threshold; 
 forwarding the interest via the selected candidate outbound face; 
 receiving, via the selected candidate outbound face, a content object associated with the name or name prefix; 
 determining the reputation value for the selected candidate outbound face through which the content object is received; and 
 responsive to determining that the reputation value for the selected candidate outbound face through which the content object is received exceeds a second predetermined threshold, caching the content object in a content store that stores cached content objects. 
 
     
     
       13. The storage medium of  claim 12 , wherein the method further comprises:
 receiving, via one or more faces, one or more content objects associated with a name or name prefix; 
 determining, for each of the one or more content objects, reputation information for a respective face, or for the name or name prefix of the content object received via the respective face; 
 determining whether to cache a respective content object based on the corresponding reputation information; and 
 responsive to determining to cache the respective content object, caching the content object with the corresponding reputation information in a content store. 
 
     
     
       14. The storage medium of  claim 12 , wherein the method further comprises:
 forwarding the interest via multiple outbound faces; 
 waiting for a predetermined period of time to receive one or more content objects via any of the multiple outbound faces, wherein each of the one or more content objects is associated with reputation information; 
 selecting, from the one or more content objects, a second content object with a highest reputation value; 
 responsive to determining that the second content object's reputation value is higher than a reputation value of a cached content object: 
 caching the second content object; and 
 returning the second content object via a face from which the interest was received. 
 
     
     
       15. The storage medium of  claim 12 , wherein the method further comprises:
 receiving a second interest from a first ingress face; 
 performing a lookup in a content store to retrieve a cached content object that satisfies the second interest, wherein the content store stores the cached content object along with corresponding reputation information; and 
 responsive to determining, from the cached content object's reputation information, that the cached content object's reputation value exceeds a predetermined threshold, returning the cached content object to the requesting node. 
 
     
     
       16. The storage medium of  claim 12 , wherein the method further comprises:
 assigning an attribute value to one or more attributes for a second candidate outbound face; 
 assigning a weight value to each of the one or more attributes; 
 computing a reputation value for the second candidate outbound face for the name prefix based on the assigned attribute value and the assigned weight value; and 
 storing reputation information, which includes the reputation values, attribute values, and weight values, in association with the candidate outbound face and/or the name prefix. 
 
     
     
       17. The storage medium of  claim 12 , wherein the method further comprises:
 computing one or more attribute values for a respective candidate outbound face based on the name prefix; 
 normalizing a respective attribute value based on a highest expected value for the attribute; 
 determining a weight for the respective attribute value; and 
 computing the reputation value for the outbound face and name prefix as a weighted sum of the one or more attribute values. 
 
     
     
       18. The storage medium of  claim 12 , wherein the method further comprises:
 receiving a first interest from a first ingress face, and a second interest from a second ingress face; 
 determining that the second ingress face is associated with a higher priority than the first ingress face; 
 forwarding the first interest via a first egress face; and 
 forwarding the second interest via a second egress face with a reputation value that is higher than that of the first egress face. 
 
     
     
       19. The storage medium of  claim 12 , wherein the method further comprises:
 determining, for a name prefix classification, a set of name prefixes associated with the name prefix classification; 
 generating reputation information for the name prefix classification based on profiling information associated with the set of name prefixes; and 
 associating the reputation information with the name prefix classification. 
 
     
     
       20. A computing system comprising:
 one or more processors; 
 a memory; and 
 a non-transitory computer-readable medium coupled to the one or more processors storing instructions stored that, when executed by the one or more processors, cause the computing system to perform a method comprising: 
 determining one or more candidate outbound faces for forwarding an interest by looking up the interest's name or name prefix in a forwarding information base (FIB), wherein a respective FIB entry maps a name prefix to a forwarding rule that includes a corresponding outbound face for the name prefix, and wherein the name or name prefix is a hierarchically structured variable-length identifier (HSVLI); 
 determining a reputation value for each of the candidate outbound faces based on reputation information stored in association with the interest's name or name prefix; 
 selecting a candidate outbound face with a reputation value exceeding a first predetermined threshold; 
 forwarding the interest via the selected candidate outbound face; 
 receiving, via the selected candidate outbound face, a content object associated with the name or name prefix; 
 determining the reputation value for the selected candidate outbound face through which the content object is received; and 
 responsive to determining that the reputation value for the selected candidate outbound face through which the content object is received exceeds a second predetermined threshold, caching the content object in a content store that stores cached content objects. 
 
     
     
       21. The computing system of  claim 20 , wherein the method further comprises:
 forwarding the interest via multiple outbound faces; 
 waiting for a predetermined period of time to receive one or more content objects via any of the multiple outbound faces, wherein each of the one or more content objects is associated with reputation information; 
 selecting, from the one or more content objects, a second content object with a highest reputation value; 
 responsive to determining that the second content object's reputation value is higher than a reputation value of a cached content object: 
 caching the second content object; and 
 returning the second content object via a face from which the interest was received. 
 
     
     
       22. The computing system of  claim 20 , wherein the method further comprises:
 receiving a second interest from a first ingress face; 
 performing a lookup in a content store to retrieve a cached content object that satisfies the second interest, wherein the content store stores the cached content object along with corresponding reputation information; and 
 responsive to determining, from the cached content object's reputation information, that the cached content object's reputation value exceeds a predetermined threshold, returning the cached content object to the requesting node. 
 
     
     
       23. The computing system of  claim 20 , wherein the method further comprises:
 assigning an attribute value to one or more attributes for a second candidate outbound face; 
 assigning a weight value to each of the one or more attributes; 
 computing a reputation value for the second candidate outbound face for the name prefix based on the assigned attribute value and the assigned weight value; and 
 storing reputation information, which includes the reputation values, attribute values, and weight values, in association with the candidate outbound face and/or the name prefix. 
 
     
     
       24. The computing system of  claim 20 , wherein the method further comprises:
 computing one or more attribute values for a respective candidate outbound face based on the name prefix; 
 normalizing a respective attribute value based on a highest expected value for the attribute; 
 determining a weight for the respective attribute value; and 
 computing the reputation value for the outbound face and name prefix as a weighted sum of the one or more attribute values. 
 
     
     
       25. The computing system of  claim 20 , wherein the method further comprises:
 receiving a first interest from a first ingress face, and a second interest from a second ingress face; 
 determining that the second ingress face is associated with a higher priority than the first ingress face; 
 forwarding the first interest via a first egress face; and 
 forwarding the second interest via a second egress face with a reputation value that is higher than that of the first egress face. 
 
     
     
       26. The computing system of  claim 20 , wherein the method further comprises:
 determining, for a name prefix classification, a set of name prefixes associated with the name prefix classification; 
 generating reputation information for the name prefix classification based on profiling information associated with the set of name prefixes; and 
 associating the reputation information with the name prefix classification.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.