Distributed system architectures:
There are a number of different system architectures, or ways of structuring the network of computers in a distributed system. For example, each computer in the system may be defined as either a client or a server. A server is normally a powerful computer that manages data, printers or network traffic. A client is normally a PC or workstation on which users run application programs or user interface code. Clients request services from servers, as shown in Figure, where a web client sends requests to a web server using a special language defined by the HyperText Transfer Protocol (HTTP).
Figure: Examples of 2-tier and 3-tier system architectures
Client-server architectures are sometimes called 2-tier architectures. Architectures may have three or more tiers, leading to the so-called n-tier architecture, where n is 2, 3, 4 or more. Each of the tiers (or levels) of the system has its own responsibilities.
A particular computer may not always be fixed in the role of client or server. That is, a computer may act as a server to a number of clients and yet act as a client to another server. For example, a web server maintaining a number of web pages may act as a server to clients running browsers. However, if the web server wants data from a relational database in order to satisfy some client request (for example, a list of products that are out of stock) then it acts as a client to a database server. The request to the database server is usually expressed in the standard database query language SQL.
Another type of network architecture is known as a peer-to-peer (P2P) architecture because each computer has similar capabilities and responsibilities - each can act as a server as well as a client. Some P2P systems are hybrid in that they also have central computers that act only as servers, as shown in Figure.
Figure: An example of a peer-to-peer architecture - hybrid P2P systems also use central servers for some functions
The P2P approach is used in many of the popular but controversial music-sharing systems. It is a robust approach in that it does not rely on one central server. It also makes it harder for hostile organizations to close down the system than it would be with a single-server system.
Both client-server and peer-to-peer architectures are widely used, and each has unique advantages and disadvantages. A full discussion of distributed system architecture is outside the scope of this course, so we will concentrate on client-server architectures.
Java Assignment Help - Java Homework Help
Struggling with java programming language? Are you not finding solution for your Distributed system architectures homework and assignments? Live Distributed system architectures experts are working for students by solving their doubts & questions during their course studies and training program. We at Expertsmind.com offer Distributed system architectures homework help, java assignment help and Distributed system architectures projects help anytime from anywhere for 24x7 hours. Computer science programming assignments help making life easy for students.
Why Expertsmind for assignment help
- Higher degree holder and experienced experts network
- Punctuality and responsibility of work
- Quality solution with 100% plagiarism free answers
- Time on Delivery
- Privacy of information and details
- Excellence in solving java programming language queries in excels and word format.
- Best tutoring assistance 24x7 hours