<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Increasing the efficiency of packet classifiers with closed descriptions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>F. Gon</string-name>
          <email>egoncharova@hse.ru</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>i O. Kuzn</string-name>
          <email>skuznetsov@hse.ru</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Research University Higher School of Economics</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Efficient representation of packet classifiers has become a significant challenge due to the rapid growth of data stored and processed in the forwarding, or routing, tables. In our work we propose two algorithms for reducing the size of forwarding tables both in length and width by the deletion of redundant bits and unreachable rules based on FCA analysis. We consider the task of transferring the forwarding packet to the correct destination as the task of multinomial classification. Thus, the process of reducing the forwarding table size corresponds to feature selection procedure with slight modifications. The presented techniques are based on closed descriptions and decision trees. The main challenge in applying decision trees to the task is processing the overlapping rules. To overcome this challenge we propose to employ concept-based hypotheses to delete unreachable actions assigned to the overlapping rules. The experiments were performed on data generated by the ClassBench software. The proposed approach results in significant decrease in bits in the forwarding tables as features.</p>
      </abstract>
      <kwd-group>
        <kwd>FIB optimization</kwd>
        <kwd>concept-based hypotheses</kwd>
        <kwd>decision tree</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction and related works</title>
      <p>A FIB (forwarding information base) is a wide-spread network instrument used for
routing and forwarding packets to the proper output network interface. Due to the
rapid growth of the forwarding tables size the time of lookup and forwarding process
increases significantly. Modern networking systems require the process of packet
transferring to be more and more efficient and fast. In our research we introduce a
novel technique for optimization of forwarding tables. Application of the proposed
algorithm results in the reduction of the number of bits, which are kept in the memory
and used for the lookup process. We consider the task of transferring the forwarding
packet to the correct destination in accordance with the FIB as a special task of
multinomial classification, where train and test data are the same, so overfitting is not an
issue. Thus, the process of reducing the size of the table is considered as the task of
feature selection and rule reduction. The presented approaches are based on closed
descriptions defined in terms of Formal Concept Analysis (FCA).</p>
      <p>
        Some of the existing techniques for FIB optimization utilize the decision tree
approach, e.g. in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the authors present a new algorithm using a heuristic based on the
structure built in the classifier. The main idea of algorithm HiCut presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is to
create a decision tree based on structural properties of the classifier, where a leaf node
stores just a few numbers of rules. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] the authors introduce a new algorithm called
HyperCut, which is the modification of HiCut. Each node in the decision tree of
HyperCut represents a k-dimensional hypercube. In comparison to the previous version
of the algorithm the authors claim to attain 2 to 10 times memory reduction. The main
problem of these approaches is processing the overlapping rules.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] a novel algorithm that reveals the structural properties of FIB is proposed.
The authors present a technique for reducing the number of fields (columns) in the
forwarding table. The approach proposed in the article is similar to the greedy
technique of feature selection. The authors are trying to reduce the rules width by
selecting the fields and bits which are important for the classification process. They achieve
it by sequential deletion of each field checking whether the classifier keeps the
property of order-independence. We will use this algorithm as the baseline in our
experiments.
      </p>
      <p>The paper is organized as follows. In Section 2 we describe data and formalize the
model of forwarding tables. Section 3 contains the description of the evolving
approaches. Experimental results are reported in Section 4. Section 5 concludes the
paper.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Model description</title>
      <p>The basic scheme of packet classification using forwarding table can be presented as
follows. The incoming packet goes through the table, and the first row that matches
the packet description defines the respective action.</p>
      <p>
        We start with the main definitions of packet forwarding. The table entry is a packet
header ( ), { }, which is a sequence of bits, each of them
can take values zero or one. This sequence goes through the ordered set of rules
( ), where each rule is represented by the ordered set of ternary
values 0, 1, and * (“don’t care”), and the corresponding action , ̅̅̅̅̅, where
is a number of all possible actions. This set of rules is often implemented in ternary
content-addressable memory (TCAM). The forwarding process looks for exact values
for all fields, assigning the packet header to the corresponding action. A header
matches a rule if for every bit from the corresponding bits from takes either the
same or * value [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>The forwarding table is used with due account of the priority relation on actions.
Let ( ) be a priority of action , then ( ) ( ) if . If an input packet
matches more than one rule, then the rule with the action having the highest priority is
applied.</p>
      <p>The initial packet is not given in the binary form. Packet descriptions consist of
several fields, the number of fields depends on the specific protocol version (e.g.,
IPv4 or IPv6). In general, the source and destination hosts, port numbers, or the port
numbers range make the fields of classification rule. To follow the definition
mentioned above each of the field values should be performed in TCAM format. For
instance, the IP-address with the mask can be presented in 32-bit form, where the mask
marks the significant bits. Table 1 gives an example of simplified routing table.</p>
      <sec id="sec-2-1">
        <title>IP-address of destination port 40.140.16.190/32 79.205.27.10/32 79.205.31.157/32</title>
        <p>In this simplified table the rule is built upon one field, which is IP-address of the
source port, and the action is represented by IP-address of the destination port.</p>
        <p>
          First, the initial data is transformed to TCAM format, where each number is
encoded by zero, one, or * (“don’t care”) value. Table 2 gives an example of ternary
forwarding table, where only last eight bits of the IP-address are encoded. In this
example there are 7 various actions and 8 features , which generate the rules of
the forwarding table.
The algorithms we describe below are formulated in terms of Formal Concept
Analysis (FCA). To operate with TCAM data we propose a specific pattern structure [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]
( ( ) ), where is a set of objects, is a set of all possible object descriptions,
and ( ) is a meet-semi-lattice of object descriptions. Mapping takes an
object to its description ( ). Galois connection between ( ) and ( )
is defined as follows [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>( )}
( )
( )
{
0
1
*
0
0
*
*
{
)</p>
        <p>In our case is a set of rules,
scriptions of each rule in the alphabet {
The scheme of intersection operation
is a set containing all possible TCAM
de</p>
        <p>}, so the pattern structure (is ( ) ).</p>
        <p>is presented in Table 3.</p>
        <p>the result of intersection operation is the following:
(
(
)
)
( )</p>
        <p>( )
( ), as (
( )
}, and
(
).
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Optimization algorithm</title>
      <p>
        We consider the general task as a standard multinomial classification problem, where
the rows of the table stay for objects described by features and assigned to the
corresponding classes (actions). The application of informative feature selection results in
revealing the minimal combination of the informative features, thus decreasing the
width of the routing table. Therefore, the look-up procedure of assigning the packet to
the corresponding action can become faster. We consider two techniques based on
concept-based hypotheses. The first approach is based on a variation of Close-by-One
(CbO) algorithm [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This method results in constructing a minimal feature subset that
determines the corresponding action and the reduction in the number of rules. The
second approach combines concept-based hypotheses as a preprocessing step for
deleting the overlapping rules with the decision tree algorithm for revealing the
informative features.
3.1
      </p>
      <sec id="sec-3-1">
        <title>Concept-based hypotheses</title>
        <p>
          Concept-based hypotheses [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] used to generate rules with short premises are
reformulation of JSM-hypotheses [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] in terms of formal concepts. Data can be represented by
contexts describing each of actions (classification results) ( ( ) )
, where is a set of the -th action examples; mapping
assigns an -action example to description ( ) . The derivation
operators in these contexts are defined by superscripts . Thus, the intent of -th
action examples are denoted by . Intents of context are called -th action intents.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Method based on Close-by-One algorithm</title>
        <p>
          The first approach is based on an adaptation of CbO algorithm in the depth-first
strategy [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The basic scheme of the proposed method is as follows.
        </p>
        <p>For each context ( ( ) ) we build the CbO tree trying
to define a minimal feature subset responsible for defining the -th action. Let
be a set of rules, and be a common description for each rule from ,
where is a node index in CbO tree (e.g. for the root equals zero, for the
root’s children nodes node will be one, etc.).
1. The root of the tree is a pair ( ), where and .</p>
        <p>Its child nodes consist of just one rule and its description ( ), { } and
( ) . If ( ) includes a rule corresponding to action
then the rule can be deleted from the routing table as unreachable. It is
explained by the priority property, because each packet that satisfies also satisfies
, hence as ( ) ( ), will never be reached.
2. Having created the children nodes of the first generation, we construct the next
generations of children nodes ( ), . To accomplish this step
we add one of the remaining rules to the previous rules set . To get the
feature-bit vector describing this new set of rules we should intersect the feature-bit
vector corresponding to the added rule ( ) with the current node description
) . This step can be formulated in accordance with the following rules.
{
},</p>
        <p>;
(
)
3. If includes a rule corresponding to action , then we have got an
overgeneralized description. We should return to the parent and add one
of the remaining rules. We aim to create the most common description of the -th
action that does not cover the description of other actions.</p>
        <p>Example. Consider the work of the method by the example of data in Table 2. As we
have only one rule for , we leave it without modification, so { } and
{ }.</p>
        <p>The first action is also defined by one rule only: { } and
{ }, however, { } and ( ) { }, where defines .
According to the second step of the algorithm, since ( ) ( ), rule can be
deleted from the routing table as unreachable.</p>
        <p>The fourth action is determined by two rules { }. The second generation of
children is { }, { }. { }, which means that
is the most compact description for action .</p>
        <p>For the fifth action there are also two rules { }, { }.
However, { }, where defines , in accordance with the third step of
the algorithm, the obtained description is too general, and we should return to the
parent nodes { } and { }. Thus, action cannot be presented by one
rule, both rules and should be kept in the final routing table.</p>
        <p>The actions , and remain the same, because they are described by one rule
only. To illustrate the process described above we present the part of CbO-tree built
for FIB given in Table 2 (Fig. 1). The final FIB is given in Table 4.</p>
        <p>Fig 1. A part of CbO tree.
It should be mentioned that the proposed technique does not affect the width of the
routing table significantly. It can reduce the number of informative features for each
action separately. Besides, it is able to decrease the length of the table by deleting
unreachable actions and compressing the number of rules. In some cases the width of
the table can also be reduced, for instance, if a feature-bit takes the same value for
each rule in the table (i.e. the column of the table consists either of zeros, or ones),
this feature-bit can be deleted from the table as uninformative.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Decision tree and concept-based hypotheses</title>
        <p>The second approach uses concept-based hypotheses in a different way. Here we use
them not for feature selection, but in the preprocessing step for deleting unreachable
rules. While the final stage of feature selection is performed by a standard machine
learning technique, decision tree induction in our case.</p>
        <p>As we already mentioned some rules can be redundant in the initial table. These
unreachable rules complicate the process of building the decision tree, whereas they
should not be taken into account in the first way. We consider using concept-based
hypotheses to detect them. Having deleted the unreachable rules we generate a
decision tree. To create the optimized table we parse the decision tree finding the route for
each action with zero error. A route is represented as a row from the optimized table.</p>
        <p>As in the algorithm based on CbO we find pairs ( ), where
defines the minimal description for -th action to detect the unreachable rules. If the
proportion of “*” in is less than some threshold , and contains a rule
corresponding to action , then we perform a checking procedure as
follows. For all rules { } if ( ) ( ), then is
an unreachable rule and can be deleted from the forwarding table.</p>
        <p>Threshold is used to catch overgeneralized descriptions that can match
large number of rules, we set it to ⁄ in this work. For instance, in example given in
Section 3.2 the proportion of “*” in { } equals to ⁄ , which is
more than a half. So, we assume that it is an overgeneralized description and there is
no need to compute and check the inclusion. In this algorithm we do not aim at
finding minimal hypotheses for the actions, but at deleting the unreachable rules.
Thus, this stage is responsible for decreasing the length of the routing table. We
should mention that is a hyperparameter aiming at avoiding long execution time, in
our experiments the value ⁄ has provided good performance; however, its impact
could be examined more carefully in future works.</p>
        <p>Upon deleting all unreachable rules we propose to use decision tree algorithm to
find the routes that are able to distinguish all the actions. This stage results in
selection of the feature-bits that are informative for classification process, this selection
decreases the width of the table. The choice of decision tree algorithm is based upon
two reasons:
─ built-in procedure of feature selection, thus finding a rule for this or that action we
obtain a short way of defining it.
─ overfitting does not present a problem for this specific task, because the routing
table should be an exact classifier by definition, future data cannot violate it
without a general rearrangement of the routing scheme due to external reasons.</p>
        <p>
          We use python implementation of decision tree classifier based on CART
algorithm [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] that constructs binary tree structure and information gain for feature
selection. It should be mentioned that standard machine learning techniques are not able to
operate with pattern structures, therefore, to create a decision tree we encode the
features with the following rules:
{
{
{
This encoding scheme respects the intersection operation given by Table 3. Upon
processing the bits can be simply decoded into the initial ternary form.
        </p>
        <p>( )
This means that
table.</p>
        <p>The</p>
        <p>Having created the decision tree for the initial data without the unreachable rules
we can apply the simple false-positive check procedure to check the correctness of the
classification results.</p>
        <p>Thus, in the proposed method the length of the forwarding table is reduced by
applying concept-based hypotheses, whereas, the decision tree with feature selection
reduces the width of the table. We have applied this method to the sample FIB given
in Table 2.</p>
        <p>Example. Let us consider the optimization procedure of the sample FIB given in
Table 2 using the proposed method. In this specific example the most pairs
( ) forming the nodes of CbO tree describe one rule only (see Fig. 1), so
they are not included in the procedure of unreachable rules defining. However, there
are several pairs that should be processed. The first pair is
( ) ({ } { }), where { } and corresponds to action
, which has less priority than defined by . Thus, we should check for ;
the proportion of “*” in equals to ⁄ , which is less than ⁄ . This means
that the description is not too general, and is a candidate for unreachable rule. Then
we examine the inclusion of rules’ descriptions ( ) ( ). In our case
( ) { } { } { } ( ).</p>
        <p>is an unreachable rule and can be deleted from the forwarding
second pair which describes more than one rule is
( ) ({ } { }). The set { } does not include rules
corresponding to different actions (both and define action ) and, hence, there
are no unreachable rules in this pair.</p>
        <p>The third candidate is ( ) ({ } { }), where
{ }. Rule corresponds to , while and define . However, as has
been mentioned above, the proportion of “*” in is greater than a threshold .
Thus, we assume that the obtained description is too general and there are no
unreachable rules in the set . In this case the assumption is correct, because action
cannot be described by the one rule only, both and should be kept in the final
table. Neither the description of nor the description of covers ( ), which
means that is a reachable rule.</p>
        <p>Application of the preprocessing stage resulted in deleting of one unreachable rule
from the initial sample table. After this step we apply decision tree procedure to
generate the paths of bits, which are able to define remaining actions, and build the
optimized forwarding table using these paths. The optimized version of FIB given in
Table 2 is presented in Tables 5 and 6.
*
*
*
*
*
*
*
*</p>
        <sec id="sec-3-3-1">
          <title>Action A0 A1 A3</title>
          <p>A4
A5
A5
A6</p>
          <p>A7
*
1
*
*
*
0
1
*
0
1
*
1
*
0
1
*
1
*
*
*
1
*
*
0
*
*
Upon the deletion of unreachable rules the decision tree classifier has revealed the set
of uninformative bits { }, which are not included in any classification rule. These
bits take “*” value for each rule in Table 5.
If we delete some bits from initial table we may have a so called false positives, when
some packet satisfies the reduced table (without several bits), whereas it does not
correspond to any rule in the initial FIB. To make the problem clear, let consider two
reduced tables (table 4 and 6), obtained with the proposed approaches.</p>
          <p>In accordance with the resulting table 4 the packet ( ) will be
forwarded to by rule, whereas does not satisfies any of the initial actions
or , which have been the basis for this new rule.</p>
          <p>In table 6 the same problem occurs. For example, let ( ) be a
forwarded packet. In accordance with the values of the 1st, 2nd, and 6th bits the reduced
table will assign this packet to action 3, whereas actually this packet should not be
assigned to any action and should be stopped by the table.</p>
          <p>
            To prevent this type of errors a false-positive check procedure should be included
in the algorithms [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. The procedure is implemented as follows, if some rules have
been modified, then we should keep its initial variant in memory (32 bits and the
corresponding action). Thereafter, if some input packet satisfies the new modified rule,
then we check whether it also satisfies the initial rules (the ones we keep in the
memory). If it suits one of them, the packet should be forwarded to the corresponding
action; it is dismissed, otherwise. The process of checking is a simple comparison of
two points in multidimensional space. So, the deleted bits are not included in the
process of the classification procedure itself, but they are kept to prevent false positives.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Experimental results</title>
      <p>
        The experiments were performed using the synthesized data provided with
ClassBench software [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. ClassBench generates sample routing table according to the
parameters obtained from the real FIB. The synthesized tables used for the
experiments consisted of the IP-address of the source port with 32-bit mask as description
and IP-address of the destination port as the output action. We evaluated three
generated routing tables characterized by 32 bits and consisting of 100, 500, and 906 rules,
respectively.
      </p>
      <p>
        Two proposed methods were applied to the tables described above. We compared
the performance of the proposed methods with the results of the approach similar to
the one presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The authors of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] utilize structural properties of FIB and
reduce the width of the table by deleting the bits which do not affect the
orderindependence property. This algorithm is close to greedy technique of feature
selection, where the order-independence property is checked instead of the
informationgain criterion. This algorithm acts as a baseline in the experiments. The results
obtained during the experiments are presented in Tables 7-9, where “Order
independence” stay for the approach from [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We assess the performance with respect to the
following properties.
      </p>
      <p>Reduced number of feature-bits (column 1) shows how many bits of the 32
initial ones have been declared informative. Reduced number of rules (column 2) gives
the amount of rules in the final table. This property demonstrates how many rules
have been declared unreachable or have been united. The last property (column 3)
says how many actions have been deleted from the table as unreachable.
We can see that the best results in reduction of table width are obtained by the
decision tree algorithm in combination with concept-based hypotheses. Applying
conceptbased hypotheses resulted in deleting two of 57 in the first experiment, and 32 and 38
actions of 95 in the second and the third experiments respectively. This approach
deleted more than a half of all initial features of the first and second synthesized FIBs.
In two of three experiments the length of the table was reduced by CbO-based
algorithm in the best way. It confirms the fact that the first approach succeeds in deleting
redundant rules, while the other techniques are better in width reduction. It should be
mentioned that we keep in the memory initial rules, which constitute the new
modified rules and correspond to reachable actions, in order to perform false-positive
check procedure by necessity.</p>
      <p>
        The baseline approach utilizing order-independence property [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] showed the best
results in minimizing the width of a forwarding table in the first experiment with 100
rules and 57 unique actions. However, it should be mentioned that respecting
orderindependence property one increases the number of rules. Turning the table into
order-independent format requires extending of some rules and decoding the “don’t
care” value into the zeros and ones in order to prevent conflict of rules.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In our work we have presented two approaches to forwarding table minimization
based on decision trees and concept-based hypotheses. The first technique is based on
CbO-tree construction using a special pattern structure. The second approach utilizes
decision tree classification algorithm in combination with concept-based (JSM)
hypotheses (DT + JSM) aiming to delete the unreachable rules and reduce the length of
the table.</p>
      <p>The experiments performed on data provided by the ClassBench software showed
that the best trade-off between decreasing the width and the length of the classifier is
obtained by DT + JSM technique. This method resulted in significant reduction in
both the rules and bits number. The former was obtained by revealing the
contradicting hypotheses and, thus, unreachable rules deletion, whereas the latter was achieved
by applying the decision tree algorithm to the modified table without unreachable
rules. The proposed approaches were compared to the existing technique based on
keeping order-independence property of the table. Whereas the number of deleted
redundant features is comparable, the number of the rules kept in the final table is
larger for the order-independent approach. The method based on CbO-tree
construction resulted in significant reduction of routing table length, which was obtained by
intersection of the rules corresponding to specific action; however, it could not reduce
big number of features.</p>
      <p>Overall, the proposed algorithms can be applied to the task of forwarding table
minimization. In this work we overview the simplified version of the table that does
not include range features. Thus, in our future research we are planning to apply
interval pattern structures to process such type of fields and make our algorithms
competitive with the state-of-the-art approaches.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements</title>
      <p>The work of Sergei O. Kuznetsov shown in all the sections has been supported by the
Russian Science Foundation grant no. 17-11-01276 and performed at St. Petersburg
Department of Steklov Mathematical Institute of Russian Academy of Sciences,
Russia.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McKeown</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <article-title>Classifying packets with hierarchical intelligent cuttings</article-title>
          .
          <source>Ieee Micro</source>
          <volume>20</volume>
          (
          <issue>1</issue>
          ),
          <fpage>34</fpage>
          -
          <lpage>41</lpage>
          (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Singh</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baboescu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Varghese</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <article-title>Packet classification using multidimensional cutting</article-title>
          .
          <source>In Proceedings of the 2003 conference on Applications</source>
          , technologies, architectures, and
          <article-title>protocols for computer communications</article-title>
          , pp.
          <fpage>213</fpage>
          -
          <lpage>224</lpage>
          . ACM (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kogan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolenko</surname>
            ,
            <given-names>S. I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rottenstreich</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Culhane</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eugster</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <article-title>Exploiting order independence for scalable and expressive packet classification</article-title>
          .
          <source>IEEE/ACM Transactions on Networking</source>
          , vol.
          <volume>24</volume>
          (
          <issue>2</issue>
          ), pp.
          <fpage>1251</fpage>
          -
          <lpage>1264</lpage>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kogan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolenko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eugster</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruan</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <article-title>Strategies for mitigating TCAM space bottlenecks</article-title>
          .
          <source>In 2014 IEEE 22nd Annual Symposium on High-Performance</source>
          Interconnects pp.
          <fpage>25</fpage>
          -
          <lpage>32</lpage>
          . IEEE (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ganter</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <source>Pattern Structures and Their Projections, Proc. 9th Int. Conf. on Conceptual Structures</source>
          , ICCS'01,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Stumme and H</article-title>
          . Delugach, Eds.,
          <source>Lecture Notes in Artificial Intelligence</source>
          , vol.
          <volume>2120</volume>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>142</lpage>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Kaytoue</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Napoli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Duplessis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <article-title>Mining gene expression data with pattern structures in formal concept analysis</article-title>
          .
          <source>Information Sciences</source>
          , vol.
          <volume>181</volume>
          (
          <issue>10</issue>
          ), pp.
          <fpage>1989</fpage>
          -
          <lpage>2001</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <article-title>Learning of simple conceptual graphs from positive and negative examples</article-title>
          .
          <source>European Conference on Principles of Data Mining and Knowledge Discovery</source>
          . Springer, Berlin, Heidelberg,
          <year>1999</year>
          , pp.
          <fpage>384</fpage>
          -
          <lpage>391</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kuznetsov</surname>
            ,
            <given-names>S. O.</given-names>
          </string-name>
          ,
          <article-title>Machine learning on the basis of formal concept analysis</article-title>
          .
          <source>Automation and Remote Control</source>
          , vol.
          <volume>62</volume>
          (
          <issue>10</issue>
          ), pp.
          <fpage>1543</fpage>
          -
          <lpage>1564</lpage>
          (
          <year>2001</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Finn</surname>
            ,
            <given-names>V. K.</given-names>
          </string-name>
          ,
          <article-title>Plausible reasoning in systems of JSM type</article-title>
          .
          <source>Itogi Nauki i Tekhniki</source>
          ,
          <source>Seriya Informatika</source>
          ,
          <year>1991</year>
          [in Russian].
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Breiman</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedman</surname>
            ,
            <given-names>J. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olshen</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stone</surname>
            ,
            <given-names>C. J.</given-names>
          </string-name>
          ,
          <article-title>Classification and regression trees</article-title>
          . Belmont, CA: Wadsworth. International Group,
          <volume>432</volume>
          (
          <year>1984</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <article-title>ClassBench: A packet classification benchmark</article-title>
          , http://www.arl.wustl.edu/classbench/.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>