distributed processing distributed processing client
play

Distributed Processing Distributed Processing, Client/Server, and - PowerPoint PPT Presentation

Distributed Processing Distributed Processing, Client/Server, and Clusters , Chapter 13 Chapter 13 1 Client/Server Computing Client/Server Computing Client machines are generally single-user PCs Cli t hi ll i l PC or


  1. Distributed Processing Distributed Processing, Client/Server, and Clusters , Chapter 13 Chapter 13 1

  2. Client/Server Computing Client/Server Computing • Client machines are generally single-user PCs Cli t hi ll i l PC or workstations that provide a highly user- friendly interface to the end user f i dl i t f t th d • Each server provides a set of shared services to the clients • The server enables many clients to share y access to the same database and enables the use of a high-performance computer system to g p p y manage the database 2

  3. Client/Server Terminology Client/Server Terminology • Applications Programming Interface (API) Applications Programming Interface (API) – A set of function and call programs that allow clients and servers to intercommunicate • Client – A A networked information requester, usually a PC or workstation, that can k d i f i ll PC k i h query database and/or other information from a server Middleware • – A set of drivers, APIs, or other software that improves connectivity between , , p y a client application and a server • Relational Database – A database in which information access is limited to the selection of rows that satisfy all search criteria that satisfy all search criteria • Server – A computer, usually a high-powered workstation, a minicomputer, or a mainframe, that houses information for manipulation by networked clients • Structured Query Language (SQL) – A language developed by IBM and standardized by ANSI for addressing, creating, updating, or querying relational databases 3

  4. 4

  5. Client/Server Applications Client/Server Applications • Basic software is an operating system B i ft i ti t running on the hardware platform • Platforms and the operating systems of client and server may differ • These lower-level differences are irrelevant as long as a client and server irrelevant as long as a client and server share the same communications protocols and support the same protocols and support the same applications 5

  6. 6

  7. Client/Server Applications Client/Server Applications • Bulk of applications software executes B lk f li i f on the server • Application logic is located at the client • Presentation services in the client P t ti i i th li t 7

  8. Database Applications Database Applications • The server is a database server Th i d b • Interaction between client and server is in the form of transactions – the client makes a database request and the client makes a database request and receives a database response • Server is responsible for maintaining the S i ibl f i i i h database 8

  9. 9

  10. Client/Server Database Usage Client/Server Database Usage 10

  11. Client/Server Database Usage Client/Server Database Usage 11

  12. Classes of Client/Server Applications • Host-based processing H b d i – Not true client/server computing – Traditional mainframe environment 12

  13. Classes of Client/Server Applications • Server-based processing S b d i – Server does all the processing – Client provides a graphical user interface 13

  14. Classes of Client/Server Applications • Client-based processing Cli b d i – All application processing done at the client – Data validation routines and other database logic functions are done at the server og c u c o s e do e e se ve 14

  15. Classes of Client/Server Applications • Cooperative processing C i i – Application processing is performed in an optimized fashion – Complex to set up and maintain Co p e o se up d 15

  16. Three-Tier Client/Server Architecture • Application software distributed among A li ti ft di t ib t d three types of machines – User machine • Thin client – Middle-tier server • Gateway • Convert protocols • Merge/integrate results from different data sources sources – Backend server 16

  17. 17

  18. File Cache Consistency File Cache Consistency • File caches hold recently accessed file Fil h h ld l d fil records • Caches are consistent when they contain exact copies for remote data exact copies for remote data • File-locking prevents simultaneous access to a file 18

  19. 19

  20. Middleware Middleware • Set of tools that provide a uniform S f l h id if means and style of access to system resources across all platforms • Enable programmers to build • Enable programmers to build applications that look and feel the same • Enable programmers to use the same method to access data 20

  21. 21

  22. 22

  23. 23 Middleware Mechanisms Middleware Mechanisms

  24. 24 Middleware Mechanisms Middleware Mechanisms

  25. 25 Middleware Mechanisms Middleware Mechanisms

  26. Distributed Message Passing Distributed Message Passing • Message passed used to communicate M d d i among processes • Send and receive messages as used in a single system OR single system OR • Remote procedure calls 26

  27. 27 Basic Message-Passing Primitives

  28. Reliability Versus Unreliability • Reliable message-passing guarantees R li bl i delivery if possible – Not necessary to let the sending process know that the message was delivered g • Send the message out into the communication network without communication network without reporting success or failure – Reduces complexity and overhead 28

  29. Blocking Versus Nonblocking Blocking Versus Nonblocking • Nonblocking • Nonblocking – Process is not suspended as a result of issuing a Send or Receive Send or Receive – Efficient and flexible – Difficult to debug • Blocking – Send does not return control to the sending process Send does not return control to the sending process until the message has been transmitted – OR does not return control until an acknowledgment is received k l d i i d – Receive does not return until a message has been placed in the allocated buffer placed in the allocated buffer 29

  30. Remote Procedure Calls Remote Procedure Calls • Allow programs on different machines All diff hi to interact using simple procedure call/return semantics • Widely accepted • Widely accepted • Standardized – Client and server modules can be moved among computers and operating systems easily 30

  31. 31

  32. Client/Server Binding Client/Server Binding • Binding specifies the relationship Bi di ifi th l ti hi between remote procedure and calling program • Nonpersistent binding – Logical connection established during remote procedure call • Persistent binding – Connection is sustained after the procedure Connection is sustained after the procedure returns 32

  33. Synchronous versus Asynchronous • Synchronous RPC S h RPC – Behaves much like a subroutine call • Asynchronous RPC – Does not block the caller Does not block the caller – Enable a client execution to proceed locally i in parallel with server invocation ll l i h i i 33

  34. Object Oriented Mechanisms Object-Oriented Mechanisms • Clients and servers ship messages back and Cli t d hi b k d forth between objects • A client sends a request to an object broker • The broker calls the appropriate object and pp p j passes along any relevant data • Microsoft’s Component Object Model (COM) Microsoft s Component Object Model (COM) • Common Object Request Broker Architecture (CORBA) (CORBA) 34

  35. Clusters Clusters • Alternative to symmetric Al i i multiprocessing (SMP) • Group of interconnected, whole computers working together as a unified computers working together as a unified computing resource – Illusion is one machine – System can run on its own 35

  36. Clustering Method Description Benefits Limitations Passive Standby Passive Standby Easy to implement. Easy to implement A secondary server A secondary server High cost because the secondary High cost because the secondary takes over in case server is unavailable for other processing tasks. of primary server failure. Active Secondary The secondary Reduced cost Increased complexity. server is also used because secondary for processing servers can be used tasks. for processing. Separate Servers High availability. Separate servers High network and server overhead due to copying operations. have their own disks. Data is continuously copied continuously copied from primary to secondary server. Servers Connected to Servers are cabled Reduced network and Usually requires disk mirroring Di k Disks to the same disks, t th di k server overhead due h d d or RAID technology to compensate RAID t h l t t but each server to elimination of for risk of disk failure. copying operations. owns its disks. If one server fails, it its disks are taken di k t k over by the other server. Servers Share Disks Multiple servers Low network and Requires lock manager software. simultaneously server overhead. Usually used with disk mirroring or RAID technology. share access to Reduced risk of 36 disks. downtime caused by disk failure.

  37. Clusters Clusters • Separate server S – Each computer is a separate server – No shared disks – Need management or scheduling software – Need management or scheduling software – Data must be constantly copied among s stems so each is c rrent systems so each is current 37

Recommend


More recommend