Method and system for reassembling and parsing packets in a network environment
First Claim
Patent Images
1. A method of reassembling a plurality of information elements included in one or more packets that may be received in any order, comprising:
- providing a buffer having a plurality of locations, each location capable of storing an information element;
providing a plurality of flags, in a memory, in one-to-one correspondence with the plurality of locations in the buffer, each flag to indicate whether an information element is stored or not at the corresponding location in the buffer;
storing a plurality of information elements in the buffer according to one or more sequence numbers, associated with the one or more packets, that determine a correct order, wherein the sequence number for a packet determines the location in the buffer where any information element included in the packet is stored, so that the information elements, if received in a different order, are placed in the correct order;
for each information element stored in the buffer, setting the flag corresponding to the location in the buffer where the data element is stored to indicate storage of an information element at the location; and
scanning information derived from the plurality of flags in the memory to determine whether reassembly is complete.
8 Assignments
0 Petitions
Accused Products
Abstract
A packet reassembly system includes a buffer for storing information elements included in one or more incoming packets, a memory for storing validity indicators corresponding to the information elements, a first logic circuit capable of setting the validity indicators based on the information elements stored in the buffer, and a second logic circuit capable of determining the contiguity of the information elements stored in the buffer based on the settings of the validity indicators.
-
Citations
20 Claims
-
1. A method of reassembling a plurality of information elements included in one or more packets that may be received in any order, comprising:
-
providing a buffer having a plurality of locations, each location capable of storing an information element; providing a plurality of flags, in a memory, in one-to-one correspondence with the plurality of locations in the buffer, each flag to indicate whether an information element is stored or not at the corresponding location in the buffer; storing a plurality of information elements in the buffer according to one or more sequence numbers, associated with the one or more packets, that determine a correct order, wherein the sequence number for a packet determines the location in the buffer where any information element included in the packet is stored, so that the information elements, if received in a different order, are placed in the correct order; for each information element stored in the buffer, setting the flag corresponding to the location in the buffer where the data element is stored to indicate storage of an information element at the location; and scanning information derived from the plurality of flags in the memory to determine whether reassembly is complete. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for handling packet traffic, comprising:
-
a buffer for storing a plurality of information elements included in one or more packets that may be received in any order, the buffer having a plurality of locations, the plurality of information elements being stored according to one or more sequence numbers, associated with the one or more packets, that determine a correct order, wherein the sequence number for a packet determines the location in the buffer where any information element included in the packet is stored, so that the information elements, if received in a different order are placed in the correct order; a memory for storing a plurality of validity indicators in-one-to-one correspondence with the plurality of locations of the buffer, each such validity indicator to indicate whether an information element is stored or not at the corresponding location of the buffer; a first logic circuit capable of setting the validity indicators based on storage of the information elements at the corresponding locations of the buffer; and a second logic circuit capable of determining a contiguity of the information elements stored in the buffer based on the settings of the validity indicators. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system for handling packet traffic, comprising:
-
means for storing a plurality of information elements included in one or more packets, which may be received in any order, at a plurality of locations according to one or more sequence numbers, associated with the one or more packets, that determine a correct order, a sequence number for a packet determining the location where any information element included in the packet is stored, so that the information elements, if received in a different order, are placed in the correct order; means for storing a plurality of validity indicators that are in one-to-one correspondence with the plurality of locations, wherein each of the validity indicators is to indicate whether an information element is stored or not at the corresponding location; means for setting the validity indicators based on storage of the information elements in the corresponding locations; and means for determining a contiguity of the stored information elements based on the settings of the validity indicators. - View Dependent Claims (15)
-
-
16. A method of reassembling a plurality of information elements that may be received in any order comprising:
-
providing a memory having a plurality of locations, each for storing an information element; providing a plurality of indicators in one-to-one correspondence with the plurality of locations, each such indicator to indicate whether an information element is stored or not at the corresponding location in the memory; storing a plurality of information elements in the memory according to sequence numbers, associated with the information elements, that determine a correct order wherein the sequence number for an information element determines the location in the memory where the information element is stored, so that the information elements, if received in a different order, are placed in the correct order; for each information element stored in the memory, setting the indicator for the corresponding location to indicate storage of the information element at that location; and determining if reassembly is complete by examining contiguity of one or more of the locations in the memory based on settings of the corresponding indicators. - View Dependent Claims (17, 18, 19, 20)
-
Specification