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
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
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
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
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
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
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).
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
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
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.
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, ...
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
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
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
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
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
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
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
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
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
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
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