WO2000072532A1 - System and method for network packet reduction - Google Patents

System and method for network packet reduction Download PDF

Info

Publication number
WO2000072532A1
WO2000072532A1 PCT/US2000/014381 US0014381W WO0072532A1 WO 2000072532 A1 WO2000072532 A1 WO 2000072532A1 US 0014381 W US0014381 W US 0014381W WO 0072532 A1 WO0072532 A1 WO 0072532A1
Authority
WO
WIPO (PCT)
Prior art keywords
packets
packet
network
destination
combining
Prior art date
Application number
PCT/US2000/014381
Other languages
French (fr)
Other versions
WO2000072532A9 (en
Inventor
B.R. Badrinath
Predeep Sudame
Original Assignee
Rutgers, The State University Of New Jersey
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rutgers, The State University Of New Jersey filed Critical Rutgers, The State University Of New Jersey
Priority to AU52887/00A priority Critical patent/AU5288700A/en
Publication of WO2000072532A1 publication Critical patent/WO2000072532A1/en
Publication of WO2000072532A9 publication Critical patent/WO2000072532A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6472Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6481Speech, voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Definitions

  • the present invention relates generally to computer networks and more specifically to reducing packets on a network.
  • Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. These entities are typically software programs executing on hardware computer platforms, such as end stations and intermediate stations. Examples of an intermediate station may be a router or switch which interconnects the communication links and subnetworks to enable transmission of data between the end stations.
  • An intermediate station may be a router or switch which interconnects the communication links and subnetworks to enable transmission of data between the end stations.
  • a local area network (LAN) is an example of a subnetwork that provides relatively short distance communication among the interconnected stations; in contrast, a wide area network (WAN) enables long distance communication over links provided by public or private telecommunications facilities.
  • Communication software executing on the end stations correlates and manages data communication with other end stations.
  • the stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. Collectively, these hardware and software components comprise a communications network. Small packets (less than the default link MTU of 512 bytes) dominate Internet traffic patterns today. Wide-area Internet traffic measurements show that as many as sixty percent (60%) of the packets transmitted over the Internet backbone are less than 44 bytes. Web servers, for example, are a leading generator of small packets. All of the TCP ACKs generated by the clients have the same destination (the web server). These ACKs are just 40 bytes in size. Another example of small packet traffic is ICP
  • ICP queries Internet Cache Protocol queries generated among web proxies.
  • ICP queries are about 60 bytes in size. This domination of small packets in Internet traffic patterns is expected to get only worse with the ever increasing web traffic and with introduction of new applications such as VoIP (Voiceover-IP applications generate small audio samples, about 40 to 60 byte packets every 40 ms).
  • VoIP Voiceover-IP applications generate small audio samples, about 40 to 60 byte packets every 40 ms).
  • the network overhead cost due to queuing, processing, routing, differential treatment and delivery is the same irrespective of the size of the packet. Hence, small packets impose a relatively higher overhead on the network. Therefore, in order to improve overall network performance, there is a need to reduce the number of packets in the network.
  • Embodiments of the present invention combine small packets with the same destination into a larger packet, thereby reducing the number of packets flowing in the network.
  • Small packets dominate Internet traffic patterns today. The overhead due to queuing, processing, routing, differential treatment, and delivery is the same irrespective of the size of the packet. Hence, small packets impose a relatively higher overhead on the network.
  • the domination of small packet traffic is expected to get only worse with the ever increasing web applications and the introduction of new applications such as Voiceover IP.
  • One aspect of the invention is a computerized method of reducing packets on a network. The method comprises combining multiple packets for a destination into an aggregated packet, and separating the aggregated packet into the multiple packets at the destination.
  • Figure 1 is a block diagram of a traditional communication network.
  • Figure 2 is a block diagram of a communication network according to an example embodiment of the invention.
  • Figure 3 A is a block diagram of a traditional router.
  • Figure 3B is a block diagram of an aggregator, such as the aggregator shown in Figure 2, according to an example embodiment of the present invention.
  • Figure 4 is a block diagram of a splitter, such as the splitter shown in Figure 2, according to an example embodiment of the present invention.
  • Figure 5 is a block diagram showing how metadata is stored when two small packets are combined at a router according to an example embodiment of the invention.
  • Figure 1 is a block diagram of a traditional communication network 100.
  • the traditional communication network 100 comprises a plurality of end stations 102 and a plurality of intermediate stations 104 interconnected by communications links.
  • the intermediate links are routers 104.
  • FIG. 2 is a block diagram of a communication network 200 according to an example embodiment of the present invention.
  • the communication network 200 comprises a plurality of end stations 202 and a plurality of intermediate stations 204.
  • the intermediate stations 204 include an aggregator and a splitter which are further described below.
  • the aggregator and the splitter function to reduce the packets on the communications link between them.
  • the aggregator combines a small packets into a larger packet so that the routers see a smaller number of packets.
  • the splitter separates these packets so that the subsequent stations in the network are unaware of the packet aggregation.
  • Aggregators, as well as splitters can be placed at intermediate stations or at end stations in the network. The placement of aggregators and splitters may be varied depending on traffic patterns, level of congestion and software application needs.
  • the aggregators as well as the splitters can be the end stations in the network.
  • the aggregators and splitters are placed at ingress and egress routers in the network.
  • the placement of aggregators and splitters may be manually configured or may be dynamically assigned according to a signaling mechanism of the present invention which is further described below.
  • the aggregated packets on the communications links between the aggregator and the splitter are treated as a special class of traffic to further enhance network performance. The number of packets in the network are reduced by combining small packets multiple times at various points in the network.
  • the placement of the aggregator in the network is based on the application and is dynamically determined by the receiver of the packets.
  • a signaling mechanism of the present invention allows the receiver of the packets to place aggregators at points in the network where packets can be combined. If the aggregation at that location in the network is ineffective, the aggregators can be dynamically or manually removed and, if desired, repositioned at another point in the network. In other words, if the application ceases to need aggregation, the network can remove the aggregators without affecting the normal network routing.
  • the signalling mechanism allows the aggregation of packets to be initiated and stopped dynamically. In an alternate embodiment, the signaling mechanism can be initiated and stopped by manual configure according to a user.
  • Figure 3 A is a block diagram of a traditional router 300. As shown in
  • FIG 3A three packets 302 are received by router 300.
  • the router 300 performs a routing table 304 lookup to determine the output queue 306 for each one of the packets. All three packets 302 leave router 300 and are transmitted across a communication link.
  • Figure 3B is a block diagram of an aggregator such as the aggregator shown in Figure 2.
  • an aggregator refers to any end station or intermediate station capable of combining multiple small packets to the same destination and sending them as one packet.
  • an aggregator may be implemented as a hardware module or a software module in a router.
  • three packets 312 are received by router 310.
  • the router 310 performs a routing table 304 lookup to determine the destination of the packets 302.
  • the router 310 comprises an aggregation module 315.
  • the three packets 302 have the same destination.
  • the aggregation module 315 combines the three packets 312 into a single packet 318 referred to herein as an "aggregated packet.”
  • the aggregated packet 318 is placed in the output queue 316 for the destination and unlike the traditional router, only the single aggregated packet leaves the router 310 and is transmitted across the communication link.
  • FIG. 4 is a block diagram of a splitter 400.
  • a splitter refers to any end station or intermediate station capable of separating an aggregated packets into the original multiple packets.
  • a splitter may be implemented as a hardware module or a software module in a router.
  • an aggregated packet 402 is received by router 400.
  • the router 400 performs a routing table 404 lookup to determine the destination of the packet 402.
  • the router 400 comprises a splitter module 406.
  • the splitter module 400 separates the aggregated packet 406 into the original multiple packets 408.
  • the multiple packets 408 are placed in the output queue 410 for router 400.
  • Aggregation as well as splitting can be performed either at layer 2 (MPLS) or at layer 3 (network layer) of the protocol stack.
  • Aggregators at layer 2 require a hardware implementation.
  • aggregators and splitters are implemented using transformer tunnels. Transformer tunnels are described in more detail in Predeep Sudame and B. R. Bardinath, "Transformer tunnels: A framework for providing route-specific adaptions," in Proceedings of the USENIX Annual Technical Conference, June 1998, pp. 191-200, which is herein incorporated by reference. However, embodiments of the present invention are not limited to being implemented with transformer tunnels and alternate embodiments are contemplated.
  • the splitter can be a node other than the final destination. This way, packets belonging to multiple destinations (for example, a subnet) can be combined using a single tunnel. Aggregators may also be dynamically placed in the network so that the bottleneck links lie between the splitters and the aggregators.
  • a computerized method of reducing packets on a network comprises combining multiple packets for a destination into an aggregated packet, transmitting the single packet to the destination, and separating the aggregated packet into the multiple packets at the destination.
  • an aggregation function combines the multiple packets for a destination into an aggregated packet using a mechanism similar to TCP delayed ACKs.
  • Every small packet is delayed by a small amount of time.
  • the process of combining small packets continues until either m (a parameter to the aggregation function described below) packets have been combined, or a timeout occurs. If no other small packets arrive before the timeout, the delayed packet is sent as is.
  • This aggregation mechanism is different from IP reassembly (performed after IP fragmentation).
  • An aggregation function combines small packets, along with their IP headers, to get a larger packet. The receiver regenerates all the original packets when it receives such an aggregated packet. Thus, this mechanism can be used even for protocols that honor message boundaries (e.g., UDP).
  • FIG. 5 is a block diagram showing how metadata is stored when two small packets are combined at a router.
  • the generated larger packet has a new protocol number (77) in the IP header.
  • the original protocol therefore has to be stored as part of the metadata, along with the original destination of the packet, if it is different than the address of the splitter node.
  • the receiver of this packet handles the packet to the protocol handler for this new protocol. This handler is responsible for removing all the metadata and restoring the packets. As small packets are delayed for some time in the hope that they can be combined with other small packets, the delayed packets see increased latency.
  • the latency depends on the packet inter-arrival rate, and the timeout set by the applications. In the best case, when m packets are combined, the timeout does not come into picture, because the buffers are flushed immediately when the packets are combined.
  • An example embodiment of an aggregation function as described above is provided below. The aggregation function is provided for illustrative purposes only.
  • Timer expires: send delayed_packet; delayed_packet null; Given that there is sufficient evidence of small packet traffic in the Internet, there are a number of benefits to be obtained by packet-level aggregation.
  • Most router implementations (such as FreeBSD, Linux, and many Cisco routers) are packet limited rather than byte limited. They place a limit on the number of packets that the router can queue irrespective of the size of each packet. For reasons of efficiency, routers store packet headers (whose sizes are independent of the packet sizes) in fast memory, and the packet payload in slow memory. The fast memory being expensive decides the queue size. Every packet, irrespective of the size, consumes one slot in the queue. Combining small packets into a larger packet reduces the number of packets seen at routers, and hence helps absorb bursts (reduce losses) for a given level of congestion.
  • every packet at a router requires a routing table lookup and incurs the same performance cost irrespective of the size of the packet. Combining small packets at a router reduces the number of packets seen by all the subsequent routers. Moreover, to implement a specific per-hop behavior (as in differential services), routers have to give preferential treatment to every packet of a particular class. By combining small packets belonging to the same class, these overheads can be reduced.
  • every packet requires a link-layer header. For example, every ethernet packet has 18 bytes overhead (2 bytes for type, 6 bytes for source address, 6 bytes for destination address, 4 bytes for CRC). Moreover, an ethernet frame also has 12 bytes of frame spacing and 8 bytes of preamble.
  • packets smaller than 46 bytes have to be padded with additional bytes to make the frame size 64 bytes. Therefore, by combining two 40 bytes packets into a larger packet, 44 bytes are saved. The gains increase further if more than two packets are combined into a larger packet.
  • Packet bursting technique reduces the padding overheads by sending back-to-back frames, however, the first frame still incurs the padding overhead and two consecutive frames must have the required inter- frame spacing.

