Customer-Oriented Quality of Service Management Method for the Future Intent-Based Networking

: The rapid development and spread of communication technologies is now becoming a global information revolution. Customers have a need for communication services, which could be ﬂexibly conﬁgured in accordance with their Quality of Experience (QoE) requirements. Realizing the close connection between customer experience and proﬁtability, the service provider has been placing more and more attention on customer experience and QoE. The traditional quality of service management method based on SLA (Service Level Agreement) is not su ﬃ cient as a means to provide QoE-related contracts between service providers and customers. The current SLA method is mostly limited and focused on technical aspects of QoS (Quality of Service). Furthermore, they do not follow on the network the principles and semantic approach to the QoS speciﬁcation for a communication service using QoE parameters. In this paper, we propose a customer-oriented quality of service management method for future IBN (Intent-Based Networking). It is based on a new QoE metric on a scale from 1 to 5, which allows one to take into account the commercial value of e-services for customers. Based on this approach, the network conﬁguration and functionality of network equipment automatically changes depending on customer requirements. To implement the new method of service quality management, an algorithm for routing data packets in the network was developed, taking into account the current load of the forecast path. The algorithm of billing system functioning in conditions of customer-oriented quality management in telecommunication networks has been created. To investigate the e ﬀ ectiveness of the proposed method of service quality management with the traditional SLA method, we developed a simulation network model with the implementation of two approaches. By conducting a simulation, it was determined that the proposed method gives an average gain of 2–5 times for the criterion of the number of customers who require high quality of experience of the service.


Introduction
The paradigm shift in the service concept, which was associated with a general change in the concept of NGNs (Next Generation Networks), is expressed primarily in the fact that the roles of network service providers and customers have significantly changed [1]. Now, the customer and the provider act as allies in a single process of informatization, and this cooperation can be considered a leitmotif of the evolution of modern electronic services. Therefore, when developing a future system of services management, it is rational to use a systematic approach: the problem of quality assurance in service industries should not be solved in isolation, but in unity with the environment and the customer [2]. Customer satisfaction includes both technical aspects (network operation quality parameters) and non-technical (customer service) [3]. The correlation between the customer and provider points of view on the quality of service is depicted in Figure 1.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 2 of 37 provider act as allies in a single process of informatization, and this cooperation can be considered a leitmotif of the evolution of modern electronic services. Therefore, when developing a future system of services management, it is rational to use a systematic approach: the problem of quality assurance in service industries should not be solved in isolation, but in unity with the environment and the customer [2]. Customer satisfaction includes both technical aspects (network operation quality parameters) and non-technical (customer service) [3]. The correlation between the customer and provider points of view on the quality of service is depicted in Figure 1.

Customers Service Provider
Customers QoE requirements In the process of service management, it is necessary to monitor both the compliance of the service characteristics with the normative indicators and to make adjustments to the norms, if necessary. Moreover, while the parameters of the network can be determined using the appropriate equipment, customer feedback on the quality of services received is carried out by the ratio of QoS (Quality of Service) offered by the service provider, and QoS perceived by the customer, or QoE (Quality of Experience). According to ITU-T E.800 recommendations [4], QoS characterizes the overall effect produced by the service, determining the degree of customer satisfaction with the service. In this case, the provider evaluates QoS as a set of technical characteristics of network elements. Recommendation Y.1540 [5] considers the following characteristics of IP packet networks as the most important in terms of their impact on the end-to-end QoS (from source to destination): delay, throughput, packet loss, etc. [6,7].
The customers' QoE requirements determine the level of service quality required by the customer. The criteria and parameters that define this level are reflected in the requirements.
The QoS offered by the provider is a list of clearly defined requirements that can be used: as a basis for forming an SLA (Service Level Agreement) for the provider to declare the level of quality available to customers; as a basis for planning and maintaining the service at a given level; as a basis for customers when choosing a provider that provides the most acceptable level of service quality.
The QoS achieved by the provider is the level of quality of service actually provided by the provider. It can be used: by customers; by the regulator as a basis for comparison of the service quality level offered by the provider and actually provided as well as verification of SLA execution; by the provider as a basis for adjustments.
The QoE achieved by the customer is the quality of service experienced by the customer and expressed in the form of evaluation. It is based on customer surveys and characterizes the customer's opinion about the quality of received services. These data can be used for: comparison with the offered level of service quality and determination of reasons for deviations; planning of adjustments. In the process of service management, it is necessary to monitor both the compliance of the service characteristics with the normative indicators and to make adjustments to the norms, if necessary. Moreover, while the parameters of the network can be determined using the appropriate equipment, customer feedback on the quality of services received is carried out by the ratio of QoS (Quality of Service) offered by the service provider, and QoS perceived by the customer, or QoE (Quality of Experience). According to ITU-T E.800 recommendations [4], QoS characterizes the overall effect produced by the service, determining the degree of customer satisfaction with the service. In this case, the provider evaluates QoS as a set of technical characteristics of network elements. Recommendation Y.1540 [5] considers the following characteristics of IP packet networks as the most important in terms of their impact on the end-to-end QoS (from source to destination): delay, throughput, packet loss, etc. [6,7].
The customers' QoE requirements determine the level of service quality required by the customer. The criteria and parameters that define this level are reflected in the requirements.
The QoS offered by the provider is a list of clearly defined requirements that can be used: as a basis for forming an SLA (Service Level Agreement) for the provider to declare the level of quality available to customers; as a basis for planning and maintaining the service at a given level; as a basis for customers when choosing a provider that provides the most acceptable level of service quality.
The QoS achieved by the provider is the level of quality of service actually provided by the provider. It can be used: by customers; by the regulator as a basis for comparison of the service quality level offered by the provider and actually provided as well as verification of SLA execution; by the provider as a basis for adjustments.
The QoE achieved by the customer is the quality of service experienced by the customer and expressed in the form of evaluation. It is based on customer surveys and characterizes the customer's opinion about the quality of received services. These data can be used for: comparison with the offered level of service quality and determination of reasons for deviations; planning of adjustments.
In this case, there should be a device in the network that compares the difference between the required quality level and the actual one and, if it exceeds the allowed value, determines what changes in the network configuration are necessary and generates the corresponding control signals.
services and the appearance of new network services on the Internet, the task of developing and implementing traffic management methods, which provide the best QoE of network customers with observance of necessary QoS, is set before providers most sharply [18].
It is difficult to solve the whole range of tasks of adaptive automatic data flow management in conditions of changes in the importance of customers' business processes by using existing methods and network technologies. Since changing the criteria of optimality of management solutions requires constant expert and administrative intervention, in most cases, this leads to significant operational errors, time, and financial costs to their solution. The main problem of the majority of info-communication networks is that they lack complex mechanisms to automate the process of network management and quality of service in real time mode of operation. Intent-Based Networking (IBN) is the beginning of a new era in the history of network technologies and is an evolution of modern intellectual networks [19]. The main principle can be formulated as follows: the network independently transforms the business intentions of customers into appropriate network configurations for all devices [20]. The volume of manual work is reduced to a minimum. In addition, the IBN technology includes a mechanism for continuous monitoring with automatic reconfiguration for consistency with given intentions, which provides an additional level of network monitoring [21]. The basis of this mechanism is a feedback system covering policy-based automation, network analytics, and training [22]. These networks provide a significantly new level of automation, improving service efficiency, speed of innovation, and network reliability. The concept of Intent-Based Networking ( Figure 2) is still at the initial stage of its practical implementation. Cisco is actively working on it and has already implemented some of the existing developments in commercially available products.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 4 of 37 distribution becomes the most critical in the case of access to information resources in the network with low bandwidth of the common communication channel. As a result, taking into account the growth of use of telecommunication services and the appearance of new network services on the Internet, the task of developing and implementing traffic management methods, which provide the best QoE of network customers with observance of necessary QoS, is set before providers most sharply [18]. It is difficult to solve the whole range of tasks of adaptive automatic data flow management in conditions of changes in the importance of customers' business processes by using existing methods and network technologies. Since changing the criteria of optimality of management solutions requires constant expert and administrative intervention, in most cases, this leads to significant operational errors, time, and financial costs to their solution. The main problem of the majority of info-communication networks is that they lack complex mechanisms to automate the process of network management and quality of service in real time mode of operation. Intent-Based Networking (IBN) is the beginning of a new era in the history of network technologies and is an evolution of modern intellectual networks [19]. The main principle can be formulated as follows: the network independently transforms the business intentions of customers into appropriate network configurations for all devices [20]. The volume of manual work is reduced to a minimum. In addition, the IBN technology includes a mechanism for continuous monitoring with automatic reconfiguration for consistency with given intentions, which provides an additional level of network monitoring [21]. The basis of this mechanism is a feedback system covering policy-based automation, network analytics, and training [22]. These networks provide a significantly new level of automation, improving service efficiency, speed of innovation, and network reliability. The concept of Intent-Based Networking ( Figure 2) is still at the initial stage of its practical implementation. Cisco is actively working on it and has already implemented some of the existing developments in commercially available products.  Thus, the evolutionary development of social and economic processes and information technologies determines the relevance of our work, namely the development of an adaptive customer-oriented quality of service management method in a multi-service telecommunications Thus, the evolutionary development of social and economic processes and information technologies determines the relevance of our work, namely the development of an adaptive customer-oriented quality of service management method in a multi-service telecommunications network by monitoring QoS parameters, prioritizing according to QoE requirements, and load-balanced routing mechanisms for the implementation of future IBNs. This paper is organized as follows. Section 2 describes the related research work on the functioning of the traditional quality of service management method based on SLA and the future quality of service management method based on QoE. Then, Section 3 introduces the proposed customer-oriented quality of service management method for future intent-based networking and developing a network simulation model. Section 4 describes the effectiveness of the proposed solutions using a created simulation model, which allows testing of the traditional QoS management method and proposed customer-oriented QoS management method based on the ordered QoE score. Section 5 discusses the results and how they can be interpreted in the future compared to previous studies and working hypotheses. Finally, Section 6 concludes this work.

