{'fraction_non_alphanumeric': 0.02408690520425783, 'fraction_numerical': 0.005289501868811611, 'mean_word_length': 5.1893939393939394, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Evolution of Artificial Intelligent Plane

With the growth of the internet, it is becoming hard to manage, configure and monitor networks. Recent trends to control and operate them is artificial intelligence based automation to minimize human intervention. Albeit this concept has been introduced since a decade with several different names, but the underlying goal remains the same, which is to make network intelligent enough to assemble, reassemble if configuration changes, and detect a problem on its own and fix it. As a result, in addition to Data Plane, Control Plane and Management Plane, a new plane called Artificial Intelligence (AI) Plane is introduced. Our main objective is to analyze all major AI plane techniques, frameworks and algorithms proposed in various types of networks. We propose a comprehensive and network independent framework to cover all aspects of AI plane, in particular we provide a systematically means of comparison. In conjunction to make AI plane understand simpler, this framework highlights relevant challenges and design considerations for future research. To the best of our knowledge this is the first survey report which represents a complete comparison of AI planes with their investigation issues in several types of networks.


Introduction
Networks are evolving to meet user demands. Main qualities which make conventional internet successful are heterogeneity and generality combining with user transparency and rich functionality for end-to-end systems. In today's world networks display characteristics of unstable convoluted systems. Till date most networks are murky to its applications and providing only best effort delivery of packets with little or zero information about the reliability and performance characteristics of different paths. Granting, this design works well for simple server-client model, many emerging technologies such as: NFV (Network Function Virtualization [8], IoT (Internet of Things) [9], Software Defined Networking [10], CDN (Content Delivery Networks) [11] and LTE (Long-Term Evolution) [12] and 5G Cellular Networks [13] heavily depend on affluent information about the state of the network. For example, author in [14] described, if VNFs (Virtual Network Functions) [15] are not aware of the traffic on virtio interfaces assisting hypervisor, then this might result in a bottleneck in NFV infrastructure.
In other words, VNFs should know the state of the network (in terms of traffic) to accelerate applications hosted across VNFs in NFV infrastrucutre. Authors in [16] explained the need of the data storage as the number of connected IoT devices are increasing on unprecedented level [17]. In order to optimize the data storage, it is imperative for IoT nodes to know about the other nodes and their transportation method of moving data among networks. Literature in [18] specifically pinpointed SDN problem of not knowing state of the network when dealing with migrating VMs. Conventional internet is known for its mercurial nature due to several inter-winded connected devices. These connected devices designed, deployed, and optimized individually to work together based on network protocols. Notwithstanding these devices demonstrate feasibility of enlarging new innovative services but they fail to gather and retain information methodically useful for the network as whole. At present conventional algorithms in networks are incompetent to sophistication of behavior due to software and protocols coordinating network element's 1 control and management planes, specially how the decision logic and the distributed-systems issues are inescapable entwined. In order to solve these issues, a new plane was visioned by Clark at el. called Knowledge Plane (KP) [19]. According to Clark at el., KP is based on intelligent learning and may shift the paradigm on the methods we presently operate, troubleshoot and optimize computer data networks. Although AI plane has a lot of similarities with KP plane, but over a period of time it has evolved a lot. As Fig. 1.2 depicts, AI plane is an addition to the three traditional planes 1 Any device which has network function such as routing, switching etc is called network element Control Algorithms a) Communication between network components without AI Plane b) Communication between network components with AI Plane as we know today: Management Plane, Control Plane and Data Plane. It decouples decision logic from distributed protocols and enables simpler protocols to operate in these three traditional planes. Management plane deals mainly with supervision and configuration of the network, Data Plane is liable for forwarding, processing and in some cases storing of data packets. Control Plane assists Data Plane for matching and processing rules. AI plane duties in broader perspective are to obtain a rich view of network, learn the behavior of network, and if possible then to operate on them. Fig 1.1 shows two communication model with and without AI plane. Figure a) shows the communication model between two network elements without AI plane. Each control mechanism has to glean information from hardware for its own use. Each control mechanism shares this information with the equivalent entity in other network. b) Shows the communication model with AI Plane. Here, AI plane shares and gathers information from each control mechanism to provide germane and rich information to other network element's AI plane. Each control algorithm 2 has to attain information from the hardware for its own use. This control information is exchanged between corresponding algorithm of other network. Hence, redundancy between different control algorithms is inevitable and makes it hard to design global information management. For example, every control algorithm assuredly needs to know whether the direct neighbors are alive or not. Such information is not shared by different algorithms in such architecture. Another example is load on interfaces, every control algorithm might be interested in such information. Without AI plane, each algorithm has to query its own control information from hardware, represent and use it by itself. Although this might work in usual network control plane but this is definitely not scalable. On the other hand, AI plane takes responsibility for gathering and sharing data. It eliminates the need for every control algorithm to query hardware and can pre-compute and correlate data in a rich format. Such augmented information is called Knowledge. Our research focuses on the following contributions: First, a comprehensive framework is proposed for design AI plane. The emphasis of this framework is to aid in comparison and describe the focal point of existing AI plane algorithms. Although, previous research focuses on developing and designing AI planes for various networks. Our focus would be to understand those AI planes and their applications in detail. Secondly, all types of AI planes will be covered irrespective of their networks type, including their limitations and merits. Finally, we will discuss future research and untapped areas in AI plane.

AI Plane Framework
AI plane paradigm is about optimizing networks by providing automation, recommendations, estimations and predictions. Theoretically, this paradigm acquired few concepts from other ideas such as: Derivative-free-optimization [20], Self-Organizing Systems [21], Ego-Centric Context Aware Ad Hoc Networks [22], feedback control system based on neural networks [23] and autonomic network management architecture [24]. Due to the diversity in different type of networks with various goals, settings and implementations, it is arduous to make an allinclusive comparison among AI planes. This emanates a need for comprehensive framework to make comparison smooth between AI planes. In this section, a framework is proposed to ease comparison in AI planes and the building block components of it. Fig. 2.1 shows the framework, which is based on the shared features of the AI plane. Building blocks of the framework are described below.

Analytics Module
As depicted in Fig. 2.2 this module has dual tasks. First, it gathers information about state of the network either from network elements or from other systems. Second, it analyzes the gathered data. Information gathered by AI plane is widely distributed and available to be processed sophisticatedly and adaptively by Analytics Module (AM). AM has two main duties: a) Information gathering b) Analyzing Information. Gathering information heavily depends on the final objective of Artificial Intelligence (AI) module. For instance, if AI needs to send decision cross layers in network protocol stack then AM would collect information from other layers as well. If AI needs to send decision based on the system level network elements such as dynamic routing, switching etc, then AM needs to collect data from other devices to have a complete picture of network. There are several types of data can be collected but for the scope of this report, we have categorized into three types: 1) Intra device: This kind of information gathering for optimization happens in a single device. For example, protocol parameters for optimizing routing or location for security or energy conservation.
2) Inter-device: Information exchanged among devices are called inter device information gathering. For instance, traffic patterns or queue lengths in routers to optimize the maximum capacity of flows a system can serve.
3) User data: This depicts user preferences. For instance state the Quality of Experience to enhance QoS in cellular access networks.   On the other hand, while analyzing information, AM studies the granularity of data and define practical methods for representing and retrieving such data at device or system level. Main components of analyzing data are: 1) Abstraction: Since information gathered can be from different elements within or outside network, in order to give meaning to the data with respective to the entity it belongs to, AM abstract the data before it starts analyzing it. Please note that it is important to clean and process raw data prior to abstraction by processes such as discretization [25], normalization [26] and missing value completion. For example, TCP [27] in network stack coming from different sources can be abstracted to be analyzed.
2) Disseminate: After abstraction, information is widely dispersed among respective entities to be analyzed. For instance, to continue the example of TCP connections given above, network parameter's (RTT (Round Trip Time), protocol, Qos etc) information will be effectively dispersed to each entities to be analyzed. RTT and inter-arrival time [28] will be analyzed to help the best size of the TCP congestion window [29]. In artificial intelligence paradigm, discovering and disseminate proper features is the key to fully understand the potential of the data.
3) Aggregation: This part of the AM module is responsible to aggregate the analyzed result to be sent over to AI module to make an intelligent decision.

