Distributed System Architectures: Client-Server Models and Remote Procedure Calls

SYSTEM:


Set of elements, procedures, methods that interact to achieve common unfin.

SO:


A set of programs that create the hardware interface / user, and has two main functions:

Manage the hardware .-

administer.

Facilitate work



user devices communicating with the machine.

It is stored in secondary memory. 1 loads and executes a piece of code found in the processor, which loads the BIOS, and this in turn loads the OS loads all software application programs and varied.

SOD: A set of programs that manage ycontrolan the functions of the elements (hardware, software) that make up a sistema.El which is transparent to the user.

Advantages (distributed vs. Centralized):


Economics, Speed, Reliability, Growth increments.

Disadvantages:


Little existence of Software, Network Saturation, Security.

Client – server model:


In this architecture the PC of each user (client)
Produces a demand for information to any of the PCs that provide information (servers).

CLIENT:


is q. Initiates a service request, through LAN or WAN.

SERVER:


Any computing resource dedicated to meet customer requirements (printing, access to BD, fax, processing. Of images).

ELEMENTS OF ARCHITECTURE CTE-SERVER


Presentation / Information Collection and storage of the same, Processes.

CLIENT-SERVER APPLICATIONS:


Jobs:


Workstation or PC connected to a network, q can access and manage a range of resources is seen as a universal job.

Hosts:


machine that provides a range of service (BD, Files, Communications).

Servers, according to the specialization and requirements:


Mainframes, PC Per. Specialist (Network Devices, Image, etc).

Architecture:


Lattice effective components that leverage standards and processes, integrates a wide degree of products and services. Used X any organization.

Client / Server application or two layers:


the data and business logic are separated from the interface (aka, thin client).

Thick client: Client / Server application, the data do da separating the interface and business logic.

Apply three layers:


interface, business logic, data access, the latter are separated.

SOR: A set of programs that controls the execution of application program and acts as a user interface / hardware of a PC.

Hardware Features

SISD (Single Instruction, Single Data)


are all those which have a single PC processor (normal).

SIMD (Single Instruction, Multiple Data) (SOR)


Each PC has its own processor, each looking for instruction and instructed the other to process in parallel.

MISD (Multiple Instruction Single Data). None known PC fits this classification.

MIMD (multiple instructions manual Multiple Data) Groups of independent PC each one with its own counter programs and data, all distributed systems are of this type.
SOD: allow distribution of jobs, tasks or processes / a set of processors, (can be on a team or different).

SOD Features:


1 .- Placement of autonomous systems that communicate and cooperate with the hardware and software.
2 .- They provide means for the global sharing of Appeal.

3 .- Services added: global name, syst. Distributed file, facilities for distribution calculations.

SOD Components
Hardware:

Processors, Memory, Media, Dis. Storage

Software:


Programs, Operating System.

SOD Functions:


Manage: Hardware Resources (CD, DVD) and software: processes, users

Provides services:


Catering to a clienteSolicitud something. Petitions to solve the system.

Transparent to the user:


Move at any point and be available.
Get results.

SOD:


Multiprocessor. Multitasking, Multiprocessing, Multiuser, Distributed, high throughput.

SOR:


Uniprocessor, single-tasking, single-processor, Multi-user, centralized, Low throughput.

Process Communication in Distributed Systems:


Enables interaction between applications and system services.

Factors communication mechanisms:


– Performance: latency, transfer bandwidth. – Scalability: Number of active elements. – Reliability: Loss of messages. – Security: Encryption, certification. – Mobility: Mobile equipment. – Quality of Services: Book and guaranteed bandwidths. – Group Communication: Multicast.

Primitive features:
Blocking vs. Non-blocking. – Asynchronous vs. Untimed. – Reliable vs. Non-reliable.

Message Passing:



The messages exchanged can be: Text messages (eg HTTP).
– Formatted messages (binary).

Applications define the communication protocol:


Request-response, reception explicitly with / without confirmation.

Group Communication:


It is enabled by:

– Variants of network protocols: IP-multicast. – Emulator through higher level protocols or applications.

Address: Performed by a group address (to which belong all receivers).

Model groups:


open, controlled open and closed.

Useful for distributed systems offer fault tolerance based on replicated services-Locate objects in syst. Distributed – Better performance through replicated data – Multiple Updates – Collective operations in parallel computing.

Issue:


Reliable communication is difficult, scalability of technology, management and routing groups.

Communication Management Group:



Ord. FIFO:

Messages from a source arrive at each receiver in the order they are sent.

Ord. Causal:

Messages sent by two different transmitters are received in the relative order in which they were sent.


Ord. Total:

All messages (various sources) sent to a group are received in the same order for all items.

Remote Procedure Call
Sun RPC is the basis for several current services (NFS or NIS).

General Operation RPC
Client:

The process that makes a call to a function – Call It packs the arguments in a msg and sends them to another process – is awaiting the outcome.

Server:


You receive a message consisting of several arguments – these are used to call a function on the server
The result of the function is packaged in a msg which is transmitted to the client.

Objective: To bring the path of conventional procedure calls to a distributed environment (slide).

Items needed:
Client code – the server code – Format of presentation – Interface Definition – Location Server – Semantic failure.
Code Client / Server Code: Functions of abstraction of an RPC call message exchange are called guards (stubs).

Reservations (stubs)


are generated automatically by the software-based RPC service interface .- They are independent of the implementation is made of the client and the server. Depend only on the interface.

Tasks involved: –


Locate the server – Packaging parameters and build the msg – Send the msg to the server “Wait of receiving it and return the results – are based on a library of RPC functions for common tasks.

Role of the guards:


it is packaged in a message parameters: flatness.
Problems in the representation of data:
Server and client can run on machines with different architectures.


– XDR (external data representation) standard that defines the representation of data types.

Steps of parameters (input / output):

Problems with pointers: One direction is only meaningful in an address space.

Fault Tolerance: (Semantics)


Problems arising out of RPC:

– The client is not able to locate the server – the message is lost request to the server – the message is lost response from server to client. – The server crashes after receiving a request – The client fails after sending a request.

Aspects of Implementation:


RPC protocols – Connection Oriented Reliability is resolved at low level, poorer performance – No Connection oriented – Using a standard protocol or a specific

Some use TCP or UDP as the basic protocols cost of copying information dominant aspect in performance – may be more copies on client to add headers – scatter-gather: it can improve performance

Rpcgen Sun RPC is the compiler that generates interfaces: – Receipt of the client – and server, the server main proceedings .- Procedures for flattening – header file (. H) with the declaration of types and prototypes.

Dynamic Link:
The client must specify the host that is running the server
– The server is registered (no. Of program, number of version and port number) – The client sends a request to the port mapper is running the server host.