You are on page 1of 4

INTRODUCTION: Virtually all large computer-based systems are now distributed systems.

Information processing is distributed over several computers rather than confined to a single machine. Various hardware and software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely coupled devices and cables. At a higher level, it is necessary to interconnect processes running on those CPUs with some sort of communication system. Distributed systems where the system software runs on a loosely integrated group of cooperating processors linked by a network. Distributed programming typically falls into one of several basic architectures or categories: Client-server 3-tier architecture N-tier architecture Distributed objects loose coupling tight coupling Client-server: The most important and most widely distributed system architecture . Distributed services which are called on by clients. Servers that provide services are treated differently from clients that use services. Client and server roles are assigned and changeable. Servers may in turn be clients of other servers. Services may be implemented as several interacting processes in different host computers to provide a service to client processes: 1. Servers partition the set of objects on which the service is based and distribute them among themselves (e.g. Web data and web servers) 2. Servers maintain replicated copies of the service objects on several hosts for reliability and performance (e.g. AltaVista) Smart client code contacts the server for data, then formats and displays it to the user. Input at the client is committed back to the server when it represents a permanent change.

General interaction between a client and a server Client Server Model and Variations Server is a process; Client is a process. Clients invoke servers, servers send results to clients. Servers can be clients of other Servers HTTP (Web) Server is a server process to its client processes (web browsers).HTTP Server may be a client of a database server. Service may be provided by multiple servers, as is most often the case within a large enterprise. Cache is a repository of recently accessed objects (files, graphics) that is physically closer to the client than the server from which it originated. Proxy server sits in between clients and servers and can play many mitigation roles Maintain cache, Firewall ,Restrict site access. 3-tier architecture: Three tier systems move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment. Most web applications are 3-Tier. In a three-tier architecture, each of the application architecture layers may execute on a separate processor. Allows for better performance than a thin client approach and is simpler to manage than a fat-client approach. A more scalable architecture as demands increase , extra servers can be added.

N-tier architecture:

N-Tier refers typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of application servers. Multi tiered clientserver architectures are a direct consequence of dividing applications into a user-interface, processing components, and a data level. The different tiers correspond directly with the logical organization of applications. In many business environments, distributed processing is equivalent to organizing a client-server application as a multi tiered architecture. We refer to this type of distribution as vertical distribution. The characteristic feature of vertical distribution is that it is achieved by placing logically different components on different machines. The term is related to the concept of vertical fragmentation as used in distributed relational databases, where it means that tables are split column-wise, and subsequently distributed across multiple machines

Tightly coupled (clustered): This refers typically to a set of highly integrated machines that run the same process in parallel, subdividing the task in parts that are made individually by each one, and then put back together to make the final result. Peer-to-peer: an architecture where there is no special machine or machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and servers.

Space based: This refers to an infrastructure that creates the illusion (virtualization) of one single address-space. Data are transparently replicated according to application needs. Decoupling in time, space and reference is achieved.

You might also like