Loading...

Messages

Proposals

Stuck in your homework and missing deadline?

Get Urgent Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework Writing

100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Report on how to Apply A Distributed Software Architecture

Category: Political Science Paper Type: Report Writing Reference: APA Words: 2600

 Instructions of Apply A Distributed Software Architecture 

She has met the basic requirements. But I think that it can still be improved. Please ask her to add some more details explaining the rationale for the selection of protocols. Furthermore, she has not added any of the reference in the last 3 pages that she added in this presentation. Please also ask her to add references for each protocol also and explain in little more detail the rational for the selection of the protocol. Though she has given basic details but ask her to explain them to further.

Apply a Distributed Software Architecture in a Distributed System

Northcentral University

Table of Contents

Introduction. 3

Architecture. 4

1 - Layered Architecture: 4

2 -Event-based architectures: 5

3 - Client-server Architecture. 5

4 - Peer-to-peer architecture: 6

Expansion of Distributed Network. 7

Protocols to Handle Communication between different entities. 9

Hypertext Transfer Protocol 9

UDP-based Data Transfer Protocol 9

Fast Local Internet Protocol 10

References

Introduction of App ly A Distributed Software Architecture 

A distributed system is a kind of system where different components of the systems are located on different nodes or networked computers. These nodes talk to each other and usually coordinate via message passing e.g., using AMQP protocol, etc. These components may be located on different nodes, but they try to achieve a common goal. The example of distributed systems can be service-oriented architecture systems, peer to peer applications like BitTorrent, and online multiplayer games (Bauer et al., 2000). The end-user usually perceives the distributed system as a single entity instead of different components coordinating with each other. The distributed systems usually have some characters. They have to be fault-tolerant, which means the designer of the system has to keep in mind that any fault in a single node should not take down the whole system with it. The structure or topology of the system has to be somewhat flexible and can adapt according to the needs. It is not completely necessary, but not any single node should have the complete picture, otherwise, that would be more like a centralized system. There are many different types of problems that require the use of a distributed system, or the use of distributed systems can reduce the run time of these operations. Most of the time, computers are usually used for computational tasks. These computational problems are also known as problem-solving problems.

There are also parallel algorithms that can be performed on different machines, and then the results of those calculations can be summarized and then presented to the user. The most popular of these types of algorithms and architecture, which are currently being used in big data, is Google’s MapReduce. It is one of the fundamental examples of the use distributed systems and its usage and how the developers can make use of Service-oriented systems which be best designed with distributed systems and how good distributed systems keep in mind the flexibility in their topology and how they should be fault-tolerant (Condie et al., 2010).


Architecture of Apply A Distributed Software Architecture 

There is much different architecture that is used in the implementation of distributed systems. Following are the architectures which are used:

 1 - Layered Architecture:

This architecture distributes a whole task into multiple tasks that are not very much dependent on each other and can be done in parallel. The first layer performs the task assigned to that layer and then the second layer performs the task which is assigned to it usually using the output of layer 1 as input. This process continues until all the subtasks are completed (Goswami, 2019).


2 -Event-based architectures:

In event-based architectures, the communication between different nodes in the system happens using events. All the nodes in the system are notified of anything of importance using events. The nodes which are interested in the event can listen to it and then do whatever they want to do with the data which is passed on with the event if any. These are the most prominent types of event-based distributed systems:
 a. Publisher subscriber Model
 b. Broadcast Model
These event-based systems usually use messaging protocols to generate events like AMQP. The microservices architecture of development usually relies on the publisher-subscriber model to pass messages between different microservices in case something happens in one microservice and it has to reflect somehow in the other microservice. The messaging is done usually with the help of some message queue e.g. Redis, RabbitMQ, etc.
(Kozlovski, 2018) .


3 - Client-server Architecture 

