IP Library Granted Patent US 9,374,304
Granted Patent B2
US 9,374,304 · App. 14/163,669 · Granted Jun 21, 2016

End-to end route tracing over a named-data network

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 9,374,304
App. No.
14/163,669
Granted
Jun 21, 2016
Kind
B2
Abstract

A route-tracing application can measure the performance of a path in a named-data network using trace agents deployed across various network nodes. During operation, a network node can process a route-tracing Interest by performing a lookup operation in a forwarding information base (FIB) using the Interest's name, in which a respective FIB entry may map the name to a forwarding rule. If the FIB does not include an entry for the Interest's route-tracing name, a trace agent at the network node determines one or more outbound interfaces for the route-tracing operation based on the Interest's name, and creates new route-tracing FIB entries that each maps the Interest's name to a forwarding rule for the determined interfaces. The network node returns a Content Object that satisfies the Interest, in which the Content Object includes the names of the new FIB entries, as well as performance information for the path.

Claims (110)

1. A computer-executable method for measuring the performance of a path in a named-data network, the method comprising:

receiving, at a network node, a first Interest generated by a source node that includes a name that corresponds to a route-tracing operation;

determining, by the network node, that a received Interest includes a name that corresponds to a route-tracing operation;

in response to determining that the first Interest includes the name matching the route-tracing operation, determining one or more outbound interfaces for the route-tracing operation based on the first Interest's name;

creating one or more new forwarding information base (FIB) entries for the outbound interfaces, wherein a respective FIB entry maps the first Interest's name to a forwarding rule that includes a corresponding outbound interface;

generating a Content Object that includes at least the names of the new FIB entries and trace information that facilitates path performance measurement;

returning, to the source node, the Content Object;

receiving, at the network node, a second Interest generated by the source node that includes at least one FIB entry name matching a FIB entry name previously returned to the source node from the network node; and

performing a lookup in the FIB table with the FIB entry name in the second Interest to determine a next node for forwarding the second Interest; and

forwarding the second interest to the next node.

2. The method of claim 1 , further comprising determining trace information for the network node, wherein the trace information includes one or more of:

a node identifier;

a timestamp;

a total path transit time;

a transit time to each neighbor;

a name and number of content objects cached under a traced prefix;

average reply times for Interests issued by a node under a namespace;

a set of links to neighboring nodes;

an amount of free space or churn;

congestion information;

power status information;

location information; and

a number of pending Interests for the namespace.

3. The method of claim 1 , further comprising:

responsive to determining that the Interest's name also corresponds to a namespace that is provided by the network node, generating a second Content Object to include at least trace information associated with a second route-tracing operation.

4. The method of claim 1 , wherein determining that the Interest's name is associated with the route-tracing operation involves determining that a component of the Interest's name matches a predetermined name for the route-tracing operation or application.

5. The method of claim 1 , wherein creating the new FIB entry involves:

determining an interface identifier for the outbound interface;

generating a trace name that includes the Interest's name and the interface identifier; and

creating the FIB entry to map the trace name to the forwarding rule that includes the outbound interface.

6. The method of claim 1 , further comprising removing a FIB entry in response to one or more of:

determining that a corresponding timeout period has been reached;

detecting that a corresponding route-tracing operation has completed; and

receiving, from a trace program, a message that includes instructions to remove the FIB entry.

7. The method of claim 1 , wherein the name includes a set of one or more name components, wherein each name component indicates one or more of:

a traceroute application for processing the Interest;

a name for a piece of data for which to perform the route-tracing operation;

an outgoing interface for one or more nodes along a path; and

a forwarding rule to enter into the FIB.

8. The method of claim 1 , further comprising determining whether the Interest's name is associated with a namespace provided by the network node, which involves performing a lookup operation in the FIB using the Interest's name, wherein a respective FIB entry maps a name to a forwarding rule.

9. A non-transitory computer-readable storage medium storing instructions which when executed by a computer cause the computer to perform a method for measuring the performance of a path in a named-data network, the method comprising:

receiving, at a network node, a first Interest generated by a source node that includes a name that corresponds to a route-tracing operation:

determining that a received Interest includes a name that corresponds to a route-tracing operation;

in response to determining that the first interest includes the name matching the route-tracing operation, determining one or more outbound interfaces for the route-tracing operation based on the first Interest's name;

creating one or more new forwarding information base (FIB) entries for the outbound interfaces, wherein a respective FIB entry maps the first Interest's name to a forwarding rule that includes a corresponding outbound interface;

generating a Content Object that includes at least the names of the new FIB entries and trace information that facilitates path performance measurement;

returning, to the source node, the Content Object;

receiving, at the network node, a second Interest generated by the e source node that includes at least one FIB entry name matching a FIB entry name previously returned to the source node from the network node; and

performing a lookup in the FIB table with the FIB entry name in the second Interest to determine a next node for forwarding the second Interest; and

forwarding the second Interest to the next node.

10. The storage medium of claim 9 , wherein the method further comprises determining trace information for the network node, wherein the trace information includes one or more of:

a node identifier;

a timestamp;

a total path transit time;

a transit time to each neighbor;

a name and number of content objects cached under a traced prefix;

average reply times for Interests issued by a node under a namespace;

a set of links to neighboring nodes;

an amount of free space or churn;

congestion information;

power status information;

location information; and

a number of pending Interests for the namespace.

11. The storage medium of claim 9 , wherein the method further comprises:

responsive to determining that the Interest's name also corresponds to a namespace that is provided by the network node, generating a second Content Object to include at least trace information associated with a second route-tracing operation.

12. The storage medium of claim 9 , wherein determining that the Interest's name is associated with the route-tracing operation involves determining that a component of the Interest's name matches a predetermined name for the route-tracing operation or application.

13. The storage medium of claim 9 , wherein creating the new FIB entry involves:

determining an interface identifier for the outbound interface;

generating a trace name that includes the Interest's name and the interface identifier; and

creating the FIB entry to map the trace name to the forwarding rule that includes the outbound interface.

14. The storage medium of claim 9 , wherein the method further comprises removing a FIB entry in response to one or more of:

determining that a corresponding timeout period has been reached;

detecting that a corresponding route-tracing operation has completed; and

receiving, from a trace program, a message that includes instructions to remove the FIB entry.

15. The storage medium of claim 9 , wherein the name includes a set of one or more name components, wherein each name component indicates one or more of:

a traceroute application for processing the Interest;

a name for a piece of data for which to perform the route-tracing operation;

an outgoing interface for one or more nodes along a path; and

a forwarding rule to enter into the FIB.

16. The storage medium of claim 9 , wherein the method further comprises determining whether the Interest's name is associated with a namespace provided by the network node, which involves performing a lookup operation in the FIB using the Interest's name, wherein a respective FIB entry maps a name to a forwarding rule.

17. A computing system for measuring the performance of a path in a named-data network, the 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:

receiving, at a network node, a first Interest generated by a source node that includes a name that corresponds to a route-tracing operation;

determining that a received Interest includes a name that corresponds to a route-tracing operation;

in response to determining that the first Interest includes the name matching the route-tracing operation, determining one or more outbound interfaces for the route-tracing operation based on the first Interest's name;

creating one or more new forwarding information base (FIB) entries for the outbound interfaces, wherein a respective FIB entry maps the first Interest's name to a forwarding rule that includes a corresponding outbound interface;

generating a Content Object that includes at least the names of the new FIB entries and trace information that facilitates path performance measurement;

returning, to the source node. the Content Object;

receiving, at the network node, a second Interest generated by the source node that includes at least one FIB entry name matching a FIB entry name previously returned to the source node from the network node; and

performing a lookup in the FIB table with the FIB entry name in the second Interest to determine a next node for forwarding the second Interest; and

forwarding the second Interest to the next node.

18. The computing system of claim 17 , wherein the method further comprises:

determining trace information for the network node, wherein the trace information includes one or more of:

a node identifier;

a timestamp;

a total path transit time;

a transit time to each neighbor;

a name and number of content objects cached under a traced prefix;

average reply times for Interests issued by a node under a namespace;

a set of links to neighboring nodes;

an amount of free space or churn;

congestion information;

power status information;

location information; and

a number of pending Interests for the namespace.

19. The computing system of claim 17 , wherein the method further comprises:

responsive to determining that the Interest's name also corresponds to a namespace that is provided by the network node, generating a second Content Object to include at least trace information associated with a second route-tracing operation.

20. The computing system of claim 17 , wherein determining that the Interest's name is associated with the route-tracing operation involves determining that a component of the Interest's name matches a predetermined name for the route-tracing operation or application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: CISCO SYSTEMS, INC.
Reel/Frame 041714/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: CISCO SYSTEMS, INC.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041715/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2014
From: SOLIS, IGNACIO; SCOTT, GLENN C.; PLASS, MICHAEL F.; CRABTREE, IAN B.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 032173/0176 →