IP Library Granted Patent US 9,282,050
Granted Patent B2
US 9,282,050 · App. 14/067,857 · Granted Mar 8, 2016

System and method for minimum path MTU discovery in content centric networks

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,282,050
App. No.
14/067,857
Granted
Mar 8, 2016
Kind
B2
Abstract

One embodiment of the present invention provides a system for facilitating fragmentation of packets with hierarchically structured variable-length identifiers (HSVLIs). During operation, the system receives an interest packet with an HSVLI corresponding to a piece of content. The system then identifies a minimum path maximum transmission unit (MTU) value carried in the packet. In response to the piece of content not being stored locally, the system then determines an egress port for the packet based on the HSVLI. The system further determines an MTU associated with the egress port. Subsequently, in response to the MTU associated with the egress port being less than the minimum path MTU value carried in the packet, the system updates the minimum path MTU value in the packet to the MTU value associated with the egress port.

Claims (53)

1. A computer-executable method for facilitating fragmentation of packets with hierarchically structured variable-length identifiers (HSVLIs), the method comprising:

receiving an interest packet with an HSVLI corresponding to a piece of content;

identifying a minimum path maximum transmission unit (MTU) value carried in the interest packet;

in response to the piece of content not being stored locally, determining an egress port for the interest packet based on the HSVLI;

determining an MTU associated with the egress port;

in response to the MTU associated with the egress port being less than the minimum path MTU value carried in the interest packet, updating the minimum path MTU value in the interest packet to the MTU value associated with the egress port; and

in response to determining that an HSVLI of a received content object packet matches the HSVLI of the interest packet, and that a maximum fragment MTU value of the content object packet is less than or equal to the minimum path MTU carried in the interest packet, forwarding the content object packet to a source node associated with the interest packet.

2. The method of claim 1 , further comprising:

in response to the piece of content being stored locally, fragmenting the piece of content into packets whose sizes are smaller than or equal to the minimum path MTU value carried in the interest packet; and

sending the content fragments to a node where the interest packet is generated.

3. The method of claim 2 , further comprising setting in a content fragment a maximum fragment MTU value that is smaller than or equal to the minimum path MTU.

4. The method of claim 1 , further comprising maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, a minimum path MTU associated with the pending interest, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest.

5. The method of claim 1 , further comprising:

receiving the content object packet; and

determining the maximum fragment MTU value of the received content object packet.

6. The method of claim 5 , further comprising updating a fragment bitmap corresponding to the interest packet, wherein a respective bit in the fragment bitmap indicates whether a corresponding fragment of the content associated with the interest packet's HSVLI has been received.

7. The method of claim 1 , wherein the interest packet includes a fragment stream identifier, a maximum fragment MTU, a fragment count, and a fragment number.

8. A system for facilitating fragmentation of packets with hierarchically structured variable-length identifiers (HSVLIs), the system comprising:

a processor; and

a storage device storing instructions which when executed by the processor cause the processor to perform a method, the method comprising:

receiving an interest packet with an HSVLI corresponding to a piece of content;

identifying a minimum path maximum transmission unit (MTU) value carried in the interest packet;

in response to the piece of content not being stored locally, determining an egress port for the interest packet based on the HSVLI;

determining an MTU associated with the egress port;

in response to the MTU associated with the egress port being less than the minimum path MTU value carried in the interest packet, updating the minimum path MTU value in the interest packet to the MTU value associated with the egress port; and

in response to determining that an HSVLI of a received content object packet matches the HSVLI of the interest packet, and that a maximum fragment MTU value of the content object packet is less than or equal to the minimum path MTU carried in the interest packet, forwarding the content object packet to a source node associated with the interest packet.

9. The system of claim 8 , wherein the method further comprises:

in response to the piece of content being stored locally, fragmenting the piece of content into packets whose sizes are smaller than or equal to the minimum path MTU value carried in the interest packet; and

sending the content fragments to a node where the interest packet is generated.

10. The system of claim 9 , wherein the method further comprises setting in a content fragment a maximum fragment MTU value that is smaller than or equal to the minimum path MTU.

11. The system of claim 8 , wherein the method further comprises maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, a minimum path MTU associated with the pending interest, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest.

12. The system of claim 8 , wherein the method further comprises:

receiving the content object packet; and

determining the maximum fragment MTU value of the received content object packet.

13. The system of claim 12 , wherein the method further comprises updating a fragment bitmap corresponding to the interest packet, wherein a respective bit in the fragment bitmap indicates whether a corresponding fragment of the content associated with the interest packet's HSVLI has been received.

14. The system of claim 8 , wherein the interest packet includes a fragment stream identifier, a maximum fragment MTU, a fragment count, and a fragment number.

15. A non-transitory storage medium storing instructions which when executed by a processor cause the processor to perform a method for facilitating fragmentation of packets with hierarchically structured variable-length identifiers (HSVLIs), the method comprising:

receiving an interest packet with an HSVLI corresponding to a piece of content;

identifying a minimum path maximum transmission unit (MTU) value carried in the interest packet;

in response to the piece of content not being stored locally, determining an egress port for the interest packet based on the HSVLI;

determining an MTU associated with the egress port;

in response to the MTU associated with the egress port being less than the minimum path MTU value carried in the interest packet, updating the minimum path MTU value in the interest packet to the MTU value associated with the egress port; and

in response to determining that an HSVLI of a received content object packet matches the HSVLI of the interest packet, and that a maximum fragment MTU value of the content object packet is less than or equal to the minimum path MTU carried in the interest packet, forwarding the content object packet to a source node associated with the interest packet.

16. The non-transitory storage medium of claim 15 , wherein the method further comprises:

in response to the piece of content being stored locally, fragmenting the piece of content into packets whose sizes are smaller than or equal to the minimum path MTU value carried in the interest packet; and

sending the content fragments to a node where the interest packet is generated.

17. The non-transitory storage medium of claim 16 , wherein the method further comprises setting in a content fragment a maximum fragment MTU value that is smaller than or equal to the minimum path MTU.

18. The non-transitory storage medium of claim 15 , wherein the method further comprises maintaining a pending interest table, wherein a respective entry in the pending interest table indicates a pending interest, a minimum path MTU associated with the pending interest, and a fragment bitmap that indicates a number of corresponding content fragments that have been provided for the interest.

19. The non-transitory storage medium of claim 15 , wherein the method further comprises:

receiving the content object packet; and

determining the maximum fragment MTU value of the received content object packet.

20. The non-transitory storage medium of claim 19 , wherein the method further comprises updating a fragment bitmap corresponding to the interest packet, wherein a respective bit in the fragment bitmap indicates whether a corresponding fragment of the content associated with the interest packet's HSVLI has been received.

21. The non-transitory storage medium of claim 15 , wherein the interest packet includes a fragment stream identifier, a maximum fragment MTU, a fragment count, and a fragment number.

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 Oct 31, 2013
From: MOSKO, MARC E.
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 031524/0434 →