# 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
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:  
\[\text{HostName}+``[^{\prime}+\]  
\[M=n_{\text{hops}}\cdot\rho_{\text{port}} \tag{1}\]0  
\[\text{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. 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. \[M=n_{\text{hops}}\cdot\rho_{\text{port}} \tag{1}\]1 The UML (Unified Modeling Language) diagram of the customer class and classes dependent on it. 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.