Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site."— Presentation transcript:

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


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

Similar presentations


Ads by Google