# Customer-Oriented Quality of Service Management Method for the Future Intent-Based Networking
## 3 A Description of the Proposed Customer-Oriented Quality of Service Management Method for IBN
### Development of a Simulation Model of Intent-Based Networking
#### 3.1.1 General Stages of Network Simulation
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.  
1.2 Detailed Consideration of the Structure and Connections of the Network Simulation Program Written Using the Java Programming Language  
The general principle of the network simulation is shown in Figure 8.  
Figure 8: The general algorithm of network operation. Figure 6: Distribution of the services quality and assessments in the network. Figure 7: The scheme of decision making for the construction of diagrams. 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.