Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site.

Slides:



Advertisements
Similar presentations
Client/Server Computing (the wave of the future) Rajkumar Buyya School of Computer Science & Software Engineering Monash University Melbourne, Australia.
Advertisements

Multiple Processor Systems
Distributed Processing, Client/Server and Clusters
Database Architectures and the Web
Multiple Processor Systems
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Distributed Processing, Client/Server, and Clusters
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Distributed Processing, Client/Server and Clusters
Middleware Technologies compiled by: Thomas M. Cosley.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Figure 1.1 Interaction between applications and the operating system.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
1 I/O Management in Representative Operating Systems.
Distributed Systems: Message Passing, Clusters, and Implementation of Clusters in Representative Operating Systems.
PRASHANTHI NARAYAN NETTEM.
Distributed Systems: Client/Server Computing
Client/Server Architecture
Introduction to client/server architecture
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Database Architectures and the Web
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
Database Architectures and the Web Session 5
1 Operating System Overview Chapter 2 Advanced Operating System.
1 Lecture 20: Parallel and Distributed Systems n Classification of parallel/distributed architectures n SMPs n Distributed systems n Clusters.
INFO 320 Server Technology I
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
DCE (distributed computing environment) DCE (distributed computing environment)
Distributed Processing and Client/Server
1 Distributed Processing, Messages, RPC, RMI, CORBA Chapter 14 ”Operating Systems” W. Stallings.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
Clusters. zAlternative to symmetric multiprocessing (SMP) zGroup of interconnected, whole computers working together as a unified computing resource yillusion.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
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.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
Distributed DBMSs- Concept and Design Jing Luo CS 157B Dr. Lee Fall, 2003.
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
Data Communications and Networks Chapter 9 – Distributed Systems ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
Background Computer System Architectures Computer System Software.
VCS Building Blocks. Topic 1: Cluster Terminology After completing this topic, you will be able to define clustering terminology.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Distributed Processing, Client/Server and Clusters
Database Architectures and the Web
Database Architectures and the Web
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Distributed Processing, Client/Server and Clusters
Multiple Processor Systems
Multiple Processor Systems
Multiple Processor and Distributed Systems
Client/Server Computing
Basic organizations and memories in distributed computer systems
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site

Client/Server Computing zClient machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end user zEach server provides a set of shared user services to the clients zThe server enables many clients to share access to the same database and enables the use of a high-performance computer system to manage the database

Client/Server Computing zInvolves splitting an application into tasks and putting each task on the platform where it can be handled most efficiently zProcessing for the presentation on the user’s machine zData management and storage on a server zInvolves a network

Generic Client/Server Environment

Client/Server Applications zPlatforms and the operating systems of client and server may differ zThese lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applications

Client/Server Applications zActual functions performed by the application can be split up between client and server zOptimize platform and network resources zOptimize the ability of users to perform various tasks zOptimize the ability to cooperate with one another using shared resources

Database Applications zThe server is a database server zInteraction between client and server is in the form of transactions ythe client makes a database request and receives a database response zServer is responsible for maintaining the database

Client/Server Architecture for Database Applications Client Workstation Presentation Services Application Logic Database Logic Communications Software Client Operating System Hardware Platform Server Database Logic Communications Software Database Management System Server Operating System Hardware Platform Request Response Protocol Interaction

Client Server Presentation Logic Application Logic Database Logic DBMS Classes of Client/Server Applications zHost-based processing ynot true client/server computing ytraditional mainframe environment

Client Server Presentation Logic Application Logic Database Logic DBMS Classes of Client/Server Applications zServer-based processing yserver does all the processing yuser workstation provides a user-friendly interface

Client Server Presentation Logic Database Logic DBMS Application Logic Database Logic Classes of Client/Server Applications zClient-based processing yall application processing may be done at the client ydata validation routines and other database logic function are done at the server

Client Server Presentation Logic Application Logic Database Logic DBMS Application Logic Classes of Client/Server Applications zCooperative processing yapplication processing is performed in an optimized fashion ycomplex to set up and maintain

File Cache Consistency zFile caches hold recently accessed file records zCaches are consistent when they contain exact copies for remote data zFile-locking prevents simultaneous access to a file ywriting causes the server cached to be updated

