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 already 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 already been received from the predecessor node, adding (214, 216) information associated with the predecessor node to the entry, wherein the intermediate node aggregates the the first interest by adding (214, 216) predecessor information to the corresponding pending interest table entry but does not forward the first interest message; determining a predecessor lifetime associated with the entry, wherein the predecessor lifetime is a lifetime for the interest sent by the predecessor; and determining a maximum lifetime associated with the entry, wherein the maximum lifetime is a maximum of all predecessor lifetimes associated with the entry. 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 already 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 already been received from the predecessor node, adding (214, 216) information associated with the predecessor node to the entry, wherein the intermediate node aggregates the the first interest by adding (214, 216) predecessor information to the corresponding pending interest table entry but does not forward the first interest message; determining a predecessor lifetime associated with the entry, wherein the predecessor lifetime is a lifetime for the interest sent by the predecessor; and determining a maximum lifetime associated with the entry, wherein the maximum lifetime is a maximum of all predecessor lifetimes associated with the entry. responsive to determining that a second interest message which indicates a same content object name as the first interest message has already 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 already been received from the predecessor node, adding (214, 216) information associated with the predecessor node to the entry, wherein the intermediate node aggregates the the first interest by adding (214, 216) predecessor information to the corresponding pending interest table entry but does not forward the first interest message; determining a predecessor lifetime associated with the entry, wherein the predecessor lifetime is a lifetime for the interest sent by the predecessor; and determining a maximum lifetime associated with the entry, wherein the maximum lifetime is a maximum of all predecessor lifetimes associated with the entry.