The client-based distributed architecture is one that is most widely used in practice today. This architecture has two main components namely client and server. The server is where all the magic is happening. It processes data, does any computational task. The client asks the server to do all these tasks on its behalf. The client requests the server, and the server handles these requests accordingly. Usually, there are multiple instances of the same server for load balancing purposes, so that a single server is not overwhelmed with too many requests. If that happens, then the server will start to drop requests and clients will not be able to avail of the service. The classic example of client-server architecture is a worldwide web that accounts for 75-80% of all internet traffic. The clients in the case of the worldwide web are the web browser and mobile applications which we use, the servers are in some remote locations. The client-server architectures are usually easier to build. But usually, there is a single point of failure in this type of architecture which the server, due to this reason there should be multiple copies of the same instance of the server along with load balancing purposes (Omicini, 2012).


4 - Peer-to-peer architecture:

In peer-to-peer architecture, the idea is not to have a single centralized server control. In the case of a client-server architecture, although it is a distributed system there still exists a centralized server that limits the scalability of the system as we can not have too many server instances. Secondly, client-server architecture also has a single point of failure and that is the server. The server is also a bottleneck if the server cannot serve requests fast enough the requests will start to drop and the client will see no service (Flavel & Winter et al , 1996).

To combat this, we have a peer-to-peer architecture in which there is no single server, all the nodes in the system cannot also act as a server or the client. In the scenario the node is requesting something it will be known as a client. In case, the node is providing something, it will be called a server. The best example of peer-to-peer architecture is the BitTorrent protocol which is used for file sharing. In BitTorrent, multiple users are connected to each and they are downloading files and uploading them at the same time. The decentralized nature of peer-to-peer architecture makes it highly scalable compared to client-server architecture (Sugathadasa, 2017) .


 

Expansion of Distributed Network

It is expanded the distributed network to perform heavy tasks as well as handle the communication among the different entities of the whole system. For the expansion of the distributed network, the distributed network or system should have the server. In this project, an enterprise resource planning (ERP) server is used that has the ability to make strong connection among different entities as well as to communicate with other entities. The ERP server is very effective to make strong communication connections as well as for the load balancing to save the data into the server database. The files can also be transferred easily by expanding the distributed network. There are some protocols used in this distributed network system which make everything more reliable as well as more secure to handle communication between the computerized devices or the different entities, as well as file sharing and make the system easier for data seeding and migrating. The diagram which is given below is providing very brief information about the distributed network. It is shown that the network is expanded by using the ERP. It is basically an architecture of the ERP system which provides the distributed communication environment. The diagram is showing different entities as well as different branch offices/stores connected with routers but are using distributed network. The main server is implemented in the headoffice and distributed the data with other offices and stores as well as it is also handling the communication among the different network entities. The communication protocol system is designed to rule two and more entities under the multiple protocols. Different aspects of the single communication are used with the group of protocols designed to work together. The system typically uses single protocol that handle a transmission. Different possible types of communication protocols are Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hyper Text Transfer Protocol Secure (HTTPS), Post office Protocol (POP), Simple mail transport Protocol (SMTP), Hyper Text Transfer Protocol (HTTP), Internet Protocol (IP), and File Transfer Protocol (FTP). Considering the facts of present work, selective types of protocols are used for the present design including hypertext transfer protocol (HTTP), UDP-based Data Transfer Protocol, and Fast Local Internet Protocol (Comptia. org, 2020).

 


Protocols to Handle Communication between different entities

Hypertext Transfer Protocol

The hypertext transfer protocol (HTTP) is used in the distributed network which is an application protocol to provide the hypermedia information on the user interface through the world wide web. The hypertext protocol is used in this network because the users can easily communicate with the other offices or stores as well as the head office can easily communicate or handle the activities. The diagram is illustrating the communication between the server and the clients or stores. The hypertext transfer protocol (HTTP) will connect the computer and smartphones with the web servers that transfer the contents of websites and then submit all the data through online forms. It is required to transfer the data from the web server to the new pages but without HTTPs the data passing process is insecure (Dssouli & Bentahar, 2017).  

            Furthermore, the hypertext transfer protocol is selected in this network because it makes the communication between a client computer or client user interface and the HTTP server. It is because when the user or client wants to interact with the system and want to access particular information, an HTTP request is sent to the HTTP server. When the HTTP server finds that request then it responds to the client and according to credentials and instructions, it gives access to the client to see the particular content on the user interface.


 UDP-based Data Transfer Protocol

