Variable length inter-packet gap
AssigneeSun Microsystems, Inc.
InventorJohn M. Lo
Life of this patent
Estimating the term…
Abstract
A method and apparatus are provided for determining a suitable inter-packet gap (IPG), or a suitable extension to be added to a default IPG as a packet is processed. The apparatus includes an adder to add an incremental measure of a packet to an existing measure and produce a new measure (e.g., in bytes). The apparatus further includes a comparator which, if the new measure exceeds a programmable threshold (e.g., a stretch ratio), issues a signal to increase the IPG and decreases the new measure by the threshold. The current measure is then stored (e.g., in a register) for addition to the next incremental measure. A counter tracks the number of signals received before the end of the packet, at which time the total is forwarded to a component configured to insert or apply the IPG and the counter is reset for the next packet.
Claims37
An inter-packet gap configuration module for determining, as a packet is transmitted, a suitable inter-packet gap to be applied after the packet, comprising:
- addition means for adding a partial measure of the size of a packet and a previous measure to produce a new measure;
- signal means for generating a signal if said new measure equals or exceeds a threshold;
- and
- storage means for storing said new measure.
A programmable inter-packet gap (IPG) configuration module for calculating a number of inter-packet gap elements to apply after a packet, comprising:
- an adder configured to generate a new count of packet units by adding:
- a previous count of packet units;
- and
- an additional count of packet units;
- a comparator configured to compare said new count to a threshold;
- a signaller configured to generate an IPG extension signal if said new count is greater than said threshold;
- a subtractor configured to subtract said threshold from said new count if said new count is greater than said threshold;
- and
- a storage element configured to store said new count.
An apparatus for calculating an inter-packet gap extension based on a size of a packet, comprising:
- an adder configured to add a current byte count and an incremental byte count to produce a new byte count, wherein said incremental byte count comprises a number of bytes processed in a packet as the packet is transmitted;
- a storage component configured to store said new byte count;
- a comparator configured to generate an inter-packet gap extension signal if said new byte count exceeds a threshold;
- and
- a counter configured to sum said inter-packet gap extension signals to determine an inter-packet gap extension.
An inter-packet gap (IPG) extender, comprising:
- an adder module configured to add a current measure of a packet size and an incremental measure of the packet to produce an incremented measure;
- a comparison module configured to receive said incremented measure, comprising:
- a comparator configured to issue an extension signal if said incremented measure is greater than a threshold value;
- a subtractor configured to decrement said incremented measure by said threshold to produce a decremented measure;
- and
- a first multiplexer configured to issue one of said incremented measure and said decremented measure as a new measure;
- a first storage configured to store said new measure;
- and
- an extension counter configured to receive said extension signal, comprising:
- an adder configured to add a current IPG extension and an incremental IPG extension to produce an incremented IPG extension;
- a second multiplexer configured to issue one of said current IPG extension and said incremented IPG extension as a new IPG extension;
- and
- a second storage configured to store said new IPG extension.
A method of configuring an inter-packet gap (IPG) to be applied after a packet, as the packet is transmitted, comprising:
- (a) receiving an incremental measure of a portion of the packet;
- (b) receiving a current measure;
- (c) calculating a new measure, said new measure comprising the sum of said incremental measure and said current measure;
- (d) determining whether said new measure exceeds a programmable threshold;
- (e) if said new measure exceeds said programmable threshold:
- (e′) incrementing a count of the size of an IPG to follow the packet;
- and
- (e″) subtracting said programmable threshold from said new measure;
- (f) storing said new measure;
- (g) repeating (a) through (g), wherein said current measure comprises said stored new measure;
- and
- (h) delaying transmission of a subsequent packet by said count of inter-packet gaps.
Dependencies are inferred from the claim text.