Artificial Intelligence Module
Since decision making is the most challenging part of any machine learning process which often requires efficient and adequate data analysis, makes AI module (depicted in 2.3) the most important component in the framework. Present and prior data provided by AM module are fed to the learning algorithms to generate the output. There are three famous approaches for deep learning [30] depending on the nature of learning objects: a) Administered Learning b) Un-administered Learning c) Prime Learning. Their descriptions are given below: 1) Administered Learning: Example inputs with their desired outputs are fed to administered learning function, with an intent to come up with a general rule that maps inputs to outputs. For instance, administered learning has been widely applied to wireless cellular networks in channel estimation [31].
2) Un-administered Learning: Unlike administered learning, Un-administered learning function should be able to find its own embedded structure or pattern in its input. Usually un-administered algorithms tends to find hidden patterns and find a suitable representation in fed data. For example, Singular Value Decomposition (SDA) [32] and Principal Component Analysis (PDA) [33] are used to manipulate the receiving matrix of massive MIMO [34] in order to reduce the computational complexity.
3) Prime Learning: Prime learning function obtains its objective by interacting with dynamic environment. This type of learning is inspired by control theory [35] and behaviorist psychology [36], however entity who runs it, doesn't have explicit knowledge of whether it has come near to the final objective or not. Entity should take actions in an environment to maximize the aggregated in Markov Decision Process [37]. As an example, user sets a target policy, say delay in a set of flows, then entity acts on the centralized body (SDN Controller may be) by altering the configuration, every action receives reward, which increases as present policy gets closed to the target policy. Prime Learning specifically has provided some extraordinary results, notable mentions are [38,39]. AI plane smooths the transfiguration between measured data collected by the AM module and control specific actions. Usually network administration has to examine all the network parameters, figure out the metrics which interest the final goal and make a decision to achieve that goal. This process will be handed to AI plane, which will be able to make or recommend control decisions with the help of AI module. AI module expresses those control decision with the help of resolute language. This heavily assists the transition between AI Module decisions and low level decisions made by data, management and control plane elements. Depending on the learning approaches defined above, there are two different sets of application for the AI plane: 1) Closed Loop: Network model obtained by this set of applications can be used in two cases. First is automation, AI module can make decisions automatically based on behalf of the network operator. Second for optimization of the existing network configuration, subjected upon the condition if learned network model can be analyzed by common optimization techniques to find optimal configuration (quasi). Both of those cases can also be done by prime, administered and un-administered learning through the intent interface provided by control or management plane of the controlled body as shown in Fig. 2

