1) The document presents a constraint programming (CP)-based approach for implementing a northbound interface for software-defined networking (SDN) controllers.
2) The proposed interface uses MiniZinc, a CP modeling language, to define predicates for quality-of-service (QoS) routing algorithms and traffic engineering applications.
3) Example predicates modeled in MiniZinc include the network path predicate, path cost predicate, and capacity guarantee predicate.
Evaluation of mininet WiFi integration via ns-3Farzaneh Pakzad
Mininet is a Linux-based network emulator that
is particularly widely used for Software Defined Network experiments,
due to its in-built support for OpenFlow switches.
However, Mininet currently lacks support for wireless links. A
recent work has addressed this limitation by using the realtime
feature of ns-3 to integrate the IEEE 802.11 channel
emulation feature with Mininet, which we refer to as Mininetns3-
WiFi. While this approach has great potential to serve as
an experimental platform, in particular for Software Defined
Wireless Networks, it has not been extensively evaluated in terms
of experiment result accuracy and fidelity. This is critical for any
system that integrates simulation with real-time components. In
this paper, we present a detailed evaluation of the fidelity of
experimental results of Mininet-ns3-WiFi. We further present
a reliable and low cost method that gives an experimenter an
indicator about the fidelity and trustworthiness of the results.
Link Capacity Estimation in SDN-based End-hostsFarzaneh Pakzad
Software Defined Networking (SDN) is a new
paradigm that facilitates network management and control.
In our work, we explore the use of SDN for the control of
network traffic on end-hosts. In particular, we use an OpenFlow
software switch (OVS) to load balance application traffic across
the multiple available network interfaces. A typical example is
the simultaneous use of Wifi and 4G interfaces on a mobile
device. In order to achieve optimal load balancing, it is critical
to know the capacity of the last-hop links associated with the
different interfaces. In this paper, we explore and adapt active
packet probing mechanisms to the scenario of SDN-based endhost
traffic control, in order to estimate the link capacity. In
particular, we investigate the use of Variable Packet Size (VPS)
probing, and demonstrate its viability via experiments.
OpenNet is an open-source SDN wireless network simulator designed to address limitations of existing simulators. It connects the ns-3 network simulator with the Mininet emulator to model wireless functionality in ns-3 and simulate OpenFlow protocols in Mininet. OpenNet supports OpenFlow 1.0 and 1.3, wireless modeling of mobility, loss and delay, and controller emulation. It provides an extensible framework for simulating software-defined wireless LANs and was released on GitHub with a published paper describing its design and capabilities.
The intern will model satellite networks using the ns3 simulator. Goals include learning how to use ns3, simulating a multi-point network with a satellite link, and analyzing the effects of changing parameters like maximum congestion window size. The project expands LinQuest's expertise in physical satellite layers into network and transport layers, and may uncover issues in real network environments.
This document provides an overview of the network simulator NS2. It discusses the basics of networking including LANs and WANs. It then describes the history and development of NS1 and NS2. Key aspects of NS2 like its design, workflow and supported routing protocols are explained. Challenges of simulating networks and tips for using NS2 are also provided. The document concludes with references for learning more about NS2.
Group Communication Techniques in Overlay NetworksKnut-Helge Vik
The document summarizes a dissertation on group communication techniques in overlay networks. It investigates four goals: managing dynamic group membership; identifying well-placed nodes for low latency management; constructing low latency overlays for event distribution; and obtaining accurate latency estimates. Evaluation with a group communication simulator and PlanetLab experiments show that centralized membership management, limited well-placed managers, and simple graph algorithms can achieve the goals and enable scalable real-time group communication across the internet.
TCP Fairness for Uplink and Downlink Flows in WLANsambitlick
The document discusses simulation parameters for a wireless network simulation in NS2 including the simulator used, simulation time, packet interval, background data traffic types, packet size, transmission range, routing protocol, and MAC protocol. It also briefly discusses queue management for wireless networks and how it differs from wired networks by not being visible. Client-server computing and networking is defined as well as packet scheduling policies and comparing FIFO to RENO scheduling. Bandwidth sharing approaches are examined for heterogeneous congestion control protocols. Finally, end-to-end throughput is defined and its decrease with more nodes in a chain topology is explained due to relaying overhead at intermediate nodes.
Evaluation of mininet WiFi integration via ns-3Farzaneh Pakzad
Mininet is a Linux-based network emulator that
is particularly widely used for Software Defined Network experiments,
due to its in-built support for OpenFlow switches.
However, Mininet currently lacks support for wireless links. A
recent work has addressed this limitation by using the realtime
feature of ns-3 to integrate the IEEE 802.11 channel
emulation feature with Mininet, which we refer to as Mininetns3-
WiFi. While this approach has great potential to serve as
an experimental platform, in particular for Software Defined
Wireless Networks, it has not been extensively evaluated in terms
of experiment result accuracy and fidelity. This is critical for any
system that integrates simulation with real-time components. In
this paper, we present a detailed evaluation of the fidelity of
experimental results of Mininet-ns3-WiFi. We further present
a reliable and low cost method that gives an experimenter an
indicator about the fidelity and trustworthiness of the results.
Link Capacity Estimation in SDN-based End-hostsFarzaneh Pakzad
Software Defined Networking (SDN) is a new
paradigm that facilitates network management and control.
In our work, we explore the use of SDN for the control of
network traffic on end-hosts. In particular, we use an OpenFlow
software switch (OVS) to load balance application traffic across
the multiple available network interfaces. A typical example is
the simultaneous use of Wifi and 4G interfaces on a mobile
device. In order to achieve optimal load balancing, it is critical
to know the capacity of the last-hop links associated with the
different interfaces. In this paper, we explore and adapt active
packet probing mechanisms to the scenario of SDN-based endhost
traffic control, in order to estimate the link capacity. In
particular, we investigate the use of Variable Packet Size (VPS)
probing, and demonstrate its viability via experiments.
OpenNet is an open-source SDN wireless network simulator designed to address limitations of existing simulators. It connects the ns-3 network simulator with the Mininet emulator to model wireless functionality in ns-3 and simulate OpenFlow protocols in Mininet. OpenNet supports OpenFlow 1.0 and 1.3, wireless modeling of mobility, loss and delay, and controller emulation. It provides an extensible framework for simulating software-defined wireless LANs and was released on GitHub with a published paper describing its design and capabilities.
The intern will model satellite networks using the ns3 simulator. Goals include learning how to use ns3, simulating a multi-point network with a satellite link, and analyzing the effects of changing parameters like maximum congestion window size. The project expands LinQuest's expertise in physical satellite layers into network and transport layers, and may uncover issues in real network environments.
This document provides an overview of the network simulator NS2. It discusses the basics of networking including LANs and WANs. It then describes the history and development of NS1 and NS2. Key aspects of NS2 like its design, workflow and supported routing protocols are explained. Challenges of simulating networks and tips for using NS2 are also provided. The document concludes with references for learning more about NS2.
Group Communication Techniques in Overlay NetworksKnut-Helge Vik
The document summarizes a dissertation on group communication techniques in overlay networks. It investigates four goals: managing dynamic group membership; identifying well-placed nodes for low latency management; constructing low latency overlays for event distribution; and obtaining accurate latency estimates. Evaluation with a group communication simulator and PlanetLab experiments show that centralized membership management, limited well-placed managers, and simple graph algorithms can achieve the goals and enable scalable real-time group communication across the internet.
TCP Fairness for Uplink and Downlink Flows in WLANsambitlick
The document discusses simulation parameters for a wireless network simulation in NS2 including the simulator used, simulation time, packet interval, background data traffic types, packet size, transmission range, routing protocol, and MAC protocol. It also briefly discusses queue management for wireless networks and how it differs from wired networks by not being visible. Client-server computing and networking is defined as well as packet scheduling policies and comparing FIFO to RENO scheduling. Bandwidth sharing approaches are examined for heterogeneous congestion control protocols. Finally, end-to-end throughput is defined and its decrease with more nodes in a chain topology is explained due to relaying overhead at intermediate nodes.
The document describes two experiments conducted using the OPNET simulation tool. Experiment 1 involves simulating a TCP network using different congestion control mechanisms and analyzing OSPF routing. Experiment 2 compares the bus and star network topologies by creating networks with each in OPNET and collecting statistics on traffic and delay. The objectives are to get familiar with OPNET, study TCP algorithms, simulate OSPF routing, and understand the pros and cons of different topologies. Tasks for each experiment are described in detail, including how to set up the simulations, configure nodes and links, select statistics, and run the simulations.
MANET Experiment - I (Using Network Simulator NetSim -www.tetcos.com)Amulya Naik
Develop MAC Protocol using NetSim Network Simulator for MANETs to send the packet without any contention through wireless link using the following MAC protocol(CSMA/CA (802.11)).
Analyze its performance with
1.Increasing node density
2.Mobility
This experiment is part of Visvesvaraya Technological University (VTU) syllabus for post graduate students.
A sliding window protocol allows for reliable packet transmission over data links by assigning each packet a sequence number, tracking acknowledged packets, and allowing a limited number of unacknowledged packets to be transmitted at a time. It provides reliability through mechanisms like resending lost packets, while avoiding issues like unlimited sequence numbers by capping the number of unacknowledged transmittable packets with a window size. This sliding window approach balances reliability with throughput.
Gurpinder Singh Ghuman has a M.S. in Electrical Engineering from USC and a B.E. in Electronics and Communication from Punjab Technical University. He has experience as an intern at Infosys and Access Point and currently works as a graduate assistant at USC. His technical skills include programming languages like C, C++, Python and MATLAB as well as networking protocols like TCP/IP, UDP and Ethernet. Some of his academic projects involve software defined networking using Ryu and Mininet, building an operating system kernel in C called Weenix, and designing algorithms for power allocation in MIMO systems and CSMA/CA networks.
An algorithm that makes it possible to monitor full-mesh clusters of up to 1000 nodes without having to apply fast timer supervision between all nodes. Failure discovery times are default between one and two seconds, but can be made shorter.
OpenFlow is one of the most commonly used protocols for communication between the
controller and the forwarding element in a software defined network (SDN). A model based on
M/M/1 queues is proposed in [1] to capture the communication between the forwarding element
and the controller. Albeit the model provides useful insight, it is accurate only for the case when
the probability of expecting a new flow is small.
Secondly, it is not straight forward to extend the model in [1] to more than one forwarding
element in the data plane. In this work we propose a model which addresses both these
challenges. The model is based on Jackson assumption but with corrections tailored to the
OpenFlow based SDN network. Performance analysis using the proposed model indicates that
the model is accurate even for the case when the probability of new flow is quite large. Further
we show by a toy example that the model can be extended to more than one node in the data plane.
TIPC is a networking protocol that provides container/namespace support, group messaging, 128-bit node identities, encryption, and wormhole communication between containers on the same host. It has seen many improvements in functionality, performance, scalability, and code quality in recent Linux kernels. The roadmap for 2021 includes exploring 128-bit addressing and testing TIPC in Kubernetes for inter- and intra-pod messaging.
This presentation discusses using Multi-Path Transmission Control Protocols (MPTCP) as a security solution for data transfer. MPTCP allows a single TCP connection to use multiple paths between devices, increasing throughput and security. It works by encrypting data, dividing it into blocks, randomly assigning the blocks to different paths, and reassembling them at the destination. This makes sniffing or decrypting the full data more difficult as hackers would need to monitor multiple paths simultaneously. The presentation provides an overview of TCP, features of MPTCP, the MPTCP connection establishment process, and proposes an algorithm for securely transferring data using path mixing and encryption.
Energy efficient wireless sensor networks using linear programming optimizati...LogicMindtech Nologies
NS2 Projects for M. Tech, NS2 Projects in Vijayanagar, NS2 Projects in Bangalore, M. Tech Projects in Vijayanagar, M. Tech Projects in Bangalore, NS2 IEEE projects in Bangalore, IEEE 2015 NS2 Projects, WSN and MANET Projects, WSN and MANET Projects in Bangalore, WSN and MANET Projects in Vijayangar
This paper presents an implementation of an IPv6 stack within the network simulator NS-3. The implementation adds support for key IPv6 features like neighbor discovery and multihoming. It describes the architecture of NS-3 and how it currently only supports IPv4. Then it discusses the key components and mechanisms of IPv6, followed by details of the authors' implementation of IPv6 support in NS-3, including neighbor discovery. It presents simulation scenarios demonstrating IPv6 features like multihoming and dual stack operation.
OmniUI is a management framework for SDN that provides features like topology views, flow path highlighting, and port/flow statistics. It aims to address the lack of debugging and statistics tools for SDN. Key features include showing topology, highlighting packet forwarding paths, and providing statistics on flows defined by OpenFlow 1.3's extensible match fields. The tool collects these statistics from SDN controllers and stores them in a database for analysis.
Implementation of Spanning Tree Protocol using ns-3Naishil Shah
This document discusses the implementation of the Spanning Tree Protocol (STP) using the ns-3 network simulator. STP is used to prevent bridge loops in layer 2 Ethernet networks. The authors first tried implementing STP by exchanging HELLO messages between nodes but were unsuccessful. They then used Prim's algorithm on the adjacency matrix output from ns-3 to generate a minimum spanning tree and remove loops. NetAnim was used to visualize the topology before and after applying Prim's algorithm.
This document summarizes an OPNET lab on network design. The lab involved designing a network for a small company with 4 departments. Different scenarios were modeled and compared, including using separate servers versus one server for all services. High density cables were found to optimize network performance. Using separate servers distributed the load better than one server handling all services. Overall, the lab demonstrated fundamentals of network design and how choices like infrastructure and server configuration impact performance.
Energy Saving DSR and Probabilistic Rebroadcast Mechanism are used to Increas...IJTET Journal
Abstract- MANETs are infrastructure less and can be set up anytime anywhere. Due to high mobility of nodes in mobile ad hoc networks (MANETs), there exist frequent link breakages which lead to frequent path failures and route discoveries. The overhead of a route discovery cannot be neglected. In a route discovery, broadcasting is a fundamental and effective data broadcasting mechanism, where a mobile node blindly rebroadcasts the first received route request packets unless it has a route to the destination, and thus it causes the broadcast storm problem and without consider the nodes energy level of route selection it leads to reduce the network lifetime. In this paper proposed to focus is on a two mechanism ESDSR and Neighbor coverage based Probabilistic rebroadcast to overcome those problems. A Energy Saving Dynamic Source Routing in MANETs (ESDSR) which will efficiently utilize the battery power consideration in the route selection time of mobile nodes in such a way that the network will get more life time and Neighbor coverage based Probabilistic rebroadcast mechanism, which can significantly decrease the number of retransmissions so as to reduce the routing overhead, and can also improve the routing performance. The simulation was carried out using the NS-2 network simulator.
MuMHR: Multi-path, Multi-hop Hierarchical RoutingM H
This document proposes a new routing protocol called MuMHR for wireless sensor networks. MuMHR aims to improve energy efficiency and robustness over LEACH in three ways: 1) By enabling nodes to select cluster heads based on the number of hops away to reduce transmission distances. 2) By using a back-off timer and multiple paths for transmissions to reduce setup overhead and add reliability. 3) By electing backup cluster heads to substitute when primary heads fail. The protocol operates in setup and data transfer phases, with the setup phase selecting cluster heads and forming clusters in an energy-efficient multi-hop manner.
On modeling controller switch interaction in openflow based sdnsIJCNCJournal
With an increase in number of software defined network (SDN) deployments,and OpenFlow consolidating as the protocol of choice for controller-switch interactions, a need to analytically model the system for performance analysis is increasing. An attempt has previously been made in [1] to model the syste considering both a controller and a switch as an M/M/1 queue. The method, although useful, lacks accuracy for higher probabilities of new flows entering the network. The approach is also deficient of
details on how it can be extended to more than one node in the data plane.These two short-comings are addressed in this paper where thecontroller and switch are modeled
collectively as Jackson’s network, with essential tuning to suit OpenFlow-based SDN. The consequent analysis shows the resilience of the model even for higher number of new flow entries. An example is also used
to illustrate the case of multiple nodes in the data plane.
Group Communication (Distributed computing)Sri Prasanna
This document discusses different modes of communication in distributed systems including unicast, anycast, multicast, and broadcast. It then covers topics related to implementing group communication such as hardware vs software approaches, reliability, ordering of messages, and protocols like IP multicast and IGMP.
Software defined networking (SDN) aims to decouple the network control and data planes by providing an open standard application programming interface (API). This allows for a logically centralized controller that maintains a global view of the network. The controller can programmatically configure forwarding rules on SDN switches using the API. This new architecture enables more flexible, programmable networks and has consequences for both industry and research. For industry, it promises to accelerate innovation, lower costs, and create new services. For research, it provides opportunities to develop new network programming languages and abstractions that simplify network specification and management.
The document discusses the data link layer and network layer in computer networking. At the data link layer, frames are used to transfer data between directly connected nodes over a physical link. Error detection, flow control, and framing are services provided. Network layer routing forwards packets between networks by choosing the best path from the routing table. Static routing uses manually configured paths, while dynamic routing protocols like distance vector routing and link state routing automatically adapt to topology changes.
The document describes two experiments conducted using the OPNET simulation tool. Experiment 1 involves simulating a TCP network using different congestion control mechanisms and analyzing OSPF routing. Experiment 2 compares the bus and star network topologies by creating networks with each in OPNET and collecting statistics on traffic and delay. The objectives are to get familiar with OPNET, study TCP algorithms, simulate OSPF routing, and understand the pros and cons of different topologies. Tasks for each experiment are described in detail, including how to set up the simulations, configure nodes and links, select statistics, and run the simulations.
MANET Experiment - I (Using Network Simulator NetSim -www.tetcos.com)Amulya Naik
Develop MAC Protocol using NetSim Network Simulator for MANETs to send the packet without any contention through wireless link using the following MAC protocol(CSMA/CA (802.11)).
Analyze its performance with
1.Increasing node density
2.Mobility
This experiment is part of Visvesvaraya Technological University (VTU) syllabus for post graduate students.
A sliding window protocol allows for reliable packet transmission over data links by assigning each packet a sequence number, tracking acknowledged packets, and allowing a limited number of unacknowledged packets to be transmitted at a time. It provides reliability through mechanisms like resending lost packets, while avoiding issues like unlimited sequence numbers by capping the number of unacknowledged transmittable packets with a window size. This sliding window approach balances reliability with throughput.
Gurpinder Singh Ghuman has a M.S. in Electrical Engineering from USC and a B.E. in Electronics and Communication from Punjab Technical University. He has experience as an intern at Infosys and Access Point and currently works as a graduate assistant at USC. His technical skills include programming languages like C, C++, Python and MATLAB as well as networking protocols like TCP/IP, UDP and Ethernet. Some of his academic projects involve software defined networking using Ryu and Mininet, building an operating system kernel in C called Weenix, and designing algorithms for power allocation in MIMO systems and CSMA/CA networks.
An algorithm that makes it possible to monitor full-mesh clusters of up to 1000 nodes without having to apply fast timer supervision between all nodes. Failure discovery times are default between one and two seconds, but can be made shorter.
OpenFlow is one of the most commonly used protocols for communication between the
controller and the forwarding element in a software defined network (SDN). A model based on
M/M/1 queues is proposed in [1] to capture the communication between the forwarding element
and the controller. Albeit the model provides useful insight, it is accurate only for the case when
the probability of expecting a new flow is small.
Secondly, it is not straight forward to extend the model in [1] to more than one forwarding
element in the data plane. In this work we propose a model which addresses both these
challenges. The model is based on Jackson assumption but with corrections tailored to the
OpenFlow based SDN network. Performance analysis using the proposed model indicates that
the model is accurate even for the case when the probability of new flow is quite large. Further
we show by a toy example that the model can be extended to more than one node in the data plane.
TIPC is a networking protocol that provides container/namespace support, group messaging, 128-bit node identities, encryption, and wormhole communication between containers on the same host. It has seen many improvements in functionality, performance, scalability, and code quality in recent Linux kernels. The roadmap for 2021 includes exploring 128-bit addressing and testing TIPC in Kubernetes for inter- and intra-pod messaging.
This presentation discusses using Multi-Path Transmission Control Protocols (MPTCP) as a security solution for data transfer. MPTCP allows a single TCP connection to use multiple paths between devices, increasing throughput and security. It works by encrypting data, dividing it into blocks, randomly assigning the blocks to different paths, and reassembling them at the destination. This makes sniffing or decrypting the full data more difficult as hackers would need to monitor multiple paths simultaneously. The presentation provides an overview of TCP, features of MPTCP, the MPTCP connection establishment process, and proposes an algorithm for securely transferring data using path mixing and encryption.
Energy efficient wireless sensor networks using linear programming optimizati...LogicMindtech Nologies
NS2 Projects for M. Tech, NS2 Projects in Vijayanagar, NS2 Projects in Bangalore, M. Tech Projects in Vijayanagar, M. Tech Projects in Bangalore, NS2 IEEE projects in Bangalore, IEEE 2015 NS2 Projects, WSN and MANET Projects, WSN and MANET Projects in Bangalore, WSN and MANET Projects in Vijayangar
This paper presents an implementation of an IPv6 stack within the network simulator NS-3. The implementation adds support for key IPv6 features like neighbor discovery and multihoming. It describes the architecture of NS-3 and how it currently only supports IPv4. Then it discusses the key components and mechanisms of IPv6, followed by details of the authors' implementation of IPv6 support in NS-3, including neighbor discovery. It presents simulation scenarios demonstrating IPv6 features like multihoming and dual stack operation.
OmniUI is a management framework for SDN that provides features like topology views, flow path highlighting, and port/flow statistics. It aims to address the lack of debugging and statistics tools for SDN. Key features include showing topology, highlighting packet forwarding paths, and providing statistics on flows defined by OpenFlow 1.3's extensible match fields. The tool collects these statistics from SDN controllers and stores them in a database for analysis.
Implementation of Spanning Tree Protocol using ns-3Naishil Shah
This document discusses the implementation of the Spanning Tree Protocol (STP) using the ns-3 network simulator. STP is used to prevent bridge loops in layer 2 Ethernet networks. The authors first tried implementing STP by exchanging HELLO messages between nodes but were unsuccessful. They then used Prim's algorithm on the adjacency matrix output from ns-3 to generate a minimum spanning tree and remove loops. NetAnim was used to visualize the topology before and after applying Prim's algorithm.
This document summarizes an OPNET lab on network design. The lab involved designing a network for a small company with 4 departments. Different scenarios were modeled and compared, including using separate servers versus one server for all services. High density cables were found to optimize network performance. Using separate servers distributed the load better than one server handling all services. Overall, the lab demonstrated fundamentals of network design and how choices like infrastructure and server configuration impact performance.
Energy Saving DSR and Probabilistic Rebroadcast Mechanism are used to Increas...IJTET Journal
Abstract- MANETs are infrastructure less and can be set up anytime anywhere. Due to high mobility of nodes in mobile ad hoc networks (MANETs), there exist frequent link breakages which lead to frequent path failures and route discoveries. The overhead of a route discovery cannot be neglected. In a route discovery, broadcasting is a fundamental and effective data broadcasting mechanism, where a mobile node blindly rebroadcasts the first received route request packets unless it has a route to the destination, and thus it causes the broadcast storm problem and without consider the nodes energy level of route selection it leads to reduce the network lifetime. In this paper proposed to focus is on a two mechanism ESDSR and Neighbor coverage based Probabilistic rebroadcast to overcome those problems. A Energy Saving Dynamic Source Routing in MANETs (ESDSR) which will efficiently utilize the battery power consideration in the route selection time of mobile nodes in such a way that the network will get more life time and Neighbor coverage based Probabilistic rebroadcast mechanism, which can significantly decrease the number of retransmissions so as to reduce the routing overhead, and can also improve the routing performance. The simulation was carried out using the NS-2 network simulator.
MuMHR: Multi-path, Multi-hop Hierarchical RoutingM H
This document proposes a new routing protocol called MuMHR for wireless sensor networks. MuMHR aims to improve energy efficiency and robustness over LEACH in three ways: 1) By enabling nodes to select cluster heads based on the number of hops away to reduce transmission distances. 2) By using a back-off timer and multiple paths for transmissions to reduce setup overhead and add reliability. 3) By electing backup cluster heads to substitute when primary heads fail. The protocol operates in setup and data transfer phases, with the setup phase selecting cluster heads and forming clusters in an energy-efficient multi-hop manner.
On modeling controller switch interaction in openflow based sdnsIJCNCJournal
With an increase in number of software defined network (SDN) deployments,and OpenFlow consolidating as the protocol of choice for controller-switch interactions, a need to analytically model the system for performance analysis is increasing. An attempt has previously been made in [1] to model the syste considering both a controller and a switch as an M/M/1 queue. The method, although useful, lacks accuracy for higher probabilities of new flows entering the network. The approach is also deficient of
details on how it can be extended to more than one node in the data plane.These two short-comings are addressed in this paper where thecontroller and switch are modeled
collectively as Jackson’s network, with essential tuning to suit OpenFlow-based SDN. The consequent analysis shows the resilience of the model even for higher number of new flow entries. An example is also used
to illustrate the case of multiple nodes in the data plane.
Group Communication (Distributed computing)Sri Prasanna
This document discusses different modes of communication in distributed systems including unicast, anycast, multicast, and broadcast. It then covers topics related to implementing group communication such as hardware vs software approaches, reliability, ordering of messages, and protocols like IP multicast and IGMP.
Software defined networking (SDN) aims to decouple the network control and data planes by providing an open standard application programming interface (API). This allows for a logically centralized controller that maintains a global view of the network. The controller can programmatically configure forwarding rules on SDN switches using the API. This new architecture enables more flexible, programmable networks and has consequences for both industry and research. For industry, it promises to accelerate innovation, lower costs, and create new services. For research, it provides opportunities to develop new network programming languages and abstractions that simplify network specification and management.
The document discusses the data link layer and network layer in computer networking. At the data link layer, frames are used to transfer data between directly connected nodes over a physical link. Error detection, flow control, and framing are services provided. Network layer routing forwards packets between networks by choosing the best path from the routing table. Static routing uses manually configured paths, while dynamic routing protocols like distance vector routing and link state routing automatically adapt to topology changes.
IRJET- Performance Improvement of Wireless Network using Modern Simulation ToolsIRJET Journal
This document summarizes a research study that used the ns-3 network simulator to analyze the performance of two routing protocols - Optimized Link State Routing (OLSR) and Adhoc On-demand Distance Vector (AODV) - in a wireless ad hoc network under different conditions. The study varied parameters like packet size, number of nodes, and hello interval (the frequency at which routing information is broadcast) and measured metrics like throughput, delay, jitter, packet delivery ratio, packet loss, and congestion window. The results showed how the performance of the two protocols was impacted by changes to these parameters. The goal was to better understand congestion control and avoidance in wireless ad hoc networks through simulation.
IRJET- Survey on Adaptive Routing AlgorithmsIRJET Journal
This document discusses several adaptive routing algorithms for wireless networks and optical networks. It provides 3 key points:
1) Adaptive routing algorithms dynamically change their routing decisions based on changes in network topology and traffic levels. They aim to optimize parameters like distance, number of hops, and estimated transmission time.
2) Several adaptive routing algorithms are described, including centralized and distributed algorithms, algorithms using the A-star and Dijkstra's algorithms, and fault-aware algorithms to route around failed nodes or links.
3) Improved dynamic routing algorithms for elastic optical networks are proposed that select paths based on the number of links or weights accounting for link usage and available spectrum. The algorithms aim to efficiently route requests while
The document provides guidelines for integrating the OpenDaylight SDN controller with KaanalNet to test L2 switching features. It describes installing necessary Karaf features in OpenDaylight, including DLUX for the web UI. It also outlines using REST APIs to configure topologies in KaanalNet, including enabling STP, and checking the controller and switch state through the OpenDaylight web UI and REST interfaces.
ONOS is an open source distributed network operating system for software defined networking. It provides a global network view through a distributed architecture and network graph abstraction. Key features include high availability through fault tolerance using a distributed registry for control isolation, and scalability through a simple scale-out design where each instance is responsible for building and maintaining part of the network graph.
Enabling SDN in old school networks with Software-Controlled Routing ProtocolsOpen Networking Summits
Laurent Vanbever
Princeton University
Research Track Session Part 3
ONS2015: http://bit.ly/ons2015sd
ONS Inspire! Webinars: http://bit.ly/oiw-sd
Watch the talk (video) on ONS Content Archives: http://bit.ly/ons-archives-sd
Strata Singapore: GearpumpReal time DAG-Processing with Akka at ScaleSean Zhong
Gearpump is a Akka based realtime streaming engine, it use Actor to model everything. It has super performance and flexibility. It has performance of 18000000 messages/second and latency of 8ms on a cluster of 4 machines.
This document provides instructions for creating scenarios in the GloMoSim network simulator. It discusses the key input and output files used, including the scenario configuration file, node placement file, and application configuration file. It also describes how to design both wired and wireless networks as scenarios in GloMoSim, including defining the network topology and components, configuring applications and traffic, and analyzing output statistics files.
This document discusses Open vSwitch and its support for stateful services like connection tracking (conntrack) and network address translation (NAT). Open vSwitch is designed to manage overlay networks and provides programmable flow tables and remote management. It aims to integrate conntrack to enable stateful firewalling and NAT functions. This will allow matching on connection states and leveraging existing Linux conntrack and NAT modules. Examples are given of how conntrack and NAT rules could be implemented using these new Open vSwitch capabilities.
This document discusses second order statistics for vehicle-to-infrastructure (V2I) communications using macro diversity systems over composite fading channels. It introduces V2V and V2I communications and macro diversity, then discusses modeling fading channels for vehicular networks using statistical distributions like Rayleigh, Rice, and Nakagami-m. It outlines evaluating the performance of V2I communications using macro diversity through analyzing the cumulative distribution function (CDF), level crossing rate (LCR), and average fade duration (AFD) of the system. Numerical results are presented on the CDF, LCR, and AFD for V2I communications using macro diversity selection combining reception.
This document summarizes a study on the impact of malicious nodes on throughput, packets dropped, and average latency in mobile ad hoc networks (MANETs). The study used the NS-2 simulator to model different MANET scenarios with varying numbers of malicious nodes, from 0 to 10 nodes per group and 0 to 40 nodes total. Key findings from the simulations include: (1) network throughput was highest with 0 malicious nodes, (2) packet drops were lowest with 4 malicious nodes, and (3) average latency was lowest with 4 malicious nodes. As the number of malicious nodes increased, network throughput decreased while packet drops and latency increased. The document concludes the presence of malicious nodes degrades MANET performance but having a small number
Impact of Malicious Nodes on Throughput, Packets Dropped and Average Latency ...iosrjce
Mobile Ad-hoc Network is a decentralized wireless network[1]. Here the mobile nodes make and
break the links with the neighbouring nodes available in the radio range without actually being physically
connected. These networks are temporary and keep on changing from time to time. MANET applications are
getting importance in both civilian and military areas. MANETs can be applied in disaster communications and
used as the backup network of traditional mobile communication networks as well. Network throughput, number
of packets dropped and average latency are important parameters to evaluate the performance of wireless ad
hoc network[3]. Generally, it is difficult to achieve high throughput and low packet drop with minimum
delay[5]. In this paper, the objective is to achieve high throughput while keeping the packet drop and the
average latency under certain acceptable limits[10]. We tried to study the signature pattern of these malicious
nodes and made conclusions with the results obtained. The performance is evaluated with the following
parameters: network throughput, number of packets dropped and the average latency. We used NS2 simulator
and extracted data from the trace files[2]. Ad-hoc On Demand Distance Vector (AODV) routing protocol has
been used in our experiments[4]. Similar to our previous work, the nodes are free to move or remain static in all
the quadrants in the defined space[8].
Performance Evaluation of a Layered WSN Using AODV and MCF Protocols in NS-2csandit
This document summarizes a study that compares the performance of two routing protocols, AODV and MCF, in a layered wireless sensor network (WSN) using the network simulator NS-2. It first provides background on AODV, describing how it establishes and maintains routes. It then describes the MCF protocol, which formulates lightpath routing as an integer linear program to minimize the impact of fiber failures. The document outlines how both protocols were implemented in NS-2 and compares their performance based on metrics like throughput, packet loss, and end-to-end delay. The simulation results show that MCF generally has better throughput and reliability than AODV in the scenario of a 80-node WSN.
UCLA CS219 Course Project Report (Prof. George Varghese)
StateKeeper: Generalizing Reachability
Today there are many tools that are built using formal methods to
verify networks. The majority of these tools check network specifi-
cations and configurations to identify only a limited class of failures
such as Reachability, Forwarding Loops and Slicing. They don’t take
into account the rate-limiting rules that affect the throughput of the
system and also link delays. Both of these quantities are responsible
for the Quality of Service (QoS). We believe that without a decent
throughput and affordable delay, a network is pretty much in a
dead state even if it passes the tests for reachability, forwarding
detection, and other such failure classes. We developed StateKeeper,
a tool based on ideas from Atomic Predicates Verifier. StateKeeper
keeps track of both network performance and network reachability.
In our experiments, we factor in link delay and throughput as our
performance metrics. StateKeeper will allow network operators
to verify Quality of Service at each port along a route by showing
information about the state of each step.
This document contains information about various VLSI and low power projects, including titles, codes, and brief descriptions. It lists 30 projects related to topics like area-efficient adders and multipliers, low power filter and encryption designs, testing techniques, and transforms. The projects aim to optimize aspects like area, speed, power consumption and implementation on FPGAs or ASICs.
This document proposes enhancing the security of wireless networks using physical layer protection. It discusses weaknesses in conventional encryption systems and proposes encrypting data at the physical layer instead of the MAC layer. This is done by using physical layer transforms like XOR, scrambling, or phase shifting based on a cipher stream. Encrypting at the physical layer makes the decrypted data difficult for hackers to record. Simulation results show the proposed techniques do not degrade communication performance for modulation schemes up to QAM-16 over AWGN channels. Future work includes analyzing different error coding schemes' effects on hacking complexity and exploring joint encryption and error coding.
1. The document discusses OpenStack Neutron and Open vSwitch (OVS), describing their architecture and configuration. It explains that Neutron uses OVS to provide virtual networking and switching capabilities between virtual machines.
2. Key components of the Neutron-OVS architecture include the Neutron server, OVS agents on compute nodes, and the OVS daemon that implements the switch in the kernel and userspace.
3. The document also provides examples of configuring an OVS bridge and ports for virtual networking in OpenStack.
This document summarizes an article about SDN, OpenFlow, and the ONF. It discusses how OpenFlow and SDN are emerging technologies that have the potential to enable network innovation and optimize costs. It also introduces the Open Networking Foundation (ONF) and how the community around SDN and OpenFlow has grown rapidly.
The document discusses modeling a 4G LTE system in MATLAB. It provides an overview of 4G LTE standards and features, and presents a case study of modeling the downlink physical layer of an LTE system in MATLAB. Key aspects covered include channel coding, OFDM, MIMO, link adaptation, and options for simulation acceleration and connecting system design to implementation through code generation.
Similar to SCOR: Constraint Programming-based Northbound Interface for SDN (20)
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
SCOR: Constraint Programming-based Northbound Interface for SDN
1. SCOR: Constraint Programming-based
Northbound Interface for SDN
Siamak Layeghy, Farzaneh Pakzad and Marius Portmann
School of ITEE, The University of Queensland
Brisbane, Australia
Presented by Siamak Layeghy
26th International Telecommunication Networks and Applications Conference (ITNAC)
7-9 December 2016, University of Otago, Dunedin, New Zealand
1
5. How good are northbound interfaces?
• There is no Standard northbound interface
• Many controllers have their own northbound interfaces e.g.
OpenDaylight, NOX, Onix and Floodlight (specific definitions)
5
6. 2
3 4
6
5
C = 30
D = 2
L = 1
C = 100
D = 1, L = 1 C = 30
D = 5
L = 1
C = 20
D = 1
L = 2
C= 20
D= 1
L = 2
C = 10, D = 9, L = 2
1 7
Routing & Quality of Service (QoS) Routing
Shortest Path Routing
Widest Path Routing (maximum bandwidth path)
Minimum delay Path Routing
C: Capacity (Mb/s)
D: Delay (sec)
L: Loss (Percentage)
QoS
Routing
…
6
9. Constraint Programming
CP Pseudocode:
Variables:
Puzzle (2D-array of integers, range: 1..9)
Constraints:
Fill Puzzle with initial numbers
Alldifferent Rows
Alldifferent Columns
Alldifferent Sub-Squares
Solve:
Satisfy constraints
for x in range(0,9):
for y in range(0,9):
if grid[x][y] == 0:
return x, y
return -1, -1
def isValid(grid, i, j, e):
rowOk = all([e != grid[i][x] for x in range(9)])
if rowOk:
columnOk = all([e != grid[x][j] for x in range(9)])
if columnOk:
# finding the top left x, y co-ordinates of the section containing the i,j cell
secTopX, secTopY = 3 *(i/3), 3 *(j/3)
for x in range(secTopX, secTopX+3):
for y in range(secTopY, secTopY+3):
if grid[x][y] == e:
return False
return True
return False
def solveSudoku(grid, i=0, j=0):
i,j = findNextCellToFill(grid, i, j)
if i == -1:
return True
for e in range(1,10):
if isValid(grid,i,j,e):
grid[i][j] = e
if solveSudoku(grid, i, j):
return True
# Undo the current cell for backtracking
grid[i][j] = 0
return False
9
10. The new Northbound Interface
Network Operating System
Applications
QoS Routing Interface
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MiniZinc (Language)
QoS
Routing
Traffic
Engineering
Link
Utilization
Load
Balancing
. . .
Service
chaining
<---NorthBoundAPI--->
. . .
<-------------------------RoutingFramew
Chosen Northbound Language:
MiniZinc & Solvers (Gecode, Jacop,
ECLiPSe, and many other solvers )
QoS Routing Interface:
The Minimum set of needed primitives
for implementation of QoS routing and
Traffic Engineering applications.
10
17. Evaluation: Various Network Topologies
Pod 0 Pod 1 Pod 2 Pod 3
Edge
Aggregation
Core
Simple fat-tree topology for k=4, nodes=36, link= 48
Grid topology for k=6, nodes=36, link= 60
17
18. Evaluation: Various Number of nodes
18
10
100
1000
10000
100000
0 50 100 150 200 250 300 350 400
SolveTime(ms)
Network Size (number of nodes)
SCOR, Grid topology
LP, Grid topology
SCOR, Fat-Tree topology
LP, Fat-Tree topology
0
50
100
150
200
250
300
350
400
450
500
550
600
0 50 100 150 200 250 300 350 400
SolveTime(ms)
Network Size (number of nodes)
Least Cost Path with Capacity Constraints, Grid Topology
Least Cost Path, Grid Topology
Least Cost Path with Capacity Constraint, Fat-Tree Topology
Least Cost Path, Fat-Tree Topology
Today I will start with a short background and the related works, then I will explain my research tasks and the methodology I have used to accomplish these research tasks. Finally I will discuss the results I have achieved so far.
Networking people thought a similar change can happen to networking devices as well.
They suggested if we separate hardware and software, then developing applications will be possible, independent from hardware.
And, this was the way Software Defined Networking appeared.
The main idea behind SDN is
to separate the forwarding brain from these expensive specialized hardware and concentrate it in a logically centralized node which is called controller.
The controller uses an open interface to the hardware, which is now a brain-less forwarding device, to tell them how to forward packets. This interface is called southbound interface.
Then applications can use the abstractions created by the controller to program the network. They use another interface which is called northbound interface.
The Northbound interfaces are the other place where I expected to find some QoS routing related work.
But I noticed that current northbound interfaces rarely provide features for this purpose.
The only Northbound interface that could be used for QoS routing was SFNet that has a limited scope.
Here my conclusion was: “there…TE applications.”
Google’s project is not the only required technique in today’s networking. It is among a group of routing techniques which are called Quality of Service Routing.
In QoS routing, some constraints are considered when looking for a path to satisfy the service requirements. Let me explain this using some examples
Suppose this graph represents a network topology with bi-directional links. Each link is associated with three parameters which states its capacity or bandwidth, its delay and its loss ratio. Node number 1 is the source and node number 7 is the destination.
A routing algorithm’s job is to find a series of links which connects a source to a destination. The most common routing algorithm in internet is shortest path routing
In this shortest path routing the metric considered finding path is the hop count to destination. A path with the least number of hops will be selected.
Now, suppose you have an application which requires a lot of bandwidth, let say streaming video. As long as there is enough resources in all paths, it does not matter which routing algorithm you may use. But most of the time it is not the case with the networks and the shortest path which does not care about path’s bandwidth might cause some problem.
If you care about the service quality, you would prefer a routing algorithm which takes into account the bandwidth of the path. In fact you may prefer to find a path that provides the maximum bandwidth.
The widest path routing finds a path that has the maximum bandwidth in its bottleneck.
Then you might have another application, let say (voice over IP) or VOIP. Now you don’t need too much bandwidth, instead your application is sensitive to the end to end delay. In this case, if care about the quality of the service, you may prefer the end to end delay to be taken into account when the path is calculated.
So you may prefer to find a path with minimum delay.
In this way a lot of metrics can be applied in path calculation and a lot of QoS routing algorithms can be generated.
In my survey on QoS routing algorithms I found a well cited reference which divides QoS routing schemes to two categories.
The first group is called “Basic QoS routing”. In these algorithms only one QoS metric is considered.
If this metric is related to a link parameter such as bandwidth, the resulting QoS routing will be called link-optimization or link-constrained routing. Examples include Maximum Bandwidth or the Widest path routing and Bandwidth constrained routing in which the path should have specific bandwidth on its bottleneck.
The other case is when the metric is related to the whole path such as delay, then we have path optimization and path constrained routing. Examples include the minimum delay path and constrained delay path routing.
The second group of QoS routing algorithms is called composite QoS routing. These QoS routing schemes are created by combining basic QoS routing algorithms. In these algorithms, usually one metric is optimized and one or more metrics are constrained. For instance an algorithm for finding a path with minimum delay and a specified value of bandwidth belongs to this group. Another possible combination is to combine multiple constrained metrics. For instance, a path with specified amount of bandwidth, delay and packet loss.
The routing framework’s design and implementation is done and is operational, unless a user interface should be designed to allow users select the QoS method which should be applied on flows.
At the moment one method manually is selected and path are calculated accordingly.
The main idea behind using constraint programming for this northbound interface is to separate the complexity from the user.
I believe this concept is represented in this image very well. While it might need a lot of effort to produce a chemical product, this lucky scientist can easily produce it. Most of the job is done by the system.
There is a similar situation with CP. It allows to describe the required solution without the distraction of algorithmic details. The system that find the solution in the case of CP is called solver
Solvers are software that are specially designed for this purpose. People have researched about this for years and generated many powerful solvers.
So in CP a user only states the constraints and the solution is found by the solver program.
For instance, if we want to solve a Sudoku using CP,
We use a variable to define the puzzle. Variables are unknown parameters which can only be known at the end of program.
Then we state the constraints as having different values between 1 and 9 in each raw, column and each sub-square
Finally the solve item indicates whether it is a constraint satisfaction or optimization problem.
This is how Sudoku can be solved in Python. As you can see, every step of the procedure should exactly be determined in this way.
The CP language chosen for the Northbound interface, is MiniZinc.
MiniZinc is a constraint modelling language created by NICTA people such as Peter J. Stuckey, in Melbourne and Monash Universities.
MiniZinc is high-level enough to express most constraint problems easily,
low-level enough that it can be mapped onto existing solvers.
It comes with a few solvers such as Gecode but it is possible to use many more available solvers such as jacop and eclipse.
This northbound interface has two layers, the first layer is the MiniZinc language, and the second layer, is the set of primitives or predicates in MiniZinc literature, which makes it possible to implement all QoS routing algorithms.
People: Ralph Becket, Sebastian Brand, Mark Brown, Thibaut Feydy, Julien Fischer, Maria Garcia de la Banda, Kim Marriott, and Mark Wallace
allows concise and powerful modelling of problems, and solving of the same model by many solvers: constraint programming, mixed integer programming, SAT, SMT and local search.
Powerful solving technology lazy clause generation provides the state-of-the-art constraint programming solvers, and unbeatable results on many problems, particularly scheduling.
Nested constraint programming: an extension to CP to allow the expression and solving of complex nested discrete optimization problems, such as minimax problems, stochastic optimization problems, bi-level and multi-level optimization, quantified constraint optimization problems, and more.
MiniZinc comes with these solvers: FD , CPX , MIP , Lazy
This layer consists of one main predicate which identifies a network path and seven other predicates which state various constraints about bandwidth, delay and other metrics.
Each QoS routing algorithm is generated by combining one or more predicates with the Path predicate.
The path predicate is implemented using flow conservation rule.
This rule states the total sum of the flows entered a node is equal to sum of the flows leaving the node unless the node is either source or sink.
The CP Pseudo-code here includes a single variable which represents the link to path membership.
The only constraint used here is the one that states the flow conservation rule. and this is the actual code for the path predicate.
Let see for instance how the minimum delay path is created.
To create this application, it is enough to add the total cost predicate to the path predicate and define the cost as the transmission delay. and this is the real implementation of this application using the new northbound interface.
Then we want to implement the algorithm which calculates minimum delay path that has specific bandwidth. This is called capacity constrained minimum delay path. To create this, only one predicate is added to previous program which applies capacity constraint. and this is the actual implementation of the application in the new northbound interface.
To have a feeling how this new interface makes it easy to create QoS routing applications, I use another example: the maximum residual capacity.
In Maximum residual capacity, each flow is placed where the remaining capacity after placing the flow is the maximum in the bottleneck. This helps to route more con-current flows in the same network by load balancing.
This is the formal problem definition:
It states that for a Graph of V nodes and E links and a set of P flows with D demands, find the maximum of Z in a way that
Each flow can be directed through Py_i paths
And the total number of paths that a flow can be routed is just 1
And the flow cannot be splitted into separate paths
Where the total flow of a link j is the sum of all flows going through that link
It should be less than the capacity of the link
And Z is remaining capacity of the links
I could not find the exact implementation of this algorithm in python but I found a similar example which is called “Maximum Con-current Flow”
It is written in 400 lines of code.
Now let see how this algorithm is implemented in the new northbound interface.
It is created by adding the residual capacity predicate to the path predicate. And this is the real implementation of the algorithm in the new northbound interface.
each commodity: i ∈ P
set of routes (paths) Πi = {πik : k = 1,...,li} from node si to node ti (there are li paths)
Let xik denote a 0/1 variable, which equals 1 if πik is the path for commodity i and is 0 otherwise.
binary variable akij indicates whether or not path πik uses the arc j ∈ A
And these are QoS routing and TE applications created using the 8 predicates.
Because of interest of time I will not go through all these applications but I explain how they are created using a few examples.
So far, it is shown that how useful is the new northbound interface. But one might ask if these applications are practical?
To evaluate this, we ran a set of experiments with various setups. We used two major topologies in these experiments which included the fat tree topology which is mostly used in data centres and grid topology that can be used to model various networks.
In the first series of experiments we changed the number network nodes and run the application to find the requested path.
Here is some examples of the results.
The X axis indicates the number of nodes and the Y axis indicates the time that the solver needed to solve the problem and find the path.
As you can see, for complex QoS routing problems such as maximum residual capacity or maximum link utilization, where there are near to 400 nodes in the network, the required time is in the range of 150 Milliseconds which is quite practical.
In the first series of experiments we changed the number network nodes and run the application to find the requested path.
Here is some examples of the results.
The X axis indicates the number of nodes and the Y axis indicates the time that the solver needed to solve the problem and find the path.
As you can see, for complex QoS routing problems such as maximum residual capacity or maximum link utilization, where there are near to 400 nodes in the network, the required time is in the range of 150 Milliseconds which is quite practical.
Then we increased the number of con-current flows and ran the experiments. For a network of about 400 nodes, the solution time for 4 con-current flows is around 1 second which is acceptable, however, by adding new flows, solution time will increase to 5 to 6 seconds that I still believe it is acceptable.
In a network of near to 400 nodes, working with micro-flows is not common. So it is quite acceptable practice to aggregate flows and apply the above QoS routing algorithms on the aggregated flows, for instance 4 con-current flows.
The other possible solution is to force solver to calculate the output in one second, for instance. Based on our experiments, the difference between this solution and the final solution is very tiny.
My progress to date ends here, let’s see what do we have in the research plan.