Distributed Systems Archive

Using Sockets to create a group chat system with a graphical interface

In order to create the group chat system using low-level sockets, we will be having three simple steps 1) Creating the user interface 1 We will need to create a folder called “Client” for putting the java files for the client side. 2 Let’s first create a simple graphical interface for the ...Read More

Introduction to Remote Procedure Call (RPC)

Given the following code : Public class Addition{ public Addition(){ //Constructor } public int Add(int a, int b){ int result =a+b; return result; } public static void main(String args){ Addition local = new Addition(); int result=local.add(9,10); System.out.println(“The result is :”+result); } } The method add() is an instance method which is ...Read More

Service Models for Distributed Systems

Computers can perform various functions and each unit in a distributed system may be responsible for only a set number of functions in an organization. We consider the concept of service models as a taxonomy of system configurations Centralized model As shown in the figure above in which there is no networking. ...Read More

Threaded Server using TCP Socket In Java Programming

In the previous tutorial [Hello World for Socket Programming using Java : Server & Client Interaction], we have shown how to create a simple  server using TCP sockets. Because of the limitation of accepting only a single client at a time, we will show in this tutorial how to create a multi-threaded ...Read More

Distributed Systems: Concepts and Design (5th Ed) by George Coulouris et al.

The book aims to provide an understanding of the principles on which the Internet and other distributed systems are based; their architecture, algorithms and design; and how they meet the demands of contemporary distributed applications. We begin with a set of seven chapters that together cover the building blocks for a study ...Read More

Communication Paradigms for a Distributed System

It is useful to identify the basic patterns or models of distributed applications, and classify the detail according to these models.  Characteristics that distinguish distributed applications from conventional applications running on a single machine are: Interprocess communication: A distributed application require the participation of two or more independent entities (processes).  To do ...Read More

Simple Quiz for a Distributed System

We have already convered a few basics for a distributed system in the following sections: Introduction to Distributed Systems Challenges for a Distributed System Communication Paradigms for a Distributed System Here is a simple quiz to test your skills and knowledge.   ...Read More

Hello World for Socket Programming using Java : Server & Client Interaction

In this tutorial, we will learn how to create a simple Server and clients that connects to each other with Sockets over TCP using java programming language.  To use Java Programming language, you need to install the Java Development Kit ( JDK ) as well as a programming editor ( IDE ) ...Read More

Challenges for a Distributed System

Designing a distributed system does not come as easy and straight forward. A number of  challenges need to be overcome in order to get the ideal system. The major challenges in distributed systems are listed below: 1. Heterogeneity: The Internet enables users to access services and run applications over a heterogeneous collection ...Read More

Introduction to Distributed Systems

Tanenbaum defines a distributed system as a “collection of independent computers that appear to the users of the system as a single computer” There are two essential points in this definition: independent  This means that, architecturally, the machines are capable of operating independently. single computer : The second point is that the ...Read More