<!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>A Logical Approach to Representing and Reasoning About Interdomain Routing Policies</article-title>
      </title-group>
      <fpage>68</fpage>
      <lpage>79</lpage>
      <abstract>
        <p>The Internet paths connecting independently operated networks, also called domains or autonomous systems (ASes), are driven by semantically rich policies: the interdomain routing protocol that computes the Internet paths allows the ASes to influence path selection with their local policies, such as economic concerns or operational constraints. An AS can promote a policy compliant but globally longer path by carefully tweaking lower level path attributes that are used in the routing protocol. Such operational policies are notoriously complex and hard to understand. This paper takes a step back and asks whether a more principled logical approach can lead to AS policies that are easier to understand, reuse, evolve, and coexist. To this end, we propose to represent policies by database integrity constraints, in the form of headless datalog rules about what are the acceptable Internet paths. The simple datalog expression unifies a wide spectrum of AS policies, ranging from classic examples seen in today's routing practice to futuristic ones proposed in various extensions to Internet routing. More importantly, by leveraging datalog's connection to the theorem proving technique called the residue method, we developed a new technique for understanding the interactions among the policies - whether a policy can inadvertly affect another, and how to resolve the conflict. We also evaluated our logical policies, showing promising result with small overhead for conflict resolution on realistic large networks.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Anduo Wang and Zhijia Chen</title>
    </sec>
    <sec id="sec-2">
      <title>Temple University</title>
      <p>
        The Internet today is more than connecting remote hosts with valid paths. Rather, it is