.1.
2) Open Loop: In this set of applications, network administration conducts the decision making process, nevertheless AI module can ease the task. In case of administered learning, network model learned can be used for validation. A network administrator can query the network model to validate the provisional changes before committing them to system. In unadministered learning, recommendations are provided to network administrator based on the correlations found in the explored data.

Resolute Language
A common way is required to express the intent from both network administrator and AI Module on their behalf. This module serves a common interface to both human or AI module interactions and defines accurately how the intent should be translated into specific control decisions. It should be noted that this is different than the language used by low level network elements sitting in Control, Management and Data plane. Some references of resolute language has already been discussed in [40,41].

Artificial Intelligence Planes
Over the past decade AI Planes have been presented in different flavors, usually in metacontrol plane (i.e control algorithms being controlled by other algorithms). This idea sounds very captivating because in broad perspective, it would cover autonomic networking field: managing high-level knowledge and making self-managed networks. But the success of new machine learning approaches has evolved AI plane as a critical field in networking, earning an entire field by itself. There are two types of AI planes, first is the type which focuses on system level optimization, while second's final objective is to optimize entire network. Irrespective of AI plane's network types, our comparison is based on the factor whether AI plane is used to optimize the whole network or a single system.

System Level AI Plane
These type of AI planes primarily focus on system level optimization. Although their final goal might be optimizing the entire network but primarily they are focused on optimizing one system only.

