* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Cognitive Packet Networks - TERENA Networking Conference 2001
TCP congestion control wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Network tap wikipedia , lookup
Internet protocol suite wikipedia , lookup
Backpressure routing wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Serial digital interface wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Airborne Networking wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Packet switching wikipedia , lookup
Toward Networks with Cognitive Packets Erol Gelenbe Ricardo Lent Esin Seref Zhiguang Xu School of Electrical Engineering & Computer Science University of Central Florida Orlando, FL 32816 Overview Introduction to CPN Cognitive Packet Networks Packet Routing Using Neural Networks – Random Neural Networks & Learning – Random Neural Networks with Reinforcement Learning Simulation (LFRNN, RNN RL, & Bang-Bang) Cognitive Adaptive Routing Analytical Model Predictions using G-Networks CPN Test-Beds Future Work Problem Definition Packet networks have capabilities for flow control, error control and routing Cognitive Packet Networks (CPN) concentrate intelligent capabilities for routing in the packets rather than in the nodes and protocols For the time being, we assume that error and flow control in CPN are handled using current techniques Introduction to CPN A packet switching network where packets route themselves Packets are assigned goals before entering the network Packets learn to achieve their goals Learning is performed by sharing information between packets Packets sharing same goals can be grouped into Packets do not rely on nodes for routing classes OSI Layers TCP/IP is a layered protocol stack Application handles particular applications, Presentation handles compression and encryption of data, Session controls establishment, management, termination of sessions Transport provides flow of data Network handles the transmission of packets in the network Data-link is responsible for the interaction of the device driver in the operating system and the network card in the machine Physical defines electrical and mechanical specifications Application Presentation Session Transport Network Data Link Physical Transport Layer (TCP) Connection-oriented: client and server applications establish connection before data exchange Reliable: sends checksum on data and header, takes care of the order of arriving packets, takes care of duplicate packets, sends acknowledgments, maintains timer Flow-control: receiving side allows the sending side to send as much as it can buffer Network Layer (IP) Unreliable: best effort service, no guarantees to get to the destination Connectionless: no state information about successive datagrams, each handled independently Routing: done on a hop-by-hop basis according to the routing tables, required information is kept in the IP header (Routing table information comes from the routing protocols) Current Routing Protocols Distance-vector Protocols – Routing tables updated according to a vector of distances (hop counts) – Regular and triggered updates – Whole network topology is distributed – No information about the network topology Drawbacks: – Regular updates consume bandwidth – Takes too long to stabilize after failure – Using only hop count omits other variables Current Routing Protocols Link-state Protocols – Each router tests the status of its link to its neighbors and sends this information to its other neighbors – Converges faster than distance-vector protocols – Each router can be assigned a cost based on throughput,reliability, round-trip time, etc – Load balancing possible – Multicasting reduces load on systems not participating Drawbacks: – No policy based routing – Needs more memory and CPU power CPN and CP CPN: Packet switching networks in which intelligent capabilities for routing are concentrated in packets rather than in the nodes and protocols CP: Packets in CPNs which have the route themselves Structure of CPs Identifier Field DATA Cognitive Map Executable Code •Identifier Field: The unique identifier of a packet •Data Field: Payload •Cognitive Map: S-D information, the packet’s view of the state of the network, etc •Executable Code: Code used to update the CM and the decision algorithm Nodes in a CPN Storage area for CPs: Input and Output Buffers Mailboxes are used to exchange data between CPs The Node executes the code for each CP in the input buffer Update of CM by Node Mailbox (MB) Cognitive Map (CM) Code Updated Cognitive Map Packet arrives at the input buffer of a node The code of each CP in the input buffer is executed – The CP retrieves relevant information from the mailbox – The packet’s CM is updated – Some information is moved from the CP to the MB – The CP is moved to an output buffer Cognitive Packet Classes A Class is a set of packets having the same QoS requirements, sets of internal states, control rules, input-output signals NODE (X,Y) S S D D NODE (X+1,Y) S Class (S,D,L) D S D NODE (X,Y+1) Random Neural Networks A spiked RNN with a mathematical structure similar to a queuing network (Gelenbe in Neural Computation 93, IEEE Trans. on NN 99 etc.) Probability that the neuron is excited: where i q j w ji i j and qi i ri i i q j wji i j wij is the rate at which neuron i sends excitation spikes to neuron j when i is excited wij is the rate at which neuron i sends inhibition spikes to neuron j when i is excited Learning Feed-Forward RNN Input to each neuron is represented as a pair of excitatory and inhibitory signals Each connection is represented as a pair of weights Output of the system is the q of the output layer neurons i i LFF RNN Equations Tl Normalized training set D l 1 0.9 * Dl Dl 1 k k 0.9 * Dl Dl 1 k Parameters adjusted to minimize the error function Ek Tl otherwise Network parameters are computed from the training set W {w (i, j )} W {w (i, j )} Dl k , Weight updates 1 2 n a i 1 i ( qi yik ) 2 , ai 0 n wk (u, v) wk 1 (u, v) ai (qik yik )[qi / w(u, v)]k i 1 LFF RNN Equations Where Q / w (u, v) Q / w (u, v)W (u, v)qu Q / w (u, v) Q / w (u, v)W (u, v)qu Q (q1 ,..., qn ) W {[ w (i, j ) w (i, j )q j ] / ( j )} 1 / (i ) i 1 / (i) 0 if u=i,v!=i if u!=i,v=i otherwise (1 qi ) / (i ) 1 / (i) i qi / (i) 0 if u=i,v=i if u=i,v!=i if u!=i,v=i otherwise RNN with Reinforcement Learning Fixed input values Each connection is represented as a pair of negative and positive weights Output of the system is the largest q of all the neurons i j RNN RL Algorithm Decision threshold Tl aTl 1 (1 a) Rl , R G Compute Tl 1 If Tl 1 Rl w (i, j ) w (i, j ) Rl w (i, k ) w (i, k ) Rl w (i, k ) w (i, k ) ,k j n2 w (i, j ) w (i, j ) Rl 1 Rl , k n 2 otherwise j RNN RL Algorithm Re-normalize all weights by calculating n ri* [ w (i, m) w (i, m)] 1 and w (i , j ) w (i , j ) ri ri* ri w (i , j ) w (i , j ) * ri Simulation 100 nodes Link speeds normalized 1 Arrivals are Poisson Buffer sizes are unlimited Packet loss simulated probabilistically, intentionally high in some areas Goal is to minimize a weighted combination of delay W and loss L G W L Bang-Bang to Minimize Average Delay Bang-Bang to Minimize Avg Delay + Loss RNN Reinforcement Learning to Minimize Avg Delay + Loss LFF RNN Control to Minimize Avg Delay + Loss Bang-Bang & Shortest Path in the Network Without Loss Cognitive Adaptive Routing (CAR) There are three types of packets: – The packets sent into the network by the source with small rate which travel intelligently to their destination (SMART or Cognitive Packets) – – A SMART packet which reaches its Destination generates an ACK back to the source; ACKs travel back along the same (reverse) route as the packet Reception of an ACK at the Source may trigger the transmission of a DUMB packet along the route which the older packet had taken ACKs may not be necessary for each packet Cognitive Adaptive Routing (CAR) The ACK coming back from Destination D deposits Delay Information W(n,O,D) when it passes through Node n, entering it from Node O W(n,O,D) is used to Update the CAR Learning Algorithm (eg Reinforcement Learning) either by the Smart Packet, or by the Node itself Analyzing CAR with G-Networks G-Networks are Queuing Networks with Three Types of Customers: – Normal Customers – Negative Customers: They Destroy Normal Customers – Triggers: They Move Normal Customers to Another Queue Multiple Class Models Allowed G-Networks Have Product Form … They Can be Solved Analytically and then Numerically Work of Gelenbe (89, 91, 93, 98) and Many Others Key Papers Mainly in Journal of Applied Probability G-Networks Can Model “Worst-Case CAR” and “Best-Case CAR” G-Network Equations Non-Linear Equations for the Queue Utilizations q S S, R , D q 0 S, D q iS, R ,D q DS, R ,D μ DS, R ,D q 0S, D q 0S, D μ 0S, D PS, R ,D μ SS, R ,D μ 0S, D 0S, D (q DS, R ,D μ DS, R ,D ) R q j S, R ,D μ j S, R ,D μ iS, R ,D - queue S is Source, queue D is Destination - S, R, D is a route from S to D with queue i and queue j as components and j is the predecessor of i - ACKs will trigger packets from queue 0, which constantly feeds queue S with small rate 0<S,D> Analytical Solution Calculate the average No of packets in each queue: N i S, R , D N i q iS, R , D 1 q R S N S N S, D N 0 R N D i S, R , D D q0 S, D 1 q0 S, D i N i i S, R , D S 0 S, D D Calculate the average transit delay for a packet W N Δ 0S,D S D Cognitive Adaptive Routing Performance All Packets Are Smart but Not Always Successful Fewer Packets Are Smart: Dumb Packets Follow Successful Smart Packets Cognitive Adaptive Routing Performance CAR Performance as a Function of Smart Packet Injection Rate Test-beds for CPN Goals Performance evaluation and capability enhancements Demonstration of applications Requirements Explicit separation and clear borderline between the different protocol layers Standardized interfaces both between the application layer and the CPN layer, and between the CPN layer and the data transport network Compatibility with a wide range of computing platforms Interchangeability of the data transport networking layer A CPN-VN (Virtual Network) Standard Linux on Intel-PCs New CPN Code Instead of IP CPN Test-Bed Different Selected Logical Connectivities Different Selected Physical Connectivities CPN-VP Test-Bed Current Test-Bed Connectivity Special Purpose CPN-Router Test-Bed Special-Purpose CPN-Router MPC860sar PowerPC CPU Core 10Mbps Ethernet Transceiver Ethernet MAC SCC1 ATM SAR SCC4 Memory Controller RAM Memory 32K Flash ROM 16K ATM Transceiver 155Mbps ATM Transceiver 155Mbps ATM Transceiver 155Mbps Smart & Dumb Packets Identifier Routing Data + Code SMART or DUMB Packet Indicator Payload Cognitive Map and Executable Code Packet Contents Mail Boxes in CPN-Routers The Mailbox (MB) is a LRU stack where information is stored: delaysweights for different directions associated with certain <S,D>, ... Packets (esp. ACKs) deposit information in the MB CPN-Router Software State Diagram of CPN-Router PDU Arrived (either from higher layer or from peer entity) PDU Assembled Complete Route Available No Route Available Incomplete Route Available Update Route Complete / Incomplete Route Consult MB Update CM No Route Found PDU Ready Proceed at Random Send Work Accomplished CPN: packet network architecture in which routing is carried under Packet Control -Cognitive Adaptive Routing: Smart or Cognitive Packets Control the Routing of the Dumb Packets Cognitive Packet Routing is Designed Using Random Neural Network based Reinforcement Learning, Feed-Forward Learning, Bang-Bang Control Analytical Modeling and Simulation Results are Presented Test-Bed architectures are being implemented Work to be Done: I Run and Measure Significant Applications (eg File Transfer, Video-Conferencing, Voice, Web Browsing …) Evaluate Network Adaptation under Time-Varying Workloads Deploy a “Large” Test-Bed Examine Implications with respect to TCP Consider CAR as a Joint Routing & Flow Control Scheme Work to be Done: II Can CAR be used to enhance IP ? Can CPN run in conjunction with IP ? Can Generalized CAR be a way of selecting paths in BGP ?