DESIGN AND IMPLEMENTATION OF A DISTRIBUTED VIRTUAL MACHINE
Abstract
A Virtual Machine (VM) is a computer resource that uses software instead of a physical computer to run programs and deploy apps. (vmware, 2018). A distributed system, also known as distributed computing, is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user. (Gibb, 2019). A Distributed virtual machine is simply a virtual machine in a distributed environment.
Despite the many advantages of the traditional monolithic virtual machine, they pose some limitations when it comes to manageability and fault tolerance. In this project a 32bit stack base virtual machine was implemented which does the basic functioning of a CPU, that is the fetch, decode and execute cycle of the CPU, in a distributed system.
The architecture used is the client-server architecture. The virtual machine is incorporated into the server-side of the distributed system and its resources are demanded on the client-side of the system. The communication between the client and server is done using TCP sockets. The service this system offers is the identification of various illnesses a Client might be sick of depending on the various symptoms inputted by the client.
CHAPTER ONE
GENERAL INTRODUCTION
1.1 Background and Context of Study
A Virtual Machine (VM) is a computer resource that uses software instead of a physical computer to run programs and deploy apps. (vmware, 2018). The management of resources is handled by the Virtual Machine VM. Typically there are two types of virtual machines. They are:
- Process Virtual Machine: This machine allows you to run a single process as an application on a host machine. An example of a process virtual machine is the Java Virtual Machine (JVM) which allows any system to run Java applications as if they were native to the system. (Gibb, 2019).
- A system virtual machine: is a fully virtualized VM designed to be a substitute for a physical machine. It runs on a different host machine by utilizing a hypervisor such as VMware and ESXi to access the underlying machine‟s resources. (Gibb, 2019)
A distributed system, also known as distributed computing, is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user. (Gibb, 2019). Several architectures exist for such systems. They are:
- Client-Server: Client requests to the server for resources or a task to do, the server allocates the resource or performs the task and sends the result in the form of response to the request of the client. (priyampatel9911, 2022)
- Three-tier: In this, data of the client is stored in the middle tire rather than sorting into the client system or on their server through which development can be done easily. This is mostly used in web or online applications. (priyampatel9911, 2022)
- N-tier: When interoperability sends the request to another application to perform a task or to provide a service. (priyampatel9911, 2022)
- Peer-to-peer: As nodes are an important part of a system. In this, each node performs their own task on their local memory and share data through the supporting medium, this node can work as a server or as a client for a system. (priyampatel9911, 2022)
Some key characteristics of a distributed system are:
- Resource sharing
- Openness
- Concurrency(Lack of Global clock)
- Scalability
- Fault Tolerance
Putting together these two concepts we understand better the concepts of a distributed virtual machine. In simple it is just a virtual machine in client-server communication.
1.2 Problem statement
High computing power is greatly demanded now our days. It is difficult to create virtual machine systems that can deliver this power and still meet up with the basic necessities such as affordability, portability, manageability, scalability, reliability, and size. All these will leave one wondering how he or she can acquire these services on demand. Machines can work in a distributed manner to provide such services and still have all the basic necessities.
1.3 Objectives of Study
1.3.1 General Objectives
A virtual machine is a computer resource that uses software to run programs and deploy apps. A Distributed virtual machine is a virtual machine in a distributed system.
In This distributed system, computers can easily communicate with each other by sending messages and there is better management of resources and security.
In this project, we would create a process virtual machine in a client-server architecture.
We would design and implement a virtual machine that can take symptoms as inputted values and give the probable illnesses as output. This output is sent to the client through the server.
Compared to the monolithic virtual machine a distributed virtual machine has several advantages such as security, maintainability, scalability, and fault tolerance.
We would create a 32bit stack-base process virtual machine which will simulate the actions of a CPU that is the fetch decode execute cycle and will provide as service the probable illness with respect to inputted symptoms. This machine resides in a server that uses sockets to communicate with the client. Once the client sends symptoms the server receives and then sends the probable illness back to the client.
1.3.2 Specific Objectives
The specific objectives of this dissertation are:
- Design and implement a virtual machine which can take symptoms as inputted values and give the probable illnesses as output.
- Design and implementation of a Server for which the VM above will reside to give results to the client.
- Design and implementation of client-side to communicate with the server. This is the area where the user can input his or her symptoms.
Read More: Computer Engineering Project Topics with Materials
Project Details | |
Department | Computer Engineering |
Project ID | CE0019 |
Price | Cameroonian: 5000 Frs |
International: $15 | |
No of pages | 55 |
Methodology | Experimental |
Reference | Yes |
Format | MS word & PDF |
Chapters | 1-5 |
Extra Content | table of content, |
This is a premium project material, to get the complete research project make payment of 5,000FRS (for Cameroonian base clients) and $15 for international base clients. See details on payment page
NB: It’s advisable to contact us before making any form of payment
Our Fair use policy
Using our service is LEGAL and IS NOT prohibited by any university/college policies. For more details click here
We’ve been providing support to students, helping them make the most out of their academics, since 2014. The custom academic work that we provide is a powerful tool that will facilitate and boost your coursework, grades and examination results. Professionalism is at the core of our dealings with clients
For more project materials and info!
Contact us here
OR
Click on the WhatsApp button on the bottom left
Email: info@project-house.net
DESIGN AND IMPLEMENTATION OF A DISTRIBUTED VIRTUAL MACHINE
Project Details | |
Department | Computer Engineering |
Project ID | CE0019 |
Price | Cameroonian: 5000 Frs |
International: $15 | |
No of pages | 55 |
Methodology | Experimental |
Reference | Yes |
Format | MS word & PDF |
Chapters | 1-5 |
Extra Content | table of content, |
Abstract
A Virtual Machine (VM) is a computer resource that uses software instead of a physical computer to run programs and deploy apps. (vmware, 2018). A distributed system, also known as distributed computing, is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user. (Gibb, 2019). A Distributed virtual machine is simply a virtual machine in a distributed environment.
Despite the many advantages of the traditional monolithic virtual machine, they pose some limitations when it comes to manageability and fault tolerance. In this project a 32bit stack base virtual machine was implemented which does the basic functioning of a CPU, that is the fetch, decode and execute cycle of the CPU, in a distributed system.
The architecture used is the client-server architecture. The virtual machine is incorporated into the server-side of the distributed system and its resources are demanded on the client-side of the system. The communication between the client and server is done using TCP sockets. The service this system offers is the identification of various illnesses a Client might be sick of depending on the various symptoms inputted by the client.
CHAPTER ONE
GENERAL INTRODUCTION
1.1 Background and Context of Study
A Virtual Machine (VM) is a computer resource that uses software instead of a physical computer to run programs and deploy apps. (vmware, 2018). The management of resources is handled by the Virtual Machine VM. Typically there are two types of virtual machines. They are:
- Process Virtual Machine: This machine allows you to run a single process as an application on a host machine. An example of a process virtual machine is the Java Virtual Machine (JVM) which allows any system to run Java applications as if they were native to the system. (Gibb, 2019).
- A system virtual machine: is a fully virtualized VM designed to be a substitute for a physical machine. It runs on a different host machine by utilizing a hypervisor such as VMware and ESXi to access the underlying machine‟s resources. (Gibb, 2019)
A distributed system, also known as distributed computing, is a system with multiple components located on different machines that communicate and coordinate actions in order to appear as a single coherent system to the end-user. (Gibb, 2019). Several architectures exist for such systems. They are:
- Client-Server: Client requests to the server for resources or a task to do, the server allocates the resource or performs the task and sends the result in the form of response to the request of the client. (priyampatel9911, 2022)
- Three-tier: In this, data of the client is stored in the middle tire rather than sorting into the client system or on their server through which development can be done easily. This is mostly used in web or online applications. (priyampatel9911, 2022)
- N-tier: When interoperability sends the request to another application to perform a task or to provide a service. (priyampatel9911, 2022)
- Peer-to-peer: As nodes are an important part of a system. In this, each node performs their own task on their local memory and share data through the supporting medium, this node can work as a server or as a client for a system. (priyampatel9911, 2022)
Some key characteristics of a distributed system are:
- Resource sharing
- Openness
- Concurrency(Lack of Global clock)
- Scalability
- Fault Tolerance
Putting together these two concepts we understand better the concepts of a distributed virtual machine. In simple it is just a virtual machine in client-server communication.
1.2 Problem statement
High computing power is greatly demanded now our days. It is difficult to create virtual machine systems that can deliver this power and still meet up with the basic necessities such as affordability, portability, manageability, scalability, reliability, and size. All these will leave one wondering how he or she can acquire these services on demand. Machines can work in a distributed manner to provide such services and still have all the basic necessities.
1.3 Objectives of Study
1.3.1 General Objectives
A virtual machine is a computer resource that uses software to run programs and deploy apps. A Distributed virtual machine is a virtual machine in a distributed system.
In This distributed system, computers can easily communicate with each other by sending messages and there is better management of resources and security.
In this project, we would create a process virtual machine in a client-server architecture.
We would design and implement a virtual machine that can take symptoms as inputted values and give the probable illnesses as output. This output is sent to the client through the server.
Compared to the monolithic virtual machine a distributed virtual machine has several advantages such as security, maintainability, scalability, and fault tolerance.
We would create a 32bit stack-base process virtual machine which will simulate the actions of a CPU that is the fetch decode execute cycle and will provide as service the probable illness with respect to inputted symptoms. This machine resides in a server that uses sockets to communicate with the client. Once the client sends symptoms the server receives and then sends the probable illness back to the client.
1.3.2 Specific Objectives
The specific objectives of this dissertation are:
- Design and implement a virtual machine which can take symptoms as inputted values and give the probable illnesses as output.
- Design and implementation of a Server for which the VM above will reside to give results to the client.
- Design and implementation of client-side to communicate with the server. This is the area where the user can input his or her symptoms.
Read More: Computer Engineering Project Topics with Materials
This is a premium project material, to get the complete research project make payment of 5,000FRS (for Cameroonian base clients) and $15 for international base clients. See details on payment page
NB: It’s advisable to contact us before making any form of payment
Our Fair use policy
Using our service is LEGAL and IS NOT prohibited by any university/college policies. For more details click here
We’ve been providing support to students, helping them make the most out of their academics, since 2014. The custom academic work that we provide is a powerful tool that will facilitate and boost your coursework, grades and examination results. Professionalism is at the core of our dealings with clients
For more project materials and info!
Contact us here
OR
Click on the WhatsApp button on the bottom left
Email: info@project-house.net