Situatedness-Based Knowledge Plane [1]
AI plane mentioned in Situatedness-Based Knowledge Plane is a derivative of autonomic computing [42]. The autonomic computing initiative doesn't concentrate on a collection of homogeneous network elements, rather on intelligent and dedicated information systems made of heterogeneous network elements, where each network element can have its own knowledge management including information gathering and analyzing. With the increase in number of users, more network elements are being introduced and so the services associated with it. These services engendered new intricacies of layers and govern these layers is moving beyond network administrator's control. To address this issue Situatedness-Based Knowledge plane uses collaborative and autonomous agents aka Multi-Agent Systems (MAS) [43,44]. These agents are ingrained in network element itself, which serves and deliver local and situatedness knowledge comprising the Situatedness-Based Knowledge Plane. As mentioned earlier, Situatedness-Based Knowledge plane is based on MAS, so first question arises: what is MAS? How do network or network element fit into this category? Authors in [45] defined MAS as a structure of mobile agents. An agent is a small piece of software embedded in network element, functionally independent and can act upon their environment. Situatedness-Based Knowledge Plane is based on this principal, where network elements are agents which can act upon environment and making them as multi-agent system. Agents can be classified based on situatedness of two kinds: First, Type of Situatedness, this describes the type of neighborhood an network element is in. Second, Shape of Situatedness, considers whether neighborhood is static or not, whether it includes all neighbors in the area or not. A perfect analogy is Open Shortest Path First (OSPF) protocol [46], but without wasting resources by scatter highly dynamic information over entire network. Each agent builds a primeval situated view of its environment by collecting control data from its hardware layer by setting sensors on each interface to sense variations of parameters. This control data is built by exchanging intermittent knowledge messages with its nearest neighbors. These knowledge messages are represented as facets. A facet represents a knowledge associated with a point of view. For instance, collected state of links is a facet. Situatedness-Based AI plane is based on event loop. A simple loop of network monitoring or logging protocol reads information from control algorithms (information such as load of interfaces, attacks etc) and an event is generated upon detecting a momentous change in the network. As depicted in Fig. 3.2, each network element (router in this case) is exchanging knowledge messages to built a extended view of the network. For variety of applications, this extended view can be accompanied with global information such as static topology conjunction with routing metrics. Although authors demonstrated promising results but there are several loopholes in that paradigm. First, there is no mention about the security of data being exchanged in knowledge messages. This particularly becomes important in federated networks [47], where trust is a major issue for network elements in exchanging information. Second, this approach assumes that all network elements has same number of interfaces in order to calculate Computational Load Overhead (CLO) [1]. This specifically becomes challenging to calculate CLO for a network element based on the number of information units (An information unit represents one item of control data by an interface of network element). Third is the assumption of network topology being infinite and acyclic: the arises a problem where a network element decision making process either has to work extra to filter out the redundant information or to process them, ultimately increasing latency, memory and CPU usage.

NetQuery [2]
The biggest challenge in information gathering for AI plane is the security. Often times, information is required about the network elements, where administrative domain may have restrictive policies on disclosing network information. This prevents network elements to disseminate the information efficiently. To address this problem NetQuery [2] applies trustworthy computing techniques to ease reasoning in terms of trustworthiness of information belongs to AI plane. NetQuery respects the disclosure of information such as routing tables, neighbor list etc while process and analyzes it. Prior to NetQuery, no AI plane was considering the possibility of federated networks security problem. Internet in one big picture is a collection of different ISPs (Internet Service Provider) networks interconnected on different protocols. An ISP prices a connection based on the path and performance they advertise. Cost of routing traffic differs on different paths and incenting operators [48]. This motivated to evolve Net-Query, offering ISP to advertise their quality of network autonomically while maintaining the integrity of the information. NetQuery starts by checking adjacent nodes network element entries (routing and forwarding table entries) and making sure that backup paths are only used at appropriate times. After analyzing the network element entries, NetQuery AI module makes a decision to forward traffic to minimal AS (Autonomous System) length. This AS length is BGP (Border Gateway Protocol) [49] reported data and verified by traceroute [50]. There is a good chance that there would be multiple paths with same AS length, network elements advertise this information via NetQuery using a reasoning process that observe the network topology. As shown in Fig. 3  old participating network. Since, networks typically prohibits other networks to gain direct access, an abstraction layer sanitizers are used to execute queries authorized by network admin to get those data sets. These queries are distinguished by a unique TID (tuple ID) and stores properties as pairs and associated metadata called factoid [2]. In order to provide interoperabilities between network elements, NetQuery uses schemas. Each schema represents the set of properties that a given type of network element must provide [2]. Although NetQuery bring intelligence in network elements via AI plane, there are two major drawbacks which are left undiscussed. First, ISPs pursue to reduce the AS length but the paucity of establishing many direct interconnections prohibits it. This forces provider to either buy service from other providers to have AS length or embolden them to engage in peering. Second, each NetQuery independently defines set of rules it trusts. Since AI plane can collect information from various sources, burden of filtering such information comes on applications.