a unique artifact connecting independently operated networks 1, also called domains or
autonomous systems (ASes), with rich AS-set policies [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Each AS needs to realize
specific objectives driven by its own concerns on economics, performance, security and
more, by configuring policies within its network to influence the overall route (a route is
simply a path that carries end to end traffic) selection. To support such policies, border
gateway protocol (BGP) [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], the de facto and the only interdomain routing protocol
that establishes paths on the global Internet introduces various route attributes that can
be set and compared to alter route selection. Over the years, the BGP route attributes
have enlarged into an ordered list which implicitly coordinates network objectives by
the ordering of the attributes [
        <xref ref-type="bibr" rid="ref1 ref26">1, 26</xref>
        ]; and new extensions to BGP are proposed to enable
more flexible policies [
        <xref ref-type="bibr" rid="ref12 ref18 ref20">18, 20, 12</xref>
        ].
1 In this paper, we use networks to refer to the networks under a single administrative domain
that interconnected to form the global Internet.
      </p>
      <p>Alongside the growing support for more flexible AS policies, the policy expression
in terms of the route attributes remains largely ad hoc — the choice and use of the
attributes are often arbitrary. For example, the AS Path (ASP) attribute — a list of ASes
(each identified by a number) along the AS-level path — can implement the shortest
path policy: when a route is first imported, the network attaches its own AS number to
the AS Path, selects a best route with the shortest ASP, and exports to its neighbors this
best route. However, a network can arbitrarily increase the length of ASP by appending
its AS number multiple times to to make a longer path more preferable. An alternative
to achieve the same affect is to leverage the Local Preference (LP) attribute which
is compared first in route selection and thus overrides ASP: a network can promote the
use of a longer path by assigning to it a higher LP. But LP is highly abused: many
policies of disparate policies translate to LP only because it outweighs everything else.</p>
      <p>Besides, a network is often influenced by many policies — separate teams within
the network may issue policies addressing disparate aspects of the network,
neighboring networks might also exercise policies that attempt to influence its route selection.
These policies can interact in complex ways and run into subtle conflicts. The onus of
combining them into a coherent route selection policy is left to the network admin who
is required to carefully examine every component policy as well as their joint intent.
For example, a security policy for avoiding a suspicious neighbor and an optimization
policy for reducing route cost, though concerning distinct aspects of the network, can
conflict due to the underlying topology: a router that connects a low-cost internal path
(within the local network) to the suspicious neighbor can correlate the two policies with
distinct purposes. In the presence of such conflicts, the admin must carefully re-factor
and/or reset the corresponding policy attributes that are used in the prefixed BGP
protocol.</p>
      <p>Indeed, it is generally agreed that the policy practice of the Internet today, tightly
coupled with the BGP protocol, is indirect and hard to understand. This paper takes a
step back and asks whether a more principled logical approach can lead to policies that
are easier to understand, reuse, combine, and evolve?</p>
      <p>To this end, we investigate the use of database integrity constraints (ICs) — in the
form of headless datalog rules about what are the preferable paths — for managing
routing policies. The key idea is that, rather than treating policy making and route decision
as a procedure that maps a set of incoming routes to one single best (outgoing) route,
we view policies as logical constraints that prune the candidate routes until only the
best route is left 2. To validate its feasibility, we study the expressiveness and overhead
of the IC representation with extensive case studies and experiments. More importantly,
we show the benefits of this logical approach by a new conflict detection and resolution
technique via the theorem proving technique called the residue method. Overall, we
believe this is a first step towards a more principled approach to interdomain routing
policies with automated reasoning support.</p>
      <p>Specifically, this paper makes the following contributions:
2 Or break tie by randomly select one route from a set of equally good routes
We introduce database ICs as a logical representation for routing policies. Through
extensive examples ranging from classic network policies to futuristic ones, we
show how the IC representation unifies many disparate policies.</p>
      <p>We leverage and extend the residue method to study interactions and conflicts
among policy ICs: we present a formal characterization of policy conflicts in terms
of the notion of policy residue, a fragment of a policy that anticipates its impact
on the other policies. To our best knowledge, this is the first formal attempt to
characterize multiple routing policies that jointly control the same path. Our
formalization is logically checkable and enables conflict detection. It also offers a
method of conflict resolution with rewrites — when augmented with the residue,
a potentially conflicting policy is semantically constrained and resolves conflict.
We study the performance overhead of the proposed logical policies by evaluating
a prototype of the residue method. Our result is promising, the conflict resolution
delay is &lt; 100ms for large policies.
2</p>
      <sec id="sec-2-1">
        <title>A unifying logical representation</title>
        <p>This section develops a logical representation that attempts to unify a wide range of
policies previously buried in disparate route attributes. More importantly, the
representation will enable automated reasoning as a means to understand and combine policies,
laying a firm foundation for automated conflict resolution 4.</p>
        <sec id="sec-2-1-1">
          <title>2.1 A deductive database abstraction</title>
          <p>We propose to represent network policies as database integrity constraints (ICs). We
draw on the insight that viewing the network state as factual data — database tables
and views — allows us to capture network policies as non-factual data — semantic
information or ICs about what are the acceptable data.</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Network state as relations and rules</title>
          <p>A factual network state is a finite set of ground facts, denoted by I. We can also
derive new information from the network state by rules, denoted by R. The complete
network state is denoted by N = R [ I. Suppose N always includes ground facts from the
two route relations ri=3; ro=3, both of which have three attributes destination; next hop
and path vector. ri(x; y; z) stands for an incoming route learned from a neighbor y to
reach a destination x by a path z (the list of ASes along the path to x). ro stands for the
output route selected by the network’s routing policy.</p>
          <p>For example, a network state that has 3 incoming routes and 2 outgoing routes is
represented by the ground rules I1 5, the derived information of all available paths to a
particular destination 1.2.3.4 is represented by the rule R1.</p>
          <p>Network facts
I1: ri(1.2.3.4, router1, [AS2,AS3,AS5])
:I2: ri(1.2.3.4, router2, [AS2,AS4,AS5])
:I3: ri(1.2.3.5, router1, [AS3,AS5])
:I4: ro(1.2.3.4, router2, [AS2,AS4,AS5])
:I5: ro(1.2.3.5, router1, [AS4,AS5])
:Derived path information
R1: rpath(z) :- ri(x,y,z), x=1.2.3.4.</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Policies as integrity constraints (ICs)</title>
          <p>A routing policy is a finite set of ICs, denoted by P . We divide the policy ICs
into two categories: the generative ICs whose head is non-empty, and denial ICs whose
head is empty. In particular, a denial IC can be read as a body condition — conjunction
of literals that cannot be simultaneously true — that must be avoided for any correct
network state; a generative IC can be read as a head condition that must also hold if
the network state is consistent with the body condition. A basic requirement for any
routing system is path validity — any selected outgoing route must also correspond
to some incoming route. A network cannot invent a route that does not belong to it.
This can be captured by a path validity policy encoded by the generative IC Pvalidity,
equivalently, it can be formulated as the denial IC Pvalidity0 .</p>
          <p>Path validity policy
ICvalidity: ri(x,y,z) :- ro(x,y,z).</p>
          <p>ICvalidity’: :- ro(x,y,z), :ri(x,y,z).
2.2</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>Examples</title>
          <p>In this section, we use more examples to illustrate the expressiveness of the IC
representation.</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>Non-aggregate Policies</title>
          <p>Many policies can be specified as constraints over a single path. For example, a
source host might want to specify the explicit path (a) for carrying traffic to certain
destination (d), to better control end to end performance, as expressed by the simple
and direct ICcp.</p>
          <p>Complete path policy
ICcp: z=a :- ro(x,y,z), x=d.</p>
          <p>
            Another popular policy regulates route selection based on the business relations of
the neighboring networks. A network often engages in one of three business relations
with its neighbors [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ]: being a customer if it pays the neighbor to get to the rest of the
Internet, being a provider if it charges its neighbor and provides Internet access, or being
a peer if it exchanges traffic with its neighbor for free. To maximize revenue and
minimize cost, it is common practice — formulated by the Gao-Rexford Guideline (GR) —
for a network to prioritize (select) routes from the customer / peers over those from the
provider. With the help of three auxiliary relations customer=1; provider=1; peer=1
that specify the source of a path — e.g.,peer(x) states x is a peer path learned from a
peer — the Gao-Rexford policy guideline easily translates to the ICGR1;GR2.
Gao-Rexford Policy Guideline
ICGR1 :- ro(x,y,z),ri(x,y’,z’),provider(z),customer(z’).
ICGR2 :- ro(x,y,z),ri(x,y’,z’),provider(z),peer(z’).
          </p>
          <p>ICGR1 GR2 prevents the selection of a provider path when there exists a customer
or peer path, respectively. Note that the operational expression of the Gao-Rexford
policy in traditional BGP is a classic use case of the local preference (LP) attribute:
the network needs to always attach a higher LP to the customer / peer paths as compared
to the provider paths. In comparison, our declarative policy is not only more direct —
we do not need to coordinate the LP attribute assignment, it is also inherently more
flexible. When bound to LP, Gao-Rexford will override any other policies as LP
overrides all the rest of the attributes. For example, it will be hard to add a security policy
even though it might carry more weight than the economic concerns. In contrast, the
declarative policy allows us to add new policy and freely combine it with the existing
ones with automated conflict detection and resolution (more in x4).</p>
          <p>
            Our logical approach also easily captures futuristic BGP policies introduced in
experimental BGP extensions. For example, MIRO [
            <xref ref-type="bibr" rid="ref27">27</xref>
            ] is an extension that allows a
network to negotiate path with a neighbor. A common use of MIRO is to find securer path
where a network sends its neighbor request to bypass certain suspicious network (say
b). With the help of the auxiliary relation waypoint(path; network), such negotiation
request can take the form of ICMIRO.
          </p>
          <p>ICMIRO :- ro(x,y,z), waypoint(z,b).</p>
        </sec>
        <sec id="sec-2-1-6">
          <title>Aggregate Policies</title>
          <p>The foregoing examples are all non-aggregate policies in the sense that they are
expressible as constraints along a single route. Next, we illustrate how to formulate
aggregate policies concerning a group of routes without the explicit use of an aggregate
term. First, consider the shortest path policy. Among all candidate paths connecting a
pair of source and destination, shortest path policy picks a path that traverses the fewest
number of networks. With the help of an auxiliary function l(path) which returns the
length (number of ASes along the path) of the path, shortest path policy translates to
ICsp.</p>
          <p>Shortest path
ICsp :- ro(x,y,z), ri(x,y’,z’), l(z)&gt;l(z’).</p>
          <p>
            Now consider a complex futuristic policy with aggregation. Wiser [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ] is an
extension to BGP that performs traffic engineering to jointly minimize cost between two
neighboring networks. A Wiser network uses the (normalized) path costs advertised by
a neighbor to join with its own (also normalized) local path — of course, the two path
fragments must connect at a common border router — and selects a best path that has the
lowest overall cost. With two auxiliary relations Advertised(next hop,cost) and
Local(destination, next hop,cost), the Wiser policy translates to ICW iser.
Wiser policy
RWiser: j(x,y,z) :- Local(x,y,z1), Advertised(y,z2), z=z1+z2.
ICWiser: :- ro(x,y,z), j(x,y,w), j(x,y’,w’), w&gt;w’.
          </p>
          <p>where the RW iser rule derives the joint cost of two path fragments and ICW iser
forbids the selection of a route when there exists a better alternative (w&gt;w’).
3</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>The Residue Method</title>
        <p>
          An advantage of the IC representation is that it facilitates automated reasoning of the
policies — predicating the interactions of multiple policies that jointly select paths. The
key idea is to leverage the residue method [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for semantic transformation, a process in
which all the useful information in an IC is extracted and fully processed. Essentially,
with the standard theorem proving technique called partial subsumption, we can
anticipate the “impact” of a policy IC on another policy — a fragment of that IC called
residue, which is then included in the second policy to eliminate any potential
conflict. Notably, we extended the classic notion of partial subsumption with arithmetic
and comparison, both of which are critical to routing policies.
        </p>
        <sec id="sec-2-2-1">
          <title>Partial Subsumption</title>
          <p>Given two policies C1; C2 of the form A1 :- B1 ^ B10 and A2 :- B2 ^ B20,
respectively, where B1; B2 are conjunctions of relational literals and B10; B20 are conjunctions
of comparison and arithmetic formulas, C1 subsumes C2 if there exists (1) a solver
S for arithmetics and comparison, and (2) a substitution such that each literal in
(A1 :- B1) occurs in A2 :- B2 and :B20 ^ B10 can be reduced to False by S.
Intuitively, subsumption means policy C1 is more general — stronger — than C2, that is,
any network state compliant with C1 is guaranteed to be compliant with C2.</p>
          <p>For example, consider the IC clauses IC1; IC2:
IC1: :- ro(x,y,z), l(z)&lt;5.</p>
          <p>IC2: :- ro(u,v,w), l(w)&lt;3, w=[AS2,AS3].</p>
          <p>IC1 subsumes IC2 with respect to a solver that is capable of arithmetic comparison
because: (1) There is a substitution = fx = u; y = v; z = w that makes :- ro(x,y,z)
a subclause of :- ro(u,v,w), l(w)&lt;3 and (2) :((l(z) &lt; 5) ) ^ (l(w) &lt; 3) can be
reduced to l(w) &gt; 5 ^ l(w) &lt; 3 which is False.</p>
          <p>What interests us is partial subsumption: C1 partially subsumes C2 if there exists
a subclause of C1 that subsumes C2. Partial subsumption means the subsuming policy
has a non-trivial impact on the policy being subsumed. To precisely capture such impact
and to anticipate how such impact modifies another policy, we leverage the notion of
residue.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Residue</title>
          <p>
            A residue is a fragment of a subsuming IC that actually interacts with the subsumed
IC. Residue can be obtained by the subsumption algorithm developed in [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. The
subsumption algorithm tries to construct a refutation tree with the subsuming policy as
the root, and uses elements from the subsumed policy for resolution. Figure 1 shows
the refutation trees for ICcp and IC2, IC3 and IC2, respectively. ICcp and IC3 are the
subsuming clause and IC2 is the subsumed clause. At the bottom of each refutation tree
where no resolutions or reduction (by the comparison-arithmetic solver) is possible, a
fragment of the subsuming clause is left.
          </p>
          <p>IC3
:- ro(x,y,z), l(z)&lt;5.</p>
          <p>:- l(w)&lt;5
null
elements of IC2</p>
          <p>:- ro(u,v,w)
{x=u,y=v,x=w}</p>
          <p>:-l(w)&lt;3
l(w)&gt;5 ∧ l(w)&lt;3
reduces to False</p>
          <p>ICcp
z=a :- ro(x,y,z), x=d
w=a :- u=d
elements of IC2</p>
          <p>:- ro(u,v,w)
{x=u,y=v,x=w}</p>
          <p>The residue precisely anticipates the policy “impact”. The “null” residue on the left
shows that IC3 is stronger than IC2 (more details in x 4); on the other hand, the
nontrivial residue w=a :- u=d (right in the Figure) states that the condition w = a
u = d must be taken into account when applying IC2: any route to d must take a as the
selected path.</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>Semantic transformation via residue annotation</title>
          <p>In general, a non-trivial residue obtained on a subsuming policy C1 and a subsumed
policy C2 states a condition that must be satisfied for C2 to be consistent with C1. This
observation allows us to use the residue of C1 to semantically constrain (transform) C2.
We only need to attach the residue condition to the body of C2. The result is a new
policy C20 that is guaranteed to be compliant with C1. For example, Annotating IC2
with the residue of ICcp produces:
IC2 semantically constrained by Ccp:
:- ri(u,v,w),l(w)&lt;3,w=[AS2,AS3],w = a
u = d.
4</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Merging Policies</title>
        <p>This section developed a residue based method to understand the interactions between
policy ICs 3. Specifically, using the notions of (partial) subsumption and residue, we
give a formal characterization the relations among two policies. We also give a
resolution method that automatically merges potentially conflicting policies.</p>
        <sec id="sec-2-3-1">
          <title>4.1 Policy conflicts</title>
          <p>First, we introduce a formal concept called covering to denote when a policy is stronger
than another. One policy covers another if it subsumes the second policy. Intuitively, one
policy is stronger if compliance with the first policy implies compliance with the
second. For example, Consider a more specific form of shortest path policy that only finds
shortest path to certain destinations, with a new relation only(destinations) standing
for those destinations. We express this restricted shortest path policy by ICspr as
follows
ICspr :- ro(x,y,z), ri(x,y’,z’), l(z)&gt;l(z’), only(x).
The shortest path policy ICsp subsumes ICspr, thus it covers the more specific policy.
Intuitively, all the shortest paths must also include the shortest path to those particular
destinations.</p>
          <p>What is more interesting is partial covering: one policy partially covers another if a
subclause of the first policy covers the second. Partial covering signals conflicts — two
policies overlap but neither one of them is redundant. Consider two pairs of policies —
shortest path and complete path, MIRO and Wiser (in x 2). For each pair, the policies
are conflicting with each other. It is straightforward to spot conflicts between simple
policies like shortest path and complete path, but the conflicts between MIRO and Wiser
is subtler. The formal characterization of conflicts via residue reasoning helps to guard
against missing a subtle conflict.</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>4.2 Resolution</title>
          <p>Conflict resolution in the Internet today is manual and operational: the network admin
must understand the combined effort of all policies and refactor them into a hard wired
list of route attributes that will be compared in a fixed order during the route selection
process. In contrast, in this paper, we propose a facility that, takes a set of conflicting
policies as input, generates a new coherent set by the semantic transformation process
with the residue method. Between any pair of conflicting policies, the residue method
rewrites the policy with lower priority, semantically constraining it with the other one
with higher priority. Thus, the resolution facility automatically resolves conflicts by
policy rewriting, freeing the admins from manual policy coordination.</p>
          <p>Specifically, for two policies ICi; ICj , we use ICj jICi , to denote the semantically
restricted version of ICj with respect to ICi, which is obtained by augmenting ICj
with the residue of ICi. When ICi enjoys higher priority over ICj — ICi is perceived
more important, we can simply keep ICi unchanged but compute ICj jICi to rewrite
ICj to the restricted form, forcing ICj to also account for the concerns of ICi. Note
that, by definition, ICi covers ICj . The resulting pair (ICi; ICj jICi ) can be viewed as
a ranked list of policies where ICi takes effect first, and the original ICj follows.</p>
          <p>For example, consider the complete path (ICcp) and shortest path (ICsp) policies.
To obtain a shortest path policy that finds shortest path to all destinations except d,
the path to which is pre-defined to be a, we can apply the residue method to obtain
ICspjICcp (the residue augmented in red):
:- ro(x,y,z), ri(x,y’,z’), l(z)&gt;l(z’), :(x = d ^ z 6= a).
Thus, we obtained a shortest path policy that yields to the specific path assignment of
the complete path policy.</p>
          <p>Similarly, consider the MIRO (ICMIRO) and Wiser (ICW iser) policies. A network
that deploys both but prioritizes the MIRO policy — security concern over
performance — can apply our resolution method to obtain the MIRO constrained Wiser policy
ICW iserjICMIRO :
:- ro(x,y,z), j(x,y,w), j(x,y’,w’), w&gt;w’, :waypoint(z,b).
With ICW iserjICMIRO , the Wiser portion (first 4 literals) will take effect only when the
MIRO residue evaluates to true (when MIRO policy is honored). That is, performance
concern kicks in only after security requirement is satisfied.
5</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Preliminary evaluation</title>
        <p>
          We evaluate the performance of our proposed logical policies in Ravel [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], a
databasedefined network that uses the Postgres database as the network controller, which is
particularly convenient for our experiment. All experiments were performed on the
macOS platform with a 3.4 GHz Intel Core i5 processor and 16 GB 2400 MHz DDR4
RAM.
        </p>
        <p>
          To measure the overhead of the residue method, we implemented a prototype of
the subsumption algorithm based residue generation in Python: for a given subsuming
clause (denoted by P1, has M literals) and a clause being subsumed (denoted by P2, has
N literals), we loop over all the subclauses of P1 and test if the subclause subsumes P2.
We applied the standard -subsumption algorithm to implement the subsumption test,
which has complexity O N k as we need to map each literal of the subclause (ranging
from 1 to k for a subclause with k literals) to a literal in P2 (ranging from 1 to N) [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
The overall complexity of the residue generator is O M M2 N M , where the term M M2
is a coarse upper bound for binomial coefficients.
        </p>
        <p>We evaluated the performance of our residue generator with MIRO and Wiser
policies. To test its scalability, we increased the number of waypoint literals in MIRO policy
with randomly generated networks (to avoid).
0.266 0.705
delay
Fig. 3: Residue generation for Wiser and
MIRO.
y
a
l
e
d</p>
        <p>Figure 2 shows the residue generator processing delay (y axis, log scaled) for two
MIRO policies with different size combinations (as indicated by the tuple below the x
axis). For each combination, we plotted the average delay of 500 runs. The small bar
on the top of each box indicates the standard variation. The left three boxes with grey
filling show the growing trend of delay with respect to N — M is fixed at 2; and the
right three boxes with grids filling show the growing trend with respect to M — N is
fixed at 2. When M is fixed, the residue generator scales better — even for P2 having
very large size of 64, it finishes in 3.356 ms on average. The delay, however, increases
exponentially with M — the delay grows from 0.268ms to 37.102ms when M increase
from 2 to 8.</p>
        <p>Figure 3 presents the CDF of the residue generator processing delays (x axis, log
scaled) for constraining MIRO policy with a Wiser policy — The Wiser policy has 6
literals (N = 6), and the MIRO policy has (M ) has varied size of 2, 4 and 8. For all
three sizes, 99% of all the processing finished within 0.266ms, 0.705ms and 10.524ms
respectively. Note that the performance here is better than that of Figure 2 — for
example, the average delay is less than 10ms for M = 8 and N = 6 compared to the average
delay of 37.10ms for M = 8 and N = 2. This is because the MIRO policy shares only
one common predicate with the Wiser policy, i.e., the relation ro, which led to a faster
result from subsumption test.
6</p>
      </sec>
      <sec id="sec-2-5">
        <title>Related Work</title>
        <sec id="sec-2-5-1">
          <title>Declarative networking.</title>
          <p>
            Closest to our IC representation of routing policies is declarative networking [
            <xref ref-type="bibr" rid="ref10 ref21 ref22 ref23 ref7 ref8 ref9">10, 9,
8, 7, 22, 21, 23</xref>
            ] that also uses a database abstraction for specifying networks. But
declarative networking focus on the factual network states. Network policies, as admitted by
the authors, are still operational — they are merely logical modifiers that regulate (and
are part of) the network operations to produce the policy-compliant outcome. Besides, it
relies on the programmer for policy composition: programmers must clearly understand
every piece of policy, as well anticipate their interactions and conflicts, and manually
rewrite the program for policy transformation. Thus, declarative networking provides a
(albeit declarative) platform for programming network states with embedded policies.
          </p>
        </sec>
        <sec id="sec-2-5-2">
          <title>BGP policy extensions.</title>
          <p>
            Many proposals [
            <xref ref-type="bibr" rid="ref11 ref12 ref19 ref25 ref27 ref28 ref5 ref6">5, 27, 11, 28, 12, 25, 6, 19</xref>
            ] were made in the past to enable more
flexible routing policies. While these proposals often consider compatibility with the
legacy BGP system, they do not provide any support for joint route decision among
themselves. It is still the responsibility of the admin to come up with a monolithic
coherent policy. The only work we are aware of that considers the co-existence of many BGP
extensions is D-BGP [
            <xref ref-type="bibr" rid="ref14 ref15">15, 14</xref>
            ]. D-BGP studied architectural features needed to
accommodate multiple interdomain protocols to be partially deployed across non-continuous
domains called islands. Still, within an island, only one monolithic policy pertaining
to a particular protocol can be deployed. To our best knowledge, our work is the first
systematic attempt to facilitate multiple extensions to jointly affect routing within a
network (island).
7
          </p>
        </sec>
      </sec>
      <sec id="sec-2-6">
        <title>Conclusion</title>
        <p>
          In this paper, we developed a logical approach to Internet routing policies. Rather than
burying policies in the route attributes that are manipulated by the prefixed BGP
protocol, and relying on the network admin for manual configuration, we introduce database
integrity constraints (ICs) [
          <xref ref-type="bibr" rid="ref2 ref3 ref4">4, 2, 3</xref>
          ] — logical statements about what are the preferable
routes — as a unifying abstraction for representing and reasoning about routing
policies, and extend the standard subsumption algorithm to reason about the policies —
allowing automatic detection and resolution of conflicts. With extensive example
policies and promising evaluation result of policy resolution, we believe a logical approach
can make routing policies more direct, simpler and predictable.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>CAESAR</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AND REXFORD</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Bgp routing policies in isp networks</article-title>
          .
          <source>Netwrk. Mag. of Global Internetwkg</source>
          .
          <volume>19</volume>
          ,
          <issue>6</issue>
          (Nov.
          <year>2005</year>
          ),
          <fpage>5</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>CHAKRAVARTHY</surname>
          </string-name>
          , U. S.,
          <string-name>
            <surname>GRANT</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , AND MINKER,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Logic-based approach to semantic query optimization</article-title>
          .
          <source>ACM Trans. Database Syst</source>
          .
          <volume>15</volume>
          ,
          <issue>2</issue>
          (
          <year>June 1990</year>
          ),
          <fpage>162</fpage>
          -
          <lpage>207</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>CHANG</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-L.</surname>
            ,
            <given-names>AND LEE</given-names>
          </string-name>
          , R. C.-T. Symbolic Logic and Mechanical Theorem Proving, 1st ed. Academic Press, Inc., Orlando, FL, USA,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. GODFREY,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>GRANT</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          ,
          <string-name>
            <surname>GRYZ</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          , AND MINKER,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Integrity constraints: Semantics and applications</article-title>
          .
          <source>In Logics for Databases and Information Systems (the book grow out of the Dagstuhl Seminar 9529: Role of Logics in Information Systems</source>
          ,
          <year>1995</year>
          ) (
          <year>1998</year>
          ), pp.
          <fpage>265</fpage>
          -
          <lpage>306</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. GODFREY, P. B.,
          <string-name>
            <surname>GANICHEV</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , SHENKER,
          <string-name>
            <surname>S.</surname>
          </string-name>
          , AND STOICA,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Pathlet routing</article-title>
          .
          <source>In ACM SIGCOMM</source>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. GRIFFIN, T. G.,
          <string-name>
            <surname>JAGGARD</surname>
          </string-name>
          ,
          <string-name>
            <surname>A. D.</surname>
          </string-name>
          , AND RAMACHANDRAN,
          <string-name>
            <surname>V.</surname>
          </string-name>
          <article-title>Design principles of policy languages for path vector protocols</article-title>
          .
          <source>In Proceedings of the 2003 Conference on Applications</source>
          , Technologies, Architectures, and Protocols for Computer Communications (New York, NY, USA,
          <year>2003</year>
          ),
          <source>SIGCOMM '03</source>
          , ACM, pp.
          <fpage>61</fpage>
          -
          <lpage>72</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. HINRICHS,
          <string-name>
            <given-names>T. L.</given-names>
            ,
            <surname>GUDE</surname>
          </string-name>
          ,
          <string-name>
            <surname>N. S.</surname>
          </string-name>
          , CASADO, M., MITCHELL,
          <string-name>
            <surname>J. C.</surname>
          </string-name>
          , AND SHENKER, S. Fml:
          <article-title>Practical declarative network management</article-title>
          .
          <source>In Proceedings of the 1st ACM Workshop on Research on Enterprise Networking</source>
          (New York, NY, USA,
          <year>2009</year>
          ),
          <source>WREN '09</source>
          , ACM, pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>LOO</surname>
            ,
            <given-names>B. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CONDIE</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>GAROFALAKIS</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>GAY</surname>
            ,
            <given-names>D. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>HELLERSTEIN</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MANIATIS</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          ,
          <string-name>
            <surname>RAMAKRISHNAN</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          , ROSCOE,
          <string-name>
            <surname>T.</surname>
          </string-name>
          ,
          <article-title>AND STOICA, I. Declarative networking: Language, execution and optimization</article-title>
          .
          <source>In Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data</source>
          (New York, NY, USA,
          <year>2006</year>
          ),
          <source>SIGMOD '06</source>
          , ACM, pp.
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>LOO</surname>
            ,
            <given-names>B. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CONDIE</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>HELLERSTEIN</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MANIATIS</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          , ROSCOE,
          <string-name>
            <surname>T.</surname>
          </string-name>
          ,
          <article-title>AND STOICA, I. Implementing declarative overlays</article-title>
          .
          <source>In Proceedings of the Twentieth ACM Symposium on Operating Systems</source>
          Principles (New York, NY, USA,
          <year>2005</year>
          ),
          <source>SOSP '05</source>
          , ACM, pp.
          <fpage>75</fpage>
          -
          <lpage>90</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>LOO</surname>
            ,
            <given-names>B. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>HELLERSTEIN</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>STOICA</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          ,
          <string-name>
            <surname>AND RAMAKRISHNAN</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>Declarative routing: Extensible routing with declarative queries</article-title>
          .
          <source>In Proceedings of the 2005 Conference on Applications</source>
          , Technologies, Architectures, and Protocols for Computer Communications (New York, NY, USA,
          <year>2005</year>
          ),
          <source>SIGCOMM '05</source>
          , ACM, pp.
          <fpage>289</fpage>
          -
          <lpage>300</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>MAHAJAN</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , WETHERALL,
          <string-name>
            <given-names>D.</given-names>
            , AND ANDERSON,
            <surname>T.</surname>
          </string-name>
          Negotiation
          <article-title>-based routing between neighboring isps</article-title>
          .
          <source>In NSDI</source>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>MAHAJAN</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , WETHERALL,
          <string-name>
            <surname>D.</surname>
          </string-name>
          , AND ANDERSON,
          <string-name>
            <surname>T.</surname>
          </string-name>
          <article-title>Mutually controlled routing with independent ISPs</article-title>
          . In NSDI (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. REKHTER.,
          <string-name>
            <surname>Y.</surname>
          </string-name>
          , LI.,
          <string-name>
            <surname>T.</surname>
          </string-name>
          ,
          <article-title>AND HARES</article-title>
          .,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>A Border Gateway Protocol 4 (BGP-4</article-title>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>SAMBASIVAN</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>TRAN-LAM</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AKELLA</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          , AND STEENKISTE,
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>Bootstrapping evolvability for inter-domain routing</article-title>
          .
          <source>In Proceedings of the 14th ACM Workshop on Hot Topics in Networks</source>
          (New York, NY, USA,
          <year>2015</year>
          ),
          <article-title>HotNets-XIV, ACM</article-title>
          , pp.
          <volume>12</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          :
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>SAMBASIVAN</surname>
            ,
            <given-names>R. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>TRAN-LAM</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AKELLA</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          , AND STEENKISTE,
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>Bootstrapping evolvability for inter-domain routing with d-bgp</article-title>
          .
          <source>In Proceedings of the Conference of the ACM Special Interest Group on Data Communication</source>
          (New York, NY, USA,
          <year>2017</year>
          ),
          <source>SIGCOMM '17</source>
          , ACM, pp.
          <fpage>474</fpage>
          -
          <lpage>487</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>SAMI</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , SCHAPIRA,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>AND ZOHAR</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Searching for stability in interdomain routing</article-title>
          .
          <source>In IEEE INFOCOM</source>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>SANTOS</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , AND MUGGLETON,
          <string-name>
            <surname>S.</surname>
          </string-name>
          <article-title>Subsumer: A Prolog theta-subsumption engine</article-title>
          .
          <source>In Technical Communications of the 26th International Conference on Logic Programming (Dagstuhl, Germany</source>
          ,
          <year>2010</year>
          ),
          <string-name>
            <given-names>M.</given-names>
            <surname>Hermenegildo</surname>
          </string-name>
          and T. Schaub, Eds., vol.
          <volume>7</volume>
          of Leibniz International Proceedings in Informatics (LIPIcs),
          <source>Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik</source>
          , pp.
          <fpage>172</fpage>
          -
          <lpage>181</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>SCHAPIRA</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ZHU</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y.</surname>
          </string-name>
          ,
          <string-name>
            <surname>AND REXFORD</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Putting</surname>
          </string-name>
          <article-title>BGP on the right path: A case for next-hop routing</article-title>
          .
          <source>In ACM SIGCOMM HotNets (Oct</source>
          .
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>SUBRAMANIAN</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CAESAR</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>EE</given-names>
            , C. T.,
            <surname>HANDLEY</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>MAO</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>SHENKER</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          , AND STOICA,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Hlp: A next generation inter-domain routing protocol</article-title>
          .
          <source>In Proceedings of the 2005 Conference on Applications</source>
          , Technologies, Architectures, and Protocols for Computer Communications (New York, NY, USA,
          <year>2005</year>
          ),
          <source>SIGCOMM '05</source>
          , ACM, pp.
          <fpage>13</fpage>
          -
          <lpage>24</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>SUBRAMANIAN</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CAESAR</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>EE</given-names>
            , C. T.,
            <surname>HANDLEY</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>MAO</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>SHENKER</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          , AND STOICA,
          <string-name>
            <surname>I. HLP</surname>
          </string-name>
          :
          <article-title>A next-generation interdomain routing protocol</article-title>
          .
          <source>In SIGCOMM</source>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>BASU</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>LOO</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. T.</surname>
          </string-name>
          , AND SOKOLSKY,
          <string-name>
            <surname>O. Declarative Network Verification. In PADL</surname>
          </string-name>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>JIA</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>LIU</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>LOO</surname>
            ,
            <given-names>B. T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>SOKOLSKY</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AND BASU</surname>
          </string-name>
          , P. Formally Verifiable Networking.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>JIA</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ZHOU</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , REN,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>LOO</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. T.</given-names>
            ,
            <surname>REXFORD</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>NIGAM</surname>
          </string-name>
          ,
          <string-name>
            <surname>V.</surname>
          </string-name>
          ,
          <string-name>
            <surname>SCEDROV</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          , AND TALCOTT,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>FSR: Formal Analysis and Implementation Toolkit for Safe Inter-domain Routing</article-title>
          . IEEE/ACM Transactions on Networking (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MEI</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CROFT</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          , CAESAR,
          <string-name>
            <surname>M.</surname>
          </string-name>
          ,
          <string-name>
            <surname>AND GODFREY</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ravel</surname>
          </string-name>
          :
          <article-title>A databasedefined network</article-title>
          .
          <source>In SOSR</source>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AVRAMOPOULOS</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , AND REXFORD,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Design for configurability: Rethinking interdomain routing policies from the ground up</article-title>
          .
          <source>IEEE J.Sel. A. Commun</source>
          .
          <volume>27</volume>
          ,
          <issue>3</issue>
          (Apr.
          <year>2009</year>
          ),
          <fpage>336</fpage>
          -
          <lpage>348</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>WANG</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AVRAMOPOULOS</surname>
            ,
            <given-names>I. C.</given-names>
          </string-name>
          , AND REXFORD,
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Design for configurability: rethinking interdomain routing policies from the ground up</article-title>
          .
          <source>IEEE Journal on Selected Areas in Communications 27</source>
          ,
          <issue>3</issue>
          (
          <year>2009</year>
          ),
          <fpage>336</fpage>
          -
          <lpage>348</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>XU</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , AND REXFORD,
          <string-name>
            <surname>J. MIRO</surname>
          </string-name>
          <article-title>: Multi-path interdomain routing</article-title>
          .
          <source>In ACM SIGCOMM</source>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>YANG</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>CLARK</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>AND BERGER</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. W.</given-names>
            <surname>Nira</surname>
          </string-name>
          <article-title>: a new inter-domain routing architecture</article-title>
          .
          <source>IEEE/ACM Trans. Netw</source>
          .
          <volume>15</volume>
          ,
          <issue>4</issue>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>