21
A.Obaid - Wilfri ed Probst - Rufi n Soh INE4481 DISTRIBUTED DATAB ASES & CLIENT-SERVER ARCH ITECTURES 1 Chapter 1. Distributed systems: Definitions, design and example of distributed services INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

  • Upload
    hagop

  • View
    57

  • Download
    2

Embed Size (px)

DESCRIPTION

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES. Chapter 1. Distributed systems: Definition s , design and example of distributed services. Content. Distributed systems: Definition Distributed systems characteristics Distributed system design Types of distributed systems - PowerPoint PPT Presentation

Citation preview

Page 1: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

1

Chapter 1.Distributed systems:

Definitions, design and example of distributed services

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

Page 2: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

2

Content

Distributed systems: DefinitionDistributed systems characteristicsDistributed system designTypes of distributed systemsClient-server Environment

File serversDatabases serversTransactions ServersGroupeware ServersNews ServersObjects Servers

Examples

Page 3: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

3

Distributed systems: Definition

A distributed system is made up of:

A set of personal computers

Linked together by a network

Equiped with distributed softwares

Distributed softwares are operating system and applications that enable computers to coordinate their processing activities and share the network ressources: equipments, softwares and data.

Computers have the following characteristics:

They run independent processes in parallel

They don’t share a global clock

Their failures are independent

Page 4: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

4

Distributed systems characteristics

Some characteristics clearly show how important are distributed systems :

• Ressource sharing

• Openess

• Multi Threading

• Transparency

• Faults Tolerance

• Scalability

Page 5: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

5

Distributed systems characteristics(2)

Ressources sharing:

• Peripheral devices (drivers, printers, …)

• softwares: files, Data bases, Programming langages ,…

• Every network ressource is managed by a ressource manager (e.g DBMS, …)

• Costs Reduction.

Openess:

• New softwares and hardwares can be easily added within a distributed system.

MultiThreading:

• Many programs running in parallel on the same CPU.

• It is important to keep a control on this processing behavior.

Transparency:

• Consist of using a distributed system to hide components details to the End user and programmer in a way that they see the system as a black box that offers services than as a collection of independant components

Page 6: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

6

Distributed systems characteristics(3)

Faults tolerance :

To resume a distributed system running process after a failure has occured it is important for permanent data states(files and any hardware data stored in memory) to be saved after any failure detection.

Scalability:A distributed system should efficiently work at different scales:

– Few desktops with a file server

– Local network with a hundreds of computers and a file server

– Many Local networks linked together ( Internet).

Page 7: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

7

Distributed system design

The following are some problems directly tied to the distribution state of an information system:

• Naming

• Communication

• Software structure

• Tasks dispatching

• Keeping the system Coherent

• Application Programmer Interfaces (API’s) design

Page 8: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

8

Distributed system design (2)

Naming:

• Namespace, Domain, Domain name service (DNS), Name Resolution Transparency,…

Communication:

• Data transfer from the sender process environment to the receiver process environment.

• In some cases reception must be synchronized with sending.

• Communication through ports

• Synchronous or asynchronous Mode

• client/server architecture

Page 9: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

9

Distributed system design (3)

Software structure :

Applications

Support for operating system core :

• Memories management

• Processes management

• RAM (Random access memory i.e working space) management

• Inter process Communication (interwork)

• Communication tools (RPC, Multicast,…)

Tasks dispatching:

Optimize distrubution of tasks to CPUs in relation with their processing capabilities and the distance.

Page 10: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

10

Distributed system design (4)

Keeping the system coherent:

• Appears when many running processes are updating their data in parallel.

• Updates should be atomic tasks. A set of changes made by a process should seem instantaneous for the other running processe.

• To make sure that long lasting data are saved within all the components, failure recovery routines are necessary in order to resume the running process to the state befor the failure.

APIs (interfaces) design:

• Text, GUI (Graphical User Interface), hypertexte, hypermedia, multimedia, ...

Page 11: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

11

Types of distributed systems

Centralized system (no more in use)

Client-Server

Client-Multiple servers (Google)

Client-Proxy-Server

Colleagues (peer-to-peer P2P)

(Client + code mobile) – server

Mobile agents

Spontaneous network ressources discovery: e.g DHCP

Infrared network

Blue tooth

Page 12: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

12

Client-server Environment

Moving from a centrilazed environment to a decentralized one.

TerminalTerminal Terminal

Mainframe

Network

File server

Client

Client

Mainframe

Downsizing

Page 13: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

13

Client-server Environment (2)

Communication is achived through messages exchanged between two peer to peer (P2P) processes. A process is the client, and the other one is the server.

The processes represent cooperative or colleagues systems.

This cooperation results in an exchange of data: where the client receives final results from the server.

NetworkClient

application Server

application

Client site Server site

Request

Response

Page 14: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

14

Client-server Environment (3)

Example of servers:File servers

Databases servers

Transactions servers

Groupware servers

News servers

Objects servers

Example of clients:Browser (Netscape, Internet explorer)

Cellular phone softwares

Page 15: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

15

File servers

It handle call on the network, related to writings and readings in files.

No filtering nor changes are made on data exchanged.

Client

Client

Files

Server

File Call

Page 16: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

16

Databases servers

The data received by the client application are results of SQL request processing on the DB-server.

The DB-server here is also called « applications server ».

Client

Client

DB

DBMS serverDatabase Management system

Data

SQLAppels

Page 17: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

17

Transactions Servers

Used to implements transaction processing systems :

OLPT: On line Transaction Processing Client Call a remote procedure that implement a transaction. Transaction server (or transaction monitor: MT) runs this procedure.

New monitor are trying to integrate other features : communication, distribution, ...

Application

Application

DB

DBMS serverTransaction Monitor

SQL Procédure call

Page 18: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

18

Groupeware Servers

The groupware server (or collectware) is used to share or convey documents (multimedia ) within a company

The Push technique is often used.

Application

Application

DB

Groupew are Server

Groupew are Message

Page 19: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

19

News Servers

Those servers provide End users with documents (HTML, images,…).

E.g : HTTP, FTP, … servers

They can use intermediaries (eg. CGI programs, proxy’s) to improve funtionnalities.

Brow ser

Brow ser

HTTP Server

HTTP Request

Document

Page 20: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

20

Objects Servers

This service aim to let communication between objects through Object Broker (ORB: Object Request Broker).

It is a paradigm that tend to replace client/server model : objects call other objects (local or remote) methods.

Objects are located by the broker ORB.

Application

Application

Server

Remote MethodInvocation

Obj

ORB

ORB

ORB

Obj

Obj

Page 21: INE4481 DISTRIBUTED DATABASES  & CLIENT-SERVER ARCHITECTURES

A.Obaid - Wilfried Probst - Rufin Soh

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

21

Examples

Distributed systems :

• Internet with firewall and services like email, video conference, …

• Train or plane tickets reservation

Softwares:• Operating systems (platform)• CORBA, DCOM, RMI (Integration layer or Middlewares)• Instant Messenger, Chat (Applications)

Failures :• Bad response• Synchronization• Power • Omission• Autodetection