A Cognitive Complete Knowledge Network System [3] (CogNet)
Over a period of time networks have evolved to provide ample amount of services to users. As Clark at el. mentioned and true till date, it is becoming hard to manage and control these services. CogNet motivation is to address this problem. CogNet is service based and aimed to optimize one system. CogNet aids to identify the disparity in the awareness of network attributes such as: interference conditions, usage patterns etc. CogNet learns to optimize system through observing those disparities via extracting useful information from the network attributes. Cross-layer nature of CogNet bridges all layers (OSI Layers) of the protocol stack and notably addresses higher layer optimization. CogNet defines cognitive agents sitting on every layer of protocol stack and responsible for gathering layer specific information (Higher layer:jitter, throughput etc. Lower layer:noise level, signal to noise ratio etc) from their respective layer of operation, and control the behavior of the attributes (attributes are entities of operation, for example: TCP in transport layer, a sensor node or a wireless radio). These attributes are key elements of CogNet and spatiotemporarily stored in an intelligent repository. These attributes are transferred to AI plane via cross-layer CogNet bus, where they are stored in a local repository. Main component of AI plane is a function called CogExec. CogExec applies learning algorithms to cull behavioral models of attributes. Learning algorithms in CogExec are of either short term where learning happens in individual layer or long term learning of overall system. Short term learning information is exchanged among layers via CogNet bus while long term learning information is stored in distributed intelligent repository. As soon as an application request arrives, AI plane executes learning algorithms for joint optimization and resource allocation. This helps to select the appropriate parameter and reconfigure protocols at each layer. Fig. 3.3 shows fully distributed CogNet architecture. Every layer require to have a cognitive module to control, act and gather information and control the protocol parameters within that layer. Reason behind this layered structure of cognitive modules ( Fig. 3.4) is for efficiently handling each layer's protocol parameter behavior, semantic interpretation of network events and actions taken. In addition, cognitive modules at each layer makes the joint optimization, static and dynamic resource allocation possible with the help of past history of user, device and network information. Each layer's cognitive module communicate via CogNet bus to exchange information. As Fig. 3.3 shows, CogNet bus places a mechanism to exchange this cognitive information to achieve aforementioned cross layer tasks. CogNet bus must be lightweigth and format for information must be regonized on all layers. After cognitive information is received by each layer, AI plane (aka Cognitive plane) translates this information into end goals and responsibilities required for each layer. Each layer's cognitive module report their observation in a local repository and CogExec builds an interactive model to extract useful information to determinal final objective. Main takeaway from CogNet is that it works well in heterogeneous networks by independently optimizing each layer and as a result empowering the entire system. It actively amasses, processes and hypothesizes information from a wide variety of sources for maintaining and dispersing context awareness in which users interact. However, authors excluded some fundamental flaws. First is storing information in intelligent information repository in long term learning, authors failed to highlight the issue of changing attributes during joint optimization. How changed attribute will affect CogExec and time elapsed between storing the new attribute in intelligent information repository? How protocol reconfiguration on a given layer will be affected? Is there any caching mechanism possible to overcome this issue?

Network Level AI Plane
Although inter-working of networks seems easier but mostly enables best effort data transport. In most cases any network consists of small heterogeneous networks interconnected via different protocols, however their control and management planes are often not compatible. This arises a need for an intelligent AI plane which can optimize entire network and not just one entity of it. This section explains such AI planes.

