Distributed Processing and Client/Server

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

1 Communication in Distributed Systems REKs adaptation of Tanenbaums Distributed Systems Chapter 2.
Distributed Processing, Client/Server and Clusters
Database Architectures and the Web
RPC Robert Grimm New York University Remote Procedure Calls.
Remote Procedure CallCS-4513, D-Term Remote Procedure Call CS-4513 Distributed Computing Systems (Slides include materials from Operating System.
Distributed Processing, Client/Server, and Clusters
Distributed components
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 Database Management Systems
Distributed Processing, Client/Server and Clusters
Middleware Technologies compiled by: Thomas M. Cosley.
Distributed Information Systems - The Client server model
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
.NET Mobile Application Development Remote Procedure Call.
Distributed Systems: Client/Server Computing
Client/Server Architecture
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
Distributed Processing, Client/Server, and Clusters Source: Prentice-Hall Web Site.
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Database Architectures and the Web Session 5
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
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.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Shuman Guo CSc 8320 Advanced Operating Systems
Client/Server Computing
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
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.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 17 – Introduction to Distributed Systems Outline 17.1Introduction 17.2Attributes of Distributed.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Distributed Processing, Client/Server and Clusters
Internet and Distributed Application Services
Java Distributed Object System
Common object request broker
#01 Client/Server Computing
Chapter 3: Windows7 Part 4.
Ch > 28.4.
Chapter 17 – Introduction to Distributed Systems
Distributed Processing, Client/Server and Clusters
DISTRIBUTED COMPUTING
Remote Procedure Call Hank Levy 1.
Quality Assurance for Component-Based Software Development
Remote Procedure Call Hank Levy 1.
Remote Procedure Call Hank Levy 1.
#01 Client/Server Computing
Presentation transcript:

Distributed Processing and Client/Server

Distributed systems Remote computers cooperate via a network to appear as a local machine Users are given the impression that they are interacting with just one machine Spread computation and storage throughout a network of computers Applications are able to execute code on local machines and remote machines and to share data, files and other resources among these machines Attributes of distributed systems: Performance, Scalability, Connectivity, Security, Reliability, Fault tolerance

Reliability and Fault Tolerance Implemented by providing replication of resources across the system Replication Offers users increased reliability and availability over single-machine implementations Designers must provide mechanisms to ensure consistency among the state information at different machines

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

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

Generic Client/Server Environment

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

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

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

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

Classes of Client/Server Applications Host-based processing not true client/server computing traditional mainframe environment Client Server 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 Client Server Presentation Logic Application Logic Database Logic DBMS

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

Classes of Client/Server Applications Cooperative processing application processing is performed in an optimized fashion complex to set up and maintain Client Server Presentation Logic Application Logic Database Logic DBMS

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

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

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

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

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

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

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

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

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

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

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

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

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

CORBA (Common Object Request Broker Architecture) Open standard designed to enable interoperation among programs in heterogeneous as well as homogeneous systems Supports objects as parameters or return values in remote procedures during interprocess communication CORBA implementation The process on the client passes the procedure call along with the required arguments to the client stub The client stub marshals the parameters and sends the procedure call through its Object Request Broker (ORB), which communicates with the ORB on the server CORBA provides programmers language independence with the Interface Definition Language (IDL), which allows them to strictly define the procedures that can be called on the object

DCOM (Distributed Component Object Model) Designed to allow software components residing on remote computers to interact with one another As in CORBA, objects in DCOM are accessed via interfaces Unlike CORBA, however, DCOM objects may have multiple interfaces When a client requests a DCOM object from a server, the client must also request a specific interface of the object