Header compression for CCN messages using dictionary learning
First Claim
1. A computer-implemented method for efficient packet forwarding, the method comprising:
- generating a compressed representation of a type, length, and value (TLV) string in response to identifying the TLV string in a packet;
storing the compressed representation for the TLV string in an entry of a learned dictionary in a storage device of a first node, wherein the compressed representation in the entry is a compressed counter comprising a compressor key, and wherein the compressor key is mapped to a type of the TLV string and a base value in the entry;
sending from the first node the entry to a second node;
receiving, by the first node, an acknowledgement from the second node; and
in response to identifying the TLV string in a subsequent second packet of the acknowledgement, compressing the TLV string in the second packet based on the compressed representation, wherein compressing the TLV string in the second packet further comprises;
calculating an offset based on a value in the TLV string and the base value; and
replacing the TLV string with the compressor key and the offset.
3 Assignments
0 Petitions
Accused Products
Abstract
One embodiment provides a system in a first node that facilitates efficient packet forwarding. During operation, the system identifies a type, length, and value (TLV) string in a packet and, in response, generates a compressed representation of the TLV string. The system stores the compressed representation for the TLV string in an entry of a learned dictionary in a storage device of the first node. The system then sends the entry to a second node and, in response, receives an acknowledgement from the second node. If the system identifies the TLV string in a subsequent second packet of the acknowledgement, the system compresses the TLV string in the second packet based on the compressed representation.
381 Citations
20 Claims
-
1. A computer-implemented method for efficient packet forwarding, the method comprising:
-
generating a compressed representation of a type, length, and value (TLV) string in response to identifying the TLV string in a packet; storing the compressed representation for the TLV string in an entry of a learned dictionary in a storage device of a first node, wherein the compressed representation in the entry is a compressed counter comprising a compressor key, and wherein the compressor key is mapped to a type of the TLV string and a base value in the entry; sending from the first node the entry to a second node; receiving, by the first node, an acknowledgement from the second node; and in response to identifying the TLV string in a subsequent second packet of the acknowledgement, compressing the TLV string in the second packet based on the compressed representation, wherein compressing the TLV string in the second packet further comprises; calculating an offset based on a value in the TLV string and the base value; and replacing the TLV string with the compressor key and the offset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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; generating a compressed representation of a type, length, and value (TLV) string in response to identifying the TLV string in a packet; storing the compressed representation for the TLV string in an entry of a learned dictionary in a storage device of a first node, wherein the compressed representation in the entry is a compressed counter comprising a compressor key, and wherein the compressor key is mapped to a type of the TLV string and a base value in the entry; sending from the first node the entry to a second node; receiving, by the first node, an acknowledgement from the second node; and in response to identifying the TLV string in a subsequent second packet of the acknowledgement, compressing the TLV string in the second packet based on the compressed representation, wherein compressing the TLV string in the second packet further comprises; calculating an offset based on a value in the TLV string and the base value; and replacing the TLV string with the compressor key and the offset. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. 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:
-
generating a compressed representation of a type, length, and value (TLV) string in response to identifying the TLV string in a packet; storing the compressed representation for the TLV string in an entry of a learned dictionary in a storage device of a first node, wherein the compressed representation in the entry is a compressed counter comprising a compressor key, and wherein the compressor key is mapped to a type of the TLV string and a base value in the entry; sending from the first node the entry to a second node; receiving, by the first node, an acknowledgement from the second node; and in response to identifying the TLV string in a subsequent second packet of the acknowledgement, compressing the TLV string in the second packet based on the compressed representation, wherein compressing the TLV string in the second packet further comprises; calculating an offset based on a value in the TLV string and the base value; and replacing the TLV string with the compressor key and the offset. - View Dependent Claims (18, 19, 20)
-
Specification