The Cognitive Packet Network (CPN) is a routing protocol that uses adaptive techniques based on on-line measurements to provide QoS to its users . The users themselves can declare individually their QoS goals, such as minimum delay, minimum packet loss, maximum bandwidth, minimum power consumption or a weighted combination of these. CPN has been designed to perform self-improvement in a distributed manner by learning from the experience of the packets in the network and by constantly probing for the current best routes.
More specifically, CPN uses 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 either SPs or DPs. This information is used in each node to train Random Neural Networks (RNNs) (Gelenbe et al., 2001b) and produce routing decisions. At each network node SPs are routed according to the measured experiences of previous packets with the same QoS goals and the same destination. In order to explore all possible routes and account for sudden network changes, each SP might make a random routing decision instead of the one calculated by the RNN, with a small probability (usually 5−10%).
The header of the CPN packets has been modified to allow the packets to gather network information according to the specified QoS goal. Therefore, as packets travel the network, they store QoS data (such as timestamps, counters, etc.) in a special data storage area of the packet header known as the cognitive map (CM) (Gellman, 2007). When a packet arrives at its destination, an acknowledgement (ACK) packet is generated which stores the route taken by the original packet, and the measurements it collected during its journey. The ACK will then return along the reverse route. At each hop the ACK visits, it deposits information in a special short-term memory store called Mailbox. When it finally reaches the source, the ACK establishes the route that the DPs will follow.
At each node a specific RNN, that has as many neurons as the possible outgoing links, provides the SP with the routing decision in the form of an output link. This output link corresponds to the most excited neuron, and since the RNN has a unique solution for any set of weights and input variables, this choice is also unique. The learning process used with RNN is reinforcement learning, which uses the observed outcome of a decision to reward or punish the routing decision, so that future decisions are more likely to improve or maintain the desired QoS goal.
Two models required, the first one is a user node, server node and 10 nodes in-between , each of these nodes has different attributes, ( Charging power capacity , CPU Power speed , Number of active links available) , these criteria will be use to select the weights for Random neural network model and the decision taken through Reinforcement learning algorithm to decided which best active link to use to send (SP) the smart packets , results of the throughput and delay calculated , the next modern is using the same nodes and sending the same streaming file for the user to the server but in this case using a conventional ad hoc routing method , same results calculated and should be compared with the previous model , what expected that the first model will be better because the second model will not take into consideration the attributes that was used ( the battery charging capacity of these nodes with the cpu speed) means that some nodes will be switched off during the conditional routing witch means the link will be disconnected and some files will be dissipated and the delay will be much more than the first model that take into consideration selecting the required nodes as a gateways. You can use Matlab or Paython or any other suitlabel platform to complete the required simulation and scenario.
2 freelances font une offre moyenne de 18056 ₹ pour ce travail
hello, I have read your project. I have needed experience on MATLAB and neural networks. here are some of my articles that I have done using MATLAB for modeling mathematical equations [login to view URL] Plus
Hi, Greetings of the day!! we can 100% do it. Certified professional here for C++/C /Java program,Networking,AI techniques using ML,ANN,RL etc., NS2/NS3,OPNET,Omnet,MATLAB. We are working on many cutting edge technolo Plus