<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Routing Technology Based On Virtualization Software-Defined Networking Conceptі</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Yurii</forename><surname>Kravchenko</surname></persName>
							<email>yurii.kravchenko@knu.ua</email>
							<affiliation key="aff0">
								<orgName type="institution">Taras Shevchenko National University of Kyiv</orgName>
								<address>
									<addrLine>60 Volodymyrska Street</addrLine>
									<postCode>01033</postCode>
									<settlement>Kyiv</settlement>
									<country key="UA">Ukraine</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Kostiantyn</forename><surname>Herasymenko</surname></persName>
							<email>c.herasymenko@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="institution">Taras Shevchenko National University of Kyiv</orgName>
								<address>
									<addrLine>60 Volodymyrska Street</addrLine>
									<postCode>01033</postCode>
									<settlement>Kyiv</settlement>
									<country key="UA">Ukraine</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Olena</forename><surname>Starkova</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Taras Shevchenko National University of Kyiv</orgName>
								<address>
									<addrLine>60 Volodymyrska Street</addrLine>
									<postCode>01033</postCode>
									<settlement>Kyiv</settlement>
									<country key="UA">Ukraine</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Anna</forename><surname>Bulgakova</surname></persName>
							<email>annbulgakova10@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="institution">Taras Shevchenko National University of Kyiv</orgName>
								<address>
									<addrLine>60 Volodymyrska Street</addrLine>
									<postCode>01033</postCode>
									<settlement>Kyiv</settlement>
									<country key="UA">Ukraine</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Routing Technology Based On Virtualization Software-Defined Networking Conceptі</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">8DF8193E8A3CB32582CB9F9A37F21BBE</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:45+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Routing method, static routing, dynamic routing, NFV, SDN A. Bulgakova) 0000-0002-0281-4396 (Yu. Kravchenko)</term>
					<term>0000-0002-9545-5272 (K. Herasymenko)</term>
					<term>0000-0001-8985-2442 (O. Starkova)</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>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.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>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 <ref type="bibr" target="#b11">[1]</ref>. 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 <ref type="bibr">[2]</ref>.</p><p>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 <ref type="bibr">[3,</ref><ref type="bibr">4]</ref>.</p><p>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 on enhancing the actual network services that manage data flows, SDN provides a robust control plane that governs the overall behavior of the network <ref type="bibr">[5]</ref>. This symbiotic relationship enhances the efficiency and effectiveness of network operations, allowing for greater adaptability and responsiveness to changing demands.</p><p>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 <ref type="bibr">[2,</ref><ref type="bibr">3]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">First level heading Routing Technology Based on NFV and SDN Concepts</head><p>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 <ref type="bibr">[5]</ref>.</p><p>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.</p><p>To develop the simulation system, the following were utilized:</p><p>• Python programming language;</p><p>• Python modules: ipaddress, threading, socket, json, tabulate.</p><p>The operation of simulating routers involves many objects interacting with each other <ref type="bibr">[2]</ref>. 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. 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. The Router object has several public methods:</p><p>• set_protocol: This method sets the dynamic routing protocol object that will run on the router.</p><p>• has_ip: This method checks whether a given IP address exists on the router.</p><p>• 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 <ref type="bibr" target="#b15">[6]</ref>.</p><p>• 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.</p><p>• 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.</p><p>• 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 <ref type="bibr">[2]</ref><ref type="bibr">[3]</ref><ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref>.</p><p>• start: This method starts the router. After this, the router begins to listen to the broadcast port and operate the dynamic routing protocol.</p><p>The Interface object represents a router interface that can interact with other interfaces for data exchange. The Interface object has the following methods:</p><p>• get_ip Returns the IP address of the interface.</p><p>• get_conn: Returns the connection object of the interface to another interface.</p><p>• connect_to_router: Initiates a series of actions to establish a connection with another interface.</p><p>• wait_connection: Waits for a response from another interface to confirm the connection.</p><p>• accept_connection: Confirms the connection to another interface.</p><p>• listen_conn: Awaits the establishment of a connection with another interface.</p><p>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 <ref type="bibr" target="#b16">[7,</ref><ref type="bibr" target="#b17">8]</ref>. 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) <ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref><ref type="bibr" target="#b16">[7]</ref><ref type="bibr" target="#b17">[8]</ref>.</p><p>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.</p><p>RIP is an object created to demonstrate the organization and operation of dynamic routing protocols in the simulation. It has the following methods:</p><p>• new_message: Processes the received message addressed to the dynamic routing protocol.</p><p>• get_routing_table_to_send: Processes the routing table for further transmission to other routers.</p><p>• 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.</p><p>• 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Testing the Developed Routing Technology</head><p>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.</p><p>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 <ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref><ref type="bibr" target="#b16">[7]</ref><ref type="bibr" target="#b17">[8]</ref>. 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.</p><p>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.</p><p>The simulation employs a software interface to facilitate data exchange between routers, achieved through inter-process communication mechanisms like sockets <ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref><ref type="bibr" target="#b16">[7]</ref><ref type="bibr" target="#b17">[8]</ref>. 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 <ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref><ref type="bibr" target="#b16">[7]</ref><ref type="bibr" target="#b17">[8]</ref>.</p><p>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.</p><p>The process of connecting interfaces through socket connections can be summarized as follows:</p><p>1. Several routers have some interfaces using the same broadcast port. This setup is illustrated in the following example. • A packet for a regular message via a socket connection looks like this:</p><p>{"src_ip": "ip", "dst_ip": "ip", "data": "message"} • A packet for a broadcast message is structured as follows:</p><p>{"src_ip": "ip", "src_port": "port", "data": "message"} In the RIP dynamic routing protocol, data is packaged as follows:</p><p>{"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 <ref type="bibr">[4]</ref><ref type="bibr">[5]</ref><ref type="bibr" target="#b15">[6]</ref><ref type="bibr" target="#b16">[7]</ref><ref type="bibr" target="#b17">[8]</ref>.</p><p>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.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Practical investigation of the developed routing technology</head><p>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.</p><p>For instance, solving a routing problem with the RIP protocol metric can be modeled as a Boolean programming task using Matlab's tools <ref type="bibr" target="#b18">[9]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.">Routing problem formulation</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Given:</head><p>• We need to determine:</p><p>• 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2.">Routing Problem Description as a Boolean Programming Problem Using RIP v.1 Metrics</head><p>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.</p><p>To implement routing, the coordinates of vector x are subject to the following constraints:</p><formula xml:id="formula_0">𝑥 !,! ∈ {0,1} 𝑖, 𝑗 = 1, 𝑚 ; 𝑖 ≠ 𝑗 ,<label>(1</label></formula><p>) This means that the variable 𝑥 !,! can only take two values:</p><p>• 1, if traffic passes through the channel (i,j);</p><p>• 0, otherwise.</p><p>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.</p><p>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.</p><p>When solving the routing problem, it is necessary to ensure the flow conservation conditions for each network node and the network as a whole:</p><formula xml:id="formula_1">𝑥 !,! !:(!,!) − 𝑥 !,! !: !,! = 1 − for the sender node 𝑥 !,! !:(!,!) − 𝑥 !,! !: !,! = 0 − for the transit node 𝑥 !,! !:(!,!) − 𝑥 !,! !: !,! = −1 − for the receiver node<label>(2)</label></formula><p>In addition to the flow conservation condition (2), the condition to avoid link overload must also be satisfied:</p><formula xml:id="formula_2">𝑟 • 𝑥 !,! ≤ 𝑐 !,! 𝑖, 𝑗 = 1, 𝑛, 𝑖 ≠ 𝑗,<label>(3</label></formula><p>) where 𝑐 !,!represents the capacity of the communication channel between nodes I and j.</p><p>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.</p><p>According to the equation ( <ref type="formula" target="#formula_0">1</ref>), 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.</p><p>Matlab's environment supports several syntax variants to call the "bintprog" subroutine:</p><p>1. 𝑥, 𝑓𝑣𝑎𝑙 = 𝑏𝑖𝑡𝑝𝑟𝑜𝑔 𝑓, 𝐴, 𝑏 solves 𝑓𝑣𝑎𝑙 = min ! 𝑓 ! 𝑥 subject to 𝐴 • 𝑥 ≤ 𝑏. 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, 𝑛 :</p><p>𝑎 !" = 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, 𝑚 :</p><formula xml:id="formula_3">𝑏𝑒𝑞 ! = 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<label>(3)</label></formula><p>should also be expressed as a vector matrix with inequality 𝐴 • 𝑥 ≤ 𝑏.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3.">As an example of a metric routing problem for the RIP v.1 protocol, formulated and solved in Matlab:</head><p>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</p><p>Let the network structure and channel capacities be shown in Fig. <ref type="figure" target="#fig_6">5</ref>. 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. Let's formulate vector x and metric vector f :</p><formula xml:id="formula_4">𝑥 = 𝑥 !,! 𝑥 !,! 𝑥 !,! 𝑥 !,! 𝑥 !,! 𝑥 !,! 𝑓 = 𝑓 !,! 𝑓 !,! 𝑓 !,! 𝑓 !,! 𝑓 !,! 𝑓 !,! = 1 1 1 1 1 1 .</formula><p>Formulate the flow conservation conditions for network nodes (2):</p><formula xml:id="formula_5">𝑥 !,! + 𝑥 !,! = 1; −𝑥 !,! + 𝑥 !,! + 𝑥 !,! = 0; −𝑥 !,! − 𝑥 !,! + 𝑥 !,! = 0; −𝑥 !,! + 𝑥 !,! = 0; −𝑥 !,! − 𝑥 !,! = −1.</formula><p>Formulate the matrix Aeq and the vector beq:</p><formula xml:id="formula_6">𝐴𝑒𝑞 = 1 1 0 0 0 0 -1 0 1 1 0 0 0 -1 -1 0 1 0 0 0 0 0 -1 1 0 0 0 -1 0 -1 ; 𝑏𝑒𝑞 = 1 0 0 0 -1 .</formula><p>Formulate overloading of communication channels (3):</p><formula xml:id="formula_7">𝑟 • 𝑥 !,! ≤ 𝑐 !,! ; 𝑟 • 𝑥 !,! ≤ 𝑐 !,! ; 𝑟 • 𝑥 !,! ≤ 𝑐 !,! ; 𝑟 • 𝑥 !,! ≤ 𝑐 !,! ; 𝑟 • 𝑥 !,! ≤ 𝑐 !,! ; 𝑟 • 𝑥 !,! ≤ 𝑐 !,! .</formula><p>Formulate the matrix A and the vector b 𝐴 = 𝑟 0 0 0 0 0 0 𝑟 0 0 0 0 0 0 𝑟 0 0 0 0 0 0 𝑟 0 0 0 0 0 0 𝑟 0 0 0 0 0 0 𝑟</p><formula xml:id="formula_8">; 𝑏 = 1 0 0 0 -1 .</formula><p>In the example provided above, the program code appears as shown in Figure <ref type="figure" target="#fig_7">6</ref>. Calculation results are displayed in the command window (Figure <ref type="figure" target="#fig_7">6</ref>). 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 <ref type="figure" target="#fig_8">7</ref>). Figure <ref type="figure" target="#fig_8">7</ref> illustrates the traffic intensity passing through the communication channel. 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.</p><p>The implementation of the described routing model using the Matlab mathematical package and developed technology has demonstrated analogous routing results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Impact of Machine Learning on SDN/NFV-based Routing</head><p>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.</p><p>2. Data Quality and Availability: The effectiveness of ML models heavily depends on the quality and quantity of available network data.</p><p>3. Model Interpretability: Some ML models, particularly deep learning models, lack interpretability, which can be a concern in critical network operations.</p><p>4. Security Implications: The use of ML in routing decisions introduces new attack vectors that need to be addressed.</p><p>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.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusions</head><p>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.</p><p>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.</p><p>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.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Simulation Class.</figDesc><graphic coords="2,142.64,460.21,323.65,228.33" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: Router Class.</figDesc><graphic coords="3,120.14,72.04,368.74,280.15" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Interface Class.</figDesc><graphic coords="4,117.14,72.04,374.55,170.39" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: State Before Establishing Socket Connections.</figDesc><graphic coords="5,157.64,345.37,293.98,174.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>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)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>2 .</head><label>2</label><figDesc>𝑥, 𝑓𝑣𝑎𝑙 = 𝑏𝑖𝑡𝑝𝑟𝑜𝑔(𝑓, 𝐴, 𝑏, 𝐴𝑒𝑞, 𝑏𝑒𝑞) solves 𝑓𝑣𝑎𝑙 = min ! 𝑓 ! 𝑥 subject to 𝐴𝑒𝑞 • 𝑥 = 𝑏𝑒𝑞. If there are no inequality constraints, A=[] and b=[].</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Example of a modeled network structure.</figDesc><graphic coords="8,174.89,72.04,259.10,162.58" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: Program code in the Matlab file editor window.</figDesc><graphic coords="9,114.89,187.24,277.80,269.10" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Figure 7 :</head><label>7</label><figDesc>Figure 7: Calculation results in the command window.</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m">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 (</title>
				<imprint/>
	</monogr>
	<note>and error, adapting to changing network conditions</note>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">DNNs) and Convolutional Neural Networks (CNNs) are used for traffic prediction and classification, enabling proactive routing decisions</title>
	</analytic>
	<monogr>
		<title level="m">Deep Neural Networks</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Support Vector Machines (SVMs) have been employed for traffic classification and anomaly detection, enhancing the security aspects of routing</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Genetic Algorithms are used for optimizing routing paths in complex network topologies, especially in multi-objective routing scenarios</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Traffic Prediction: ML models analyze historical traffic data to predict future network loads, allowing for preemptive routing adjustments</title>
	</analytic>
	<monogr>
		<title level="m">ML-Enhanced SDN Controllers ML algorithms integrated into SDN controllers can significantly improve routing efficiency: 1</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m" type="main">Adaptive Flow Management: ML algorithms dynamically adjust flow rules based on realtime network conditions, optimizing resource utilization</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Intelligent Load Balancing: ML-driven load balancing algorithms distribute traffic more efficiently across available paths, reducing congestion and improving overall network performance</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">(VNFs) based on predicted traffic patterns and resource availability</title>
	</analytic>
	<monogr>
		<title level="m">NFV Optimization through Machine Learning In the context of NFV, ML contributes to more efficient routing by: 1</title>
				<imprint/>
	</monogr>
	<note>ML algorithms optimize the placement of Virtual Network Functions</note>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">ML models determine the most efficient sequence of VNFs for processing network traffic, minimizing latency and maximizing throughput</title>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">VNFs, ensuring optimal performance while minimizing resource waste</title>
	</analytic>
	<monogr>
		<title level="m">Predictive ML models assist in allocating computational resources to</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
	</analytic>
	<monogr>
		<title level="m">Computational Overhead: The integration of ML algorithms can introduce additional computational load, potentially affecting real-time performance</title>
				<imprint/>
	</monogr>
	<note>Challenges and Future Directions While ML shows great promise in enhancing SDN/NFV-based routing, several challenges remain: 1</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m">Network routing: algorithms, protocols, and architectures</title>
				<editor>
			<persName><forename type="first">D</forename><surname>Medhi</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">K</forename><surname>Ramasamy</surname></persName>
		</editor>
		<meeting><address><addrLine>San Francisco</addrLine></address></meeting>
		<imprint>
			<publisher>Kaufmann Publishers is an imprint of Elsevier</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page">824</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<idno type="DOI">10.1002/sec.1737</idno>
		<ptr target="https://onlinelibrary.wiley.com/doi/epdf/10.1002/sec.1737" />
		<title level="m">Software-defined networking (SDN): a survey</title>
				<imprint/>
	</monogr>
	<note>web source</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="https://www.etsi.org/technologies/nfv" />
		<title level="m">Network Functions Virtualization (NFV)</title>
				<imprint/>
	</monogr>
	<note>web source</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Creating a simple router simulation using Python and sockets</title>
		<ptr target="https://medium.com/swlh/creating-a-simple-router-simulation-using-python-and-sockets-d6017b441c09" />
		<imprint/>
	</monogr>
	<note>web source</note>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<ptr target="https://www.learncisco.net/courses/icnd-1/lan-connections/functions-of-routing.html" />
		<title level="m">Exploring the Functions of Routing</title>
				<imprint/>
	</monogr>
	<note>web source</note>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<ptr target="https://www.brianlinkletter.com/2021/05/use-containerlab-to-emulate-open-source-routers/" />
		<title level="m">Use Container lab to emulate open-source routers</title>
				<imprint/>
	</monogr>
	<note>web source</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Virtualization And Programmability In Modern Networks In The Context Of SDN Concept</title>
		<author>
			<persName><forename type="first">O</forename><surname>Starkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Herasymenko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Nikolchev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bulgakova</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE 4rd International Conference on Advanced Trends in Information Theory, ATIT 2022 -Proceedings</title>
				<imprint>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="204" to="207" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Implementation Of Advanced Routing Methods Based On The SDN Concept And OS Linux</title>
		<author>
			<persName><forename type="first">O</forename><surname>Starkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Herasymenko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Nikolchev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Kravchenko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bulgakova</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE 4rd International Conference on Advanced Trends in Information Theory, ATIT 2022 -Proceedings</title>
				<imprint>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="244" to="248" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Старкова «Методичні вказівки до лабораторних робіт з дисципліни &quot;Системи комутації та розподілу інформації</title>
		<author>
			<persName><forename type="first">М</forename><forename type="middle">В</forename><surname>Семеняка</surname></persName>
		</author>
		<author>
			<persName><forename type="first">О</forename><forename type="middle">В</forename><surname>Лемешко</surname></persName>
		</author>
		<author>
			<persName><forename type="first">О</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Частина</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page">92</biblScope>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Catch me, if you can: Evading network signatures with web-based polymorphic worms</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">V</forename><surname>Gundy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Balzarotti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Vigna</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the first USENIX workshop on Offensive Technologies, WOOT &apos;07</title>
				<meeting>the first USENIX workshop on Offensive Technologies, WOOT &apos;07<address><addrLine>Berkley, CA</addrLine></address></meeting>
		<imprint>
			<publisher>USENIX Association</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">LOGICS of Programs: AXIOMATICS and DESCRIPTIVE POWER</title>
		<author>
			<persName><forename type="first">D</forename><surname>Harel</surname></persName>
		</author>
		<idno>TR-200</idno>
		<imprint>
			<date type="published" when="1978">1978</date>
			<pubPlace>Cambridge, MA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>MIT Research Lab ; Massachusetts Institute of Technology</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">L</forename><surname>Clarkson</surname></persName>
		</author>
		<idno>AAT 8506171</idno>
		<title level="m">Algorithms for Closest-Point Problems</title>
				<meeting><address><addrLine>Palo Alto, CA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1985">1985</date>
		</imprint>
		<respStmt>
			<orgName>Stanford University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Ph.D. thesis</note>
	<note>Computational Geometry. UMI Order Number</note>
</biblStruct>

<biblStruct xml:id="b23">
	<monogr>
		<title level="m" type="main">Optimal Motion Control of a Ground Vehicle</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">A</forename><surname>Anisi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2003">2003</date>
			<pubPlace>Stockholm, Sweden</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Royal Institute of Technology (KTH)</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<author>
			<persName><forename type="first">H</forename><surname>Thornburg</surname></persName>
		</author>
		<ptr target="http://ccrma.stanford.edu/jos/bayes/bayes.html" />
		<title level="m">Introduction to bayesian statistics</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<monogr>
		<title level="m" type="main">Clifford: a maple 11 package for clifford algebra computations</title>
		<author>
			<persName><forename type="first">R</forename><surname>Ablamowicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Fauser</surname></persName>
		</author>
		<ptr target="http://math.tntech.edu/rafal/cli11/index.html" />
		<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">11</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<monogr>
		<ptr target="http://www.poker-edge.com/stats.php" />
		<title level="m">Com, Stats and analysis</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
	<note>Poker-Edge</note>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<title level="m" type="main">A more perfect union, Video</title>
		<author>
			<persName><forename type="first">B</forename><surname>Obama</surname></persName>
		</author>
		<ptr target="http://video.google.com/videoplay?docid=6528042696351994555" />
		<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Solder man</title>
		<author>
			<persName><forename type="first">D</forename><surname>Novak</surname></persName>
		</author>
		<ptr target="http://video.google.com/videoplay?docid=6528042696351994555.doi:99.9999/woot07-S422" />
	</analytic>
	<monogr>
		<title level="m">ACM SIGGRAPH 2003 Video Review on Animation theater Program: Part I</title>
				<meeting><address><addrLine>New York, NY</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">July 27-27, 2003. 2003</date>
			<biblScope unit="volume">145</biblScope>
			<biblScope unit="page">4</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Interview with bill kinder: January 13</title>
		<author>
			<persName><forename type="first">N</forename><surname>Lee</surname></persName>
		</author>
		<idno type="DOI">10.1145/1057270.1057278</idno>
	</analytic>
	<monogr>
		<title level="j">Comput. Entertain</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<date type="published" when="2005">2005. 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<monogr>
		<title level="m" type="main">The fountain of youth</title>
		<author>
			<persName><forename type="first">J</forename><surname>Scientist</surname></persName>
		</author>
		<idno>Patent No. 12345</idno>
		<imprint>
			<date type="published" when="2008">2009. Filed July 1st., 2008. Issued Aug. 9th., 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">The enabling of digital libraries</title>
		<author>
			<persName><forename type="first">B</forename><surname>Rous</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Digital Libraries</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
	<note>To appear</note>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">A library-based synthesis methodology for reversible logic</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saeedi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">S</forename><surname>Zamani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sedighi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Microelectron. J</title>
		<imprint>
			<biblScope unit="volume">41</biblScope>
			<biblScope unit="page" from="185" to="194" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">Synthesis of reversible circuit using cyclebased approach</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saeedi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">S</forename><surname>Zamani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sedighi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Sasanian</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">J. Emerg. Technol. Comput. Syst</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Algorithmic enumeration of ideal classes for quaternion orders</title>
		<author>
			<persName><forename type="first">M</forename><surname>Kirschmer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Voight</surname></persName>
		</author>
		<idno type="DOI">10.1137/080734467</idno>
		<ptr target="http://dx.doi.org/10.1137/080734467.doi:10.1137/080734467" />
	</analytic>
	<monogr>
		<title level="j">SIAM J. Comput</title>
		<imprint>
			<biblScope unit="volume">39</biblScope>
			<biblScope unit="page" from="1714" to="1747" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">The analysis of linear partial differential operators</title>
		<author>
			<persName><forename type="first">L</forename><surname>Hörmander</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Fourier integral operators</title>
		<title level="s">Fundamental Principles of Mathematical Sciences</title>
		<meeting><address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1985">1985</date>
			<biblScope unit="volume">IV</biblScope>
		</imprint>
	</monogr>
	<note>Grundlehren der Mathematischen Wissenschaften</note>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">The analysis of linear partial differential operators</title>
		<author>
			<persName><forename type="first">L</forename><surname>Örmander</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Fundamental Principles of Mathematical Sciences</title>
				<meeting><address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1985">1985</date>
			<biblScope unit="volume">275</biblScope>
		</imprint>
	</monogr>
	<note>Grundlehren der Mathematischen Wissenschaften. Pseudodierential operators</note>
</biblStruct>

<biblStruct xml:id="b37">
	<monogr>
		<idno type="DOI">10.1109/ICWS.2004.64</idno>
		<title level="m">Proceedings of the IEEE International Conference on Web Services, ICWS &apos;04</title>
				<meeting>the IEEE International Conference on Web Services, ICWS &apos;04<address><addrLine>Washington, DC, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="21" to="22" />
		</imprint>
	</monogr>
	<note>Ieee tcsc executive committee</note>
</biblStruct>

<biblStruct xml:id="b38">
	<monogr>
		<author>
			<persName><surname>Tug</surname></persName>
		</author>
		<ptr target="http://www.tug.org/instmem.html" />
		<title level="m">Institutional members of the TEX users group</title>
				<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<monogr>
		<author>
			<persName><forename type="first">Team</forename><surname>Core</surname></persName>
		</author>
		<ptr target="https://www.R-project.org/" />
		<title level="m">R: A language and environment for statistical computing</title>
				<imprint>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<monogr>
		<title level="m" type="main">UMass citation field extraction dataset</title>
		<author>
			<persName><forename type="first">S</forename><surname>Anzaroot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Mccallum</surname></persName>
		</author>
		<ptr target="http://www.iesl.cs.umass.edu/data/data-umasscitationfield" />
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
