Download presentation
Presentation is loading. Please wait.
Published byArline Williamson Modified over 9 years ago
1
Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site
2
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
3
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
4
Generic Client/Server Environment
5
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
6
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
7
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
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
Logical View of Middleware Platform: OS Hardware Application Platform: OS Hardware Middleware (distributed system services) APIs Platform Interfaces
18
Distributed Message Passing zMessage passed used to communicate among processes zSend and receive messages as used in a single system OR zRemote procedure calls
19
Basic Message-Passing Primitives Message-passing Module Sending Process Receiving Process Message-passing Module ProcessIDMessage
20
Message-oriented Middleware Client Server Application-specific messages Application Message-oriented Middleware Message-oriented Middleware Transport Network
21
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
22
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
23
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
24
Remote Procedure Calls Client Server Application-specific Procedure Invocations and Returns Transport Network Application RPC Stub Program Application RPC Stub Program
25
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
26
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
27
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
28
Clusters Standby Server with No Shared Disk High-Speed Message Link I/O P MM PPP
29
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
30
Clusters Shared Disk High-Speed Message Link I/O P MM PPP RAID
31
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
32
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
33
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
34
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.