Sophia [4] -2003
This AI plane was influenced by an internet query processor PIER [51] and IrisNet [52]. Motivation behind Sophia was to manage several distributed machines worldwide such as Planet-Lab [53]. Prior to Sophia, in order to perform operations such as manage, store, sort, discover and aggregate information was challenging, specifically in terms of poor scaling and impoverished query language. Sophia is a distributed Prolog system [54] for information about networks. Sophia operates in three main functions. First function relates to set of sensors distributed in networks, these sensors report data about a particular node (memory usage or load on that particular node) or entire network view (for example, reachability to other nodes). Sophia adapted a decentralized management system providing upper hand in managing and controlling a complex networks.
Sensors are used to collect information about other sensors, feed those information to a distributed expression evaluator (called functor) and make conclusions about that information. These conclusions were used by actuators to take actions towards the final objective. Sophia decoupled high-level instructions from control and management plane and brought into their AI plane for control decisions. In addition, Sophia concentrated on optimizing the AI plane by optimizing query computational latency [4]. Although Sophia was succesful to implementing an intelligence in internet query, it lacks to define procedures how to use it efficiently for better management.

4D Approach [5] -2005
Main motivation behind this approach was to ease the processes of programming the network. Specifically it is based on three design principles: a) Network-level objects b) Network-wide views c) Direct Control. First two are for AM module (gather data and analyze them), while the third one belongs to AI module. Network-level objects specifies low-level configuration commands on network elements. Network-wide views refers to the snapshot of the state of each network element 1 . In other words, Network-Wide views should mirror the current state of the data plane and information about each network element. There are three main components of 4D approach depicted in Fig. 3.5. First, Decision Plane, it dissociates load balancing, reachability, interface configuration, security and network control from management plane and operates in real-time on the network-wide view of the topology. Decision plane acts like an AI module which converts the network-level objectives (reachability, load balancing goals etc) directly into rules to be configured in data plane (forwarding entries, packet filters, queues etc). Second is dissemination plane, acts like a communication bus from data to decision plane and vice versa. Although the control plackets travels through the same path as data packets but they are kept separately so that they can be available even in absence of any configuration, unlike in today's networks where control plane packets needs to be prioritized to establish communication beforehand. Third is discovery plane, responsible for locate physical components in the network and create and symbolize them by logical identifiers. This logical identifiers assists discovery plane to create a network-wide view [5]. A perfect example would be neighbor discovery in network to find out: type of interfaces and their state on the network element, how many forwarding entries can be held by a network element, type of device connected to network element etc. Decision plane uses this information and creates a network-wide objectives, unlike in today's IP networks where neighbor discovery is done by configuration commands. Aforementioned three principles are materialized by 4D architecture. Decision plane, with the help of discovery plane, operates on network topology (network-wide view) and traffic to get network-level objectives. Although, 4D approach showed several advantages mentioned in [5], it fails to address some key issues. First, the communication channel from decision to data plane is being shared by data packets too. Although authors have mentioned about keeping them separate in a common communication path, however it is hard to project the flow of control packets as network starts to grow. Second important point is addressing the problem of limited forwarding entries. In case of limited forwarding entries, which traffic will take precedence over others? How do we prioritize them?

