1 / 21

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

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

hagop
Download Presentation

INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES Chapter 1. Distributed systems: Definitions, design and example of distributed services INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

  2. 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 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 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 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 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). 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 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 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. 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, ... 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 INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

  12. Client-server Environment • Moving from a centrilazed environment to a decentralized one. Downsizing 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. 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 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. 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 ». 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, ... 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. 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. 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. 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 INE4481 DISTRIBUTED DATABASES & CLIENT-SERVER ARCHITECTURES

More Related