Adaptability and failure resilience of the cognitive packet network

Self Aware Networks (SAN) [1] is a proposal of QoS-enabled networks with enhanced monitoring and self improvement capabilities that use adaptive packet routing protocols. Such an example is Cognitive Packet Network (CPN) [2], which addresses QoS by using adaptive techniques based on online measurements. It is a distributed protocol that provides QoS-driven routing, in which users, or the network itself, declare their QoS requirements (QoS Goals) such as minimum Delay, maximum Bandwidth, minimum Cost, and so on. CPN is designed to perform self-improvement by learning from the experience of smart packets, using random neural networks (RNN) [3] with reinforcement learning (RL), and genetic algorithms. CPN makes use of three types of packets; smart packets (SP) for discovery, source routed dumb packets (DP) to carry the payload, and acknowledgement (ACK) packets to bring back information that has been discovered by SPs, and is used in nodes to train neural networks. As far as the decision process is concerned, each node stores a specific RNN for each QoS class, and for each active source-destination pair. Each RNN node, which represents the decision to choose a given output link for a smart packet, has as many neurons as the possible outgoing links. Decisions are taken by selecting the output link for which the corresponding neuron is the most excited. RL is carried out using a QoS Goal, such as Packet Delay, Loss, Hop Count, Jitter, and so on. The decisional weights of a RNN are increased or decreased based on the observed success or failure of subsequent SPs to achieve the Goal. Thus RL will tend to prefer better routing schemes, more reliable access paths to data objects, and better QoS. In the CPN protocol, SPs are generated either by a user request to create a path to some CPN node, or by a user request to discover parts of the network state, including location of certain fixed or mobile nodes, power levels at nodes, topology, paths, and their QoS metrics. To avoid overburdening the system with unsuccessful requests or packets that are in effect lost, all packets have a life-time constraint based on the number of nodes visited. In order for CPN to be more adaptive to any kind of network changes a fraction of SPs are routed at random at each intermediate router. In this way, a wider range of paths may be discovered and the network is better explored. The performance of the CPN routing protocol has been thoroughly investigated in [4, 5, 6] and it has been shown that it is adaptable to network changes, but it has not been tested sufficiently in the presence of network failures. Therefore, the scope of our proposed demo is to show the response of CPN during network failures. For this purpose, we have implemented a failure emulator mechanism which, according to a scenario of a failure situation, can emulate the failure of either some specific links or some machines. The failure can be specified in the scenario, it can be random, or it can follow a distribution or pattern. In our demo the failure is spread according to an epidemiological model, the AAWP (Analytical Active Worm Propagation) model. This is a discrete-time and continuous state deterministic approximation model, proposed by Chen et al. [7] to model the spread of active worms that employ random scanning.