  In SDN stateful data planes, switches can execute algorithms to process
traffic based on local states. This approach permits to offload decisions from
the controller to the switches, thus to reduce the latency to react to network
events. We consider distributed network applications that process traffic at
each switch based on local replicas of network-wide states. Replicating a state
across multiple switches poses many challenges, because the number of state
replicas and their placement affects both the data traffic and the
synchronization traffic among the replicas. In our work, we formulate the
optimal placement problem for replicated states, taking into account the data
traffic routing, to ensure that the network applications affect the proper
traffic flows, and the synchronization traffic between replicas, to ensure
state coherence. Due to the high complexity required to find the optimal
solution, we propose an approximated algorithm able to scale to large network
instances. We show numerically that this algorithm, despite its simplicity,
approximates quite well the optimal solution. We also show the beneficial
effects of replicating the states with respect to the single-replica scenario,
so far considered in the literature. Finally, we provide an asymptotic analysis
to find the optimal number of replicas.