Abstract

A system of and method for reducing network packet traffic is described. Embodiments of the present invention combine small packets with the same destination into a larger packet, thereby reducing the number of packets flowing in the network. Small packets dominate Internet traffic patterns today. The overhead due to queuing, processing, routing, differential treatment, and delivery is the same irrespective of the size of the packet. Hence, small packets impose a relatively higher overhead on the network. The domination of small packet traffic is expected to get only worse with the ever increasing web applications and the introduction of new applications such as Voiceover IP.

Description

System and Method for Network Packet Reduction
Field of the Invention
The present invention relates generally to computer networks and more specifically to reducing packets on a network.
Copyright Notice/Permission A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright © 2000 Rutgers,
The State University of New Jersey, All Rights Reserved. Background of the Invention Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks. These entities are typically software programs executing on hardware computer platforms, such as end stations and intermediate stations. Examples of an intermediate station may be a router or switch which interconnects the communication links and subnetworks to enable transmission of data between the end stations. A local area network (LAN) is an example of a subnetwork that provides relatively short distance communication among the interconnected stations; in contrast, a wide area network (WAN) enables long distance communication over links provided by public or private telecommunications facilities. Communication software executing on the end stations correlates and manages data communication with other end stations. The stations typically communicate by exchanging discrete packets or frames of data according to predefined protocols. Collectively, these hardware and software components comprise a communications network. Small packets (less than the default link MTU of 512 bytes) dominate Internet traffic patterns today. Wide-area Internet traffic measurements show that as many as sixty percent (60%) of the packets transmitted over the Internet backbone are less than 44 bytes. Web servers, for example, are a leading generator of small packets. All of the TCP ACKs generated by the clients have the same destination (the web server). These ACKs are just 40 bytes in size. Another example of small packet traffic is ICP
(Internet Cache Protocol) queries generated among web proxies. ICP queries are about 60 bytes in size. This domination of small packets in Internet traffic patterns is expected to get only worse with the ever increasing web traffic and with introduction of new applications such as VoIP (Voiceover-IP applications generate small audio samples, about 40 to 60 byte packets every 40 ms). The network overhead cost due to queuing, processing, routing, differential treatment and delivery is the same irrespective of the size of the packet. Hence, small packets impose a relatively higher overhead on the network. Therefore, in order to improve overall network performance, there is a need to reduce the number of packets in the network.
Summary of the Invention A system of and method for reducing network packet traffic is described. Embodiments of the present invention combine small packets with the same destination into a larger packet, thereby reducing the number of packets flowing in the network. Small packets dominate Internet traffic patterns today. The overhead due to queuing, processing, routing, differential treatment, and delivery is the same irrespective of the size of the packet. Hence, small packets impose a relatively higher overhead on the network. The domination of small packet traffic is expected to get only worse with the ever increasing web applications and the introduction of new applications such as Voiceover IP. To mitigate the impact of small packets, a novel approach of combining multiple small packets going towards the same destination is provided. One aspect of the invention is a computerized method of reducing packets on a network. The method comprises combining multiple packets for a destination into an aggregated packet, and separating the aggregated packet into the multiple packets at the destination.
Still other and further embodiments, aspects and advantages of the invention will become apparent by reference to the drawings and by reading the following detailed description.
Brief Description of the Drawings Figure 1 is a block diagram of a traditional communication network. Figure 2 is a block diagram of a communication network according to an example embodiment of the invention. Figure 3 A is a block diagram of a traditional router.
Figure 3B is a block diagram of an aggregator, such as the aggregator shown in Figure 2, according to an example embodiment of the present invention. Figure 4 is a block diagram of a splitter, such as the splitter shown in Figure 2, according to an example embodiment of the present invention.
Figure 5 is a block diagram showing how metadata is stored when two small packets are combined at a router according to an example embodiment of the invention.
Description of the Embodiments In the following detailed description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the scope of the present inventions. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present inventions is defined only by the appended claims. A system of and method for reducing network packet traffic is described below. Embodiments of the present invention combine small packets with the same destination into a larger packet, thereby reducing the number of packets flowing in the network.
Figure 1 is a block diagram of a traditional communication network 100. As shown in Figure 1, the traditional communication network 100 comprises a plurality of end stations 102 and a plurality of intermediate stations 104 interconnected by communications links. In the example shown in Figure 1, the intermediate links are routers 104.
Figure 2 is a block diagram of a communication network 200 according to an example embodiment of the present invention. As shown in Figure 2, the communication network 200 comprises a plurality of end stations 202 and a plurality of intermediate stations 204. The intermediate stations 204 include an aggregator and a splitter which are further described below. The aggregator and the splitter function to reduce the packets on the communications link between them. The aggregator combines a small packets into a larger packet so that the routers see a smaller number of packets. The splitter separates these packets so that the subsequent stations in the network are unaware of the packet aggregation. Aggregators, as well as splitters, can be placed at intermediate stations or at end stations in the network. The placement of aggregators and splitters may be varied depending on traffic patterns, level of congestion and software application needs.
In one embodiment, the aggregators as well as the splitters can be the end stations in the network. In an alternate embodiment, the aggregators and splitters are placed at ingress and egress routers in the network. The placement of aggregators and splitters may be manually configured or may be dynamically assigned according to a signaling mechanism of the present invention which is further described below. In another embodiment, the aggregated packets on the communications links between the aggregator and the splitter are treated as a special class of traffic to further enhance network performance. The number of packets in the network are reduced by combining small packets multiple times at various points in the network.
In one embodiment, the placement of the aggregator in the network is based on the application and is dynamically determined by the receiver of the packets. A signaling mechanism of the present invention allows the receiver of the packets to place aggregators at points in the network where packets can be combined. If the aggregation at that location in the network is ineffective, the aggregators can be dynamically or manually removed and, if desired, repositioned at another point in the network. In other words, if the application ceases to need aggregation, the network can remove the aggregators without affecting the normal network routing. Thus, the signalling mechanism allows the aggregation of packets to be initiated and stopped dynamically. In an alternate embodiment, the signaling mechanism can be initiated and stopped by manual configure according to a user. Figure 3 A is a block diagram of a traditional router 300. As shown in
Figure 3A, three packets 302 are received by router 300. The router 300 performs a routing table 304 lookup to determine the output queue 306 for each one of the packets. All three packets 302 leave router 300 and are transmitted across a communication link. Figure 3B is a block diagram of an aggregator such as the aggregator shown in Figure 2. As used herein, an aggregator refers to any end station or intermediate station capable of combining multiple small packets to the same destination and sending them as one packet. For example, an aggregator may be implemented as a hardware module or a software module in a router. As shown in Figure 3B, three packets 312 are received by router 310. The router 310 performs a routing table 304 lookup to determine the destination of the packets 302. However, unlike the traditional router shown in Figure 3 A, the router 310 comprises an aggregation module 315. In this example, the three packets 302 have the same destination. The aggregation module 315 combines the three packets 312 into a single packet 318 referred to herein as an "aggregated packet." The aggregated packet 318 is placed in the output queue 316 for the destination and unlike the traditional router, only the single aggregated packet leaves the router 310 and is transmitted across the communication link.
Once such an aggregated packet reaches the destination, all the original packets can be regenerated. The node that separates aggregated packets is referred to herein as a "splitter." Figure 4 is a block diagram of a splitter 400. As used herein, a splitter refers to any end station or intermediate station capable of separating an aggregated packets into the original multiple packets. For example, a splitter may be implemented as a hardware module or a software module in a router. As shown in Figure 4, an aggregated packet 402 is received by router 400. The router 400 performs a routing table 404 lookup to determine the destination of the packet 402. However, unlike the traditional router shown in Figure 3 A, the router 400 comprises a splitter module 406. The splitter module 400 separates the aggregated packet 406 into the original multiple packets 408. In one embodiment, the multiple packets 408 are placed in the output queue 410 for router 400.
Aggregation as well as splitting can be performed either at layer 2 (MPLS) or at layer 3 (network layer) of the protocol stack. Aggregators at layer 2 require a hardware implementation. In an example embodiment, aggregators and splitters are implemented using transformer tunnels. Transformer tunnels are described in more detail in Predeep Sudame and B. R. Bardinath, "Transformer tunnels: A framework for providing route-specific adaptions," in Proceedings of the USENIX Annual Technical Conference, June 1998, pp. 191-200, which is herein incorporated by reference. However, embodiments of the present invention are not limited to being implemented with transformer tunnels and alternate embodiments are contemplated. To control the number of routing table entries at an aggregator node, the splitter can be a node other than the final destination. This way, packets belonging to multiple destinations (for example, a subnet) can be combined using a single tunnel. Aggregators may also be dynamically placed in the network so that the bottleneck links lie between the splitters and the aggregators. A computerized method of reducing packets on a network according an example embodiment of the invention comprises combining multiple packets for a destination into an aggregated packet, transmitting the single packet to the destination, and separating the aggregated packet into the multiple packets at the destination. In one embodiment, an aggregation function combines the multiple packets for a destination into an aggregated packet using a mechanism similar to TCP delayed ACKs. Every small packet is delayed by a small amount of time. The process of combining small packets continues until either m (a parameter to the aggregation function described below) packets have been combined, or a timeout occurs. If no other small packets arrive before the timeout, the delayed packet is sent as is. This aggregation mechanism is different from IP reassembly (performed after IP fragmentation). An aggregation function combines small packets, along with their IP headers, to get a larger packet. The receiver regenerates all the original packets when it receives such an aggregated packet. Thus, this mechanism can be used even for protocols that honor message boundaries (e.g., UDP).
In one embodiment, for the receiver to be able to regenerate the original packets, some information is added (metadata) to the aggregated packet. Figure 5 is a block diagram showing how metadata is stored when two small packets are combined at a router. The generated larger packet has a new protocol number (77) in the IP header. (The original protocol therefore has to be stored as part of the metadata, along with the original destination of the packet, if it is different than the address of the splitter node.) The receiver of this packet handles the packet to the protocol handler for this new protocol. This handler is responsible for removing all the metadata and restoring the packets. As small packets are delayed for some time in the hope that they can be combined with other small packets, the delayed packets see increased latency. The latency depends on the packet inter-arrival rate, and the timeout set by the applications. In the best case, when m packets are combined, the timeout does not come into picture, because the buffers are flushed immediately when the packets are combined. An example embodiment of an aggregation function as described above is provided below. The aggregation function is provided for illustrative purposes only.
Parameters: timeout, m: max packets to be combined
Initialization code: delayed_packet = null; aggregate (p) { if (p is large) { cancel timer; send delayed_packet; delayed_packet=«M/7;
} send p; return PACKET_SENT;
} if (delayed_packet exists) { if (p and delayed_packet can be combined) { delayed_packet = combine (delayed_packet, p); if (m packets have been combined) { cancel timer; send delayed_packet; delayed_packet = null;
} return PACKET_SENT; } else { cancel timer; send delayed_packet; set timer; delayed_packet = p; return PACKET_SENT;
} } else { set timer; delayed_packet = p; return PACKET SENT;
Timer expires: send delayed_packet; delayed_packet = null; Given that there is sufficient evidence of small packet traffic in the Internet, there are a number of benefits to be obtained by packet-level aggregation. First, most router implementations (such as FreeBSD, Linux, and many Cisco routers) are packet limited rather than byte limited. They place a limit on the number of packets that the router can queue irrespective of the size of each packet. For reasons of efficiency, routers store packet headers (whose sizes are independent of the packet sizes) in fast memory, and the packet payload in slow memory. The fast memory being expensive decides the queue size. Every packet, irrespective of the size, consumes one slot in the queue. Combining small packets into a larger packet reduces the number of packets seen at routers, and hence helps absorb bursts (reduce losses) for a given level of congestion.
Second, every packet at a router requires a routing table lookup and incurs the same performance cost irrespective of the size of the packet. Combining small packets at a router reduces the number of packets seen by all the subsequent routers. Moreover, to implement a specific per-hop behavior (as in differential services), routers have to give preferential treatment to every packet of a particular class. By combining small packets belonging to the same class, these overheads can be reduced. Third, every packet requires a link-layer header. For example, every ethernet packet has 18 bytes overhead (2 bytes for type, 6 bytes for source address, 6 bytes for destination address, 4 bytes for CRC). Moreover, an ethernet frame also has 12 bytes of frame spacing and 8 bytes of preamble. Also, packets smaller than 46 bytes have to be padded with additional bytes to make the frame size 64 bytes. Therefore, by combining two 40 bytes packets into a larger packet, 44 bytes are saved. The gains increase further if more than two packets are combined into a larger packet.
For gigabit ethernet, the minimum frame size is 512 bytes, and hence even bigger savings are obtained by combining multiple small packets into a single larger packet. Packet bursting technique reduces the padding overheads by sending back-to-back frames, however, the first frame still incurs the padding overhead and two consecutive frames must have the required inter- frame spacing.
Fourth, on links such as Ethernets and wireless LANs, terminals need to contend for the channel prior to sending a packet. Reducing the number of packets reduces the contention cost and increases channel utilization.
Finally, aggregation reduces interrupt overheads. Incoming packets generate an interrupt at the receiver. On a modern RISC processor, each interrupt breaks the CPU pipeline, interferes with the cache, requires a change to the memory management context, and forces a substantial number of CPU registers to be saved. An /.-fold reduction in packets thus reduces the interrupt and packet overhead by a factor of n.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

What is claimed is:
1. A computerized method of reducing packets on a network, the method comprising: combining multiple packets for a destination into an aggregated packet; transmitting the single packet to the destination; separating the aggregated packet into the multiple packets at the destination.
2. The method of claim 1 , wherein a predetermined number of the multiple packets are combined into the aggregated packet.
3. The method of claim 1 , wherein the multiple packets received over a predetermined period of time are combined into the aggregated packet.
4. The method of claim 1 wherein the combining and splitting is implemented in hardware.
5. The method of claim 1 wherein the combining and splitting is implement in software.
6. The method of claim 1 wherein the destination is an end station.
7. The method of claim 1 wherein the destination is an intermediate station.
8. The method of claim 1 wherein the combining is performed at a dynamically designated network station.
9. The method of claim 1 wherein the combining is performed at a user-designated network station.
10. A network router comprising: a routing table to identify a destination for a plurality of packets; and an aggregator module to combine at least two of the packets with a same destination into an aggregate packet.
11. The network router of claim 10, wherein a predetermined number of the multiple packets are combined into the aggregated packet.
12. The network router of claim 10, wherein the multiple packets received over a predetermined period of time are combined into the aggregated packet.
13. The network router of claim 10 wherein the aggregator module is a hardware module.
14. The network router of claim 10 wherein the aggregator module is a software module.
15. A network router comprising : a routing table to identify a destination for an aggregated packet; and a splitter module to regenerate a plurality of original packets from a second aggregated packet.
16. The network router of claim 15 wherein the splitter module is a hardware module.
17. The network router of claim 15 wherein the splitter module is a software module.
18. A computerized system comprising: an aggregator module to combine multiple packets with a same destination into a first aggregate packet; and a splitter module to regenerate a plurality of original packets from a second aggregated packet.
19. The computerized system of claim 18, further comprising a signaling mechanism to dynamically establish an aggregator module.
20. A computer readable medium containing executable program instructions combining network packets, the executable instructions comprising program instructions for: combining small packets for a same destination into a single larger packet; adding meta data to the aggregated packet; and sending the aggregated packet to a receiver.
21. The computer readable medium of claim 20 wherein the combining of small packets into a single larger packet continues until a predetermined number of small packets have been combined into the larger packet.
22. The computer readable medium of claim 20 wherein the combining of small packets continues until a predetermined period of time expires.
PCT/US2000/014381 1999-05-24 2000-05-24 System and method for network packet reduction WO2000072532A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU52887/00A AU5288700A (en) 1999-05-24 2000-05-24 System and method for network packet reduction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13560599P 1999-05-24 1999-05-24
US60/135,605 1999-05-24

Publications (2)

Publication Number Publication Date
WO2000072532A1 true WO2000072532A1 (en) 2000-11-30
WO2000072532A9 WO2000072532A9 (en) 2002-04-18

Family

ID=22468816

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/014381 WO2000072532A1 (en) 1999-05-24 2000-05-24 System and method for network packet reduction

Country Status (2)

Country Link
AU (1) AU5288700A (en)
WO (1) WO2000072532A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1296488A2 (en) * 2001-09-20 2003-03-26 Lucent Technologies Inc. Multiplexing IP data packets within a MPLS frame
EP1326387A1 (en) * 2001-06-28 2003-07-09 NTT DoCoMo, Inc. ROUTING METHOD, NODE, PACKET COMMUNICATION SYSTEM, PROGRAM, AND RECORDING MEDIUM
FR2859059A1 (en) * 2003-08-20 2005-02-25 France Telecom Packet mode transmission method for internet protocol network, involves aggregating first packets which produce second packets, and sending second packet to determined address once second packet satisfies determined transmission criteria
WO2006012284A2 (en) * 2004-06-30 2006-02-02 Intel Corporation An apparatus and method for packet coalescing within interconnection network routers
EP1623303A2 (en) * 2003-04-22 2006-02-08 Scientific-Atlanta, Inc. Information frame modifier
WO2006039599A1 (en) * 2004-09-29 2006-04-13 Intel Corporation Packet aggregation protocol for advanced switching
US7051116B1 (en) 2001-06-21 2006-05-23 America Online, Inc. Client device identification when communicating through a network address translator device
WO2007011298A1 (en) * 2005-07-19 2007-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Minimizing padding for voice over internet protocol-type traffic over radio link control
US7337219B1 (en) 2003-05-30 2008-02-26 Aol Llc, A Delaware Limited Liability Company Classifying devices using a local proxy server
US7353280B2 (en) 2000-03-17 2008-04-01 Aol Llc, A Delaware Limited Liability Company Home-networking
US7437457B1 (en) 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
WO2011136954A1 (en) * 2010-04-26 2011-11-03 Siemens Product Lifecycle Management Software Inc. Method and system for xml data transfer transactional coalescing
WO2011150767A1 (en) * 2010-08-12 2011-12-08 华为技术有限公司 Method, apparatus and system for data transmission processing
US8886593B2 (en) 2011-02-01 2014-11-11 Siemens Product Lifecycle Management Software Inc. Controlled dispersion rates for transfer swarms
US9134909B2 (en) 2011-08-30 2015-09-15 International Business Machines Corporation Multiple I/O request processing in a storage system
US9195504B2 (en) 2009-09-21 2015-11-24 Siemens Product Lifecycle Management Software Inc. Transfer of data structures in sub-linear time for systems with transfer state awareness
US10212022B2 (en) 2013-09-13 2019-02-19 Microsoft Technology Licensing, Llc Enhanced network virtualization using metadata in encapsulation header
US10467576B2 (en) 2008-03-07 2019-11-05 Software Ag Usa, Inc. Distributed software process tracking
US11640261B2 (en) 2017-12-05 2023-05-02 Huawei Technologies Co., Ltd. Log processing method to avoid log collision, and related device and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822523A (en) * 1996-02-01 1998-10-13 Mpath Interactive, Inc. Server-group messaging system for interactive applications
WO2000011849A1 (en) * 1998-08-20 2000-03-02 Nokia Networks Oy Method and apparatus for providing user multiplexing in a real-time protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822523A (en) * 1996-02-01 1998-10-13 Mpath Interactive, Inc. Server-group messaging system for interactive applications
WO2000011849A1 (en) * 1998-08-20 2000-03-02 Nokia Networks Oy Method and apparatus for providing user multiplexing in a real-time protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"BUNDLING SHORT PACKETS IN AN ATM OR PACKET NETWORK", IBM TECHNICAL DISCLOSURE BULLETIN,US,IBM CORP. NEW YORK, vol. 34, no. 4B, 1 September 1991 (1991-09-01), pages 360 - 362, XP000189604, ISSN: 0018-8689 *
B SUBBIAH ET AL: "User Multiplexing in RTP payload between IP Telephony Gateways", IETF, INTERNET DRAFT, 21 August 1998 (1998-08-21), XP002127741 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359973B2 (en) 2000-03-17 2008-04-15 Aol Llc, A Delaware Limited Liability Company Home-networking
US7353280B2 (en) 2000-03-17 2008-04-01 Aol Llc, A Delaware Limited Liability Company Home-networking
US7814230B2 (en) 2001-06-21 2010-10-12 Richard Rodriguez-Val Client device identification when communicating through a network address translator device
US7484005B2 (en) 2001-06-21 2009-01-27 Aol, Llc, A Delaware Corporation Client device identification when communicating through a network address translator device
US7051116B1 (en) 2001-06-21 2006-05-23 America Online, Inc. Client device identification when communicating through a network address translator device
EP1326387A4 (en) * 2001-06-28 2006-06-07 Ntt Docomo Inc Routing method, node, packet communication system, program, and recording medium
EP1326387A1 (en) * 2001-06-28 2003-07-09 NTT DoCoMo, Inc. ROUTING METHOD, NODE, PACKET COMMUNICATION SYSTEM, PROGRAM, AND RECORDING MEDIUM
US7301948B2 (en) 2001-06-28 2007-11-27 Ntt Docomo, Inc. Routing method, node, packet communication system, program, and recording medium
EP1296488A3 (en) * 2001-09-20 2003-05-14 Lucent Technologies Inc. Multiplexing IP data packets within a MPLS frame
EP1296488A2 (en) * 2001-09-20 2003-03-26 Lucent Technologies Inc. Multiplexing IP data packets within a MPLS frame
EP1623303A4 (en) * 2003-04-22 2011-04-20 Scientific Atlanta Information frame modifier
EP1623303A2 (en) * 2003-04-22 2006-02-08 Scientific-Atlanta, Inc. Information frame modifier
US7337219B1 (en) 2003-05-30 2008-02-26 Aol Llc, A Delaware Limited Liability Company Classifying devices using a local proxy server
EP1517515A3 (en) * 2003-08-20 2006-03-15 France Telecom Method and apparatus for transmission of packets with multiplexing.
EP1517515A2 (en) * 2003-08-20 2005-03-23 France Telecom Method and apparatus for transmission of packets with multiplexing.
FR2859059A1 (en) * 2003-08-20 2005-02-25 France Telecom Packet mode transmission method for internet protocol network, involves aggregating first packets which produce second packets, and sending second packet to determined address once second packet satisfies determined transmission criteria
US7437457B1 (en) 2003-09-08 2008-10-14 Aol Llc, A Delaware Limited Liability Company Regulating concurrent logins associated with a single account
WO2006012284A3 (en) * 2004-06-30 2007-01-25 Intel Corp An apparatus and method for packet coalescing within interconnection network routers
WO2006012284A2 (en) * 2004-06-30 2006-02-02 Intel Corporation An apparatus and method for packet coalescing within interconnection network routers
WO2006039599A1 (en) * 2004-09-29 2006-04-13 Intel Corporation Packet aggregation protocol for advanced switching
US7447233B2 (en) 2004-09-29 2008-11-04 Intel Corporation Packet aggregation protocol for advanced switching
CN101223743B (en) * 2005-07-19 2013-02-06 艾利森电话股份有限公司 Node and method for minimizing padding for voice over internet protocol-type traffic over radio link control
AU2006270553B2 (en) * 2005-07-19 2010-11-11 Unwired Planet, Llc Minimizing padding for voice over internet protocol-type traffic over radio link control
WO2007011298A1 (en) * 2005-07-19 2007-01-25 Telefonaktiebolaget Lm Ericsson (Publ) Minimizing padding for voice over internet protocol-type traffic over radio link control
US10467576B2 (en) 2008-03-07 2019-11-05 Software Ag Usa, Inc. Distributed software process tracking
US9195504B2 (en) 2009-09-21 2015-11-24 Siemens Product Lifecycle Management Software Inc. Transfer of data structures in sub-linear time for systems with transfer state awareness
US8166208B2 (en) 2010-04-26 2012-04-24 Siemens Product Lifecycle Management Software Inc. Method and system for XML data transfer transactional coalescing
WO2011136954A1 (en) * 2010-04-26 2011-11-03 Siemens Product Lifecycle Management Software Inc. Method and system for xml data transfer transactional coalescing
WO2011150767A1 (en) * 2010-08-12 2011-12-08 华为技术有限公司 Method, apparatus and system for data transmission processing
US8886593B2 (en) 2011-02-01 2014-11-11 Siemens Product Lifecycle Management Software Inc. Controlled dispersion rates for transfer swarms
US9134909B2 (en) 2011-08-30 2015-09-15 International Business Machines Corporation Multiple I/O request processing in a storage system
US9292209B2 (en) 2011-08-30 2016-03-22 International Business Machines Corporation Multiple I/O request processing in a storage system
US9483188B2 (en) 2011-08-30 2016-11-01 International Business Machines Corporation Multiple I/O request processing in a storage system
US10212022B2 (en) 2013-09-13 2019-02-19 Microsoft Technology Licensing, Llc Enhanced network virtualization using metadata in encapsulation header
US11640261B2 (en) 2017-12-05 2023-05-02 Huawei Technologies Co., Ltd. Log processing method to avoid log collision, and related device and system

Also Published As

Publication number Publication date
WO2000072532A9 (en) 2002-04-18
AU5288700A (en) 2000-12-12

Similar Documents

Publication Publication Date Title
JP4829896B2 (en) Method, system and article for improved network performance by avoiding data corruption
WO2000072532A1 (en) System and method for network packet reduction
Balakrishnan et al. TCP performance implications of network path asymmetry
EP1234428B1 (en) Method and apparatus for packet delay reduction using scheduling and header compression
JP4627669B2 (en) Packet transfer apparatus and transfer control method thereof
US6907042B1 (en) Packet processing device
US7042907B2 (en) Packet transfer apparatus and method
US6341129B1 (en) TCP resegmentation
US8125904B2 (en) Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
US7742454B2 (en) Network performance by dynamically setting a reassembly timer based on network interface
US20080159150A1 (en) Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly
US9876612B1 (en) Data bandwidth overhead reduction in a protocol based communication over a wide area network (WAN)
US20080008183A1 (en) Communication Device, Storage Medium, Integrated Circuit, and Communication System
US7089320B1 (en) Apparatus and methods for combining data
US6327626B1 (en) Method and apparatus for MSS spoofing
CA2473863A1 (en) Enhancements for tcp perfomance enhancing proxies
US6980549B1 (en) Policy enforcing switch
WO2008040203A1 (en) Method, system, and router for calculating the maximum transmission unit of the router output interface
US8964766B2 (en) Session relay equipment and session relay method
CN111935009B (en) Data packet routing method, device, equipment, system and storage medium
US20080101237A1 (en) Communication device
Le et al. Reliable user datagram protocol for airborne network
US7978598B1 (en) Connection replication
Mogul et al. Retrospective on" fragmentation considered harmful"
CN115766605A (en) Network congestion control method, device and system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/4-4/4, DRAWINGS, REPLACED BY NEW PAGES 1/6-6/6; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP