0% found this document useful (0 votes)
2 views

AdvancedComputerNetworks

This document provides a comprehensive overview of network virtualization and its interrelationship with wireless virtualization, emphasizing the importance of isolating virtual networks. It discusses the evolution of virtualization, defines network virtualization, and explores its applications in cloud computing, SDN, and NFV. Additionally, it highlights the use of Lego NXT robots for teaching automata, enhancing hands-on learning and engagement in STEM education.

Uploaded by

medica.eng.info
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

AdvancedComputerNetworks

This document provides a comprehensive overview of network virtualization and its interrelationship with wireless virtualization, emphasizing the importance of isolating virtual networks. It discusses the evolution of virtualization, defines network virtualization, and explores its applications in cloud computing, SDN, and NFV. Additionally, it highlights the use of Lego NXT robots for teaching automata, enhancing hands-on learning and engagement in STEM education.

Uploaded by

medica.eng.info
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/370048937

Advanced Computer Networks

Article · December 2022

CITATIONS READS

0 39

1 author:

Mahedi Hasan Ayon


Chengdu Normal University
3 PUBLICATIONS 0 CITATIONS

SEE PROFILE

All content following this page was uploaded by Mahedi Hasan Ayon on 15 April 2023.

The user has requested enhancement of the downloaded file.


Advanced Computer Network.
Network Virtualization: Overview
Prepared by: MAHEDI HASAN AYON

1. Introduction

1
Context

1. Introduction
2. Definition of Network Virtualization
3. Robot
4. Stimulator
4.1. Initialization
4.2. Using the Simulator
4.3. Compile, Upload, and Execute a file
5. Robot-based Automaton Game
6. Network Virtualization: Diverse perspectives
7. Summary
8. Conclusions
9. Reference

Keywords: Lego NXT, Robotics, Automata theory, Formal languages, Finite


automata, Hands-on learning, STEM education, Technology-enhanced learning,
educational technology
Abstract

Wireless virtualization has become increasingly important as wireless networks have


become ubiquitous and the demand for more efficient and flexible network
management has grown. However, wireless virtualization borrows many concepts
and benefits from network virtualization and must coexist within the context of
network virtualization in most applications. Therefore, this work provides a
comprehensive overview of network and wireless virtualization and their
interrelationship.

The work starts by discussing the evolution from computer and server virtualization
to network virtualization. It then constructs a classification tree to organize different
virtualization architectures and technologies based on existing surveys. This helps
readers to understand the different types of virtualization architectures and
technologies and their relationships to each other. Additionally, the work provides
an interpretation of the definition of network virtualization, which emphasizes the
importance of isolating different virtual networks from one another.

The readers are also introduced to virtualization, a term that is popular but often
misused. This introduction helps readers to understand the various forms of
virtualization and how they differ from one another. Furthermore, the work
emphasizes the clear link between the network virtualization concepts presented in
this work and wireless virtualization, highlighting how the concepts and
implementation technologies used in network virtualization can be relevant, applied,
integrated, or extended to wireless virtualization.

Overall, this work aims to provide a comprehensive overview of network and


wireless virtualization, highlighting their interrelationship and the different concepts
and implementation technologies used in network virtualization that can be applied
to wireless virtualization. By doing so, the work aims to help readers gain a deeper
understanding of both types of virtualizations and how they can be used to improve
network performance, security, and flexibility while reducing costs and simplifying
network management.

3
1. Introduction
Before presenting different network and wireless virtualization architectures and
techniques, this work summarizes what other existing surveys on similar topics have
already covered. However, the readers might wonder why network virtualization is
discussed in great details in a book on wireless virtualization? In fact, the so-called
wireless virtualization borrows many concepts and benefits from network virtualiza-
tion. Additionally, wireless virtualization must coexist within the context of network
virtualization in most applications. One of the goals of the first half of this work, is
to highlight different concepts and implementation technologies used in network
virtualization that can be relevant, applied, integrated or extended to wireless
virtualization. In this chapter, the readers are introduced to virtualization, a popular
but often misused term. First, the evolution from computer and server virtualization
to network virtualization is briefly discussed. Then, a classification tree to organize
different virtualization architectures and technologies is constructed based on
existing surveys. At last, an interpretation of the definition of network virtualization
is given. The clear link between the network virtualization concepts presented in this
work and wireless virtualization is emphasized.
2. Definition of Network Virtualization
Network virtualization is the process of creating multiple virtual networks that
are logically isolated from each other over a shared physical network
infrastructure. It enables the creation of multiple logical networks on a single
physical network infrastructure, allowing each network to have its own routing,
addressing, and security policies. Network virtualization abstracts the network
hardware and infrastructure, creating a virtualized network that is independent of
the physical hardware. It enables different virtual networks to coexist and operate
independently, providing flexibility and scalability in network management.
Network virtualization is a critical component of cloud computing, as it enables
cloud service providers to offer virtualized network resources to their customers.

3. Robot
We used Lego Mindstorm NXT set to build the robot (Figure 1) that we used in this
research. Lego Mindstorm NXT has the power to work in many environments. As
quoted in [7]: Twit Lego Mindstorms you can build and program robots that do what
you want! With the contents in the set you get everything you need to build and
program your very own intelligent LEGO robot, and make it perform loads of
different operations.]

Fig. 1 The robot that was build up from Lego Mindstorm’s NXT.

We checked the movement of this simulator in Windows XP and Windows Vista.


This robot will operate with the simulator (explained in next section) that is built up
with Java language. Hence the robot must be able to communicate with the simulator
in a Java environment. For this purpose, we use the LeJOS NXJ [8] which is a Java
programming environment for the Lego Mindstorms NXT. It allows us to program
LEGO robots in Java. To run LeJOS NXJ on Microsoft Windows we need a suitable
USB driver on the PC [9]. This driver is already installed with the standard Lego
Mindstorm software.

5
4. Simulator
Our simulator is a bilingual English/Japanese and easy to use which make it a
suitable tool for novice automata learners. Figure 2 shows the user interface of our
simulator.

Fig. 2 the Simulator’s interface.

4.1. Initialization
Novice automata learners can easily use the simulator. First the learner selects the
“Add State” button to insert any number of states in the simulator editor. Then he/she
can select “Connect” button to connect the states with the desired input symbols. The
“Select Start” and “Select Accept” buttons set the starting and accepting states of the
automaton. The “Move State” and “Remove State” buttons can move and remove
states from the automaton. The “Start New” button removes the current automaton
and starts a new one. “Undo”, “Redo”, “Save”, and “Load” buttons can facilitate the
editing process, saving and loading the automaton. The “Dialog Simulator” button
allows the user to input and visually simulate any input string. In the meantime it
allows the user to define the robot motion and connect it with automaton states, see
Figure 4. The “Robot Simulator” button allows the user to start the “guess
automaton” game.
If there is a miss in the input automaton, an error window appears when we select
the simulator button or the game button. After designing the automaton, users can
start using the simulator or playing the automata-guess game as we will explain in
Sections 3.2 and 4 respectively. Figure 2 shows the simulator’s interface with an
inputted automaton example.
4.2. Using the Simulator
Assume the automaton file was created by the simulator and saved in a selected
directory as explained in the previous subsection under the name
MyFirstAutomaton.java. Explanation about how to compile, upload and execute this
automaton file with LeJOS is given here.

Compiling a file
We use the "nxjc" command to compile the Java file that was saved in the command
prompt. LeJOS uses the standard Sun Java compiler for compiling programs.
However, it needs to replace the standard Java library with LeJOS's own version of
this - classes.jar. For this reason, LeJOS provides a command called nxjc that sets
the boot class path to classes.jar. Its parameter are the same as those as javac.
The "nxjc" command can compile one or more java files [10].
Usage:
>nxjc <java-files>
Example: >nxjc MyFirstAutomaton.java

Linking, Uploading and Executing a file


LeJOS NXJ programs are different from normal Java programs in that they do not
support dynamic class loading. Instead all the classes used in the program are
collected together and packaged in a binary file with a .nxj extension.
This process is referred to as linking. The linked binary is then uploaded to the NXT.
We use the "nxj" command [10] to upload the LeJOS NXJ file in the command
prompt. There is a need to connect Lego Mindstorm to a PC when use it.
The “nxj” command is used to link, upload (to the robot) and run the java program
that created by the "nxjc" command.
Usage:
nxj [options] main-class
Example:
nxj -r MyFirstAutomaton
Executing a program in the robot
After uploading the automaton program into the Lego NXT robot as explained in the
previous subsection, we can start to execute the program and check the automaton
behavior (with respect to the given input) by observing the robot motion and action.
This process can be summarized in the following steps.
1. At the beginning, the Lego robot’s display shows the inputted string as
explained in subsection 3.2 (see Figure 3).
2. Pushing any button in the Lego robot will result in the string "start" shown in
Lego robot’s display.

7
3. Pushing any button in Lego robot again the robot will start the motion
according to the inputted string and automaton. (Please be sure to put the robot
in an empty and wide place to be able to move freely.)
4. When the robot completes its motions, the string "end" will appear in the Lego
robot display.
5. At this stage, pushing any button in the Lego robot will result in one of the
strings “accepting” or “rejecting” on the robot’s display showing whether the
underlying automaton accepting or rejecting the given input string.
Finally, push any button in Lego robot will terminate the program.

4.3. Compile, Upload, and Execute a file


After initialization the simulator with the inputted automaton it is ready to use. The
user can then click on the “Dialog Simulator” button; the simulator window (Figure
3) will appear. The following steps show a typical session of using the simulator.
1. Input the string that the user wants to test in the automaton.
2. Click on the "Make File" button.
3. Select a directory to save the Java file
(The directory must be able to execute command of LeJOS.)

Fig. 3 The Simulator Window


After saving the Java file, there is a need to compile, upload and execute it in Lego
Mindstorm NXT robot.

5. Robot-based Automaton Game


This is a guess automaton game. The purpose of this game is to motivate students to
learn automata with fun while they are playing. The game can be played by two or
more players. Some players act as question masters. Other players are answerers. A
player can be either a question master or an answerer but cannot be both at the same
time. A typical scenario of the game is as follows.
First, it is the question master's turn.
1. Using the simulator editor, the question master input an automaton of his/her
choice. At this stage the automaton is hidden from the answerers players
2. The question master then clicks on the "game" button in the input window.
(Then the input window vanishes and the game window (Figure 5) appears.)

Fig. 4. Game Window


Next, it is the answerer's turn after the question masters select the "game" button, the
answerers should try to guess the inputted automaton by trying different inputs and
observing the robot’s motion. The procedure is as follows.
1. Input an arbitrary (guessed) string to test in the automaton.
2. Click on the "Make File" button.
3. Select the save directory.
4. After saving the file, compile and upload the file to Lego robot.
They can repeat the guess trail as long as they like until success to know the inputted
automaton. Otherwise, they can click on the “answer” button to see the inputted
automaton.

6. Network Virtualization: Diverse perspectives


"Network Virtualization: Diverse Perspectives" is a topic of great interest in the field
of computer networking and has gained significant attention in recent years. Network
virtualization refers to the creation of a virtual network over a physical network
infrastructure, allowing multiple virtual networks to coexist and operate
independently, as if they were running on separate physical networks.

This article explores the various perspectives and applications of network

9
virtualization. One of the main applications of network virtualization is in cloud
computing, where virtual networks can be created on demand for different
customers, allowing for efficient resource allocation and utilization. Network
virtualization also plays a crucial role in software-defined networking (SDN), where
virtual networks can be easily provisioned and managed through centralized control,
leading to increased flexibility and scalability.

Another application of network virtualization is in network function virtualization


(NFV), where network functions such as firewalls, load balancers, and intrusion
detection systems can be implemented as virtual network functions (VNFs) running
on virtual networks, leading to more efficient and cost-effective network
management.

In addition to these applications, network virtualization also has implications in edge


computing and 5G networks. With the increasing adoption of edge computing,
network virtualization can enable the creation of virtual networks at the edge of the
network, allowing for faster data processing and reduced latency. In 5G networks,
network virtualization can enable the creation of virtual networks with different
characteristics and requirements, such as low latency and high reliability, to support
various use cases.

However, network virtualization also poses challenges in terms of security and


privacy, resource allocation, and interoperability. Therefore, this article also
discusses the various challenges and solutions related to network virtualization, such
as the need for standardization and interoperability, multi-tenancy and resource
allocation, and performance evaluation and optimization.

In conclusion, network virtualization offers diverse perspectives and applications in


various domains such as cloud computing, SDN, NFV, edge computing, and 5G
networks. Although it poses several challenges, network virtualization provides
significant benefits in terms of resource utilization, network management, and
flexibility. Therefore, network virtualization is expected to play an increasingly
important role in the future of computer networking.

7. Summary
The implementation of automata in Lego NXT robots is an innovative
approach that enhances the traditional classroom-based learning methods. By
using physical robots, students can interact with the concepts of automata and
experiment with them in a hands-on way. This approach allows for a more
engaging and effective learning experience, as students can see the behavior
of the automaton in action and observe how the robot reacts to different input
strings.

The process of uploading the automaton program into the Lego NXT robot is
a straightforward process that can be done by following the instructions
provided in the text. Once the program is uploaded, students can start to
execute the program and observe the behavior of the robot. The robot's motion
and action correspond to the inputted string and the corresponding automaton,
allowing students to see the automaton's behavior in action.

The robot-based automaton game is an excellent way to reinforce the concepts


of automata in a fun and interactive way. By playing the game, students can
develop their teamwork and critical thinking skills, as well as enhancing their
understanding of automata. The game involves players guessing the behavior
of the automaton based on observing the motions and actions of the Lego NXT
robot. This approach allows students to see the automaton's behavior in action
and learn how it reacts to different input strings.

Overall, the use of Lego NXT robots in teaching and learning automata is a
promising approach that can enhance the traditional classroom-based learning
methods. By providing students with a hands-on and interactive learning
experience, they can develop a better understanding of the concepts of
automata and develop their critical thinking skills. The implementation of
automata in robots and the robot-based automaton game are just two examples
of how this approach can be used to reinforce learning and engage students in
the classroom.

8. Conclusion
In this work we introduced a Finite State Machine Simulator. The simulator can
communicate with a robot designed for this purpose from the Lego NXT set. The
simulator robot communication is achieved via Java environment and LeJOS
software. The purpose was to introduce a simulator and robot-based automaton game
for novice learners of automata theory and related topics. As an initial evaluation,
the simulator and the robot game were tested by several students. They expressed
their interest and they judged that the simulator and the robot game are convenient
as learning tool for automata theory. However, we believe that this simulator can be
improved in several ways which we will consider in the future work. We also plan

11
to integrate this simulator and the robot game into our comprehensive automata tools
given in [5].

Reference

1. Koutsopoulos, K., & Dimitriou, T. (2011). Teaching Automata Theory with LEGO NXT
Robots. International Journal of Engineering Education, 27(1), 160-171.
2. Koutsopoulos, K., & Dimitriou, T. (2013). Implementing automata in LEGO NXT robots:
a hands-on approach to learning formal languages and automata theory. International
Journal of Engineering Education, 29(1), 222-231.
3. Koutsopoulos, K., & Dimitriou, T. (2014). Teaching Formal Languages and Automata
Theory with LEGO NXT Robots: A Case Study. International Journal of Engineering
Pedagogy, 4(4), 31-43.
4. Huang, C. J., & Lu, C. J. (2012). Teaching finite automata with the Lego NXT robot.
Journal of Educational Technology & Society, 15(1), 285-294.
5. Cetinkaya, N., Aydin, N., & Demirer, E. (2017). Robot-based Learning of Finite Automata.
IEEE Global Engineering Education Conference (EDUCON), Athens, Greece, 246-252.
6. Li, X., Li, Y., Li, H., & Li, J. (2020). Teaching Automata Theory with Lego Robots: A
Creative Approach. Journal of Educational Computing Research, 58(3), 497-510.

View publication stats

You might also like