Group packet encapsulation and compression system and method
First Claim
1. A method of preparing packets queued at a first node for transmission to a second node, wherein a maximum transmission unit (MTU) of the path between said first node and second node is known, and said method includes:
- A. classifying a set of said packets as a function of having a common second node in a transmission path of each packet in said set of packets, wherein said second node is configured to de-encapsulate said set of packets;
B encapsulating said set of packets into an encapsulation payload;
C. deriving an encapsulation packet header from said encapsulation payload, said encapsulation packet header including a destination address;
D. combining said encapsulation packet header with said encapsulation payload to form an encapsulation packet, E. determining whether said encapsulation packet exceeds said MTU, and F. if said MTU is exceeded, eliminating one or more packets from said set of packets to form a new set of packets and repeating parts B through F.
1 Assignment
0 Petitions
Accused Products
Abstract
A group packet encapsulation and (optionally) compression system and method, including an encapsulation protocol increases packet transmission performance between two gateways or host computers by reducing data-link layer framing overhead, reducing packet routing overhead in gateways, compressing packet headers in the encapsulation packet, and increasing loss-less data compression ratio beyond that otherwise achievable in typical systems. Packets queued at a node configured in accordance with the present invention are classified, grouped, and encapsulated into a single packet as a function of having another such configured node in their path. The nodes exchange encapsulation packets, even though the packets within the encapsulation packet may ultimately have different destinations. Compression within an encapsulation packet may be performed on headers, payloads, or both.
303 Citations
33 Claims
-
1. A method of preparing packets queued at a first node for transmission to a second node, wherein a maximum transmission unit (MTU) of the path between said first node and second node is known, and said method includes:
-
A. classifying a set of said packets as a function of having a common second node in a transmission path of each packet in said set of packets, wherein said second node is configured to de-encapsulate said set of packets;
B encapsulating said set of packets into an encapsulation payload;
C. deriving an encapsulation packet header from said encapsulation payload, said encapsulation packet header including a destination address;
D. combining said encapsulation packet header with said encapsulation payload to form an encapsulation packet, E. determining whether said encapsulation packet exceeds said MTU, and F. if said MTU is exceeded, eliminating one or more packets from said set of packets to form a new set of packets and repeating parts B through F. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
G. compressing at least a portion of said encapsulation payload, wherein said second node is configured to decompress said encapsulation payload.
-
-
3. The method of claim 1, wherein each packet in said set of packets comprises a header and a payload, said method further comprising, prior to part E:
-
G. compressing headers of a plurality of packets in said set of packets in said encapsulation payload, wherein said second node is configured to decompress said compressed headers in said encapsulation payload.
-
-
4. The method of claim 1, wherein each packet in said set of packets comprises a header and a payload, said method further comprising, prior to part E:
-
G. compressing payloads of a plurality of packets in said set of packets in said encapsulation payload, wherein said second node is configured to decompress said compressed payloads in said encapsulation payload.
-
-
5. The method of claim 1, wherein said packets are EP packets having a header chosen from a group comprising:
-
1) IP header;
2) IP/TCP header;
3) IP/UDP header;
4) IP/UDP/RTP header;
5) IP/UDP/RTCP header;
6) IP/FTP header;
7) IP/TFTP header;
8) IP/HTTP header;
9) EP/SMTP header;
10) IP/POP header;
11) IP/SNMP header;
12) IP/TELNET header;
13) IP/DNS header;
14) IP/IPSEC header;
15) IPINFS header;
16) IPINetBIOS header; and
17) IPIRPC header.
-
-
6. The method of claim 1, wherein said packets are IP packets and said packets include data chosen from a group comprising:
-
1) static data;
2) audio data;
3) video data;
4) voice over EP data; and
5) video over P data.
-
-
7. The method of claim 1, wherein said set of packets includes at least two packets and each packet in said set of packets includes a header and a payload and part B includes:
-
1) combining at least two of said headers; and
2) combining at least two of said payloads.
-
-
8. The method of claim 7, further comprising compressing said combined headers.
-
9. The method of claim 7, further comprising compressing said combined payloads.
-
10. The method of claim 1, further including computing a size value and a checksum value for said encapsulation packet.
-
11. The method of claim 1, wherein each packet in said set of packets comprises a header and a payload and wherein said encapsulation packet header is derived from a first packet header.
-
12. The method of claim 11, wherein said method further includes:
-
G. compressing at least a portion of said encapsulation packet payload using a compression algorithm, wherein said encapsulation packet includes a compression identifier, wherein said compression identifier indicates the compression algorithm used by said first node to compress said portion of encapsulation packet payload.
-
-
13. The method of claim 1, wherein said classifying a set of said packets in Part A includes matching a destination address contained in a packet, from said set of packets, with at least one of a plurality of addresses for devices configured to couple to said second node.
-
14. The method of claim 2, wherein said first node and said second node are coupled together via a network that includes at least one of the following:
-
1) Internet;
2) world wide web;
3) extranet;
4) cable network;
5) private network;
6) LAN;
7) WAN;
8) virtual network; and
9) telephone network.
-
-
15. The method of claim 1, wherein said classifying a set of said packets in Part A includes matching a destination address contained in a packet, from said set of packets, with at least one of a plurality of addresses for devices configured to couple to said second node.
-
16. A method of data communication between a first node having packets queued thereat and a second node, wherein a maximum transmission unit (MTU) of the path between said first node and second node is known, and said method includes:
-
A. classifying a set of said packets as a function of having said second node in a transmission path of each packet in said set of packets;
B grouping said set of packets to form a sequence of packets;
C. encapsulating said sequence of packets as an encapsulation payload;
D. deriving an encapsulation packet header from said encapsulation payload, said encapsulation packet header including a destination address;
E. combining said encapsulation packet header and said encapsulation payload as an encapsulation packet;
F. determining whether said encapsulation packet exceeds said MTU;
G. if said MTU is exceeded, eliminating one or more packets from said set of packets to form a new set of packets and repeating parts B through G;
H. transmitting said encapsulation packet from said first node to said second node;
I. receiving said encapsulation packet at said second node; and
J. de-encapsulating said encapsulation packet at said second node.
-
-
17. A data communication system having a first node coupled to a second node, wherein a maximum transmission unit (MTU) of the path between said first node and second node is known to said first node, said system comprising:
-
A. said first node including a storage device having packets queued therein, said first node comprising;
1) a packet analyzer module, configured to group a set of said packets as a function of said second node being in a transmission path of each packet in said set of packets, wherein each packet in said set of packets comprises a header and a payload;
2) an encapsulation module, configured to generate an encapsulation packet including an encapsulation payload derived from said set of packets and a encapsulation packet header;
3) a compression module, configured to compress said headers of a plurality of packets in said set of packets in said encapsulation payload, wherein said compression module is configured to estimate a compression ratio related to said encapsulation packet;
4) an intelligent adaptive module, configured to estimate the size of said encapsulation packet as a function of said compression ratio and a size of each packet in said set of packets and to determine whether said encapsulation packet exceeds said MTU;
5) a first communication module configured to transmit said encapsulation packet to said second node; and
B. said second node including a storage device, said second node comprising;
1) a second communication module configured to receive said encapsulation packet;
2) a de-encapsulation module, configured to de-encapsulate said encapsulation packet, wherein said de-encapsulation includes reforming each packet in said set of packets from said encapsulation packet; and
3) a decompression module, configured to decompress said compressed headers in said encapsulation payload. - View Dependent Claims (18)
-
-
19. A data communication system having a first node coupled to a second node, wherein a maximum transmission unit (MTU.) of the path between said first node and second node is known to said first node, said system comprising:
-
A. said first node including a storage device having packets queued therein, said first node comprising;
1) a packet analyzer module, configured to group a set of said packets as a function of said second node being in a transmission path of each packet in said set of packets;
2) an encapsulation module, configured to generate an encapsulation packet including an encapsulation payload derived from said set of packets and a encapsulation packet header;
3) a first communication module configured to transmit said encapsulation packet to said second node; and
4) an intelligent adaptive module, configured to estimate the size of said encapsulation packet as a function of a size of each packet in said set of packets and determine whether said encapsulation packet exceeds said MTU; and
B. said second node including a storage device, said second node comprising;
1) a second communication module configured to receive said encapsulation packet; and
2) a de-encapsulation module, configured to de-encapsulate said encapsulation packet, wherein said de-encapsulation includes reforming each packet in said set of packets from said encapsulation packet. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
i. a payload module, configured to encapsulate said set of packets as said encapsulation payload;
ii. a packet header module, configured to derive said encapsulation packet header from said encapsulation payload, said encapsulation packet header including a destination address; and
iii. a combiner module, configured to combine said encapsulation payload and said encapsulation packet header.
-
-
21. The system of claim 19, wherein:
-
said first node further includes;
4) a compression module, configured to compress at least a portion of said encapsulation payload; and
said second node further includes;
3) a decompression module, configured to decompress said compressed portion of said encapsulation payload.
-
-
22. The system of claim 19, wherein each packet in said set of packets comprises a header and a payload, wherein:
-
said first node further includes;
4) a compression module, configured to compress headers of a plurality of packets in said set of packets in said encapsulation payload; and
said second node further includes;
3) a decompression module, configured to decompress said compressed headers in said encapsulation payload.
-
-
23. The system of claim 19, wherein each packet in said set of packets comprises a header and a payload, wherein:
-
said first node further includes;
4) a compression module, configured to compress payloads of a plurality of packets in said set of packets in said encapsulation payload; and
said second node further includes;
3) a decompression module, configured to decompress said compressed payloads in said encapsulation payload.
-
-
24. The system of claim 19, wherein, if said MTU is exceeded, said intelligent adaptive module is configured to eliminate at least one packet in said set of packets.
-
25. The system of claim 19, wherein said second communication module is further configured to route each packet in said set of packets to a next destination, wherein for each packet in said set of packets said next destination is derived from a content of said packet.
-
26. The system of claim 19, wherein said first node and said second node are coupled together via a network that includes at least one of the following:
-
1) Internet;
2) world wide web;
3) extranet;
4) cable network;
5) private network;
6) LAN;
7) WAN;
8) virtual network; and
9) telephone network.
-
-
27. The system of claim 19, wherein said packets are IP packets including data from a group comprising:
-
1) static data;
2) audio data;
3) video data; and
4) voice over IP data.
-
-
28. The method of claim 19, wherein said packet analyzer module is configured to match a destination address contained in a packet, from said set of packets, with at least one of a plurality of addresses for devices configured to couple to said second node.
-
29. A GIEC protocol for conducting data communications between a first node having a plurality of IP packets queued thereat, at least some of said IP packets including an IP header and an IP payload, and a second node, wherein a maximum transmission unit (MTU) of the path between said first node and second node is known, said protocol comprising:
-
A. classifying a set of said IP packets as a function of having said second node in a transmission path of each IP packet in said set of IP packets;
B grouping said set of IP packets to form a sequence of IP packets;
C. encapsulating said sequence of IP packets as an encapsulation payload;
D. deriving an IP encapsulation packet header from said encapsulation payload, said encapsulation packet header including a destination address;
E. combining said EP encapsulation packet header and said encapsulation payload as an IP encapsulation packet;
F. determining whether said encapsulation packet exceeds said MTU;
G. if said MTU is exceeded, eliminating one or more IP packets from said set of IP packets to form a new set of IP packets and repeating parts B through G;
H. transmitting said IP encapsulation packet from said first node to said second node;
I. receiving said IP encapsulation packet at said second node; and
J. de-encapsulating said IP encapsulation packet at said second node, thereby reforming each IP packet in said set of IP packets. - View Dependent Claims (30, 31, 32, 33)
1) IP header;
2) IP/TCP header;
3) IP/UDP header;
4) IP/UDP/RTP header;
5) IP/UDP/RTCP header;
6) IP/FTP header;
7) IP/TFTP header;
8) IP/HTTP header;
9) IP/SMTP header;
10) IP/POP header;
11) IP/SNMP header;
12) IP/TELNET header;
13) IP/DNS header;
14) IP/IPSEC header;
15) IP/NFS header;
16) IP/NetBIOS header; and
17) IP/RPC header.
-
-
31. The GEC protocol of claim 29, wherein said first node and said second node are coupled together via a network that includes at least one of the following:
-
1) Internet;
2) world wide web;
3) extranet;
4) cable network;
5) private network;
6) LAN;
7) WAN;
8) virtual network; and
9) telephone network.
-
-
32. The GEEC protocol of claim 29, wherein said IP packets include data from a group comprising:
-
1) static data;
2) audio data;
3) video data; and
4) voice over IP data.
-
-
33. The GIEC protocol of claim 29, wherein said classifying a set of said packets in Part A includes matching a destination address contained in packet, from said set of packets, with at least one of a plurality of addresses for devices configured to coupled to said second node.
Specification