Latte: Improving the Latency of Transiently Consistent Network Update Schedules

Emerging software-defined and programmable networking technologies enable more adaptive communication infrastructures. However, leveraging these flexibilities and operating networks more adaptively is challenging, as the underlying infrastructure remains a complex distributed system that is a subject to delays, and as consistency properties need to be preserved transiently, even during network reconfiguration. Motivated by these challenges, we propose Latte, an automated approach to minimize the latency of network update schedules by avoiding unnecessary waiting times and exploiting concurrency, while at the same time provably ensuring a wide range of fundamental consistency properties like waypoint enforcement. To enable automated reasoning about the performance and consistency of software-defined networks during an update, we introduce the model of timed-arc colored Petri nets: an extension of Petri nets which allows us to account for time aspects in asynchronous networks, including characteristic timing behaviors, modeled as timed and colored tokens. This novel formalism may be of independent interest. Latte relies on an efficient translation of specific network update problems into timed-arc colored Petri nets. We show that the constructed nets can be analyzed efficiently via their unfolding into existing timed-arc Petri nets. We integrate Latte into the state-of-theart model checking tool TAPAAL, and find that in many cases, we are able to reduce the latency of network updates by 90% or more.

[1]  Xiaojiang Du,et al.  Network security analyzing and modeling based on Petri net and Attack tree for SDN , 2016, 2016 International Conference on Computing, Networking and Communications (ICNC).

[2]  Jirí Srba,et al.  Verification of Liveness Properties on Closed Timed-Arc Petri Nets , 2012, MEMICS.

[3]  C. Petri Kommunikation mit Automaten , 1962 .

[4]  Stefan Schmid,et al.  P-Rex: fast verification of MPLS networks with multiple link failures , 2018, CoNEXT.

[5]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.

[6]  Didier Colle,et al.  Network service chaining with optimized network function embedding supporting service decompositions , 2015, Comput. Networks.

[7]  Arne Ludwig,et al.  Transiently Secure Network Updates , 2016, SIGMETRICS.

[8]  Jirí Srba,et al.  TAPAAL 2.0: Integrated Development Environment for Timed-Arc Petri Nets , 2012, TACAS.

[9]  Xin Wu,et al.  zUpdate: updating data center networks with zero loss , 2013, SIGCOMM.

[10]  Marco Canini,et al.  ESPRES: transparent SDN update scheduling , 2014, HotSDN.

[11]  Nate Foster,et al.  Efficient synthesis of network updates , 2014, PLDI.

[12]  Arne Ludwig,et al.  Can't Touch This: Consistent Network Updates for Multiple Policies , 2016, 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).

[13]  Ratul Mahajan,et al.  On consistent updates in software defined networks , 2013, HotNets.

[14]  Piotr Rygielski,et al.  Modeling and Prediction of Software-Defined Networks Performance using Queueing Petri Nets , 2016, SimuTools.

[15]  David Walker,et al.  Abstractions for network update , 2012, SIGCOMM '12.

[16]  Luca Aceto,et al.  Reactive Systems: Modelling, Specification and Verification , 2007 .

[17]  Jirí Srba,et al.  A Forward Reachability Algorithm for Bounded Timed-Arc Petri Nets , 2012, SSV.

[18]  Klaus-Tycho Foerster,et al.  On the consistent migration of unsplittable flows: Upper and lower complexity bounds , 2017, 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA).

[19]  Tal Mizrahi,et al.  Time4: Time for SDN , 2015, IEEE Transactions on Network and Service Management.

[20]  Arne Ludwig,et al.  Scheduling Loop-free Network Updates: It's Good to Relax! , 2015, PODC.

[21]  Kurt Jensen,et al.  Coloured Petri Nets and the Invariant-Method , 1981, Theor. Comput. Sci..

[22]  Arne Ludwig,et al.  Good Network Updates for Bad Packets: Waypoint Enforcement Beyond Destination-Based Routing Policies , 2014, HotNets.

[23]  Roger Wattenhofer,et al.  Local checkability, no strings attached: (A)cyclicity, reachability, loop free updates in SDNs , 2018, Theor. Comput. Sci..

[24]  Stefano Vissicchio,et al.  Survey of Consistent Software-Defined Network Updates , 2016, IEEE Communications Surveys & Tutorials.

[25]  Jie Wu,et al.  Chronus: Consistent Data Plane Updates in Timed SDNs , 2017, 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS).

[26]  David Clark,et al.  A Purpose-built Global Network: Google’s Move to SDN , 2015, ACM Queue.

[27]  Brighten Godfrey,et al.  Enforcing Customizable Consistency Properties in Software-Defined Networks , 2015, NSDI.

[28]  Wil M. P. van der Aalst Interval Timed Coloured Petri Nets and their Analysis , 1993, Application and Theory of Petri Nets.

[29]  Wael Hosny Fouad Aly,et al.  Towards SDN Fault Tolerance using Petri-Nets , 2018, 2018 28th International Telecommunication Networks and Applications Conference (ITNAC).

[30]  Stefan Schmid,et al.  Congestion-Free Rerouting of Flows on DAGs , 2016, ICALP.

[31]  Roger Wattenhofer,et al.  On consistent migration of flows in SDNs , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[32]  George Varghese,et al.  Usenix Association 10th Usenix Symposium on Networked Systems Design and Implementation (nsdi '13) 99 Real Time Network Policy Checking Using Header Space Analysis , 2022 .

[33]  Petr Kuznetsov,et al.  A distributed and robust SDN control plane for transactional network updates , 2015, 2015 IEEE Conference on Computer Communications (INFOCOM).

[34]  Xin Jin,et al.  Dynamic scheduling of network updates , 2014, SIGCOMM.

[35]  C. Ramchandani,et al.  Analysis of asynchronous concurrent systems by timed petri nets , 1974 .

[36]  Daniel Raumer,et al.  Behind the scenes: what device benchmarks can tell us , 2018, ANRW.

[37]  Wlodzimierz M. Zuberek,et al.  Timed Petri nets definitions, properties, and applications , 1991 .

[38]  Matthew Roughan,et al.  The Internet Topology Zoo , 2011, IEEE Journal on Selected Areas in Communications.

[39]  Nick Feamster,et al.  Why (and How) Networks Should Run Themselves , 2017, ANRW.

[40]  Bernd Finkbeiner,et al.  Model Checking Data Flows in Concurrent Network Updates (Full Version) , 2019, ATVA.