Architectures for Large Scale Distributed Systems

Architectures for Large Scale Distributed Systems

Valentin Cristea (Politehnica University of Bucharest, Romania), Ciprian Dobre (Politehnica University of Bucharest, Romania), Corina Stratan (Politehnica University of Bucharest, Romania) and Florin Pop (Politehnica University of Bucharest, Romania)
DOI: 10.4018/978-1-61520-703-9.ch002


This chapter introduces the macroscopic views on distributed systems’ components and their inter-relations. The importance of the architecture for understanding, designing, implementing, and maintaining distributed systems is presented first. Then the currently used architectures and their derivatives are analyzed. The presentation refers to the client-server (with details about Multi-tiered, REST, Remote Evaluation, and Code-on-Demand architectures), hierarchical (with insights in the protocol oriented Grid architecture), service-oriented architectures including OGSA (Open Grid Service Architecture), cloud, cluster, and peer-to-peer (with its versions: hierarchical, decentralized, distributed, and event-based integration architectures). Due to the relation between architecture and application categories supported, the chapter’s structure is similar to that of Chapter 1. Nevertheless, the focus is different. In the current chapter, for each architecture the model, advantages, disadvantages and areas of applicability are presented. Also the chapter includes concrete cases of use (namely actual distributed systems and platforms), and clarifies the relation between the architecture and the enabling technology used in its instantiation. Finally, Chapter 2 frames the discussion in the other chapters, which refer to specific components and services for large scale distributed systems.
Chapter Preview

Client-Server Architectures

The classical client-server model distributes the processing between two processes (it is a two-tiered architecture): the server and the client (see Figure 1). The server implements a specific service, for example retrieving a document from a database. It waits to be invoked by a client. When it receives an invocation, it searches for the specific document requested by the client and offers it as response. The client sends an invocation to the server and waits for the response that includes the requested document. When the client receives the document it can display it for the user. This example corresponds to the thin client model, in which the client implements only the user interface that includes the presentation software. The whole application processing (in general, the application is much more than simply searching for a document) is carried out by the server. Another model is the fat client, in which the client implements a part of the application as well. The model is especially useful for applications that highly interact with the user for which a low response time is required. The disadvantage of the fat client model is that new versions of the application must be installed on each client machine not only on the server, which is not the case for the thin client model.

Complete Chapter List

Search this Book: