Most Software Defined Networks (SDN) traffic engineering applications use excessive and frequent global monitoring in order to find the optimal Quality-of-Service (QoS) paths for the current state of the network. In this work, we present the motivations, architecture and initial evaluation of a SDN application called Cognitive Routing Engine (CRE) which is able to find near-optimal paths for a user-specified QoS while using a very small monitoring overhead compared to global monitoring which is required to guarantee that optimal paths are found. Smaller monitoring overheads bring the advantage of smaller response time for the SDN controllers and switches. The initial evaluation of CRE on a SDN representation of the GEANT academic network shows that it is possible to find near-optimal paths with a small optimality gap of 1.65 while using 9.5 times less monitoring.
The Cognitive Routing Engine developed in this paper is similar to the routing algorithm that is used in Cognitive Packet Networks (CPNs) @cite_2 @cite_14 @cite_7 @cite_5 but with the significant and important differences that in CPN, each router runs its own routing and learning algorithm for every source-destination pair and QoS requirement and, the routers collect the network state through the use of smart packets and their associated acknowledgment packets. This is in contrast with CRE which runs in a logically centralized manner on top of the SDN controller and uses exclusively OF mechanisms to gather network state. Hence, CRE can be viewed as a SDN-compatible version of CPN and can be used with the large number of SDN-enabled switches that has already been deployed. CPN has been used successful in various settings @cite_10 , for e.g., traffic engineering @cite_15 , routing in wireless @cite_1 and sensor @cite_4 networks and defence against Denial-of-Service (DoS) attacks @cite_8 .
@cite_14 @cite_4 @cite_7 @cite_8 @cite_1 @cite_2 @cite_5 @cite_15 @cite_10
2963492437 2031857436 2010941377 2029528936
In Software Defined Networks (SDN), intensive traffic monitoring is used to optimize the Quality-of-Service (QoS) of the network paths which are selected. Thus, we introduce the use of the Cognitive Packet Network (CPN) algorithm to SDN in order to optimize the search for new high-QoS paths. We install the CPN algorithm in the Cognitive Routing Engine (CRE), a new application software for SDN, and show that with limited monitoring overhead we are able to determine the near-optimal paths for given QoS metrics that may be proposed by the end users. Measurements that we have conducted on an experimental replica of the GEANT network that our approach uses close to 10 times less monitoring data than conventional SDN, but that we are able to approach the optimal paths within 2 . In this paper, we introduce a distributed dynamic routing algorithm in multi-hop cognitive radio (CR) networks, in which secondary users (SUs) want to minimize their interference to the primary users (PUs) while keeping the delay along the route low. We employ a cognitive pilot channel (CPC) for SUs to be able to access the information about PUs, including PUs' locations and channel conditions. Medial axis with a relaxation factor is used as a reference path for the routing, along which we develop a hierarchical structure for multiple sources to reach their destinations. We introduce a temporal and spatial dynamic non-cooperative game to model the interactions among the SUs as well as their influences on the PUs, and obtain by backward induction a set of mixed (behavioral) Nash equilibrium strategies. We also employ a multi-stage fictitious play learning algorithm for distributed routing, which minimizes the overall interference from the SUs to the PUs, as well as the average packet delay along the route from the SU nodes to their destinations. Simulation results show that our proposed algorithm can avoid congestion in the CR network and minimize delay while keeping the interference level low. We propose cognitive packet networks (CPN) in which intelligent capabilities for routing and flow control are concentrated in the packets, rather than in the nodes and protocols. Cognitive packets within a CPN route themselves. They are assigned goals before entering the network and pursue these goals adaptively. Cognitive packets learn from their own observations about the network and from the experience of other packets with whom they exchange information via mailboxes. Cognitive packets rely minimally on routers. This paper describes CPN and shows how learning can support intelligent behavior of cognitive packets. Abstract We discuss a packet network architecture called a cognitive packet network (CPN), in which intelligent capabilities for routing and flow control are moved towards the packets, rather than being concentrated in the nodes and protocols. Our architecture contains “smart” and “dumb” packets, as well as acknowledgement packets. Smart CPN packets route themselves, and learn to avoid congestion and losses from their own observations about the network and from the experience of other packets. They use a reinforcement learning algorithm to route themselves based on a goal function which has been assigned to them for each connection. Dumb CPN packets of a specific quality of service (QoS) class use routes which have been selected by the smart packets (SPs) of that class. Acknowledgement (ACK) packets are generated by the destination when an SP arrives there; the ACK heads back to the source of the SP along the inverse route and is used to update mailboxes in CPN routers, as well as to provide source routing information for dumb packets. We first summarize the basic concepts behind CPN, and present simulations illustrating their performance for different QoS goals, and analytical results for best and worst case performance. We then describe a test-bed network we have designed and implemented in order to demonstrate these ideas. We provide measurement data on the test-bed to illustrate the capacity of the network to adapt to changes in traffic load and to failures of links. Finally, we use measurements to evaluate the impact of the ratio of smart to dumb packets on the end-to-end delay experienced by all of the packets.