550 likes | 596 Views
Distributed Processing, Client/Server, and Clusters. Chapter 13. Distributed Data Processing. Allows processors and data to be dispersed Provides a system that is more responsive to a users needs Minimize communication costs by comparison with a centralized approach.
E N D
Distributed Processing, Client/Server, and Clusters Chapter 13 Chapter 13
Distributed Data Processing • Allows processors and data to be dispersed • Provides a system that is more responsive to a users needs • Minimize communication costs by comparison with a centralized approach Chapter 13
Distributed Data Processing • Personal computers • many employees have one • support user-friendly applications such as word processing , spreadsheet, and presentation graphics • Mainframe • corporate database • sophisticated software for database management Chapter 13
TCP/IP Protocol Architecture • Developed during work on the packet-switched network ARPANET • Five independent layers • application • hot-to-host • internet • network access • physical Chapter 13
TCP/IP Protocol Architecture • Physical layer • physical interface between a data transmission device and a network • deals with signals, data rate, etc. Chapter 13
TCP/IP Protocol Architecture • Network access layer • concerned with the exchange of data between and end system and the network • software used depends on type of network • concerned with access to and routing data across a network Chapter 13
TCP/IP Protocol Architecture • Internet layer • used when two devices attached to different networks • internet protocol (IP) is used to provide the routing function • routers are used to relay data from one network to another Chapter 13
TCP/IP Protocol Architecture • Transport layer • provides logic for assuring that data exchanged between host is reliably delivered • protocol at this layer is the transmission control protocol (TCP) Chapter 13
TCP/IP Protocol Architecture • Application layer • contains protocols for specific user applications Chapter 13
Operation of TCP and IP • TCP may break a block into smaller pieces to make it more manageable • TCP appends information to each piece • destination port • sequence number • checksum • TCP hands the message down to IP with instructions to send it to a host Chapter 13
Operation of TCP and IP • IP hands the message down tot he network access layer with instructions to send it to the router • IP appends a header of control information • now called an IP datagram • destination host address • Network access layer appends header information to create a packet or frame Chapter 13
Protocol Data Units in the TCP/IP Architecture Application Byte Stream User data TCP Segment TCP Header IP Datagram IP Header Network-Level Packet Network Header Chapter 13
TCP Header 10 Bit: 0 4 16 31 Source Port Destination Port Sequence Number 20 Octets Acknowledgement Number Header Length Unused Flags Window Checksum Urgent Pointer Options + Padding Chapter 13
User Datagram Protocol (UDP) • Connectionless server • Does not guarantee delivery • It adds a port addressing capability to IP 16 31 Bit: 0 Source Port Destination Port 8 Octets Checksum Segment Length Chapter 13
TCP/IP Applications • Simple Mail Transfer Protocol (SMTP) • provides basic electronic mail facility • provides mechanism for transferring messages among separate hosts • includes mailing lists, return receipts, and forwarding Chapter 13
TCP/IP Applications • File Transfer Protocol (FTP) • used to send files form one system to another under user commands • allows user IDs and passwords to be transmitted • allows the user to specify the file and file actions desired Chapter 13
TCP/IP Applications • TELNET • provides remote log-on capability, which enables a user at a terminal or personal computer to log on to a remote computer • user functions as if directly connected to the computer • remote terminals appear as local to the application Chapter 13
OSI Protocol Architecture • Open Systems Interconnection • Developed by the International Organization for Standardization (ISO) • Consists of seven layers • Protocols are developed to perform the functions at each layer Chapter 13
OSI Layers Application Presentation Session Transport Network Data Link Physical Chapter 13
Client/Server Computing • Client machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end user • Each server provides a set of shared user services to the clients • The 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 Chapter 13
Client/Server Computing • Involves splitting an application into tasks and putting each task on the platform where it can be handled most efficiently • Processing for the presentation on the user’s machine • Data management and storage on a server • Involves a network Chapter 13
Generic Client/Server Environment Chapter 13
Client/Server Applications • Platforms and the operating systems of client and server may differ • These lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applications Chapter 13
Client/Server Applications • Actual functions performed by the application can be split up between client and server • Optimize platform and network resources • Optimize the ability of users to perform various tasks • Optimize the ability to cooperate with one another using shared resources Chapter 13
Database Applications • The server is a database server • Interaction between client and server is in the form of transactions • the client makes a database request and receives a database response • Server is responsible for maintaining the database Chapter 13
Client Workstation Presentation Services Application Logic Server Request Database Logic Database Logic Response Communications Software Communications Software Database Management System Protocol Interaction Client Operating System Server Operating System Hardware Platform Hardware Platform Client/Server Architecture for Database Applications Chapter 13
Server Client Presentation Logic Application Logic Database Logic DBMS Classes of Client/Server Applications • Host-based processing • not true client/server computing • traditional mainframe environment Chapter 13
Server Client Presentation Logic Application Logic Database Logic DBMS Classes of Client/Server Applications • Server-based processing • server does all the processing • user workstation provides a user-friendly interface Chapter 13
Classes of Client/Server Applications • Client-based processing • all application processing may be done at the client • data validation routines and other database logic function are done at the server Server Client Presentation Logic Application Logic Database Logic Database Logic DBMS Chapter 13
Server Client Presentation Logic Application Logic Application Logic Database Logic DBMS Classes of Client/Server Applications • Cooperative processing • application processing is performed in an optimized fashion • complex to set up and maintain Chapter 13
File Cache Consistency • File caches hold recently accessed file records • Caches are consistent when they contain exact copies for remote data • File-locking prevents simultaneous access to a file • writing causes the server cached to be updated Chapter 13
Middleware • Set of tools that provide a uniform means and style of access to system resources across all platforms • Enable programmers to build applications that look and feel the same • Enable programmers to use the same method to access data Chapter 13
Middleware • Use of a standard programming interface and protocols • There is both a client and server component to middleware • Provides uniform access to different systems Chapter 13
Presentation Services Application Logic Middleware Communications Software Client Operating System Hardware Platform The Role of Middleware in Client/Server Architecture Client Workstation Server Middleware Middleware Interaction Communications Software Application Services Protocol Interaction Server Operating System Hardware Platform Chapter 13
Application Application Middleware (distributed system services) Platform: OS Hardware Platform: OS Hardware Logical View of Middleware APIs Platform Interfaces Chapter 13
Distributed Message Passing • Message passed used to communicate among processes • Send and receive messages as used in a single system OR • Remote procedure calls Chapter 13
Sending Process Receiving Process Message-passing Module Message-passing Module Basic Message-Passing Primitives ProcessID Message Chapter 13
Message-oriented Middleware Client Server Message-oriented Middleware Message-oriented Middleware Application Application Transport Transport Network Network Application-specific messages Chapter 13
Remote Procedure Calls • Allow programs on different machines to interact using simple procedure call/return semantics • Widely accepted • Standardized • client and server modules can be moved among computers and operating systems easily Chapter 13
Remote Procedure Call Mechanism Client Application Remote Server Application Local Response Local Response Local Procedure Call Local Response Local Procedure Calls Local Application or Operating System Local Stub Local Stub Remote Procedure Call RPC Mechanism RPC Mechanism Remote Procedure Call Chapter 13
Client/Server Binding • Binding specifies the relationship between remote procedure and calling program • Nonpersistent binding • logical connection established during remote procedure call • Persistent binding • connection is sustained after the procedure returns Chapter 13
Remote Procedure Calls Client Server Application Application Transport Transport Network Network Application-specific Procedure Invocations and Returns RPC Stub Program RPC Stub Program Chapter 13
Object Request Broker Client Server Object Request Broker Application Object Server Transport Transport Transport Network Network RPC Stub Program Network Object Requests and Responses Object Requests and Responses Chapter 13
Clusters • Alternative to symmetric multiprocessing (SMP) • Group of interconnected, whole computers working together as a unified computing resource • illusion is one machine • system can run on its own Chapter 13
Clusters • Separate server • each computer is a separate server • no shared disks • need management or scheduling software • data must be constantly copied among systems so each is current Chapter 13
I/O I/O I/O I/O Clusters Standby Server with No Shared Disk P P P P High-Speed Message Link M M Chapter 13
Clusters • Shared nothing • reduces communication overhead • servers connected to common disks • disks partitioned into volumes • each volume owned by a computer • if computer fails another computer gets ownership of the volume Chapter 13
I/O I/O I/O I/O I/O I/O Clusters Shared Disk High-Speed Message Link P P P P M M RAID Chapter 13
Clusters • Shared disk • multiple computers share the same disks at the same time • each computer has access to all of the volumes on all of the disks Chapter 13
Windows NT Wolfpack • Wolfpack is code name for clustering technology • Shared-nothing cluster • Groups combine resources that are easily managed • Resources are implemented as dynamically linked libraries (DLLs) Chapter 13