iPlane [6]
iPlane is scalable service predicting path performance in overlay networks. Many overlay networks are hazy to their applications. For example, overlay networks in CDN (Content Delivery Networks [55]) like Coral [56], CoDeeN [57] and Akamai maintains replica of connections by each client and redirect them based on best performance. iPlane was introduced to reduce the gap between overlay networks and their applications by providing an AI plane as a service.
Although, there are several existing prediction services such as: RON [58] and S 3 [59], but they don't solely focus on intra-overlay paths. iPlane makes prediction for arbitrary internet path based on the accurate estimation of performance metrics such as latency, loss rate etc. iplane unitedly co-ordinates among network elements and generates and maintains a detailed and comprehensive outline of a network. While co-ordinating iplane does two kinds of measurements: Active Measurement: determines the attributes of network elements and the links joining them. Opportunistic Measurement: monitoring the actual data transforms moving end to end. First step is, mapping the network. iPlane's elementary tool for finding network topology is traceroute [50], which determines the forward path from the probing network element to the destination. iPlane takes snapshots of all the routing prefixes learned by network elements and carefully goes through one by one prefix and under each prefix starts probing .1 address, which is expected to respond either ICMP [60] or UDP (User Datagram Protocol [61]) probe (For UDP probing iPlane uses Mercator [62] technique). It is assumed that .1 address is either a router and most likely to respond. In order to compress the prefixes, iPlane uses BGP atom [63], which generates a crammed list of prefixes. This list is called probe target list. A list of interfaces will be populated by traceroute from source to destination. It should be noted that interfaces on the same router would have akin behavior as they belong to the same network element. In order to avoid that repetition and make topology more condensed, iPlane segregate interfaces in clusters, we can think clusters as an autonomous system. To arrange those clusters geographically, iPlane concludes the DNS [64] names entrusted to interfaces by using Rocketfuel [65] and Sarangworld Project [66] 2 . After gathering data about routing topologies of interfaces belong to network elements. To analyze the data, iPlane developed a frontier algorithm to assign tasks to vantage points. Frontier algorithms only measure points at the border of the link. Frontier algorithms perform measurements along traversing the link simultaneously.
In order to make intelligent control decisions based on gathered data by forming clusters and T ri g g e ri n g M e a s u re m e n t G a th e ri n g D a ta measurements, iPlane run Performance Prediction, which is divided in two parts: 1) Predicting the forward and reverse path 2) Accumulates measured link-level properties to envision end to end path properties. For path prediction, iPlane uses a structural technique [67] and by simply aggregating link-level properties, iPlane can estimate end to end properties. Various components and their interactions are shown in Fig. 3.6. Although iPlane has vast number of applications, but it introduces a lot of issues. Authors [6] has mentioned one major issue is security. While making clusters, iPlane allows untrustworthy network elements to participate and this can pollute the information set exchanged among clusters and within a cluster. There are other issues with iPlane which authors have not explained or included. First one is traceroute, authors in [68] have laid down some important limitations by traceroute, which could possibly be bottleneck here. Second issue is routing table, there are several network elements in overlay networks, which are layer 2 capable and not being able to have routing table will exclude them to have the cluster topology. For instance, VxLAN [69] combines two different network broadcast domains as one. So any packet initiated from one network will appear as the same subnet packet for network 2. This will make traceroute not including those VTEP (VXLAN Tunnel Endpoint) and hence this can pollute the topology and can hinder in formation of control decisions. Third major issues is the nature of routing protocol. For example, populating routing table based on one protocol is different than others. For instance, loop detection/avoidance in OSPF is different than BGP. This can seriously cause issues in populating prefixes and resulting to have a corrupt cluster.

COBANETS (Cognition-BAsed-NETworks) [7]
Variety of services are being deployed by providers to cope with the quality of service (QoS) given to customers. This is challenging due to lack of scalability in current heterogeneous networks. For instance, authors in [70][71][72] defined heterogeneity in traffic and scalability in number of network functions and parameters in a network element, can scarce resources such as Quality of Experience (QoE) , bandwidth and energy. This arises an absolute need for an effective resource management. COBANETS was built to address those issues. Final objective of system wide optimization in COBANET is achieved by introducing a Generative Deep Neural Networks (GDNN). GDNN makes predictions and detects anomaly by minimizing the error between inner representation of the input and observed data given by the hidden layer. Architectural wise, GDNN has three main components. First is abstraction and optimization: Essential components of COBANETS are generative models providing a descriptive portrayal of crucial elements and functionalities of a network, for instance: traffic originators, physical and access medium protocols. There are more than one instance of GDNN, capturing the linkage between other parameters belong to the same protocol layer. These generative models are used to forecast the recent offered traffic in future or to train classifier to extract detailed context information. An example of context information would be data flows generated by types of applications, operation environment like outdoor, urban, vehicular etc. This context information is used in optimizing functionality of network elements such as: caching, handover and transit rate etc. Second is integration of generative models: this assimilation is heavily based on [73]. A possible solution of integrating generative models would be concatenate and train them together. This introduces an additional task of recreating those composite input and learning useful information among those generative models. Another approach is to categorize those generative models based on layer-specific indices and train them together. Third is optimization among flows: this step is responsible to optimize multiple functionalities within a single network element. Main difference between traditional cross layer optimization [74] and COBANETS is that it doesn't assume any interdependencies among protocols.
As an example, user watching videos on their smart phones in vehicular networks reflects a specific inter-relations among the categories of generated traffic by these devices, interference caused by other devices and access network characteristics. COBANETS produces generative models adept of these abundant correlations, hence optimizing strategies to that particular device or scenario. Finally System Level Optimization: In order to achieve system wide optimization, COBANET shall have a global scope rather than a single network element. Trained generative models are comprehensively optimized based on certain data such as: nature of the data, characteristics of the end user, link congestion etc. A pragmatic example of understand GDNN is in [75], in which GDNN is trained to understand a generative model of the size of encoded video frames by estimating the rate or distortion curve of every video sequence to design QoE aware resource allocation and admission control algorithms [76]- [77]. Despite GDNN architecture looks promising, but it has some caveats. Although [7] mentioned important ones but some are not covered by the authors. For instance, authors mentioned the optimization of data collection but transferring the data still posses some challenges about occupying network bandwidth and how their prioritization would be done. Other imperative one is the change in generative model, authors failed to mention about how the integration and training will adapt if generative models change during integration.