Related Work
In this part, we illustrate the research status of the development of the quality of service management method based on customers' requirements for Internet service providers.
Various works [23][24][25] provide a short overview of some aspects of quality of service, and identify the main issues and problems of defining and managing an SLA, based on its current standardization stage. The most recent quality of service management methods only take into account the usual priority metrics based on the type of IP service (ToS) field for making the decision about throughput allocation. Such priority-based planning methods are not optimal to provide both QoS and QoE because higher priority traffic may not require lower latency rates than lower priority traffic (e.g., traffic generated by medical sensors has higher priority than traffic from streaming devices, but the latter requires lower maximum latency). To solve the problems associated with gaps between QoS and QoE, the authors [26] proposed a new model for organizing queues for the QoS paired traffic with mixed arrival distributions in the home network to make dynamic QoS-compatible planning solutions that meet the requirements for delays of all traffic, while maintaining its criticality.
The perspectives of QoE management for future networks and applications are discussed in papers [27][28][29]. After motivating QoE management, it first gives an introduction to the concept by discussing its origin, key terms, and giving an overview of the most relevant existing theoretical solutions. Finally, recent research from promising technical approaches to QoE management that operate at different layers of the network stack is explained. The authors [30] presented conclusions and views on the future of QoE management, focusing on those key factors (including collaboration, business models, and key technologies) that are necessary to ultimately transform QoE-based network and application management into a reality.
The authors in [31] proposed a unified QoE assessment system that measures user experience for virtually all types of network services. First, this structure uses a machine learning model (random forest) to classify network services, then selects different nonlinear expressions depending on the type of service and comprehensively calculates QoE using QoS metrics, including delay, packet loss, and throughput. The results of the experiments show that the proposed method can be applied to almost all types of network traffic. In [32], Wahab and his colleagues presented a methodology that has been adapted to quantify the widespread QoE uncertainty due to statistical errors in measuring QoS parameters. The authors [33] proposed a heuristic, greedy, and QoE-centric resource allocation algorithm, taking into account the limitations of equity and overall user satisfaction, in order to maximize mobile operators' profits while ensuring high quality experience (QoE). The proposed algorithm can cope with heterogeneous traffic, achieving significant profits and increasing QoE compared to the most advanced QoS algorithms.
In spite of a considerable amount of works on the quality of services management method, they mainly focus only on the technical parameters of quality of service, while today, there is a need for effective methods of taking into account the customer's opinion when managing service quality. Unlike the rather network-centric concept of "Quality of Service", the concept of "Quality of Experience" has a strongly customer-oriented view of the quality of service in communication networks as well as in the Internet services. However, the relevant research in the field of QoE has so far largely ignored the question of how to implement the differentiation of quality and provide appropriate solutions adapted to end customers.

A Description of the Proposed Customer-Oriented Quality of Service Management Method for IBN
The key goal of the Internet initiatives of the future is to develop transparent, efficient, fair, and flexible mechanisms to manage all available resources so that each customer perceives the Quality of Experience (QoE) as close to his or her desired QoE as possible [34]. Customer satisfaction is now considered as one of the main concerns that enterprises must ensure, especially in electronic businesses, where the position of the customer is central. With the spread of parallelism and increased number of functionally equivalent services, QoS has become an important criterion that is closely linked to customer satisfaction. In this context, we offer an approach to determine the degree of satisfaction corresponding to QoS applications based on the service, taking into account the customers' expectations regarding QoE.
We proposed the Intent-Based Networking concept using the customer-oriented QoE management method that allows customers to request end-to-end service quality for any service at a specific point in time (Figure 3).
Appl. Sci. 2020, 10, x FOR PEER REVIEW 6 of 37 networks as well as in the Internet services. However, the relevant research in the field of QoE has so far largely ignored the question of how to implement the differentiation of quality and provide appropriate solutions adapted to end customers.

A Description of the Proposed Customer-Oriented Quality of Service Management Method for IBN
The key goal of the Internet initiatives of the future is to develop transparent, efficient, fair, and flexible mechanisms to manage all available resources so that each customer perceives the Quality of Experience (QoE) as close to his or her desired QoE as possible [34]. Customer satisfaction is now considered as one of the main concerns that enterprises must ensure, especially in electronic businesses, where the position of the customer is central. With the spread of parallelism and increased number of functionally equivalent services, QoS has become an important criterion that is closely linked to customer satisfaction. In this context, we offer an approach to determine the degree of satisfaction corresponding to QoS applications based on the service, taking into account the customers' expectations regarding QoE.
We proposed the Intent-Based Networking concept using the customer-oriented QoE management method that allows customers to request end-to-end service quality for any service at a specific point in time (Figure 3).  This approach is organized by establishing QoE ratings by customers of the network [35]. The higher the score, the better the quality of the service is guaranteed and the more expensive the service will be. The QoE characteristics is shown in Table 1. This approach is organized by establishing QoE ratings by customers of the network [35]. The higher the score, the better the quality of the service is guaranteed and the more expensive the service will be. The QoE characteristics is shown in Table 1. The practical implementation of this approach can be accomplished by installing software on the end device of the customer, where the customer can request to change the quality of the service and make an additional payment. Using this software, the network adapts to the needs of the customer by conducting an analysis of requests from customers for the required quality of a particular type of service at a specific time. Query analysis is performed by the network controller. The controller also makes sure that the device configurations correspond to each other. It simplifies the audit of the network configuration: inside the controller, the configuration is presented as an object model, which can be downloaded at any time via the application programming interface (API) to receive the latest information on network settings. The configuration is supported by the controller in the current state: if the application profile is removed from the active list, its settings will also be removed from all network devices. By centralizing the state of the network at the management level, the system guarantees the required level of service using the proposed method of adaptive customer-oriented quality of service management, taking into account the assessment of customers.

Human decision
This method for achieving its goal carries out the dynamic provision of service priorities according to customer ratings, distribution of channel resources in nodes, balancing the load on servers by organizing virtual machines and their migration [36], and developing new routing protocols that are based on selecting the optimal node of transmission by analysis and evaluations of network characteristics.
Solving the task of developing methods for managing traffic in a multiservice network involves the organization of a control system for electronic services at the node of aggregation of the telecommunications provider. When choosing a mechanism for managing traffic, communication providers use ready-made tools and algorithms (disciplines) when designing a billing system (traffic management system) [37]. The billing system is a software product that ensures the automatic execution of all operations and procedures related to the accounting of provided communication services and billing for payment. These systems represent a set of software tools that are installed on the server and conduct a service analysis [38]. An actual and not trivial problem for the telecom provider in the organization of such a system is the creation of an optimal architecture (structure), which reflects all the requirements imposed on the system. The criteria and requirements for the traffic management system are not universal and are formulated by each provider differently, based on the primary data (for example, the number of customers in the network, the channel bandwidth, predicted tariffs). In most cases, channel management capabilities are included in billing systems. These controls (shapers) are separate program implementations. Thus, the structure of a comprehensive telecommunication service management system can be represented as a set of modules: the calculation of electronic services and the management of the bandwidth of the communication channel (traffic management module).
The electronic services calculation module provides for the automatic execution of all operations and procedures related to the accounting of the provided services, charging, and billing for payment. This module provides access for the system administrator to the parameters of the tariff plans. Thus, the decision of the organizing traffic management method's task in the multiservice network consists of two stages: development mechanisms for controlling the calculation of e-services (tariff plans, etc.) and the definition of approaches for channel bandwidth allocation.
The main task of the work is connected with the bandwidth distribution of the communication channel, which is implemented in the traffic management module. Taking into account the proposed approach to the definition of service quality indicators, an approach to organizing a traffic management system based on data classes that pass through the aggregation node of communication providers is proposed [39]. Different types of traffic affect the impression of customers about the service provided differently. Taking this into account, the classification of traffic based on the analysis of customers QoE is proposed. Traffic generated by such applications is divided into classes, each of which is characterized by varying degrees of impact on the customers impression. The traffic management module should perform the functions of identification, classification, and restriction of data passing through the node.
First of all, the traffic goes through an identification module, where each type of data receives the corresponding identifier and then enters the traffic management module, where according to the received label, it is handled by the corresponding class. Each class provides its rules for managing the bandwidth for this traffic according to the given parameters. In the first place, according to predetermined classes (defined in the requirements of the system by its provider), detection of certain types of traffic from the entire information stream is performed. The classification method assumes that the entire information stream will be fully classified. That is, a situation where any data did not fall into any class is impossible. Once the data have been recognized by the corresponding type, the identifier is assigned, which in the next step is used by the module to refer to the corresponding class with the specified characteristics (priority, guaranteed/maximum data rate, etc.). Once in a certain class, procedures for allocating the communication channel's bandwidth and further transferring traffic from the network interface to the network are performed.

