StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Distributed Systems Programming - Essay Example

Cite this document
Summary
The paper "Distributed Systems Programming" describes that at any instant the server must be able to communicate simultaneously with many clients and to wait for the incoming requests on its specific server port at the same time. The main two classes of servers are iterative and concurrent…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER94.8% of users find it useful
Distributed Systems Programming
Read Text Preview

Extract of sample "Distributed Systems Programming"

This essay presents the fundamental theories of concurrent computing and then helps in introducing the program languages that helps develop distributed computing system at high level of abstraction. Understanding the concurrent programming is the key to developing distributed computing systems. Developing these major theories of concurrent computation includes the calculus, the actor model, and the join calculus. Distributed computing is a field of computer science that studies distributed system which happens to be a software system in which component located on networked computers communicate and coordinates their actions by passing information. These components interact with each other in order to achieve a common goal. Distributed programming is the process of writing a computer program that runs in a distributed system. The means of passing information in computer system has various alternatives such as RPC-like connectors, messages queues, and the JGRASP system. Distributed computing also refers to the use of distributed systems to solve computational problems. Distributed system has goals and challenges and the most important of these challenges and goal is the location transparency. Solving problems in distributed computing system involves the division of the problem into different task, each of which is solved by one or more computers, which communicate to each other by message passing. The most three significant characteristics of distributed systems are; concurrency of components, lack of global clock, and independent failure of components. Distributed systems sometimes share common goal, such as solving a large computational problems, alternatively, with each computer having its own user with different individual needs, and the purpose of each distributed system is to coordinate the use of shared resources or providing communication services to the users. UDP Client User datagram protocol (UDP) provides a minimal, unreliable, best effort, message-passing transport to applications and upper layer protocols. UDP and UDP-Lite variants are unique compared to other communication protocols, in that they do not establish end-to-end connections between communicating and systems. The system does not incur connection establishment and teardown overheads and there is minimal associated end system state, and due to these features, UDP can offer a very efficient communication transport to some application, but has no inherent congestion control or reliability. Developing a simple UDP server is not that easy but it can take a little more of commitment to adopt. The fact that UDP does not provide inherent on many platforms, they have applications that sends UDP datagram at the line rate of the link interface, which is often much greater than the available path capacity, and by doing that a congestion along the path of communication is being created which calls for a need for new design of application responsible. The process involves; The first involves opening windows connection, then opening datagram for UDP connections, which is done with the socket function. It is then necessary to fill in some information about the server in a struct in which all its memory has been emptied. Then the family of the server is set, which is done by the function of AF_INET. The port number of the server is being denoted using the function htons. The most preferred method of the operation is when the server either tries to get its own IP address or specified manually depending on the parameters entered. To automatically get the address of the server computer, the get-host-name function is called, and then the function get-host-by-name returns the pointer to a struct of type hostent, making a final component of each name form copied to the server struct. The UDP system does not provide any communications security; in that the application that needs to protect their communication against tampering, eavesdropping, or message forgery therefore need to separately provide security services using additional protocol mechanism. The current application designers are generally aware that UDP does not provide any information reliability by not retransmitting any lost packets, and that is why it is mostly considered as a transport. In general applications that do not require reliable messages delivery needs to implement appropriate protocol mechanism in their application. SC Echo Server The most used communication paradigms in networked system is the client echo-server model. From a server perspective, at any point, it is not possible to communicate to multiple clients at the same time therefore, clients normally communicate with one server at a time. Before connection is established clients need to acknowledge the existence and address of servers while servers do not need to know the existence and address of the client. The communication between clients and servers are done by means of multiple layers of network protocols. LAN (Local Area Network) is the scenario of the client and the server on the same local network. The TCP/IP echo server can be created as follows: Creating a socket with a call to socket (), creating and analyzing a socket address structure with the IP address set to INNADDR ANY(the server will operate in any IP address) and the port of an individual choice. Call bind () to bind the socket address to the socket, call listen () indicating a passive socket, that you want to accept incoming request rather than the outgoing ones. Enter a loop in which: call accept – waiting for an incoming connection, service a request of a new connection, close () your connection, and continue with the loop to wait for a new one. At its present form it is important to note that the server enters an infinite loop and has no mechanism for closing itself, therefore you have to use a command such as kill to terminate it. When TCP client send data to the server, it requires acknowledgment in the in return, and if it fails, TCP automatically retransmit the data that normally takes longer period of time compared to the initial transmission. The two mechanism of storing bytes in memory are: the lower order byte at the starting address or the higher –order byte at the starting address. The two types of bytes are called the collectively host byte order. The use of the server once launched is wide. I can be used by a dedicated echo client or simply by telnet ting to it. And when a telnet is executed and receiving initializing output began, you enter the word “Echo this line for me please”. You can as well specify the port number to listen to a command line argument, in which the program may default to ECHO_PORT. Look at the appendix for a diagram of a simple echo server table. MT Echo Server Primary communication is done through sockets, browsing security limits the access that a program can have when run as an applet. Therefore, a network connection is initiated by a client program when it creates a socket for the better communication with the server. Creating a socket in java, the client has to call the socket constructor and passes the server address and the specific server port number to it. The TCP server uses specific port dedicated only to listening for connection requests from clients, and it can also not use this specific port for data communication with the clients because the server must b able to accept the client connection at any instant. The specific port used should be dedicated only to the listening connection for new request. Server socket is a socket associated with specific port, and when a connection request arrives on this socket from the client side, the client and the server establish a connection. The connection is established as follows: The servers receives a connection request on its specific server port, it then create a new socket for it and then binds it to a port number. It then sends the new port number to the client to inform it that the connection is established. The server then works on listening on two ports: waits for new incoming connection on its specific port, and reads and writes messages on established connection with accepted client. The communication between the server and the client is done by reading of the writings on the port by the server. And in any case the other connection request arrives, the server would accept them in the same way and it creates a similar communication on a new port for each new connection. Therefore, at any instant the server must be able to communicate simultaneously with many clients and to wait for the incoming requests on its specific server port at the same time. The main two classes of servers are the iterative and concurrent. An iterative server iterates through each client by handling it one at a time, while a concurrent server handles multiple clients at the same time. And the simplest technique for concurrent is to call the fork function, creating one child process for each client, while the alternative is to use the thread instead. References Jacobs, B. (2002). Formal methods for open object-based distributed systems V: IFIP TC6/WG6.1 Fifth International Conference on Formal Methods for Open Object-Based Distributed Systems (FMOODS 2002), March 20-22, 2002, Enschede, The Netherlands. Boston: Kluwer Academic Publishers. Appendix Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(Distributed Systems Programming Essay Example | Topics and Well Written Essays - 1250 words, n.d.)
Distributed Systems Programming Essay Example | Topics and Well Written Essays - 1250 words. https://studentshare.org/information-technology/1811574-distributed-systems-programming
(Distributed Systems Programming Essay Example | Topics and Well Written Essays - 1250 Words)
Distributed Systems Programming Essay Example | Topics and Well Written Essays - 1250 Words. https://studentshare.org/information-technology/1811574-distributed-systems-programming.
“Distributed Systems Programming Essay Example | Topics and Well Written Essays - 1250 Words”. https://studentshare.org/information-technology/1811574-distributed-systems-programming.
  • Cited: 0 times

CHECK THESE SAMPLES OF Distributed Systems Programming

Distributed Systems Assessment

Hence, the MPI programming model is also referred to as Multiple Program Multiple Data (MPMD) programming model to distinguish it from the Single Program Multiple Data (SPMD) model in which every processor executes the same program, but on different data. Because the number of processes in an MPI computation is normally fixed, processes can use point-to-point communication operations to send a message from one named process to another.... The most important feature of MPI model from a software engineering viewpoint is its support for modular programming....
5 Pages (1250 words) Essay

Mutual Exclusion in Multiprocessor Systems

The paper "Mutual Exclusion in Multiprocessor systems" aims at studying the possible mutual exclusion algorithms that are employed in a uni-processor system and in a multi-processor system.... In the course of the normal execution of any two programs on the same processor (uniprocessor systems), there is always a possibility that the programs might request for the same resource....
5 Pages (1250 words) Research Proposal

File Systems Used by Windows

File systems utilize the services of a storage device for storing data (e.... This report describes a file system can well be defined as the mechanism or procedure of storage and organization of files and data on a computer such that searching and accessing becomes easier.... .... HDD, CD, DVD, etc....
3 Pages (750 words) Essay

J2EE Distributed Architecture

A J2EE component may be defined as a self-contained functional software unit that is assembled into a J2EE application along with its related classes and files and which is able to communicate with other components using programming logic (java.... The modern J2EE platform consists of a set of services, application programming interfaces and protocols that provide the functionality for developing multi-tiered, web-based applications in a distributed computing environment....
1 Pages (250 words) Essay

Client/Server Computing

Moreover, this service is developed by the Java Community Process called as JSR 914 (Java… MOM injects the construction of distributed systems by transferring messages via applications within the network.... MOM injects the construction of distributed systems by transferring messages via applications within the network.... Java message service is an application programming interface that is also known as Java message oriented middleware (MOM) that is deployed to exchange messages between two or more clients....
2 Pages (500 words) Assignment

Information Technology Architectures

COBRA offers a lot of functionality such as, programming language independency and the operating system.... On the other hand, CORBA possesses the binding power to arrange of standardized programming languages as a communication format (Papadopoulos, 2009).... CORBA offers a modularization facility to write objects in different programming languages that provide a service to users that do not require details of implementation of the object(s)....
2 Pages (500 words) Essay

Entertainment

They also generate finances from motion pictures, advertisements, home videos, theme parks and attractions, televion networks and programming.... Theoretical slate includes film developed internationally along with co-productions, acquisition and film development by outside partners and distributed by the studio....
2 Pages (500 words) Essay

A Methodology for the Development of a Visual Programming Language

This term paper "A Methodology for the Development of a Visual programming Language" presents LabView as the short form for Laboratory Virtual Instrumentation Engineering Workbench, a methodology for the development of a Visual programming language and was developed by the National Instruments.... The run-time engine serves as the link to all the other systems.... abView Professional Development System has let the development of independent executables and the resulting code be distributed any number of times....
5 Pages (1250 words) Term Paper
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us