Future Challenges
Despite the fact there numerous attempts to define and implement AI plane have been done. There are still unanswered important questions.

Gathering and Transferring Data
The key enabler for AI plane is gathering and exchanging data. Finding the more relevant data, studying their granularity and other properties, provided the time elapsed in this discovery is minimal is an open issue for research. As more network elements are introduced, innovative methods would be needed to store, query and manage data.

Synchronizing and Representing Data
Data gathered from different network elements can be of different format and can lead to polluting the control decision. Although few literature such as: [78] have solved it by having a pre-defined message (Load Update) format but this forces network elements to strictly follow that specific format. This arises a need for a standardized formatting scheme for AI plane. Author [79] addresses this issue by the help of an API (getIDPinfo) but this approach is very architecture specific. Lately authors in [80] introduced an extra entity SDN (Software Defined Networking Plane) plane to solve this problem but this requires an extra hardware and communication between AI planes and SDN plane. To overcome all these limitations, a globally recognized format needs to be researched.

Multi-level Objects Optimization Strategy
An AI plane is made of several components. Although some components would work towards optimizing the entire network or system but some components might have selfish objectives. This issue can be resolved by innovative optimization strategies for Multi-level objects via defining some utility functions that accounts for optimizing multiple objectives combined. This probably will be coupled with prime learning to learn the best strategy for system or entire network.

Security
Whatever the final goal of AI plane is, whether it is to manage the network, program the network or optimize it, a large amount of data is collected and machine learning algorithms are applied to it. This makes the confidentiality of data much more important then the traditional TCP/IP networks. For instance, by changing the behavior and inspecting how network reacts, it may be possible for hacker to get private information about other others [81]. An open challenge is to find the tradeoff point between secrecy and effectiveness in AI plane. Authors in [82] have addressed this issue partially by considering de-anonymization techniques and privacy attached via machine learning.

Adaptation of new Machine Learing Algorithms
Network evolved as a hardware centric engineering. Researchers always focused on building hardware to address the issue of increasing users and applications. With the rise of SDN paradigm [83], software components in networking have become an important part. Introducing AI plane paradigm aggravated it and required new set of skills, particularly Machine Learning (ML) algorithms. As new ML algorithms are developed, AI plane needs to shift its model to adopt those. For example, graph and trie algorithms [84] are used to represent network topologies, a crucial part of network performance and applications. New ML algorithm obsolete those algorithms by proposing new and efficient algorithm to determine network topology. AI planes need to embrace those ML algorithm to calculate network topology efficiently.

Conclusion
With the increasing growth of networks and their need to manage, program and optimize, AI plane is going to be the future of network infrastructure. Several latest paradigms such as NFV, 5G are already exploring machine learning algorithms [85] [86]. It is certain that AI plane will play an important part in it. Table 4.1 represents the AI planes comparison based on the network type, methods of ML algorithms classification, layers of operation and whether AI plane has inbuilt security or not. In order to further classify, Table 4.2 and 4.3 presents comparison based on application set AI plane fits in, mapping tool to construct network view, resolute language which serves as a common interface between human and AI module, motivation behind each AI plane, cross layer functionality and their data gathering methods. Comparison of all AI planes is in the order of time they were proposed. We identified flaws which were left by authors and compared the AI planes irrespective of their networks types. We also proposed the future scope of research in AI planes. Although AI planes have evolved significantly, there are still open challenges need to be addressed.