The UDP-based transfer protocol is a high-performance protocol to transfer the data which is designed to transfer the information or data on larger volumes. It is used in this distributed network because the ERP server is used to handle communication and to perform various tasks. Furthermore, it is also used here because the distributed network is expanded and it is needed to use due to the heavy communication load on the server, network and the database. UDP-based Data Transfer Protocol is mainly used for the high-performance data transfer protocols and it will be designed to transfer the large volumetric datasets with the use of higher speed wide range area of the network. These types of settings are typically disadvantageous with the TCP protocol. It will use the TCP for the file transfer protocols and include FTP/S, HTTP/S and SFTP with the deployed across worldwide (d.umn. edu, 2020).

            The logic behind the selection of the UDP-based Data Transfer Protocol is that it can handle the heavy load on the servers as well as load in the network of the system. It can also distribute, manage, process as well as transfer the data on a larger scale in a single time. furthermore, the communication in the network system through the ERP server will be improved and effective because this protocol is handling and transferring the data on a larger scale in which several HTTPS, FTP/S requests are also included which are functional by using TCP/IP protocols.

Fast Local Internet Protocol

The fast-local internet protocol is also an important protocol that is used in the distributed network. The protocol is providing security transparency, management in the network distribution as well as security to the network. The internet protocol is important and crucial to keep it running over. Without fast local internet protocol, the information corresponding process and internet networking are not possible. It will be used for the formatting rules that speed put the process and data is packaged into messages that are received and sent (Bajgoric, 2014).

            The main reason for using this system is to provide security. furthermore, it is also helpful to manage the distribution of the network. The data which is stored in the ERP servers will be more secure by applying the protocol and the processing speed of the system through this protocol will also be improved.

References of Apply A Distributed Software Architecture 

Bajgoric, N. (2014). Real-Time UML Workshop for Embedded Systems. Springer.

Bauer et al, M. (2000). A Distributed System Architecture for a Distributed Application Environment.  Ibm Systems Journal, 33(3), 399-425.

Comptia. org. (2020). What Is a Network Protocol, and How Does It Work? Retrieved from www.comptia.org: https://www.comptia.org/content/guides/what-is-a-network-protocol

Condie et al, T. (2010). MapReduce Online. Retrieved from https://www.usenix.org/legacy/event/nsdi10/tech/full_papers/condie.pdf

d.umn. edu. (2020). Network Layers. Retrieved from www.d.umn.edu: https://www.d.umn.edu/~gshute/net/layers.xhtml

Dssouli, R., & Bentahar, J. (2017). Testing the Control-Flow, Data-Flow, and Time Aspects of Communication Systems: A Survey. Advances in Computers, 01(01), 01-10.

Flavel, S., & Winter et al , S. (1996). Design of a distributed software architecture for an intelligent planning system. IEE Proceedings. Control Theory and Applications,, 143(2), 125–131.

Goswami, M. (2019). Architectural Patterns for Distributed Systems: Definition & Importance. Retrieved from https://study.com/academy/lesson/architectural-patterns-for-distributed-systems-definition-importance.html

Kozlovski, S. (2018, April 27). A Thorough Introduction to Distributed Systems. Retrieved from https://www.freecodecamp.org/news/a-thorough-introduction-to-distributed-systems-3b91562c9b3c/

Omicini, A. (2012). Software Architectures Distributed Systems. Retrieved from https://core.ac.uk/download/pdf/11216523.pdf

Sugathadasa, K. M. (2017, Septemebr 30). Distributed System Architectures and Architectural Styles. Retrieved from https://keetmalin.wixsite.com/keetmalin/post/2017/09/27/distributed-system-architectures-and-architectural-styles

Walker et al , D. (2001). The software architecture of a distributed problem‐solving environment. Concurrency: Practice and Experience, 12(15).

 

Our Top Online Essay Writers.

Discuss your homework for free! Start chat

Engineering Exam Guru

ONLINE

Engineering Exam Guru

1176 Orders Completed

WRITING LAND

ONLINE

Writing Land

924 Orders Completed

Instant Assignment Writer

ONLINE

Instant Assignment Writer

1722 Orders Completed