=Paper=
{{Paper
|id=Vol-3806/S_38_Starkova
|storemode=property
|title=
Routing Technology Based On Virtualization Software-Defined Networking Conceptі
|pdfUrl=https://ceur-ws.org/Vol-3806/S_38_Starkova.pdf
|volume=Vol-3806
|authors=Yurii Kravchenko,Kostiantyn Herasymenko,Olena Starkova,Anna Bulgakova
|dblpUrl=https://dblp.org/rec/conf/ukrprog/KravchenkoHSB24
}}
==
Routing Technology Based On Virtualization Software-Defined Networking Conceptі
==
Routing Technology Based On Virtualization Software-
Defined Networking Conceptі
Yurii Kravchenko1, Kostiantyn Herasymenko1, Olena Starkova1 and Anna Bulgakova1
1
Taras Shevchenko National University of Kyiv, 60 Volodymyrska Street, Kyiv, 01033, Ukraine
Abstract
One of the main characteristics of the digital revolution is the acceleration of change. The technologies
that have fueled the digital revolution over the past decades are experiencing increasingly rapid innovation
cycles.
For today, a substantial growth of amount of users, devices, applications and traffic has presented new
challenges to service providers. The SDN paradigm emerged to address some of these emerging challenges.
SDN simplifies network management and allows automated network configuration on demand with
optimal use of network resources.
The work is devoted to the present networks research and the identification of opportunities for the
implementation of virtualization of network functions in the context of SDN and NFV concepts. Because
these are two new technological trends that are transforming network management. Together, they
simplify the provisioning of network resources and provide greater network flexibility.
Keywords 1
Routing method, static routing, dynamic routing, NFV, SDN
1. Introduction
Network technologies are evolving at an exceptionally rapid pace, driven by the extensive
utilization of information technologies and telecommunication systems across diverse sectors of
human activity. Traditionally, network devices employed standard protocols and services to execute
their intended functions effectively [1]. However, over time, several limitations and
incompatibilities with the contemporary challenges of modern networks have become apparent.
These challenges include the exponential increase in the number of users, the proliferation of
services, the dramatic rise in the number of devices, and the expansion of communication channels,
all contributing to heightened requirements and expectations for network infrastructures [2].
In response to these emerging challenges, new trends have surfaced in the field of network
development, particularly focusing on the implementation of Software-Defined Networking (SDN)
and Network Functions Virtualization (NFV). These technologies represent a fundamental shift
from traditional network architectures, offering enhanced flexibility, scalability, and manageability
of network resources. SDN and NFV aim to address the shortcomings of legacy network systems by
decoupling network functions from the underlying hardware, thus enabling more dynamic and
programmable network environments. This evolution necessitates the development of improved
protocols and innovative technologies to meet the current and future demands of advanced
information and communication networks and systems [3, 4].
The increasing adoption of network function virtualization is a primary factor driving the
integration of SDN. SDN and NFV technologies are inherently complementary; while NFV focuses
14th International Scientific and Practical Conference from Programming UkrPROG’2024, May 14-15, 2024, Kyiv,
Ukraine
*
Corresponding author.
†
These authors contributed equally.
yurii.kravchenko@knu.ua (Yu. Kravchenko); c.herasymenko@gmail.com (K. Herasymenko); elesta.tcs@gmail.com (O.
Starkova); annbulgakova10@gmail.com (A. Bulgakova)
0000-0002-0281-4396 (Yu. Kravchenko); 0000-0002-9545-5272 (K. Herasymenko); 0000-0001-8985-2442 (O. Starkova)
© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
ceur-ws.org
Workshop ISSN 1613-0073
Proceedings
on enhancing the actual network services that manage data flows, SDN provides a robust control
plane that governs the overall behavior of the network [5]. This symbiotic relationship enhances
the efficiency and effectiveness of network operations, allowing for greater adaptability and
responsiveness to changing demands.
The primary objective of this research is to develop a comprehensive simulation environment for
implementing and evaluating various network functions and protocol solutions. This environment
is intended to serve as a critical tool for conducting experimental research, enabling researchers to
test and refine new network technologies and protocols. In the long term, the insights gained from
these experimental studies will facilitate the deployment of these innovative solutions within the
SDN framework, ensuring they meet the stringent requirements of next-generation information and
communication networks [2, 3].
2. First level heading Routing Technology Based on NFV and SDN
Concepts
The core of this work is centered around the router, a traditional network device. The primary
functions of a router include selecting optimal routes to remote networks, populating the routing
table, and forwarding packets between networks [5].
In the routing process, routers consider several alternative routes to reach a single destination.
These alternatives are the result of redundancy built into most network designs.
To develop the simulation system, the following were utilized:
• Python programming language;
• Python modules: ipaddress, threading, socket, json, tabulate.
The operation of simulating routers involves many objects interacting with each other [2]. The
Simulation object is necessary for storing router objects. It can start all routers simultaneously using
the start_routers method and print an interface table with statuses and other information about the
interface objects with the print(simulation) method.
Figure 1: Simulation Class.
The router is the primary object in the simulation. It stores interfaces that are necessary for the
exchange of information between routers. Additionally, the router maintains a routing table and other
essential data about the router.
Figure 2: Router Class.
The Router object has several public methods:
• set_protocol: This method sets the dynamic routing protocol object that will run on the router.
• has_ip: This method checks whether a given IP address exists on the router.
• message_to_interface: This method sends a message from a specific interface. It requires the
interface number from which the message will be sent and the message itself [6].
• message_to_ip: This method sends a message to a specific IP address. It requires the IP address
and the message to be sent. The router will then attempt to find a path for sending it through
the connected interfaces or the routing table.
• message_to_broadcast: This method sends a message to the broadcast port. All interfaces with
the same broadcast address will receive the message.
• set_default_route: This method sets the default route. It requires the IP address, the interface
number through which network access is made, and the metric. The metric is necessary to
find the quickest way to send the message.
• add_route: This method sets a route to a specific network. It requires the IP address and
subnet mask of the remote network, the IP address and interface number through which
access to the remote network is made, and the metric [2-6].
• start: This method starts the router. After this, the router begins to listen to the broadcast port
and operate the dynamic routing protocol.
The Interface object represents a router interface that can interact with other interfaces for data
exchange.
Figure 3: Interface Class.
The Interface object has the following methods:
• get_ip Returns the IP address of the interface.
• get_conn: Returns the connection object of the interface to another interface.
• connect_to_router: Initiates a series of actions to establish a connection with another interface.
• wait_connection: Waits for a response from another interface to confirm the connection.
• accept_connection: Confirms the connection to another interface.
• listen_conn: Awaits the establishment of a connection with another interface.
To establish a connection between two interfaces, the following steps are necessary:
1. Call the connect_to_router method on the first interface and pass the IP address of the
remote interface to which the connection is being created [7, 8]. The first interface will then
wait for the connection to be established.
2. Call the accept_connection method on the second interface, to which the first interface is
connecting, and pass the address of the first interface that wants to connect and its port for
connecting the interfaces (local_port) [4-8].
RoutingProtocol is an abstract class designed for creating dynamic routing protocols. It defines
the main methods that must be present in all dynamic routing protocols.
RIP is an object created to demonstrate the organization and operation of dynamic routing
protocols in the simulation. It has the following methods:
• new_message: Processes the received message addressed to the dynamic routing protocol.
• get_routing_table_to_send: Processes the routing table for further transmission to other
routers.
• send_route: Sends the routing table, prepared by the get_routing_table_to_send method, from
all router interfaces (to all network neighbors).
• runner: Sends messages every n seconds.
• start: Initiates the protocol operation. After execution, the runner method launches a cycle
that sends the routing table to all network neighbors every n seconds.
3. Testing the Developed Routing Technology
To begin the simulation, it is essential to create all necessary objects. This involves generating lists
of interface objects by providing parameters such as the interface number, interface port, bandwidth
port, and an IPv4Interface object for recording the IP address.
Next, you need to call a method from the simulation object to create and add routers to the
simulation. This requires passing the router's name and the interfaces created in the previous step
[4-8]. You can create as many routers as needed, but careful attention must be given to the creation
of interfaces, as the simulation will only function correctly with properly configured parameters,
ensuring no data overlaps between interfaces except for the broadcast port.
Once the routers are set up, they are started, and the message_to_broadcast method is invoked
on all routers. This step is crucial for the automatic connection of interfaces sharing the same
broadcast port.
The simulation employs a software interface to facilitate data exchange between routers,
achieved through inter-process communication mechanisms like sockets [4-8]. Network ports are
necessary for socket operations, so during the simulation, these ports must be specified for each
interface. Sockets replace the second layer of the OSI model, allowing the creation of socket
connections between two software objects and enabling data exchange between them [4-8].
Within the interface object, broadcast sockets are responsible for listening and transmitting data
on a designated port. When establishing a connection between two interfaces, a socket connection
is created between the ports of these interfaces, enabling data transmission and reception between
the two interfaces.
The process of connecting interfaces through socket connections can be summarized as follows:
1. Several routers have some interfaces using the same broadcast port. This setup is illustrated in
the following example.
Figure 4: State Before Establishing Socket Connections.
2. One of the interfaces sends a message to the broadcast socket indicating its intention to
establish a connection.
3. Another interface receives this message and, if it is available (i.e., not yet connected to
another interface), responds affirmatively.
4. A connection (socket) is then established on each interface. From this point on, these
interfaces are connected and can exchange data through the established socket connection.
All transmitted data is encapsulated in analog packets, which are structured as follows:
• A packet for a regular message via a socket connection looks like this:
{"src_ip": "ip", "dst_ip": "ip", "data": "message"}
• A packet for a broadcast message is structured as follows:
{"src_ip": "ip", "src_port": "port", "data": "message"}
In the RIP dynamic routing protocol, data is packaged as follows:
{"type": "RIP", "routing_table": None}
Once a connection is established between two interfaces, a message can be sent from one
interface, received by the other, and processed if necessary [4-8].
Currently, there are no applications that allow for the creation of custom dynamic routing
algorithms in Python. To integrate custom code as a dynamic routing protocol into the simulation,
the following conditions must be met: the created dynamic routing class must inherit from the
abstract class RoutingProtocol; the created class must implement two methods abstractly defined in
the RoutingProtocol class. The RIP class can serve as an example for writing custom protocols based
on its structure.
By adhering to these guidelines and thoroughly testing the developed routing technology, it
ensures that the simulation is robust, reliable, and ready for real-world network environments.
4. Practical investigation of the developed routing technology
The practical significance of the developed routing technology lies in its ability to implement
simulation results (both mathematical and imitative) using the developed technology. This allows
for the practical realization of advanced routing methods without changing the actual protocol
solutions, which often have numerous shortcomings and do not reflect the features of modern
networks, thereby becoming obsolete.
For instance, solving a routing problem with the RIP protocol metric can be modeled as a
Boolean programming task using Matlab's tools [9].
4.1. Routing problem formulation
Given:
• Number of nodes in the network (m)
• Number of communication channels in the network (n)
• Packet sender node
• Packet receiver node
• Traffic intensity (r) entering the network
• Bandwidths of the communication channels
• Metrics of the communication channels (f)
We need to determine:
• The shortest path from the sender node to the receiver node through the communication
channel of the modeled network within the chosen metric.
• The dependence of the number of paths used in the routing process on the traffic density
entering the network.
• The bandwidth of the communication direction from the sender node to the receiver node
according to the chosen routing model.
4.2. Routing Problem Description as a Boolean Programming Problem Using RIP v.1
Metrics
The number of communication channels in the network (n) determines the size of vector x,
where the coordinates 𝑥!,! represent the share of traffic in the communication channels between the
i-th and j-th nodes. The size of the metric vector f also corresponds to the number of communication
channels in the network (n), and its coordinates 𝑓!,! characterize the metric of the communication
channels between the i-th and j-th nodes.
To implement routing, the coordinates of vector x are subject to the following constraints:
𝑥!,! ∈ {0,1} 𝑖, 𝑗 = 1, 𝑚 ; 𝑖 ≠ 𝑗 , (1)
This means that the variable 𝑥!,! can only take two values:
• 1, if traffic passes through the channel (i,j);
• 0, otherwise.
This Boolean value (1) ensures that there are no deviations in the flows along the network path,
i.e., all traffic is transmitted via a single path.
In the first case, each communication channel is assigned a metric equal to 1
𝑓!,! = 1, ; 𝑖, 𝑗 = 1, 𝑚; 𝑖 ≠ 𝑗 , corresponding to finding the path with the minimum number of
retransmissions (fval) between a given pair of nodes, as in protocol RIP v.1.
When solving the routing problem, it is necessary to ensure the flow conservation conditions for
each network node and the network as a whole:
!:(!,!) 𝑥!,! − !: !,! 𝑥!,! = 1 − for the sender node
!:(!,!) 𝑥!,! − !: !,! 𝑥!,! = 0 − for the transit node (2)
!:(!,!) 𝑥!,! − !: !,! 𝑥!,! = −1 − for the receiver node
In addition to the flow conservation condition (2), the condition to avoid link overload must also
be satisfied:
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! 𝑖, 𝑗 = 1, 𝑛, 𝑖 ≠ 𝑗, (3)
where 𝑐!,! – represents the capacity of the communication channel between nodes I and j.
Solving routing problems in modern network protocols typically involves finding the shortest
path in a network, which defines the structure of the communication system. The shortest path
problem in a network is formulated as a boolean programming problem, and the "Optimization
Toolbox" in Matlab, specifically the "bintprog" subroutine, is used for its solution.
According to the equation (1), solving the boolean programming problem requires minimizing
the objective function expressed in linear form min! 𝑓 ! 𝑥 subject to a series of constraints
represented as equality and inequality constraints: 𝐴 ∙ 𝑥 ≤ 𝑏; 𝐴𝑒𝑞 ∙ 𝑥 = 𝑏𝑒𝑞, where f, x, b, beq are
vectors, and A, Aeq are matrices of corresponding dimensions.
Matlab's environment supports several syntax variants to call the "bintprog" subroutine:
1. 𝑥, 𝑓𝑣𝑎𝑙 = 𝑏𝑖𝑡𝑝𝑟𝑜𝑔 𝑓, 𝐴, 𝑏 solves 𝑓𝑣𝑎𝑙 = min! 𝑓 ! 𝑥 subject to 𝐴 ∙ 𝑥 ≤ 𝑏.
2. 𝑥, 𝑓𝑣𝑎𝑙 = 𝑏𝑖𝑡𝑝𝑟𝑜𝑔(𝑓, 𝐴, 𝑏, 𝐴𝑒𝑞, 𝑏𝑒𝑞) solves 𝑓𝑣𝑎𝑙 = min! 𝑓 ! 𝑥 subject to 𝐴𝑒𝑞 ∙ 𝑥 = 𝑏𝑒𝑞.
If there are no inequality constraints, A=[] and b=[].
To describe the routing problem in Matlab's formalism, the flow conservation condition (2)
should be expressed as a vector matrix: 𝐴𝑒𝑞 ∙ 𝑥 = 𝑏𝑒𝑞. Thus, the matrix Aeq has dimensions 𝑚×𝑛,
and its coordinates take values −1; 0; 1 as follows 𝑗 = 1, 𝑚, 𝑖 = 1, 𝑛 :
𝑎!" = 1, if the i-th communication channel goes from node j;
𝑎!" = −1, if the i-th communication channel enters node j;
𝑎!" = 0 , if the i-th communication channel does not involve node j.
The size of the vector beq corresponds to the number of nodes in the network (m), and its
coordinates are generated as follows 𝑗 = 1, 𝑚 :
𝑏𝑒𝑞! = 1 if the i-th node is a packet sender;
𝑏𝑒𝑞! = −1 if the i-th node is a packet receiver;
𝑏𝑒𝑞! = 0 if the i-th node is a retransmitter.
Conditions (3) should also be expressed as a vector matrix with inequality 𝐴 ∙ 𝑥 ≤ 𝑏.
4.3. As an example of a metric routing problem for the RIP v.1 protocol, formulated
and solved in Matlab:
The number of communication channels in the network (n) determines the size of vector x,
where the coordinates 𝑥!,! represent the share of traffic in the communication channels between the
i-th and j-th nodes. The size of the metric vector f also corresponds to the number of communication
channels in the network (n), and its
Let the network structure and channel capacities be shown in Fig. 5. The total number of nodes
in the network is five (m = 5), and the number of communication channels is six ( n = 6). Then, the
packet sender node is 1, and the receiver node is 5.
Figure 5: Example of a modeled network structure.
Let's formulate vector x and metric vector f :
𝑥!,! 𝑓!,!
1
𝑥!,! 𝑓!,!
1
𝑥!,! 𝑓!,! 1
𝑥= 𝑥 𝑓= = .
!,! 𝑓!,! 1
𝑥!,! 𝑓!,! 1
𝑥!,! 1
𝑓 !,!
Formulate the flow conservation conditions for network nodes (2):
𝑥!,! + 𝑥!,! = 1;
−𝑥!,! + 𝑥!,! + 𝑥!,! = 0;
−𝑥!,! − 𝑥!,! + 𝑥!,! = 0;
−𝑥!,! + 𝑥!,! = 0;
−𝑥!,! − 𝑥!,! = −1.
Formulate the matrix Aeq and the vector beq:
1 1 0 0 0 0
1
-1 0 1 1 0 0 0
𝐴𝑒𝑞 = 0 -1 -1 0 1 0 ; 𝑏𝑒𝑞 = 0 .
0 0 0 0 -1 1 0
-1
0 0 0 -1 0 -1
Formulate the conditions for preventing overloading of communication channels (3):
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! ;
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! ;
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! ;
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! ;
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! ;
𝑟 ∙ 𝑥!,! ≤ 𝑐!,! .
Formulate the matrix A and the vector b
𝑟 0 0 0 0 0
1
0 𝑟 0 0 0 0
0
0 0 𝑟 0 0 0
𝐴= ; 𝑏= 0 .
0 0 0 𝑟 0 0 0
0 0 0 0 𝑟 0 -1
0 0 0 0 0 𝑟
In the example provided above, the program code appears as shown in Figure 6. Calculation
results are displayed in the command window (Figure 6).
Figure 6: Program code in the Matlab file editor window.
According to these results, the "length" of the shortest path is 2 ( fval = 2), with 𝑥!,! = 1 and
𝑥!,! = 1, indicating that it passes through nodes 1, 2, and 5 (Figure 7). Figure 7 illustrates the traffic
intensity passing through the communication channel.
Figure 7: Calculation results in the command window.
As a result, it is necessary to construct a graph showing the number of paths (K) used in the
routing process as a function of the traffic intensity (r) entering the network. The graph should also
indicate which paths are used at which traffic intensities. Additionally, it is worthwhile to
experimentally determine the bandwidth capacity in the communication direction from the sender
node to the receiver node according to the implemented routing model.
The implementation of the described routing model using the Matlab mathematical package and
developed technology has demonstrated analogous routing results.
5. Impact of Machine Learning on SDN/NFV-based Routing
The integration of Machine Learning (ML) with Software-Defined Networking (SDN) and
Network Functions Virtualization (NFV) is revolutionizing network routing strategies. This synergy
enhances network performance, adaptability, and efficiency. This section explores the
transformative role of ML in SDN/NFV-based routing systems.
5.1. Machine Learning Algorithms in Network Routing
Several ML algorithms have shown promise in optimizing routing decisions:
1. Reinforcement Learning (RL) algorithms, particularly Q-learning and Deep Q-Networks
(DQN), have been applied to dynamic routing problems. These algorithms learn optimal routing
policies through trial and error, adapting to changing network conditions.
2. Deep Neural Networks (DNNs) and Convolutional Neural Networks (CNNs) are used for
traffic prediction and classification, enabling proactive routing decisions.
3. Support Vector Machines (SVMs) have been employed for traffic classification and anomaly
detection, enhancing the security aspects of routing.
4. Genetic Algorithms are used for optimizing routing paths in complex network topologies,
especially in multi-objective routing scenarios.
5.2. ML-Enhanced SDN Controllers
ML algorithms integrated into SDN controllers can significantly improve routing efficiency:
1. Traffic Prediction: ML models analyze historical traffic data to predict future network loads,
allowing for preemptive routing adjustments.
2. Adaptive Flow Management: ML algorithms dynamically adjust flow rules based on real-
time network conditions, optimizing resource utilization.
3. Intelligent Load Balancing: ML-driven load balancing algorithms distribute traffic more
efficiently across available paths, reducing congestion and improving overall network performance.
5.3. NFV Optimization through Machine Learning
In the context of NFV, ML contributes to more efficient routing by:
1. ML algorithms optimize the placement of Virtual Network Functions (VNFs) based on
predicted traffic patterns and resource availability.
2. ML models determine the most efficient sequence of VNFs for processing network traffic,
minimizing latency and maximizing throughput.
3. Predictive ML models assist in allocating computational resources to VNFs, ensuring
optimal performance while minimizing resource waste.
5.4. Challenges and Future Directions
While ML shows great promise in enhancing SDN/NFV-based routing, several challenges
remain:
1. Computational Overhead: The integration of ML algorithms can introduce additional
computational load, potentially affecting real-time performance.
2. Data Quality and Availability: The effectiveness of ML models heavily depends on the
quality and quantity of available network data.
3. Model Interpretability: Some ML models, particularly deep learning models, lack
interpretability, which can be a concern in critical network operations.
4. Security Implications: The use of ML in routing decisions introduces new attack vectors
that need to be addressed.
Future research should focus on developing lightweight ML algorithms suitable for real-time
network operations, improving the interpretability of ML models in networking contexts, and
addressing the security challenges associated with ML-driven routing systems.
The integration of Machine Learning with SDN/NFV-based routing represents a significant
advancement in network management and optimization. By leveraging ML algorithms, networks
can become more adaptive, efficient, and intelligent in their routing decisions. As this field
continues to evolve, we can expect to see increasingly sophisticated routing solutions that can
handle the complex demands of modern network environments. The synergy between ML, SDN,
and NFV is paving the way for next-generation networks that are not only programmable and
virtualized but also self-optimizing and predictive in nature.
6. Conclusions
In conclusion, it can be confidently asserted that the scientific and technical advancements in
Software-Defined Networking (SDN) bring significant benefits to both data center enterprises and
researchers exploring new network mechanisms and protocols. These advancements enable
researchers to conduct more realistic experiments, while providing data center enterprises with
tools to enhance their network infrastructures.
The emulation of network devices and their functionalities empowers stakeholders to develop
and adapt their own standards, offering unparalleled flexibility in the design and management of
corporate and global networks. This article has presented a methodological approach for developing
and modifying network functions, accompanied by a robust testing environment for evaluating
newly created dynamic routing protocols.
The study details a comprehensive modeling workflow, facilitating the validation of dynamic
routing protocols implemented in Python across diverse network configurations involving any
number of routers and interconnections. Furthermore, the implementation of a routing model based
on the RIP protocol using Matlab's mathematical capabilities has corroborated the routing outcomes
achieved through the innovative Python-based routing technology developed herein.
References
[1] Network routing: algorithms, protocols, and architectures / Medhi D., Ramasamy K. San
Francisco: Kaufmann Publishers is an imprint of Elsevier, 2007. – 824 p.
[2] Software-defined networking (SDN): a survey. [web source] - Access mode:
https://onlinelibrary.wiley.com/doi/epdf/10.1002/sec.1737
[3] Network Functions Virtualization (NFV). [web source] - Access mode:
https://www.etsi.org/technologies/nfv
[4] Creating a simple router simulation using Python and sockets. [web source] - Mode of access:
[5] https://medium.com/swlh/creating-a-simple-router-simulation-using-python-and-sockets-
d6017b441c09
[6] Exploring the Functions of Routing. [web source] - Access mode:
https://www.learncisco.net/courses/icnd-1/lan-connections/functions-of-routing.html
[7] Use Container lab to emulate open-source routers. [web source] – Access mode:
https://www.brianlinkletter.com/2021/05/use-containerlab-to-emulate-open-source-routers/
[8] Starkova, O., Herasymenko K., Nikolchev K., Bulgakova A. Virtualization And Programmability
In Modern Networks In The Context Of SDN Concept. 2022 IEEE 4rd International Conference
on Advanced Trends in Information Theory, ATIT 2022 – Proceedings, pp. 204 - 207.
[9] Starkova, O., Herasymenko K., Nikolchev K., Kravchenko O., Bulgakova A. Implementation Of
Advanced Routing Methods Based On The SDN Concept And OS Linux. 2022 IEEE 4rd
International Conference on Advanced Trends in Information Theory, ATIT 2022 –
Proceedings, pp. 244 - 248.
[10] М.В. Семеняка, О.В. Лемешко, О.В. Старкова «Методичні вказівки до лабораторних робіт
з дисципліни "Системи комутації та розподілу інформації. Частина 2"», Харків: ХНУРЕ,
2014. 92 с.
[11] M. V. Gundy, D. Balzarotti, G. Vigna, Catch me, if you can: Evading network signatures with
web-based polymorphic worms, in: Proceedings of the first USENIX workshop on Offensive
Technologies, WOOT ’07, USENIX Association, Berkley, CA, 2007.
[12] D. Harel, LOGICS of Programs: AXIOMATICS and DESCRIPTIVE POWER, MIT Research Lab
Technical Report TR-200, Massachusetts Institute of Technology, Cambridge, MA, 1978.
[13] K. L. Clarkson, Algorithms for Closest-Point Problems (Computational Geometry), Ph.D. thesis,
Stanford University, Palo Alto, CA, 1985. UMI Order Number: AAT 8506171.
[14] D. A. Anisi, Optimal Motion Control of a Ground Vehicle, Master’s thesis, Royal Institute of
Technology (KTH), Stockholm, Sweden, 2003.
[15] H. Thornburg, Introduction to bayesian statistics, 2001. URL:
http://ccrma.stanford.edu/jos/bayes/bayes.html.
[16] R. Ablamowicz, B. Fauser, Clifford: a maple 11 package for clifford algebra computations,
version 11, 2007. URL: http://math.tntech.edu/rafal/cli11/index.html.
[17] Poker-Edge.Com, Stats and analysis, 2006. URL: http://www.poker-edge.com/stats.php.
[18] B. Obama, A more perfect union, Video, 2008. URL: http://video.google.com/videoplay?
docid=6528042696351994555.
[19] D. Novak, Solder man, in: ACM SIGGRAPH 2003 Video Review on Animation theater Program:
Part I - Vol. 145 (July 27–27, 2003), ACM Press, New York, NY, 2003, p. 4. URL:
http://video.google.com/videoplay?docid=6528042696351994555. doi:99.9999/woot07-S422.
[20] N. Lee, Interview with bill kinder: January 13, 2005, Comput. Entertain. 3 (2005).
doi:10.1145/1057270.1057278.
[21] J. Scientist, The fountain of youth, 2009. Patent No. 12345, Filed July 1st., 2008, Issued Aug. 9th.,
2009.
[22] B. Rous, The enabling of digital libraries, Digital Libraries 12 (2008). To appear.
[23] M. Saeedi, M. S. Zamani, M. Sedighi, A library-based synthesis methodology for reversible
logic, Microelectron. J. 41 (2010) 185–194.
[24] M. Saeedi, M. S. Zamani, M. Sedighi, Z. Sasanian, Synthesis of reversible circuit using cycle-
based approach, J. Emerg. Technol. Comput. Syst. 6 (2010).
[25] M. Kirschmer, J. Voight, Algorithmic enumeration of ideal classes for quaternion orders, SIAM
J. Comput. 39 (2010) 1714–1747. URL: http://dx.doi.org/10.1137/080734467.
doi:10.1137/080734467.
[26] L. Hörmander, The analysis of linear partial differential operators. IV, volume 275 of
Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical
Sciences], Springer-Verlag, Berlin, Germany, 1985. Fourier integral operators.
[27] L. H ̈ormander, The analysis of linear partial differential operators. III, volume 275 of
Grundlehren der Mathematischen Wissenschaften [Fundamental Principles of Mathematical
Sciences], Springer-Verlag, Berlin, Germany, 1985. Pseudodierential operators.
[28] IEEE, Ieee tcsc executive committee, in: Proceedings of the IEEE International Conference on
Web Services, ICWS ’04, IEEE Computer Society, Washington, DC, USA, 2004, pp. 21–22.
doi:10.1109/ICWS.2004.64.
[29] TUG, Institutional members of the TEX users group, 2017. URL: http://www.tug.org/
instmem.html.
[30] R Core Team, R: A language and environment for statistical computing, 2019. URL:
https://www.R-project.org/.
[31] S. Anzaroot, A. McCallum, UMass citation field extraction dataset, 2013. URL: http:
//www.iesl.cs.umass.edu/data/data-umasscitationfield.