General Stages of Network Simulation
Providing a specified level of QoE for services and applications becomes a fundamental task in the implementation of end-to-end resource management. The QoE level is influenced not only by technological, but also by social and economic factors. At the same time, technological factors are related to the quality of processing of growing volumes of traffic, while social factors characterize the type of content (audio, video, etc.), the field of application (education, art, medicine, etc.), the mode of delivery (streaming, broadcasting, file, etc.), the direction of streams (unidirectional, bidirectional, multidirectional), location (in transport, at home, on the street, etc.), and access device (smartphone, laptop, tablet, etc.). Economic factors are related to the desire of suppliers to increase their profits, maintain existing and attract new customers by developing the positive or negative experience of users with regard to certain services through advertising, loyalty programs, and other methods of influence. The main metric of objective QoE factors is quality of service (QoS). In this case, the customer's experience forms the performance and stability of the network, the presence/absence of artifacts while watching videos, as well as clicks and noise in conversations over VoIP.
The main task to be performed by the proposed method is to ensure satisfactory service levels for customers when using billing and the introduction of QoE ratings. The main indicator is the delay in sending end-to-end packets for each session. The scheme of connections between the factors influencing customer satisfaction is depicted in Figure 4.
Each possible QoE assessment in the provision of the service has its own delivery delay value. Formation of service quality includes both an objective assessment of network characteristics and a subjective expert intended for the customer evaluation. Although network parameters can be defined by means of the corresponding equipment, the account of the customers opinion on the quality of received services is carried out on the basis of the QoS coefficient offered by the provider and on the QoS or QoE coefficient perceived by the customer. In this case, on the basis of the IBN controller, we realized a software product that compares the difference between the required quality level and the actual one, and if it exceeds the permissible value, determines which network configuration changes are required, and generates the corresponding control signals in real time.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 37 level and the actual one, and if it exceeds the permissible value, determines which network configuration changes are required, and generates the corresponding control signals in real time.  For the simulation model, it is proposed to grade the quality of service provision by entering the QoE score from "1" to "5". Accordingly, the score of "5" is the best indicator, which decreases to "1".
During the work, several steps to improve the used network will be shown: 1. Standard network without modifications; 2. Standard network with modified routing (changed service order and the possibility of choosing a service's QoE score) with a controller; 3. Combined network: routers that will be served by the controller will be added to the standard network; 4. New network IBN (all nodes are serviced by the controller).
Each transition to the next step will ensure some improvement in the quality of service provision on the network. Accordingly, the final stage will have the best performance.
Next, we consider the overall structure of the network. After that, we will analyze in detail each component of the program. The network modeling is performed using the Java programming language. Therefore, we will describe all classes of programs and algorithms for their functioning, both individually and as a whole system.


Network model scheme Before starting work, the initialization of the investigated network is carried out. Here, the number of routers, switches, and network customers is adjusted. Here also, we establish links between routers (network topology is formed) and calculate IP pools for network components. The research was conducted according to the topology of the network model depicted in Figure 5. After initialization, the program goes directly to the network's simulation, which can be divided into the following components: generation of packets by the network's customers; packet handling by switches; packet handling by routers; packets sending from customers to switches; packets sending by switches; packets sending by routers; routing tables updating; network statistics consuming and charts updating. Every next iteration is all in circle. For the simulation model, it is proposed to grade the quality of service provision by entering the QoE score from "1" to "5". Accordingly, the score of "5" is the best indicator, which decreases to "1".
During the work, several steps to improve the used network will be shown: 1. Standard network without modifications; 2.
Standard network with modified routing (changed service order and the possibility of choosing a service's QoE score) with a controller; 3.
Combined network: routers that will be served by the controller will be added to the standard network; 4.
New network IBN (all nodes are serviced by the controller).
Each transition to the next step will ensure some improvement in the quality of service provision on the network. Accordingly, the final stage will have the best performance.
Next, we consider the overall structure of the network. After that, we will analyze in detail each component of the program. The network modeling is performed using the Java programming language. Therefore, we will describe all classes of programs and algorithms for their functioning, both individually and as a whole system.

•
Network model scheme Before starting work, the initialization of the investigated network is carried out. Here, the number of routers, switches, and network customers is adjusted. Here also, we establish links between routers (network topology is formed) and calculate IP pools for network components. The research was conducted according to the topology of the network model depicted in Figure 5. After initialization, the program goes directly to the network's simulation, which can be divided into the following components: generation of packets by the network's customers; packet handling by switches; packet handling by routers; packets sending from customers to switches; packets sending by switches; packets sending by routers; routing tables updating; network statistics consuming and charts updating. Every next iteration is all in circle.

Packets generation by customer devices
The generation of customer packets takes place in several stages: 1. We generate a session and select its parameters such as session usage time, service type, desired QoE score, and destination node; 2. Generate packets for the session until it is completed; 3. Upon completion, we generate a new session with new parameters.
In this simulation program, seven types of electronic services that can be transmitted by the network are selected: VoIP (voice over Internet Protocol), data transfer, interactive data, IPTV Internet Protocol Television, service packets, videoconferencing, video on demand [40].
Each type of service has its own parameters such as: the packet average size, deviation from the average size, maximum service use time, the number of packets that generate service in a second, maximum number of dropped packets, maximum delay for packet transmission, service ID.
The distribution of probabilities of using the services is chosen, taking into account the average use of customers in modern networks. The values of the probabilities are given in Table 2. Each service has its own parameters. When modeling, one can adjust all values for specific variants. The configuration of the parameters used is summarized in Table 3.

•
Packets generation by customer devices The generation of customer packets takes place in several stages:

1.
We generate a session and select its parameters such as session usage time, service type, desired QoE score, and destination node; 2.
Generate packets for the session until it is completed; 3.
Upon completion, we generate a new session with new parameters.
In this simulation program, seven types of electronic services that can be transmitted by the network are selected: VoIP (voice over Internet Protocol), data transfer, interactive data, IPTV Internet Protocol Television, service packets, videoconferencing, video on demand [40].
Each type of service has its own parameters such as: the packet average size, deviation from the average size, maximum service use time, the number of packets that generate service in a second, maximum number of dropped packets, maximum delay for packet transmission, service ID.
The distribution of probabilities of using the services is chosen, taking into account the average use of customers in modern networks. The values of the probabilities are given in Table 2. Each service has its own parameters. When modeling, one can adjust all values for specific variants. The configuration of the parameters used is summarized in Table 3. After the session is created, the customer will generate packets with the corresponding parameters of each iteration of the network.

•
Packet processing by switch Each switch contains a list of active customers, an ARP (Address Resolution Protocol) table for packet switching, and a host name identifier. Each iteration switch collects all packets from active customers and serves according to switching table. If the IP addresses of the recipient are located on this local network, the packet will be sent to the corresponding port. If the IP address corresponds to another network, the packet will be sent to the router. In the process of packet processing, the switch will also read (analysis) the fields in the packet, which are responsible for the sender and receiver's MAC (Media Access Control) addresses according to the current network operating standards. When using the standard network's packet service method, the switch will handle packets according to the received time. When using the proposed method, all packets will be sorted. Detailed information of the new method will be considered later.

•
Packet processing by router Each router contains a list of IP subnets of interfaces to which switches are connected, a pool of IP networks (DHCP, Dynamic Host Configuration Protocol analogue), lists of local and global interfaces, a node name identifier, and a routing table. Additionally, the router has the appropriate methods for creating a new switch, creating a global interface, sending and processing a routing table for neighbors, collecting packets from switches, processing packets according to the selected routing method and sending to the corresponding interface, sending packets, and receiving information about the work of the site. Packet routing occurs according to the routing table. The order of packets service is similar to that of switches, depending on the used routing method. Under the standard method, packets will be served in order of receipt; with the modernized method, they will be sorted.

•
Sending packets from customers to switches The packets generated by each iteration are sent to the corresponding switch that serves them, and customers consume the packets received from the network (if any). After reading, customers process packets. For statistics, customers maintain average values for each session, such as: average packets service time on the way from the sender; the size of packets of a particular session; the number of packets received; active sessions.

Packets sending by switches and routers
At this stage, the processed packets are sent by the switches' and routers' interfaces. Each interface at the network initialization establishes a neighboring interface, so the packets that come to a specific interface are sent to the next interface. There is no difference here whether it is a global or a local interface, only the occurrence that a global interface may have more bandwidth. •

Update routing tables
The routing table consists of records of remote networks. This record includes the IP addresses of the remote network, the interface through which it can be accessed, the load on the interface, the number of transitions, and the route metric. Upon processing and sending the packets, the routing tables are updated. When using standard routers, routing tables are distributed by routers themselves. The disadvantage of this option is the delay in setting the network's consistency with changes in the topology. The best option in this case is the introduction of an additional network element controller that takes over the routing process and adds many other good features such as billing, statistics collection, network analysis, and others. Routing using the controller will be much more effective, since each router will have its own signaling channel, which will be routed to the routing tables, router statistics, and other service data. The consistency setting time in this case will be minimal.
Considering the formation of routing tables, each router may have local networks and access to the global network. In the routing table for LANs, the router will assign a metric equal to 0. This will mean that the router can access this network as soon as possible. When sending its own spreadsheet to neighboring routers, the metric will change. The new metric will be set according to Formula (1) M = n hops ·ρ port (1) where n hops -the number of hops to this network; ρ port -loading the routers port to this network. When accepting routing tables from neighboring routers, the router is updating its own. All entries with existing ones are analyzed and data from all unique routes to existing networks are recorded to a single table. Saving multiple routes to one network is performed to enable the balancer to work. That is, when there are several routes to a particular network and there are several sessions to be transmitted, when choosing one of the best routes, we will send all traffic through one interface. In this case, the interfaces of the other path may be idle, while the interface of the best path will be overloaded. It will also allow us to send traffic that does not depend heavily on the time delay, especially when the quality "1" is selected along the longer route, freeing resources from the main path for the higher priority sessions.

•
Network analytics In this model, data about network operation are collected at each logical level of the organization. First of all, each customer, as said before, sends and collects information about the active sessions of each iteration. In turn, switches collect this information for each customer. Next, routers do the same-collect information in switches. As a result, we have information about all active sessions in the network.
In this model, the graphs represent several basic types of information. Figure 6 shows pie charts of the sessions' satisfaction numbers for all possible QoE assessments of the service processing quality in the network. The results are generated according to the algorithm depicted in Figure 7. Green indicates the number of well-served sessions, and red is the number of sessions with unsatisfactory results.
To display the overall result, we pass through all sessions and compare the results of packet handling for one iteration. The scheme of decision making for the construction of diagrams is depicted in Figure 7.
active sessions in the network.
In this model, the graphs represent several basic types of information. Figure 6 shows pie charts of the sessions' satisfaction numbers for all possible QoE assessments of the service processing quality in the network. The results are generated according to the algorithm depicted in Figure 7. Green indicates the number of well-served sessions, and red is the number of sessions with unsatisfactory results. To display the overall result, we pass through all sessions and compare the results of packet handling for one iteration. The scheme of decision making for the construction of diagrams is depicted in Figure 7. The general principle of the network simulation is shown in Figure 8.  As was said earlier, the initialization of the network and all dependencies is initially carried out. In the Main class, for this, the initNetwork() method is called, which in turn causes the controller (class name in the program, not the same as the controller on the SDN (Software-defined Networking), the same method of the object that is responsible of the network working. In the latter, there is an ability to add routers, add switches and the corresponding number of customers, create network topology, remove network elements, and initialize and calculate IP addresses for used To display the overall result, we pass through all sessions and compare the results of packet handling for one iteration. The scheme of decision making for the construction of diagrams is depicted in Figure 7. The general principle of the network simulation is shown in Figure 8.  As was said earlier, the initialization of the network and all dependencies is initially carried out. In the Main class, for this, the initNetwork() method is called, which in turn causes the controller (class name in the program, not the same as the controller on the SDN (Software-defined Networking), the same method of the object that is responsible of the network working. In the latter, there is an ability to add routers, add switches and the corresponding number of customers, create network topology, remove network elements, and initialize and calculate IP addresses for used As was said earlier, the initialization of the network and all dependencies is initially carried out. In the Main class, for this, the initNetwork() method is called, which in turn causes the controller (class name in the program, not the same as the controller on the SDN (Software-defined Networking), the same method of the object that is responsible of the network working. In the latter, there is an ability to add routers, add switches and the corresponding number of customers, create network topology, remove network elements, and initialize and calculate IP addresses for used networks. IP addresses are collected into appropriate bullets that are distributed to the routers. The latter, in turn, serve as a DHCP server on the corresponding networks. When adding a new customer, they are allocated a new not used IP address from the pool, if it exists; otherwise, we inform them that there is no possibility of adding a new customer. Additionally, when adding any node, it is assigned a random unique number of the MAC address. All numbers are registered in a special collection, so when one requests to receive an MAC address, a new one is generated and its uniqueness checked. This is done for additional assurance that the network will not have two elements with the same MAC address. However, the probability of such a case is very small.
In addition, the throughput for all interfaces is set here. The default values are set to 100 Mbps for local networks, and 1000 Mbps for global networks (between routers).
After that, in the Main class, graphics are created and the program goes into an infinite loop. In this cycle, the method workNetwork() is called, which in turn calls the appropriate methods for routers, switches, and customers. First, we collect packets from the interfaces and process them. Here, sorting is performed on each node with the corresponding active method (traditional or proposed). After that, we call step by step sending packets. This order is necessary to simulate network operation per second. The main reason is to perform all in one thread. Therefore, if processing took place and was sent immediately, we would have had incorrect data, because in one second, such simulation packets could be migrated directly from the customer to the router or vice versa.
It is decided to perform the simulation of the network in one thread to simplify the development and interaction between the elements of the network. Next, the network activity statistics are collected for active sessions and network loadings, and then, the graphs are updated in real time. After that, everything is repeated. •

Realization of customers (clients) work
The UML (Unified Modeling Language) diagram of the customer class and classes dependent on it is depicted in Figure 9.
The customer expands the abstract NetworkPoint class. This abstract class has fields such as IP address, MAC address, and node's ID, as well as the appropriate methods for obtaining and installing them. Additionally, in this abstract class, the method toString() is overloaded. In the usual version of its implementation from the Object class, it displays the information about the object's address, which does not give us any benefit. Therefore, we need to redefine it by specifying what we want to display. Let us redefine this method so that it returns the tape with this information: In this case, we will display the information using the node (host) name and its MAC address in the brackets. Each customer establishes its IP address, MAC address, and interface to the switch that serves it. This interface symbolizes the link from the customer to the Internet provider. Each customer has methods for generating packets and sessions. Additionally, each customer has additional classes for collecting information and statistics about received services.
In these classes, the allocation of individual sessions is carried out, since when accidentally generating a final recipient, it is possible that several sessions can be generated by one customer.
After splitting sessions, we find the average packet time per second, the number of packets received, and the size of the packets received for each session.
Each customer also has the appropriate methods for collecting these statistics, which are caused by switches. The NetworkPoint class, as mentioned earlier, is abstract; the customer class extends it and adds its own methods and fields.  Each customer can have several active sessions. Therefore, when generating packets, the processing of these sessions will be gradual. The model is implemented so that each customer must have an active session at any given time. If the session is over, a new one will be created with a specially originally generated usage time of this session, the type of service being used, and the destination of the service (Destination IP address). To improve the packet transmission research network, it is chosen that each service will be generated only to some other network, which will make packets handled by routers. In other words, all services that are generated will never be on the same local network. This case has not interested us, because the service of such services ends on the nearest switch and no sending problems can arise. The Packet class represents the essence of the packet with the required fields (not all, some are added, some are dropped to simplify the implementation of the program). Each second, the customer generates a collection of these classes (Packet) with the corresponding variable fields-the size of one packet (in the collection, each packet has its own size). When sending packets, customers simply send all generated packets from the given collection to the switch. The PacketsGenerator class generates packets every second, according to the number assigned to a specific service. SessionExecutor serves all customer sessions.
Each customer can have several active sessions. Therefore, when generating packets, the processing of these sessions will be gradual. The model is implemented so that each customer must have an active session at any given time. If the session is over, a new one will be created with a specially originally generated usage time of this session, the type of service being used, and the destination of the service (Destination IP address). To improve the packet transmission research network, it is chosen that each service will be generated only to some other network, which will make packets handled by routers. In other words, all services that are generated will never be on the same local network. This case has not interested us, because the service of such services ends on the nearest switch and no sending problems can arise.
The SessionResulted class is intended to process and find results from packets received by the customer. This process also consists of several stages. To begin with, we add information about the received packets to this class. Then, in a loop, we take all the received packets and divide them into sessions. Additionally, for each such session, we read out the results of packets-their number, the time for sending through network, and the waiting time for each packet.
The Session class contains information about the current session-usage time, service type, IP addresses, etc. Each time when creating a new session, a new object of the given session with the corresponding parameters is created. When using a session, these parameters are simply read and not generated every time.
The list of classes representing services is shown in Figure 10.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 16 of 37 The SessionResulted class is intended to process and find results from packets received by the customer. This process also consists of several stages. To begin with, we add information about the received packets to this class. Then, in a loop, we take all the received packets and divide them into sessions. Additionally, for each such session, we read out the results of packets-their number, the time for sending through network, and the waiting time for each packet.
The Session class contains information about the current session-usage time, service type, IP addresses, etc. Each time when creating a new session, a new object of the given session with the corresponding parameters is created. When using a session, these parameters are simply read and not generated every time.
The list of classes representing services is shown in Figure 10. Here is a general interface for the service. This interface is implemented in the abstract class Service. This class adds general methods for obtaining service data. Each type of service is a separate class. These classes extend the abstract Service class and add their values to the parameters according Here is a general interface for the service. This interface is implemented in the abstract class Service. This class adds general methods for obtaining service data. Each type of service is a separate class. These classes extend the abstract Service class and add their values to the parameters according to the table that was submitted earlier. Now, for such an architecture, we can simplify the process of working with the generated service. In this case, when all services implement the same interface, they can be served the same way. That is, they have the same methods as described in the interface. This allows us to serve all services in the same way, and it does not matter what type it is. Simply, when working, parameter values will be automatically replaced by those that we need. The distribution of the likelihood of using the services on the network was previously provided in the relevant table. •

Realization of switches
Next, let us look at the operation of switches and classes dependent on them. The Switch class is shown in Figure 11.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 17 of 37 to the table that was submitted earlier. Now, for such an architecture, we can simplify the process of working with the generated service. In this case, when all services implement the same interface, they can be served the same way. That is, they have the same methods as described in the interface. This allows us to serve all services in the same way, and it does not matter what type it is. Simply, when working, parameter values will be automatically replaced by those that we need. The distribution of the likelihood of using the services on the network was previously provided in the relevant table. 

Realization of switches
Next, let us look at the operation of switches and classes dependent on them. The Switch class is shown in Figure 11. Like the customer, it extends the NetworkPoint abstract class and has similar methods for setting and receiving the IP address, MAC address, and hostname. Additionally, for this class, the redefined toString() method (the Object class, which is the parent for all classes in the given programming language), works the same way. This method similarly returns a string with the hostname and MAC address.
In addition, in the switch class, methods for customer processing are created. Additionally, a separate map symbolizing the ARP table is introduced here. The purpose of this table is to store the MAC addresses and the corresponding ports and interfaces to which they can be accessed. This allows us to serve local sessions.
Introduced also is an additional method for handling what is received from the network packets. All packets from the network are collected in one collection, while processing this collection is sorted according to the active method (traditional or suggested) and processed in the established order. When switching packets, it is first checked whether the destination is the given local network; Like the customer, it extends the NetworkPoint abstract class and has similar methods for setting and receiving the IP address, MAC address, and hostname. Additionally, for this class, the redefined toString() method (the Object class, which is the parent for all classes in the given programming language), works the same way. This method similarly returns a string with the hostname and MAC address.
In addition, in the switch class, methods for customer processing are created. Additionally, a separate map symbolizing the ARP table is introduced here. The purpose of this table is to store the MAC addresses and the corresponding ports and interfaces to which they can be accessed. This allows us to serve local sessions.
Introduced also is an additional method for handling what is received from the network packets. All packets from the network are collected in one collection, while processing this collection is sorted according to the active method (traditional or suggested) and processed in the established order. When switching packets, it is first checked whether the destination is the given local network; if so, it is sent to the corresponding port of the switch from the ARP table. If the final address is some other remote network, the packet is sent to the router for further processing.
The sendPackets() method is intended for the direct processed packets' sending.
There are also available methods for gathering information about active sessions served by switches. This method is called by the router for further information gathering.
The GetCustomers() and DeleteCustomer(Customer customer) methods are designed to obtain the general list of active customers and to remove the selected customer from the network.
Each class of the switch contains interfaces to the router and to the customers. All active customers are stored locally in the collection. Therefore, the processing of customers is a regular overview of this collection.
All switches are serviced by routers. •

Realization of routers
The class of the router and related classes are shown in Figure 12.
Appl. Sci. 2020, 10, x FOR PEER REVIEW  18 of 37 if so, it is sent to the corresponding port of the switch from the ARP table. If the final address is some other remote network, the packet is sent to the router for further processing. The sendPackets() method is intended for the direct processed packets' sending.
There are also available methods for gathering information about active sessions served by switches. This method is called by the router for further information gathering.
The GetCustomers() and DeleteCustomer(Customer customer) methods are designed to obtain the general list of active customers and to remove the selected customer from the network.
Each class of the switch contains interfaces to the router and to the customers. All active customers are stored locally in the collection. Therefore, the processing of customers is a regular overview of this collection.
All switches are serviced by routers.

Realization of routers
The class of the router and related classes are shown in Figure 12.  The router, like the previous items considered, extends the base standard abstract class. Therefore, it contains a similar basic functionality, such as receiving and assigning IP addresses, MAC addresses, and host names. Additionally, there is a method that returns string with the hostname and its MAC address. All routers contain a collection of switches they serve. When the router works, all switches are serviced while browsing this collection.
There are available methods for adding switches and removing switches. Similarly, in these methods, they are added to the local collection for processing, or removal from it.
Each router contains additional collections of local and global interfaces. Given the new level of packet handling in this class, there are the necessary elements for this:

1.
Route tables and methods for sending and updating; 2.
A method for switching the used algorithm (traditional or proposed); 3.
A method for collecting load information of all its ports, both local and global; 4.
A method for collecting information from subordinate switches; 5.
A method for obtaining a collection of subordinate switches; 6.
A methods for adding and removing switches; 7.
Other auxiliary methods.
The work of such a router is different from the operation of the switch by the introduction of additional logic. First, there is a process of updating routing tables. This includes methods for sending its own table to neighbors, receiving tables from neighbors, and processing data tables and summaries in a single table, according to which the routing process will take place.
The process of processing several tables and summaries to one will be considered later. After routing tables' updating, the direct received packets' processing begins. For this purpose, packets are collected from all local and global interfaces to a single collection using the getPacketsForRouter() method. After that, this collection is sorted according to the active method (traditional or proposed). The following is processed according to the routing tables. To do this, we take a collection of sorted packets and process each packet separately. Then, only the header of the packet with routing addresses is read.
Having read the address data from the packet when iterating the collection, we analyze the destination network. To do this, we call an auxiliary method for obtaining the destination IP address and its subnet. Next, we look for this subnet in the routing table. If the searches were unsuccessful, the packet must go to the default router (default getaway). The routing algorithm is depicted in Figure 13. The router, like the previous items considered, extends the base standard abstract class. Therefore, it contains a similar basic functionality, such as receiving and assigning IP addresses, MAC addresses, and host names. Additionally, there is a method that returns string with the hostname and its MAC address. All routers contain a collection of switches they serve. When the router works, all switches are serviced while browsing this collection.
There are available methods for adding switches and removing switches. Similarly, in these methods, they are added to the local collection for processing, or removal from it.
Each router contains additional collections of local and global interfaces. Given the new level of packet handling in this class, there are the necessary elements for this: 1. Route tables and methods for sending and updating; 2. A method for switching the used algorithm (traditional or proposed); 3. A method for collecting load information of all its ports, both local and global; 4. A method for collecting information from subordinate switches; 5. A method for obtaining a collection of subordinate switches; 6. A methods for adding and removing switches; 7. Other auxiliary methods.
The work of such a router is different from the operation of the switch by the introduction of additional logic. First, there is a process of updating routing tables. This includes methods for sending its own table to neighbors, receiving tables from neighbors, and processing data tables and summaries in a single table, according to which the routing process will take place.
The process of processing several tables and summaries to one will be considered later. After routing tables' updating, the direct received packets' processing begins. For this purpose, packets are collected from all local and global interfaces to a single collection using the getPacketsForRouter() method. After that, this collection is sorted according to the active method (traditional or proposed). The following is processed according to the routing tables. To do this, we take a collection of sorted packets and process each packet separately. Then, only the header of the packet with routing addresses is read.
Having read the address data from the packet when iterating the collection, we analyze the destination network. To do this, we call an auxiliary method for obtaining the destination IP address and its subnet. Next, we look for this subnet in the routing table. If the searches were unsuccessful, the packet must go to the default router (default getaway). The routing algorithm is depicted in Figure 13.  After processing all packets, a method for direct packet forwarding is called. Two comparators (a special class of Java programming language for object comparisons) were created for simplification and easy switching between service modes (traditional and proposed). Since these are two implementations of the same class, we have the ability to substitute any of them into methods where their base class is used. Therefore, to change the service algorithm, a special method is created that accepts a Boolean variable (true or false). Furthermore, depending on the value of this variable, we "turn on" and "turn off" the new method's working. We can do this at any time and any number of times. We call this method from the main class, which runs an infinite loop that symbolizes the work of the network and is engaged in collecting and displaying statistics and information.

Billing System for the Proposed Quality of Service Management Method
When switching to customer service mode according to QoE scores, the standard customer fee will be inefficient. In this case, all customers pay only for a tariff with a certain network speed. In order to ensure the correct payment for the use of services, payment is offered directly for the used services.
In this case, there is no difference in customer speed; if the customer orders the service with an estimate of "x", the network, if available, will serve this session with appropriate payment and quality.
Payment can be made in this case in several ways. The main advantage of such a method is the easy change of payment rates. Before creating a session, the customer will choose the quality that they want to receive. The server, which will service the billing, in turn will generate a payment for this session. The overall level of payment depends on the network load. If there are enough resources for new sessions (the network is not loaded), then the level of payment will be lower, since the service of the new session will not create any problems. However, when considering the network at peak times, the cost will be much higher. In this case, the network will need to be reconfigured to provide the appropriate level, for example, to estimate "5" (best).
The traditional network can also be improved by introducing billing for services. This server, which provides billing, has to know the current state of network load. This can be provided with a simple collection of statistics from each router. However, in this case, the statistics will suffer from delays, sending the network to the billing server. To solve this problem, it is proposed to make a decision not immediately after the customer's request for the service, but after a certain time, necessary for the adoption of the current state of the network. Since all new sessions will pass this procedure, the option, when any new services are generated when waiting, disappears.
The organization of data streams in telecommunication structures requires new approaches to management due to the avalanche-like increase in switching rules and the complexity of network infrastructure management. The traditional approach to solving the problem of network interactions involves the sequential processing of transmission units at each level of the reference model of network interaction of ISO/OSI (International Standard Organization/Open Systems Interconnection). One of the areas of "modernization" of the classical approach to network architecture is to create software-defined networks using the OpenFlow protocol. The time to establish network consistency in this case will be minimal, since each router will have a separate dedicated signal channel to the controller. The controller will also provide billing, routing, and collecting statistics. The algorithm for deciding whether it is possible to serve this request is depicted in Figure 14.
In this algorithm, t is the total servicing time of a selected service and evaluation on the way from sender to recipient, T serv is the time of service of the selected service packets and evaluation on a certain link, and S is the size of the free resource of the path chosen from the minimum path value. This is calculated for one link: we multiply the bandwidth for the free resource (100% load%) of the link and compare the result with the necessary resource for the selected service and evaluation. If the received resource allows the provision of this service, we return the billing. Otherwise, we go to the next route and perform it all over again. If there are no more routes, we will return a denial of service.

Flow Routing Techniques with Load Balancing for Future IBN
As mentioned earlier, the routing table contains several routes to each network, of course, if any. The purpose of this is to improve the process of servicing the network. To date, almost all networks are multiservice. Each type of service has its own dimensions and indicators of "quality" perception of network service. First of all, network traffic is divided into two types: Sensitive and Insensitive to delays. Accordingly, at the transport OSI models' level, they are provided with appropriate protocols. Services that require real-time service are typically served by a UDP. Services requiring guaranteed packet delivery are served by a TCP (Transmission Control Protocol). UDP (User Datagram Protocol) is one of the protocols in the TCP/IP stack. From the TCP protocol, it differs in that it works without establishing a connection. UDP is one of the easiest transport layer protocols in the OSI model that executes messaging (datagrams) without confirmation and delivery guarantee. When using the UDP protocol, the responsibility for processing errors and retransmission is based on the protocol level above. However, despite all the disadvantages, the UDP protocol is effective for servers that send small responses to a large number of customers. For services serviced by UDP, lost packets will not be re-sent. For example, when watching a video in real-time (different streaming), if several packets are lost for the customer, it will not be interesting to display them later. In this case, they will only interfere. When using TCP, the situation looks the opposite. It is important for customers when they, for example, want to download an image from a remote server that it is identical. Therefore, in this case, when a certain number of packets are lost, their re-transmission will take place. Based on these data, it is proposed to divide the network traffic service according to the used transport protocol. For example, when there are several routes from Network A to Network B, real-time traffic is transmitted by a path that provides the least delay; traffic that requires guaranteed shipping and is less prone to delays-the least downloaded route. An example of route selection is shown in Figure 15.
It is also proposed to implement the essence of the balancer, which would split the load of one port to the entire network. The algorithm of the balancer is shown in Figure 16.
When packet routing, we take into account the route loading, which changes when adding new packets. When the change is made, for example, 20% of the initial load (may be displayed with the selection of the best value), switches to another route (if any), and therefore, cyclically, when the load deltas are reached on each route.

Flow Routing Techniques with Load Balancing for Future IBN
As mentioned earlier, the routing table contains several routes to each network, of course, if any. The purpose of this is to improve the process of servicing the network. To date, almost all networks are multiservice. Each type of service has its own dimensions and indicators of "quality" perception of network service. First of all, network traffic is divided into two types: Sensitive and Insensitive to delays. Accordingly, at the transport OSI models' level, they are provided with appropriate protocols. Services that require real-time service are typically served by a UDP. Services requiring guaranteed packet delivery are served by a TCP (Transmission Control Protocol). UDP (User Datagram Protocol) is one of the protocols in the TCP/IP stack. From the TCP protocol, it differs in that it works without establishing a connection. UDP is one of the easiest transport layer protocols in the OSI model that executes messaging (datagrams) without confirmation and delivery guarantee. When using the UDP protocol, the responsibility for processing errors and retransmission is based on the protocol level above. However, despite all the disadvantages, the UDP protocol is effective for servers that send small responses to a large number of customers. For services serviced by UDP, lost packets will not be re-sent. For example, when watching a video in real-time (different streaming), if several packets are lost for the customer, it will not be interesting to display them later. In this case, they will only interfere. When using TCP, the situation looks the opposite. It is important for customers when they, for example, want to download an image from a remote server that it is identical. Therefore, in this case, when a certain number of packets are lost, their re-transmission will take place. Based on these data, it is proposed to divide the network traffic service according to the used transport protocol. For example, when there are several routes from Network A to Network B, real-time traffic is transmitted by a path that provides the least delay; traffic that requires guaranteed shipping and is less prone to delays-the least downloaded route. An example of route selection is shown in Figure 15.
It is also proposed to implement the essence of the balancer, which would split the load of one port to the entire network. The algorithm of the balancer is shown in Figure 16.
When packet routing, we take into account the route loading, which changes when adding new packets. When the change is made, for example, 20% of the initial load (may be displayed with the selection of the best value), switches to another route (if any), and therefore, cyclically, when the load deltas are reached on each route.  Figure 15. Packet routing decision-making according to the used transport protocol.

Working Principle of the New Customer-Oriented Quality Management Method in Traditional and IBN Networks
When packets are transmitted by the network in the case of network overload, the packets will be immediately served as soon as they arrive. Queues for waiting services will be formed only with the increase in the intensity of sending, or the increase in customers. In the first case, it makes no sense to upgrade, since all packets will be served without delays.
The proposed method will be effective in queuing maintenance. It is suggested to wait some time for packets to form a queue. If the queue was based on the number of packets, there could be an option that the new packets, with a free network, will wait a long time, which will lead to fatal delays.   Figure 15. Packet routing decision-making according to the used transport protocol.

Working Principle of the New Customer-Oriented Quality Management Method in Traditional and IBN Networks
When packets are transmitted by the network in the case of network overload, the packets will be immediately served as soon as they arrive. Queues for waiting services will be formed only with the increase in the intensity of sending, or the increase in customers. In the first case, it makes no sense to upgrade, since all packets will be served without delays.
The proposed method will be effective in queuing maintenance. It is suggested to wait some time for packets to form a queue. If the queue was based on the number of packets, there could be an option that the new packets, with a free network, will wait a long time, which will lead to fatal delays.

Working Principle of the New Customer-Oriented Quality Management Method in Traditional and IBN Networks
When packets are transmitted by the network in the case of network overload, the packets will be immediately served as soon as they arrive. Queues for waiting services will be formed only with the increase in the intensity of sending, or the increase in customers. In the first case, it makes no sense to upgrade, since all packets will be served without delays.
The proposed method will be effective in queuing maintenance. It is suggested to wait some time for packets to form a queue. If the queue was based on the number of packets, there could be an option that the new packets, with a free network, will wait a long time, which will lead to fatal delays.
In the case of waiting for a certain time, this problem disappears. The main point is that with a large queue, waiting time for a queue set will be less than the processing time of all packets. The basic idea is to sort the packets in the queue for servicing on certain parameters. In traditional networks, servicing occurs according to the order in which packets came ( Figure 17). This option does not take into account the desirable customer ratings of the service level. It is proposed to sort by the following principle: the fastest will serve the highest rated packets and the shortest time. This time is different for each service type. It is proposed to mark the packets with an additional field for the transferring time. The best place to implement this field is to replace the TTL (Time To Live) field. The general idea remains the same (the packet can exist in the network for a limited period of time, the exhaustion of which triggers the rejection of the packet). However, for our method, it will give an additional ability to provide an appropriate order for service. Each router in the process of sending will deduct from the given field time spent on its maintenance. In the case of waiting for a certain time, this problem disappears. The main point is that with a large queue, waiting time for a queue set will be less than the processing time of all packets. The basic idea is to sort the packets in the queue for servicing on certain parameters. In traditional networks, servicing occurs according to the order in which packets came ( Figure 17). This option does not take into account the desirable customer ratings of the service level. It is proposed to sort by the following principle: the fastest will serve the highest rated packets and the shortest time. This time is different for each service type. It is proposed to mark the packets with an additional field for the transferring time. The best place to implement this field is to replace the TTL (Time To Live) field. The general idea remains the same (the packet can exist in the network for a limited period of time, the exhaustion of which triggers the rejection of the packet). However, for our method, it will give an additional ability to provide an appropriate order for service. Each router in the process of sending will deduct from the given field time spent on its maintenance. In order to combine different types of services, it is suggested that this time will be calculated in percentage equivalents. In this case, the services of the relevant assessment will have the appropriate priority of the service.
From the usual sorting, this method differs by the ability of sorting not by type of service, but by an appropriate assessment and introduction of additional ability to manage traffic according to the time remaining for the packet's existence. The last option allows us to save packets that have little time to send, placing them in the queue in first place. The proposed algorithm for sorting packets is shown in Figure 18.
In this case, if we service a packet that has a minimal time to send faster than the packet, which has enough time, for the second, quality will not significantly deteriorate. However, in this case, we can avoid the rejection of the first packet.
Additionally, the waiting time for this packet (with a QoE rating of 5 and a minimum sending time) for filling the queue will be less than if we served packets in this order without sorting. In the last version, this packet is rejected.
This service algorithm can be improved on IBN networks. Since this network can maintain statistics for each session, in the process of sorting, one can take into account one more factor-the number of packet rejections of a particular session. Each type of service has the meaning of the normal amount of possible discarded packets.
Therefore, in case we have two identical packets of different sessions with the same small time, they will be served in the correct order-initially the packet, the number of discounts for which session is greater, then another. This, in turn, will further improve the quality of service sessions on the network. In order to combine different types of services, it is suggested that this time will be calculated in percentage equivalents. In this case, the services of the relevant assessment will have the appropriate priority of the service.
From the usual sorting, this method differs by the ability of sorting not by type of service, but by an appropriate assessment and introduction of additional ability to manage traffic according to the time remaining for the packet's existence. The last option allows us to save packets that have little time to send, placing them in the queue in first place. The proposed algorithm for sorting packets is shown in Figure 18.
In this case, if we service a packet that has a minimal time to send faster than the packet, which has enough time, for the second, quality will not significantly deteriorate. However, in this case, we can avoid the rejection of the first packet.
Additionally, the waiting time for this packet (with a QoE rating of 5 and a minimum sending time) for filling the queue will be less than if we served packets in this order without sorting. In the last version, this packet is rejected.
This service algorithm can be improved on IBN networks. Since this network can maintain statistics for each session, in the process of sorting, one can take into account one more factor-the number of packet rejections of a particular session. Each type of service has the meaning of the normal amount of possible discarded packets.
Therefore, in case we have two identical packets of different sessions with the same small time, they will be served in the correct order-initially the packet, the number of discounts for which session is greater, then another. This, in turn, will further improve the quality of service sessions on the network.

Sorting
The end result Priority of service have high marks.
Within the same mark, we sort by the time that is given in percentage terms Figure 18. Proposed packet sorting method.

QoS Improving with IBN Controller
Traditional networks have limited capabilities to improve packet service methods. There is a moment when it is no longer possible to improve the QoS. In this case, a gradual switch to the IBN network is proposed. When operating the network, the network equipment fails and the best solution is to replace the nodes with support for both methods of service. Over time, the network will come to the conclusion that there will be separate segments that can be served only by controller. As a result, the entire network will switch to new equipment. The introduction of the controller is shown in Figure 19.
The controller provides many benefits. For example, the controller implements routing and spreading tables instead of routers. In this case, the network becomes sensitive to changes in topology and load. The response time becomes minimal, which allows one to make almost instantaneous decisions. This applies to routing and billing. The controller collects statistics from network nodes. As a result, when requesting the installation of a new session, it will not be necessary to wait for a certain time for the correct installation of billing, which in turn improves the customer's satisfaction index.
This also improves the balancer and the route selection algorithm. This is all due to the fact that network statistics are the latest. That is, if a remote node fails, the controller will know this in the upcoming iteration of the network.
Distribution of routing tables by the controller improves several parameters at once. First, the time of establishing the consistency of such a network will be minimal, since each router will have a signal channel to the controller. Secondly, the network is exempted from the excess signaling information distributed on the network. In traditional networks, the routing table is transmitted from each router to its neighbors, where it is compared and processed.

QoS Improving with IBN Controller
Traditional networks have limited capabilities to improve packet service methods. There is a moment when it is no longer possible to improve the QoS. In this case, a gradual switch to the IBN network is proposed. When operating the network, the network equipment fails and the best solution is to replace the nodes with support for both methods of service. Over time, the network will come to the conclusion that there will be separate segments that can be served only by controller. As a result, the entire network will switch to new equipment. The introduction of the controller is shown in Figure 19.
The controller provides many benefits. For example, the controller implements routing and spreading tables instead of routers. In this case, the network becomes sensitive to changes in topology and load. The response time becomes minimal, which allows one to make almost instantaneous decisions. This applies to routing and billing. The controller collects statistics from network nodes. As a result, when requesting the installation of a new session, it will not be necessary to wait for a certain time for the correct installation of billing, which in turn improves the customer's satisfaction index.
This also improves the balancer and the route selection algorithm. This is all due to the fact that network statistics are the latest. That is, if a remote node fails, the controller will know this in the upcoming iteration of the network.
Distribution of routing tables by the controller improves several parameters at once. First, the time of establishing the consistency of such a network will be minimal, since each router will have a signal channel to the controller. Secondly, the network is exempted from the excess signaling information distributed on the network. In traditional networks, the routing table is transmitted from each router to its neighbors, where it is compared and processed.

Simulation Results
In this section, we will consider the developed program for modeling the future network and the results obtained through it. This program model has a graphical user interface that allows us to switch service methods and obtain results. The program consists of two buttons and ten tabs. The buttons are responsible for the service methods (proposed and traditional): Activate-enables the new service method; Deactivate-switches to the standard method. Next to the buttons, information about the active method is displayed. The following tabs are available such as: network topology, active services distribution, services using, QoE distribution, active traffic, quality of service provision, total services quality, time of service, TCP/UDP, packets. The tabs of this program can be divided into two types-the main and the additional. Additional tabs include those that display network statistics that do not depend on the method of packet service used. That is, when we change this method, the information in these tabs will remain unchanged. They are provided to display more detailed network statistics. These tabs will be reviewed without service method switching.
The main tabs are those whose data will change after switching the service packets method. They have the most informational value, since they allow comparison of the effectiveness of the packet service methods operation. Based on the data presented in these tabs, we will conduct a comparative analysis of two methods-traditional and the proposed. We consider the results of the network work, presented in these tabs, will be with the service method switching.
The tab "Distribution of Active Services" contains a circular diagram that shows the percentages of active network services currently used; the image is shown in Figure 20.
Due to this graph, we know the ratio of active services currently served on the network. The main types of services, according to this diagram, include: video conferencing, IPTV, data, and voice communication. In this graph, according to the diagram presented in Figure 19, the number of active sessions for each type of service is displayed. That is, if in Figure 19, "Videoconferencing" had the highest percentage of use, then on this schedule, this service will have the largest number of sessions. The value of this graphic is the ability to analyze which services are served by the network over a period of time.
The next "Active services" tab extends the information about the services being used. Here is a graph of the services usage, according to which we have information not only for the current time, but also during the simulation. This graph is shown in Figure 21.

Simulation Results
In this section, we will consider the developed program for modeling the future network and the results obtained through it. This program model has a graphical user interface that allows us to switch service methods and obtain results. The program consists of two buttons and ten tabs. The buttons are responsible for the service methods (proposed and traditional): Activate-enables the new service method; Deactivate-switches to the standard method. Next to the buttons, information about the active method is displayed. The following tabs are available such as: network topology, active services distribution, services using, QoE distribution, active traffic, quality of service provision, total services quality, time of service, TCP/UDP, packets. The tabs of this program can be divided into two types-the main and the additional. Additional tabs include those that display network statistics that do not depend on the method of packet service used. That is, when we change this method, the information in these tabs will remain unchanged. They are provided to display more detailed network statistics. These tabs will be reviewed without service method switching.
The main tabs are those whose data will change after switching the service packets method. They have the most informational value, since they allow comparison of the effectiveness of the packet service methods operation. Based on the data presented in these tabs, we will conduct a comparative analysis of two methods-traditional and the proposed. We consider the results of the network work, presented in these tabs, will be with the service method switching.
The tab "Distribution of Active Services" contains a circular diagram that shows the percentages of active network services currently used; the image is shown in Figure 20.
Due to this graph, we know the ratio of active services currently served on the network. The main types of services, according to this diagram, include: video conferencing, IPTV, data, and voice communication. In this graph, according to the diagram presented in Figure 19, the number of active sessions for each type of service is displayed. That is, if in Figure 19, "Videoconferencing" had the highest percentage of use, then on this schedule, this service will have the largest number of sessions.
The value of this graphic is the ability to analyze which services are served by the network over a period of time.
The next "Active services" tab extends the information about the services being used. Here is a graph of the services usage, according to which we have information not only for the current time, but also during the simulation. This graph is shown in Figure 21.
The "Distribution QoE" tab contains a pie chart, which shows the percentage of services that are currently being serviced. This diagram is shown in Figure 22.
The chart shows the distribution of active ratings that clients choose for their services in percentage terms. According to the given diagram, the network has the least services with an estimate of "QoE 1", and the most services with a rating of "QoE 3". Using this diagram, we can see the ratio of sessions estimates that are currently served by the network.
The "Active Traffic" tab displays information according to the network traffic of the services being serviced. Here is a graph of traffic ratio amount in megabits to iteration of the network. This graph is shown in Figure 23.
There are several charts in this tab. According to the legend, they are responsible for every type of possible network service and one for the general traffic. With this graph, we can obtain the results of the generated traffic for each type of service. Total traffic corresponds to the traffic volume of all network services. According to the distribution of services shown in Figure 20, the more popular the service is, the more traffic of this type there will be. Additionally, here, we need to take into account the average size of packets for each type of service. This shows the statistics collected throughout the network.
Then, looking at the "Packets" tab, according to the name, the chart for changing the number of served packets in the network is displayed. An example is shown in Figure 24.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 26 of 37 The "Distribution QoE" tab contains a pie chart, which shows the percentage of services that are currently being serviced. This diagram is shown in Figure 22.
The chart shows the distribution of active ratings that clients choose for their services in percentage terms. According to the given diagram, the network has the least services with an estimate of "QoE 1", and the most services with a rating of "QoE 3". Using this diagram, we can see the ratio of sessions estimates that are currently served by the network.
The "Active Traffic" tab displays information according to the network traffic of the services being serviced. Here is a graph of traffic ratio amount in megabits to iteration of the network. This graph is shown in Figure 23.
There are several charts in this tab. According to the legend, they are responsible for every type of possible network service and one for the general traffic. With this graph, we can obtain the results of the generated traffic for each type of service. Total traffic corresponds to the traffic volume of all network services. According to the distribution of services shown in Figure 20, the more popular the service is, the more traffic of this type there will be. Additionally, here, we need to take into account the average size of packets for each type of service. This shows the statistics collected throughout the network.
Then, looking at the "Packets" tab, according to the name, the chart for changing the number of served packets in the network is displayed. An example is shown in Figure 24.       Due to this graph, we have information on the number of packets served by this network over the appropriate time interval.
The following tabs are considered in conjunction with two methods of service packets on the network. As a result, we can draw conclusions about the effectiveness of the proposed method.
The "Quality of Service Provision" tab contains information about the results of providing services to customers of the network. Additionally, here, in the lower right corner is shown the gain at times-how many times the new method is better than the traditional.
These diagrams are built on the basis of information consumed from customers. Each type of service has its reference delay time for sending packets. When using the division into QoE scores, each service, according to the estimate, indicates the delay time. The higher the QoE score, the less delay there should be for packets during service. Accordingly, the rating "QoE 1" will have the highest service time, and the "QoE 5" rating is the lowest service time. When constructing diagrams, we take all the received sessions and compare them with the "reference" time for the given service and the given estimation. If the time is less than acceptable, the service is provided by the network well, otherwise the service is provided bad.
The "Overall QoS" tab extends the information from the previous tab. It displays the same information, only not at the moment, but within a certain period of simulation. The maximum value for the charts in this tab is "1", the minimum "0". The higher the value, the better the ratio of well-served sessions to bad served.
The "Time Service" tab provides information on the service time for each service and each evaluation of the service. That is, here are seven graphs for each service, each of which is additionally on all served scores. In addition, as in the previous tab, here is shown the gain in times, relative to the previous active method of service packets in the network. To do this, there are two groups of network sessions that are sensitive to delays and insensitive to delays. The first group consists of a UDP transport session with QoE scores 3, 4, and 5, as this type of traffic needs to be served as soon as possible. The other types of sessions are insensitive with QoE scores 1 and 2. First, let us consider the traditional method enabled. The result is shown in Figure 25.
additionally on all served scores. In addition, as in the previous tab, here is shown the gain in times, relative to the previous active method of service packets in the network. To do this, there are two groups of network sessions that are sensitive to delays and insensitive to delays. The first group consists of a UDP transport session with QoE scores 3, 4, and 5, as this type of traffic needs to be served as soon as possible. The other types of sessions are insensitive with QoE scores 1 and 2. First, let us consider the traditional method enabled. The result is shown in Figure 25. From Figure 26, we see that the sessions of the QoE rating "1" are best served. With the increase in this assessment, the quality of service is falling. For the highest estimation, the number of sessions that are successfully served by the network is minimal. The quality of the provision at a certain interval is depicted in Figure 26. From Figure 26, we see that the sessions of the QoE rating "1" are best served. With the increase in this assessment, the quality of service is falling. For the highest estimation, the number of sessions that are successfully served by the network is minimal. The quality of the provision at a certain interval is depicted in Figure 26. As expected, the best score has "QoE 1", then the quality decreases, and "QoE 5" has the worst performance.
These results are derived from the fact that in the traditional method, packets are not sorted and processed in accordance with the order in which they came. That is, the network cannot guarantee the appropriate quality of the session service for the selected evaluation. The order of service will be chaotic for the services of different ratings. The average waiting time (end to end delay) for each session with the corresponding QoE score using the traditional method is depicted in Figure 27. As expected, the best score has "QoE 1", then the quality decreases, and "QoE 5" has the worst performance.
These results are derived from the fact that in the traditional method, packets are not sorted and processed in accordance with the order in which they came. That is, the network cannot guarantee the appropriate quality of the session service for the selected evaluation. The order of service will be chaotic for the services of different ratings. The average waiting time (end to end delay) for each session with the corresponding QoE score using the traditional method is depicted in Figure 27.

performance.
These results are derived from the fact that in the traditional method, packets are not sorted and processed in accordance with the order in which they came. That is, the network cannot guarantee the appropriate quality of the session service for the selected evaluation. The order of service will be chaotic for the services of different ratings. The average waiting time (end to end delay) for each session with the corresponding QoE score using the traditional method is depicted in Figure 27.  Figure 27 also provides information about the average time of group maintenance (sensitive and not sensitive) and the gain from the previous active method. Since we have not yet switched these methods, here is information about the current time of service.
We activated the proposed method starting with 223 iterations of the network (model time) by clicking the button in the simulation model "Activate". Now, we consider the same graphs again. Figure 28 depicts the customer's QoS experience in the network with the active proposed method.  Figure 27 also provides information about the average time of group maintenance (sensitive and not sensitive) and the gain from the previous active method. Since we have not yet switched these methods, here is information about the current time of service.
We activated the proposed method starting with 223 iterations of the network (model time) by clicking the button in the simulation model "Activate". Now, we consider the same graphs again. Figure 28 depicts the customer's QoS experience in the network with the active proposed method. According to Figure 28, with the new method, we significantly improve the quality for sessions with higher ratings. Therefore, the quality of service sessions has improved for customers:
However, the law of preservation must be kept-when we improve the quality of service of certain services, we worsen the quality of service of other services. Accordingly, the quality worsens for sessions:
The basic idea is that for customers using services with estimates of "QoE 1" and "QoE 2", a very low payment is set. Customers do not need the best quality and agree that their sessions may have a long delay and re-send. They need to obtain the desired, regardless of quality. Optionally, for customers who need the best service (such as a planned business conversation or videoconference, a comfortable game in online games, and others), higher grades are offered. For them, the payment goes to the background, the main-the quality of this session.
The gain shown in Figure 28 is confirmed by the results of service ratings, as shown in Figures 29  and 30, respectively. According to the circular diagrams, almost all sessions with an estimate of "QoE 5" received good quality of service. Service quality has also improved for ratings of "QoE 4" and "QoE 3". Changes in quality of services can be seen in Figure 29, which clearly shows improving QoE for customers.
Accordingly, the average time of service has also changed. This result is shown in Figure 29. From Figure 30, changes are noticeable in the transition from the traditional method of service to the proposed. The average waiting time for each service has changed relative to the previously submitted improvement. For grades of "5", "4", and "3", it has decreased. For grades "1" and "2", it increased. Now, service packets are not chaotic. In this mode, the network can provide appropriate service for high grades. For sensitive sessions, we have improved service by 1.79 times. However, for insensitive traffic, we have worsened by 0.73 times.
The "TCP/UDP" tab shows the average service time for services that use two types of transport protocols-TCP and UDP. Figure 31 shows the average waiting time when using the traditional packet service method in the network. In Figure 32-using the proposed method. 29 and 30, respectively. According to the circular diagrams, almost all sessions with an estimate of "QoE 5" received good quality of service. Service quality has also improved for ratings of "QoE 4" and "QoE 3". Changes in quality of services can be seen in Figure 29, which clearly shows improving QoE for customers. Accordingly, the average time of service has also changed. This result is shown in Figure 29. From Figure 30, changes are noticeable in the transition from the traditional method of service to the proposed. The average waiting time for each service has changed relative to the previously submitted improvement. For grades of "5", "4", and "3", it has decreased. For grades "1" and "2", it increased. Now, service packets are not chaotic. In this mode, the network can provide appropriate service for high grades. For sensitive sessions, we have improved service by 1.79 times. However, for insensitive traffic, we have worsened by 0.73 times.
The "TCP/UDP" tab shows the average service time for services that use two types of transport protocols-TCP and UDP. Figure 31 shows the average waiting time when using the traditional packet service method in the network. In Figure 32-using the proposed method.         When switching from the traditional method of service to the proposed, we see a change in the average waiting time. The average waiting time for a session that uses a TCP transport protocol is increasing. The average waiting time for a session that uses a UDP transport protocol is decreasing.
The main idea of such changes is that TCP traffic may have a greater time to send, and in the case of dropping packets, they will be re-sent. However, UDP traffic is sensitive to delays and is not retransmitted when discarded.

Discussion
In fact, modeling the influence of context parameters on customer satisfaction and their display on a single QoE scale is a complex process, which is due to the presence of a large number of objective and subjective factors. Some of these factors can be measured, while others can be hidden and have an effect indirectly. In this case, these factors are often considered either separately, or their display on different scales. Evolutionary development of social and economic processes and information technologies impose time constraints on the relevance of QoE models. The question of taking into account the non-stationarity of needs and expectations of customers of information and telecommunication services when assessing QoE is open.
Thus, due to the shift of emphasis on technical issues to business issues and the need to take into account the dominant nature of qualitative, uncertain, and vague factors in forming an opinion on the level of quality of network services, the use of methods of intellectual data analysis is justified and expedient in our future work.
The results are obtained during the simulation of the traditional network, with the introduction of the controller, which:  Provides billing to customers;  Collects network statistics;  Collects statistics about service quality. The main disadvantages of using traditional networks are:  Weak integration with the billing system;  Slow response to changing network topology;  Slow response (or not at all) to the network's load, which is dependent on system administrators;  There is no way to "conduct" a session in the controller;  Unnecessary signal traffic that floods the network, and others. When switching from the traditional method of service to the proposed, we see a change in the average waiting time. The average waiting time for a session that uses a TCP transport protocol is increasing. The average waiting time for a session that uses a UDP transport protocol is decreasing.
The main idea of such changes is that TCP traffic may have a greater time to send, and in the case of dropping packets, they will be re-sent. However, UDP traffic is sensitive to delays and is not retransmitted when discarded.

Discussion
In fact, modeling the influence of context parameters on customer satisfaction and their display on a single QoE scale is a complex process, which is due to the presence of a large number of objective and subjective factors. Some of these factors can be measured, while others can be hidden and have an effect indirectly. In this case, these factors are often considered either separately, or their display on different scales. Evolutionary development of social and economic processes and information technologies impose time constraints on the relevance of QoE models. The question of taking into account the non-stationarity of needs and expectations of customers of information and telecommunication services when assessing QoE is open.
Thus, due to the shift of emphasis on technical issues to business issues and the need to take into account the dominant nature of qualitative, uncertain, and vague factors in forming an opinion on the level of quality of network services, the use of methods of intellectual data analysis is justified and expedient in our future work.
The results are obtained during the simulation of the traditional network, with the introduction of the controller, which: • Provides billing to customers; • Collects network statistics; • Collects statistics about service quality.
The main disadvantages of using traditional networks are: • Weak integration with the billing system; • Slow response to changing network topology; • Slow response (or not at all) to the network's load, which is dependent on system administrators; • There is no way to "conduct" a session in the controller; • Unnecessary signal traffic that floods the network, and others.
Almost all problems are related to the time of establishing the network's consistency in its aspects. Consider the problems of traditional networks when deciding on routing using the proposed method (balancer). Since it is proposed to store not only the best route to a certain network, but all possible (without loops) and corresponding loading of this routes, this load is displayed as the highest load on all transitions. The advantages of this method are: we share the boot network on several interfaces and share, if possible, the ways of serving UDP traffic and TCP. The main problem with the use of this method in traditional networks is the time of setting the consistency. Since the decision must be taken immediately, the network may miss some kind of peak change of traffic. The solution will be based on load from the routing table, but for the time the information goes to this router, the load bandwidth of the path may increase, causing the corresponding problems (path overloading, packet buffering, rejection, and re-send). This example is depicted in Figure 33. Almost all problems are related to the time of establishing the network's consistency in its aspects. Consider the problems of traditional networks when deciding on routing using the proposed method (balancer). Since it is proposed to store not only the best route to a certain network, but all possible (without loops) and corresponding loading of this routes, this load is displayed as the highest load on all transitions. The advantages of this method are: we share the boot network on several interfaces and share, if possible, the ways of serving UDP traffic and TCP. The main problem with the use of this method in traditional networks is the time of setting the consistency. Since the decision must be taken immediately, the network may miss some kind of peak change of traffic. The solution will be based on load from the routing table, but for the time the information goes to this router, the load bandwidth of the path may increase, causing the corresponding problems (path overloading, packet buffering, rejection, and re-send). This example is depicted in Figure 33. This graphic shows the schedule of served traffic on the network. Circles show the time when the decision is made. Accordingly, in this case, the network can "skip" changes in load, and not make the best decisions. All of these problems are solved in the transition to new generation networks, for example IBN; the controller collects statistics from each node. To set the consistency of the information, a minimum amount of time is required, which in turn improves the work of the balancer (there will be no more cases of "spikes" of peaks), allows us to "conduct" the session (the possibility of rejecting the permitted number of packets in the sending process, if necessary), makes the network susceptible to changes in topology, and others.
Further development of the proposed method is carried out in the direction of improving the machine learning algorithms and methods of forming statistical samples characterizing the network parameters with known assessments of QoE. The algorithms of machine learning developed in the future work will form the decisive rules allowing to predict, in real-time, the desired level of QoE for customers automatically. The application of fuzzy logic and machine learning techniques for the proposed future IBN is depicted in Figure 34.
Thus, in the future, network automation based on controllers and machine learning algorithms, supported by SDN, and an even more comprehensive vision of IBN can improve the effectiveness of digital businesses. In the future, IBN information technology will allow automation of the management of all network domains, including campuses, branches, WAN, Internet of Things, 5G, and big data, providing a significantly new level of automation, increasing the efficiency of service, speed of innovation launch, and reliability of network infrastructure. This graphic shows the schedule of served traffic on the network. Circles show the time when the decision is made. Accordingly, in this case, the network can "skip" changes in load, and not make the best decisions. All of these problems are solved in the transition to new generation networks, for example IBN; the controller collects statistics from each node. To set the consistency of the information, a minimum amount of time is required, which in turn improves the work of the balancer (there will be no more cases of "spikes" of peaks), allows us to "conduct" the session (the possibility of rejecting the permitted number of packets in the sending process, if necessary), makes the network susceptible to changes in topology, and others.
Further development of the proposed method is carried out in the direction of improving the machine learning algorithms and methods of forming statistical samples characterizing the network parameters with known assessments of QoE. The algorithms of machine learning developed in the future work will form the decisive rules allowing to predict, in real-time, the desired level of QoE for customers automatically. The application of fuzzy logic and machine learning techniques for the proposed future IBN is depicted in Figure 34.
Thus, in the future, network automation based on controllers and machine learning algorithms, supported by SDN, and an even more comprehensive vision of IBN can improve the effectiveness of digital businesses. In the future, IBN information technology will allow automation of the management of all network domains, including campuses, branches, WAN, Internet of Things, 5G, and big data, providing a significantly new level of automation, increasing the efficiency of service, speed of innovation launch, and reliability of network infrastructure.
For effective implementation of centralized network management, it is necessary to take into account some interesting aspects that should be included at the beginning of planning in order not to make the network dangerous or inaccessible, such as: • The availability of a controller is the main aspect to consider. A strong relationship between network devices and the controller can be a problem when rules need to be changed. Moreover, if networks are designed with only one centralized controller in mind, it can be a "single point of failure". A distributed approach can be implemented to ensure availability and prevent potential unwanted failures. In addition, a dedicated redundancy or backup solution can be used to ensure reliability.

•
The security is important as well. A controller is a component with critical knowledge of the network and this dimension subjects the controller to possible attacks and threats. In addition, the channels between the controller and the switches can be vulnerable. According to the OpenFlow specification, it is possible to use secure communication via the TLS protocol, but its use depends on the network design.

•
Scalability of the network also depends on the controller, which can potentially become a bottleneck. If too many packets are delivered to the controller, the network may experience performance problems. This means that it is important to take into account the distribution of the control plane to avoid these unwanted problems.
We believe that the future Intent-Based Networking using IBN/SDN controllers can be a critical step in the evolution of networking technologies, helping companies optimize network operations and increase availability. Obviously, the transition to a new technology will take time, but we can expect that the concept of IBN will gradually replace the traditional approach and will be implemented in an increasing number of corporate networks. For effective implementation of centralized network management, it is necessary to take into account some interesting aspects that should be included at the beginning of planning in order not to make the network dangerous or inaccessible, such as:


The availability of a controller is the main aspect to consider. A strong relationship between network devices and the controller can be a problem when rules need to be changed. Moreover, if networks are designed with only one centralized controller in mind, it can be a "single point of failure". A distributed approach can be implemented to ensure availability and prevent potential unwanted failures. In addition, a dedicated redundancy or backup solution can be used to ensure reliability.

Conclusions
We found that applications that appear in future networks require new QoE-centric business models that must be used for service providers in the proposed contract with their customers. In this paper, we propose an approach to ensure customer satisfaction, which corresponds to the quality of