Middleware zSet of tools that provide a uniform means and style of access to system resources across all platforms zEnable programmers to build applications that look and feel the same zEnable programmers to use the same method to access data

Middleware zUse of a standard programming interface and protocols zThere is both a client and server component to middleware zProvides uniform access to different systems

The Role of Middleware in Client/Server Architecture Client Workstation Presentation Services Application Logic Middleware Communications Software Client Operating System Hardware Platform Server Middleware Communications Software Application Services Server Operating System Hardware Platform Protocol Interaction Middleware Interaction

Logical View of Middleware Platform: OS Hardware Application Platform: OS Hardware Middleware (distributed system services) APIs Platform Interfaces

Distributed Message Passing zMessage passed used to communicate among processes zSend and receive messages as used in a single system OR zRemote procedure calls

Basic Message-Passing Primitives Message-passing Module Sending Process Receiving Process Message-passing Module ProcessIDMessage

Message-oriented Middleware Client Server Application-specific messages Application Message-oriented Middleware Message-oriented Middleware Transport Network

Remote Procedure Calls zAllow programs on different machines to interact using simple procedure call/return semantics zWidely accepted zStandardized yclient and server modules can be moved among computers and operating systems easily

Remote Procedure Call Mechanism Client Application Client Application Remote Server Application Remote Server Application Local Application or Operating System Local Application or Operating System Local Stub RPC Mechanism RPC Mechanism Local Stub RPC Mechanism RPC Mechanism Remote Procedure Call Local Response Local Response Local Response Local Procedure Call Local Procedure Calls Remote Procedure Call

Client/Server Binding zBinding specifies the relationship between remote procedure and calling program zNonpersistent binding ylogical connection established during remote procedure call zPersistent binding yconnection is sustained after the procedure returns

Remote Procedure Calls Client Server Application-specific Procedure Invocations and Returns Transport Network Application RPC Stub Program Application RPC Stub Program

Object Request Broker Client Server Transport Network Application RPC Stub Program Object Server Object Requests and Responses Object Requests and Responses Object Request Broker Transport Network

Clusters zAlternative to symmetric multiprocessing (SMP) zGroup of interconnected, whole computers working together as a unified computing resource yillusion is one machine ysystem can run on its own

Clusters zSeparate server yeach computer is a separate server yno shared disks yneed management or scheduling software ydata must be constantly copied among systems so each is current

Clusters Standby Server with No Shared Disk High-Speed Message Link I/O P MM PPP

Clusters zShared nothing yreduces communication overhead yservers connected to common disks ydisks partitioned into volumes yeach volume owned by a computer yif computer fails another computer gets ownership of the volume

Clusters Shared Disk High-Speed Message Link I/O P MM PPP RAID

Clusters zShared disk ymultiple computers share the same disks at the same time yeach computer has access to all of the volumes on all of the disks

Win2000 Cluster Server zFormerly called Wolfpack zShared-nothing cluster zConcepts yCluster Service – Software that manages cluster-specific activity yResource – Item to be managed xPhysical: Disk drives, Network cards xLogical: Volumes, TCP/IP addresses, Applications, Databases yOnline – A resource is online at a node when it is providing service on that node yGroup – A collection of resources managed as a unit xHelps manage resources, load balancing xUsually a set of resources needed for a specific application

Win2000 Cluster Server Components Node Manager – Maintain membership: Uses heartbeat messages to track system Database Manager – Maintain cluster configuration database (resources, groups, ownership): Uses fault-tolerant transaction software Resource Manager – Make decisions concerning resources, startup, failover Event Processor – Connect components

Beowulf zFrom NASA High Performance Computing and Communications Project, based on commodity hardware zImplemented as an add-on to Linux, and each node runs a copy of Linux, with kernel extensions for global namespaces zExamples of Beowulf system software: yBeowulf Distributed Process Space – Allow process ID space to span machines, provide single system image, start processes on other nodes yBeowulf Ethernet Channel Bonding – Combine multiple low-cost links into a single logical network yPvmsync – Provide synchronization and shared data objects in a cluster yEnFuzion – Set of tools for parametric computing