A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 Chapter 1. Distributed systems: Definitions, design.

Slides:



Advertisements
Similar presentations
INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES
Advertisements

ICS 434 Advanced Database Systems
Global Analysis and Distributed Systems Software Architecture Lecture # 5-6.
Database Architectures and the Web
Jaringan Informasi Pengantar Sistem Terdistribusi oleh Ir. Risanuri Hidayat, M.Sc.
Chapter 7 LAN Operating Systems LAN Software Software Compatibility Network Operating System (NOP) Architecture NOP Functions NOP Trends.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Distributed components
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization and Design Goals Dr. Michael R. Lyu Computer.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Middleware Technologies compiled by: Thomas M. Cosley.
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
20101 Overview Distributed systems Layers Communication is logically on the application layer Only that has to be considered except for speed,
© 2004, Robert K. Moniot Chapter 1 Introduction to Computers and the Internet.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Client/Server Architecture
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
 Distributed Software Chapter 18 - Distributed Software1.
The Client/Server Database Environment
Client/Server Architectures
CLIENT A client is an application or system that accesses a service made available by a server. applicationserver.
Cli/Serv.: JXTA/151 Client/Server Distributed Systems v Objective –explain JXTA, a support environment for P2P services and applications ,
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Bộ môn Mạng và Truyền Thông Máy Tính.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
Distributed Systems: Concepts and Design Chapter 1 Pages
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
How computer’s are linked together.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
1- Distributed Systems Principles and Paradigms Operating Systems: Concurrent and Distributed Software Design Jean Bacon, Tim Harris 2003.
Application Layer Honolulu Community College Cisco Academy Training Center Semester 1 Version
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
第 1 讲 分布式系统概述 §1.1 分布式系统的定义 §1.2 分布式系统分类 §1.3 分布式系统体系结构.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Client – Server Architecture A Basic Introduction 1.
SYSTEMSDESIGNANALYSIS 1 Chapter 21 Implementation Jerry Post Copyright © 1997.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
John R Durrett1 Client/Server Computing Byte April 1995 & The Martian C/S book.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Section 2.1 Section 2.2 Identify hardware
Last Class: Introduction
Database Architectures and the Web
Operating System.
The Client/Server Database Environment
Principles of Network Applications
The Client/Server Database Environment
Database Architectures and the Web
#01 Client/Server Computing
System And Application Software
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 4/22/2019 B.Ramamurthy.
Introduction To Distributed Systems
#01 Client/Server Computing
Presentation transcript:

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES1 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 ARCHITECTURES2 Content Distributed systems: Definition Distributed systems characteristics Distributed system design Types of distributed systems Client-server Environment File servers Databases servers Transactions Servers Groupeware Servers News Servers Objects Servers Examples

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES3 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 ARCHITECTURES4 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 ARCHITECTURES5 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 ARCHITECTURES6 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 ARCHITECTURES7 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 ARCHITECTURES8 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 ARCHITECTURES9 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 ARCHITECTURES10 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 ARCHITECTURES11 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 ARCHITECTURES12 Client-server Environment Moving from a centrilazed environment to a decentralized one. Downsizing

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES13 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.

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES14 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 ARCHITECTURES15 File servers It handle call on the network, related to writings and readings in files. No filtering nor changes are made on data exchanged.

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES16 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 ».

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES17 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,...

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES18 Groupeware Servers The groupware server (or collectware) is used to share or convey documents (multimedia ) within a company The Push technique is often used.

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES19 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.

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES20 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.

A.Obaid - Wilfried Probst - Rufin Soh INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES21 Examples Distributed systems : Internet with firewall and services like , 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