One embodiment provides a system that facilitates efficient aggregation of multiple interest messages for the same content from multiple predecessors. During operation, an intermediate node receives a first interest message from a predecessor node. The first interest indicates a name for a content object and a lifetime associated with the first interest. The intermediate node identifies an entry in a pending interest table that corresponds to the first interest and determines that the entry has not expired. The intermediate node determines whether a second interest message which indicates a same content object name as the first interest message has been received from the predecessor node. If so, it forwards the first interest. If not, it adds information associated with the predecessor node to the entry. The intermediate node determines a predecessor lifetime associated with the entry and also determines a maximum lifetime associated with the entry.
-
A computer-implemented method for forwarding packets, the method comprising:
receiving, by an intermediate node, a packet from a predecessor node that corresponds to a first interest message, wherein the first interest message indicates a name for a content object and a lifetime associated with the first interest message;
identifying an entry in a pending interest table that corresponds to the first interest message; and
responsive to determining that the entry has not expired:
responsive to determining that a second interest message which indicates a same content object name as the first interest message has been received from the predecessor node, forwarding the first interest message;
responsive to determining that a second interest message which indicates a same content object name as the first interest message has not been received from the predecessor node, adding information associated with the predecessor node to the entry;
determining a predecessor lifetime associated with the entry; and
determining a maximum lifetime associated with the entry.
-
The method of claim 1, wherein the lifetime associated with the first interest message is based on one or more of:
a round trip time; and
a subscription time.
-
The method of claim 1, wherein an entry in the pending interest table indicates one or more of:
a name;
a maximum lifetime; and
predecessor information for one or more predecessor nodes, wherein the predecessor information includes a predecessor identifier and a predecessor lifetime.
-
The method of claim 1, wherein determining that the entry has not expired further comprises:
determining that an expiration of a maximum lifetime of the entry occurs after a current time.
-
The method of claim 1, wherein determining the predecessor lifetime associated with the entry further comprises:
determining a new expiration time based on a current time and the lifetime of the first interest message; and
responsive to determining that the new expiration time occurs after an expiration of the predecessor lifetime, setting the predecessor lifetime associated with the entry to the new expiration time.
-
The method of claim 1, wherein determining the maximum lifetime associated with the entry further comprises:
responsive to determining that an expiration of the predecessor lifetime associated with the entry occurs after an expiration of the maximum lifetime, setting the maximum lifetime associated with the entry to the predecessor lifetime.
-
The method of claim 1, further comprising:
receiving a packet that corresponds to a content object corresponding to a matching entry in the pending interest table;
determining a valid predecessor node based on the matching entry;
forwarding the content object to the valid predecessor node based on the predecessor information;
removing the predecessor information from the matching entry; and
responsive to determining that no predecessor information remains for the matching entry, removing the matching entry from the pending interest table.
-
The method of claim 7, wherein determining the valid predecessor node comprises:
selecting a predecessor node with an expiration of a predecessor lifetime that occurs after a current time.
-
A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving, by an intermediate node, a packet from a predecessor node that corresponds to a first interest message, wherein the first interest message indicates a name for a content object and a lifetime associated with the first interest message;
identifying an entry in a pending interest table that corresponds to the first interest message; and
responsive to determining that the entry has not expired:
responsive to determining that a second interest message which indicates a same content object name as the first interest message has been received from the predecessor node, forwarding the first interest message;
responsive to determining that a second interest message which indicates a same content object name as the first interest message has not been received from the predecessor node, adding information associated with the predecessor node to the entry;
determining a predecessor lifetime associated with the entry; and
determining a maximum lifetime associated with the entry.
-
The storage medium of claim 9, wherein the lifetime associated with the first interest message is based on one or more of:
a round trip time; and
a subscription time.
-
The storage medium of claim 9, wherein an entry in the pending interest table indicates one or more of:
a name;
a maximum lifetime; and
predecessor information for one or more predecessor nodes, wherein the predecessor information includes a predecessor identifier and a predecessor lifetime.
-
The storage medium of claim 9, wherein determining that the entry has not expired further comprises:
determining that an expiration of a maximum lifetime of the entry occurs after a current time.
-
The storage medium of claim 9, wherein determining the predecessor lifetime associated with the entry further comprises:
determining a new expiration time based on a current time and the lifetime of the first interest message; and
responsive to determining that the new expiration time occurs after an expiration of the predecessor lifetime, setting the predecessor lifetime associated with the entry to the new expiration time.
-
The storage medium of claim 9, wherein determining the maximum lifetime associated with the entry further comprises:
responsive to determining that an expiration of the predecessor lifetime associated with the entry occurs after an expiration of the maximum lifetime, setting the maximum lifetime associated with the entry to the predecessor lifetime.
-
The storage medium of claim 9, wherein the method further comprises:
receiving a packet that corresponds to a content object corresponding to a matching entry in the pending interest table;
determining a valid predecessor node based on the matching entry;
forwarding the content object to the valid predecessor node based on the predecessor information;
removing the predecessor information from the matching entry; and
responsive to determining that no predecessor information remains for the matching entry, removing the matching entry from the pending interest table.
-
The storage medium of claim 15, wherein determining the valid predecessor node comprises:
selecting a predecessor node with an expiration of a predecessor lifetime that occurs after a current time.
-
A computer system for facilitating forwarding of packets, the system comprising:
a processor; and
a storage device storing instructions that when executed by the processor cause the processor to perform a method, the method comprising:
receiving, by an intermediate node, a packet from a predecessor node that corresponds to a first interest message, wherein the first interest message indicates a name for a content object and a lifetime associated with the first interest message;
identifying an entry in a pending interest table that corresponds to the first interest message; and
responsive to determining that the entry has not expired:
responsive to determining that a second interest message which indicates a same content object name as the first interest message has been received from the predecessor node, forwarding the first interest message;
responsive to determining that a second interest message which indicates a same content object name as the first interest message has not been received from the predecessor node, adding information associated with the predecessor node to the entry;
determining a predecessor lifetime associated with the entry; and
determining a maximum lifetime associated with the entry.
-
The computer system of claim 17, wherein the lifetime associated with the first interest message is based on one or more of:
a round trip time; and
a subscription time.
-
The computer system of claim 17, wherein an entry in the pending interest table indicates one or more of:
a name;
a maximum lifetime; and
predecessor information for one or more predecessor nodes, wherein the predecessor information includes a predecessor identifier and a predecessor lifetime.
-
The computer system of claim 17, wherein determining that the entry has not expired further comprises:
determining that an expiration of a maximum lifetime of the entry occurs after a current time.
-
The computer system of claim 17, wherein determining the predecessor lifetime associated with the entry further comprises:
determining a new expiration time based on a current time and the lifetime of the first interest message; and
responsive to determining that the new expiration time occurs after an expiration of the predecessor lifetime, setting the predecessor lifetime associated with the entry to the new expiration time.
-
The computer system of claim 17, wherein determining the maximum lifetime associated with the entry further comprises:
responsive to determining that an expiration of the predecessor lifetime associated with the entry occurs after an expiration of the maximum lifetime, setting the maximum lifetime associated with the entry to the predecessor lifetime.
-
The computer system of claim 17, wherein the method further comprises:
receiving a packet that corresponds to a content object corresponding to a matching entry in the pending interest table;
determining a valid predecessor node based on the matching entry;
forwarding the content object to the valid predecessor node based on the predecessor information;
removing the predecessor information from the matching entry; and
responsive to determining that no predecessor information remains for the matching entry, removing the matching entry from the pending interest table.
-
The computer system of claim 23, wherein determining the valid predecessor node comprises:
selecting a predecessor node with an expiration of a predecessor lifetime that occurs after a current time.
-
Cisco Technology Inc
(Feb 10 2017)
Explore more patents:
-
Cisco Systems Inc
(Jan 10 2017)
Explore more patents:
-
Palo Alto Research Center Incorporated
(Mar 19 2015)
Explore more patents:
-
Palo Alto Res Ct Inc
Explore more patents:
-
H04L51/14
Explore more patents:
-
H04L51/16
Explore more patents:
-
H04L67/2833
Explore more patents:
-
H04L67/327
Explore more patents:
-
H04L69/28
Explore more patents:
-
H04L12/58
Explore more patents:
Document Preview
- Publication: Sep 22, 2016
-
Application:
Mar 18, 2015
US 201514662101 A
-
Priority:
Mar 18, 2015
US 201514662101 A