Data labeling technique for high performance protocol processing
First Claim
1. A method of transmitting data from a transmitting station via a network to a receiving station, said data including a plurality of basic data units which together comprise a protocol data unit, said method comprising the steps of, at said transmitting station, transmitting said data in said network in units of chunks, each said chunk comprisingone or more basic data units,and a chunk header common to all of the basic data units of the chunk and which indicates:
- (a) the type of basic data units in the chunk,(b) protocol data units to which each basic data unit in the chunk belongs,(c) the relative position of the basic data units in said protocol data units,(d) the size of each basic data unit in the chunk and the number of basic data units in the chunk, and(e) boundaries of the protocol data units,and, at said receiving station, receiving and processing said basic data units.
9 Assignments
0 Petitions
Accused Products
Abstract
In accordance with the present invention, data is transmitted through a network in chunks. Chunks are self-describing units designed for high speed protocol processing. Packets act as envelopes for carrying chunks across a network. The self-describing nature of chunks allow them to be processed as they arrive at the receiver regardless of any misordering. The ability to process data without intermediate buffering for reordering or reassembly improves protocol processing performance. The chunks also distribute protocol data units control overhead over multiple packets.
-
Citations
17 Claims
-
1. A method of transmitting data from a transmitting station via a network to a receiving station, said data including a plurality of basic data units which together comprise a protocol data unit, said method comprising the steps of, at said transmitting station, transmitting said data in said network in units of chunks, each said chunk comprising
one or more basic data units, and a chunk header common to all of the basic data units of the chunk and which indicates: -
(a) the type of basic data units in the chunk, (b) protocol data units to which each basic data unit in the chunk belongs, (c) the relative position of the basic data units in said protocol data units, (d) the size of each basic data unit in the chunk and the number of basic data units in the chunk, and (e) boundaries of the protocol data units, and, at said receiving station, receiving and processing said basic data units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of transmitting data in a packet network having a transmitting station and a receiving station comprising the steps of:
-
at said transmitting station connected to said network, organizing said data into chunks, each chunk comprising one or more basic data units, and a chunk header which indicates the data type, one or more protocol units to which the basic data units in the chunk belong, the relative position of the basic data units of said one or more protocol data units, the number of basic data units in the chunk, the size of the basic data units, and if a last of said basic data units is the last basic data unit of a protocol data unit, at said transmitting station, placing one or more of said chunks into a plurality of data packets; transmitting said data packets via said network; and at said receiving station, removing said chunks from said packets and then processing said data in each said chunk. - View Dependent Claims (12, 13, 14)
-
-
15. A method for transmitting data between a transmitting station having a first processing unit for executing protocols organized in a first protocol stack and a receiving station having a second processing unit for executing protocols organized in a second protocol stack,
peer protocol entities in said first and second stacks communicating logically in protocol data units, said transmitting station and said receiving station communicating physically by transmitting data packets through a network connecting said transmitting station and said receiving station, said method comprising the steps of: -
at said transmitting station, organizing said data to be transmitted into chunks, each chunk comprising one or more basic data units and a chunk header common to all of the basic data units, said chunk header being descriptive of all said basic data units, said chunk header identifying (a) one or more protocol data units to which said basic data units belong, (b) the relative position of said basic data units in said protocol data units and if a last of the basic data units in the chunk is the last basic data unit of said protocol data units, (c) the size of the basic data unit and the number of basic data units in the chunk, and (d) the type of data in said basic data units, so that the basic data units of the chunk can be processed in a peer protocol entity in the second protocol stack at said receiving station without depending on the arrival of any chunk from any other peer protocol entity in the second protocol stack at said receiving station, each of said packets containing one or more chunks, and at said receiving station, receiving each said chunk and processing said basic data units of each said chunk.
-
-
16. A method for communicating data in packets between a transmitting station and a receiving station over an intervening network, said data including protocol data units and said method comprising the steps of:
-
at said transmitting station, assembling said data into units of chunks, each chunk being self-describing and comprising one or more basic data units and a chunk header common to all of the basic data units of the chunk and containing the self-describing information which indicates; (a) the type of basic data units in the chunk, (b) one or more protocol data units to which the basic units in the chunk belong; (c) the relative position of the basic data units in said one or more protocol data units; and (d) the boundaries of the one or more protocol data units, inserting a plurality of said chunks into individual ones of said packets, and transmitting said packets over said network to said receiving station; and at said receiving station, receiving said packets, selectively removing some of the chunks from individual ones of said packets in accordance with the self-describing information in the chunk headers of the chunks, and processing the data contained in the chunks thus removed. - View Dependent Claims (17)
-
Specification