Compact segmentation of variable-size packet streams
First Claim
1. A method of segmentation of variable-size packets, each packet being associated with a defined data stream, wherein packets of a defined data stream are concatenated and divided into equal-size segments, the packet concatenation and segmentation being constrained by adaptive delay thresholds.
8 Assignments
0 Petitions
Accused Products
Abstract
A method is described for segmenting a data stream comprising variable-size packets, a data stream being defined by its source node, sink node, assigned network route, and other attributes. The segments are of equal size and the method concatenates the packets in successive segments in a manner that attempts to minimize segmentation waste without undue delay. The method facilitates the construction of efficient networks that scale to very high capacities while respecting service-quality specifications. Apparatus for implementing the method are also described.
-
Citations
42 Claims
- 1. A method of segmentation of variable-size packets, each packet being associated with a defined data stream, wherein packets of a defined data stream are concatenated and divided into equal-size segments, the packet concatenation and segmentation being constrained by adaptive delay thresholds.
- 10. In a switching node receiving packets from a plurality of incoming channels, a method of two-phase packet segmentation wherein the first phase segments individual packets and the second phase segments an aggregate of packets.
-
22. A data structure to enable merging equal-size null-padded data segments into new equal-size data segments having reduced null-padding, the data segments belonging to K>
- 1 data streams, the data structure comprising;
(i) An array “
A”
of fractional segments having K entries, each entry dedicated to a data stream;
(ii) An array “
B”
of complete segments having K1>
K entries; and
(iii) a control matrix “
C”
having K records, each record dedicated to a data stream and having four fields to indicate, for a corresponding stream, the stream'"'"'s delay threshold, the stream'"'"'s current delay, the fill of a respective fractional-segment in array “
A”
, and the address of a complete segment in array “
B”
. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
- 1 data streams, the data structure comprising;
-
30. A compact-segmentation apparatus operable to segment variable-size packets into compact fixed-size segments, the apparatus comprising:
-
(a) a packet segmentation circuit;
(b) an enqueueing controller;
(c) a principal data memory;
(d) an auxiliary data memory;
(e) a control memory;
(f) a dequeueing controller; and
(g) a transfer-rate controller;
wherein said packet segmentation circuit receives variable-size packets and segments each of said variable-size packets into plain segments, said packet segmentation circuit identifies a data stream associated with each one of said variable-size packets, said enqueueing controller communicates with said control memory, said principal data memory, and said auxiliary data memory, and concatenates said plain segments of a data stream with previously-received segments of same data stream, said transfer-rate controller selects a selected data stream, and said dequeueing controller selects data segments, belonging to said selected data stream, from waiting data segments in said principal data memory and said auxiliary data memory for transfer downstream. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A circuit for fast concatenation of a first packet of a known length and a second packet of a known length into a complete segment of a predefined length, the circuit comprising a shift connector, a memory array, and a register array,
wherein the length of said first and second packets is smaller than said predefined length, and wherein said first packet is copied onto said register array, said shift connector performs a concatenation process that concatenates said second packet with said first packet onto said register array placing any remainder resulting from said concatenation process in said memory array.
- 39. A heterogeneous data segment format comprising a front header followed by a corresponding payload data and a plurality of inner headers, each inner header followed by a corresponding payload data.
Specification