System for segmenting data packets to form binary decision trees which determine filter masks combined to filter the packets for forwarding
First Claim
1. A method for processing a data communications binary data packet for forwarding said packet to a next destination within a data communications network, said packet including a data portion and an information containing portion having keys, each key having a data value, comprising the steps ofsegmenting said information containing portion into a plurality of information subset segments, each segment associated with at least one of said keys,creating and storing a binary tree decision table associated with each of said segments, each of said binary tree decision tables having a plurality of non-final nodes, and a plurality of final nodes, each of the tables representing a binary decision tree structure,processing each of said information subset segments using the associated binary tree decision tables to determine a filter mask for each segment,combining the results of each filter mask to provide a final filter mask for determining data processing to be used for said packet for filtering and forwarding said packet to a next destination on the basis of the data values of the keys being within preselected ranges of data values, andprocessing said packet in accordance with the processing results using said final filter mask.
6 Assignments
0 Petitions
Accused Products
Abstract
A packet processing method and apparatus efficiently process a binary data packet based upon information contained in the header portion of the packet. The method and apparatus employ a binary tree search method for determining ranges of key elements of the packet and associating with each of the ranges a user supplied data and filter mask. The binary search process employs a unique binary tree storage structure which both conserves storage memory and enables efficient processing to reach a final node of the binary tree decision table. Nodes can be added or deleted from the table by the user as the data packet processing needs change.
-
Citations
24 Claims
-
1. A method for processing a data communications binary data packet for forwarding said packet to a next destination within a data communications network, said packet including a data portion and an information containing portion having keys, each key having a data value, comprising the steps of
segmenting said information containing portion into a plurality of information subset segments, each segment associated with at least one of said keys, creating and storing a binary tree decision table associated with each of said segments, each of said binary tree decision tables having a plurality of non-final nodes, and a plurality of final nodes, each of the tables representing a binary decision tree structure, processing each of said information subset segments using the associated binary tree decision tables to determine a filter mask for each segment, combining the results of each filter mask to provide a final filter mask for determining data processing to be used for said packet for filtering and forwarding said packet to a next destination on the basis of the data values of the keys being within preselected ranges of data values, and processing said packet in accordance with the processing results using said final filter mask.
-
13. An apparatus for processing a data communications binary data packet for forwarding said packet to a next destination within a data communications network, said packet including an information containing portion having keys, each key having a data value, comprising:
-
means for segmenting said information containing portion into a plurality of information subset segments, each segment associated with at least one of said keys, means for creating and storing a binary tree decision table associated with each of said segments, each of said binary tree decision tables having a plurality of non-final nodes, and a plurality of final nodes, each of the tables representing a binary decision tree structure, means for processing each of said information subset segments using the associated binary tree decision tables to determine a filter mask for each segment, means for combining the results of each filter mask to provide a final filter mask for determining the data processing to be used for said packet for filtering and forwarding said packet onto a next destination on the basis of the data values of the keys being within preselected ranges of data values, and means for processing said packet in accordance with the processing results using said final filter mask. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification