Compact segmentation of variable-size packet streams
First Claim
Patent Images
1. A method of segmenting variable-size packets, each packet being associated with one of a plurality of defined data streams, the method comprising steps of:
- concatenating packets of each data stream, from among said plurality of data streams, into concatenated packets; and
dividing each of said concatenated packets into equal-size segments, wherein said steps of concatenating and dividing are constrained by an adaptive delay threshold;
and wherein the adaptive-delay threshold is determined by an allocated transfer rate to said each data stream;
and wherein the adaptive delay threshold is governed by a transfer rate controller.
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
24 Claims
-
1. A method of segmenting variable-size packets, each packet being associated with one of a plurality of defined data streams, the method comprising steps of:
-
concatenating packets of each data stream, from among said plurality of data streams, into concatenated packets; and
dividing each of said concatenated packets into equal-size segments, wherein said steps of concatenating and dividing are constrained by an adaptive delay threshold;
and wherein the adaptive-delay threshold is determined by an allocated transfer rate to said each data stream;
and wherein the adaptive delay threshold is governed by a transfer rate controller. - View Dependent Claims (2, 3, 4)
-
-
5. In a switching node receiving packets from a plurality of incoming channels, a method of two-phase packet segmentation comprising:
-
segmenting individual packets in a first phase into first-phase segments using a plurality of first-phase segmentation circuits;
segmenting an aggregate of packets in a second phase into second-phase segments using a plurality of second-phase segmentation circuits;
switching an output of said first-phase segmentation circuits to said second-phase segmentation circuits under control of a routing algorithm;
wherein said routing algorithm selects routes from an incoming channel to a sink node using a method of maximum aggregation probability. - View Dependent Claims (6, 7)
-
-
8. 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 (9, 10, 11, 12, 13, 14, 15)
- 1 data streams, the data structure comprising;
-
16. 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 dequeueiflg 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 (17, 18, 19, 20, 21)
-
-
22. A circuit for fast concatenation of a first picket of a known length and a second packet of a known length into a complete segment of n predefined length, the circuit comprising a shift connector, a memory array, and a register array, the length of said first packet being smeller than said predefined length and the length of said second packet being less than said predefined length, 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.
Specification