PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, 2000 1 PZ13B - Client server computing Programming Language.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Database Architectures and the Web
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Distributed Processing, Client/Server, and Clusters
Chapter 6: Client/Server and Intranet Computing
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
PZ11B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ11B - Parallel execution Programming Language Design.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
PZ13A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13A - Processor design Programming Language Design.
Tutorials 2 A programmer can use two approaches when designing a distributed application. Describe what are they? Communication-Oriented Design Begin with.
Distributed Computing. Spring 2002Computer Networks Applications Networking Master-slave: A large, central computer controls small I/O devices Peer-to-peer.
Distributed Database Management Systems
Middleware Technologies compiled by: Thomas M. Cosley.
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 9: Moving to Design
DISTRIBUTED COMPUTING
Introduction to client/server architecture
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
Ahmed Nabizadeh. A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Advances in Language Design
Chapter 9 Elements of Systems Design
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
OS2- Sem ; R. Jalili Introduction Chapter 1.
Kyung Hee University 1/41 Introduction Chapter 1.
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
© Lethbridge/Laganière 2005 Chap. 3: Basing Development on Reusable Technology The Client-Server Architecture A distributed system is a system in.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Architecture Models. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Distributed Computing A Programmer’s Perspective.
PZ12B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ12B - Synchronization and semaphores Programming Language.
Definition of a Distributed System (1) A distributed system is: A collection of independent computers that appears to its users as a single coherent system.
Web Server.
1 Parallel execution Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Database Management System Architecture 2004, Spring Pusan National University.
9 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
Database Architectures and the Web
README FILE Programming Languages Design and Implementation
Definition of Distributed System
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Database Architectures and the Web
#01 Client/Server Computing
Chapter 16: Distributed System Structures
Ch > 28.4.
Advanced Operating Systems
Chapter 17: Database System Architectures
Chapter 17: Client/Server Computing
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Database System Architectures
Parallel execution Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Processor design Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.3.
#01 Client/Server Computing
Presentation transcript:

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ13B - Client server computing Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section 11.4

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Persistent systems Traditional software: Data stored outside of program Persistent systems: Data part of program Execution never stops Transaction systems Program

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Development of persistent languages 1. Data: Transient data: For life of one execution Persistent data: Exists across executions 2. Need a mechanism to indicate an object is persistent approach is to assume all data are transient and indicate which objects are persistent 3. Need a mechanism to address a persistent object The language can develop its own model of persistent storage 4. Need to synchronize simultaneous access to an individual persistent object Use of semaphores 5. Need to check type compatibility of persistent objects Because of the multiple programs that access persistent data, name equivalence is difficult to use, structural equivalence is the preferred method in persistent languages.

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Client-server computing Evolution of computer technology: 1960s: Standalone mainframes. As machine speed increased, use of multiprogramming and time sharing 1970s: Development of less expensive personal computers 1980s: As personal computers evolved, need for centralized resources to collect and store data (e.g., to corporate database) Need for local area networks (LANs) Development of the ARPANET and Internet Need for communication protocols between computers Need for computing models to adapt to this 1990s: Interconnection and globalization of computing The World wide web and global access for all

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Loosely coupled systems Each processor has its own memory and disk storage Communication lines to other processors to transfer information Leads to millisecond times to access data Synchronization harder - Machine communicating with may not be accessible on network because of a variety of reasons. Systems developed on such architectures are called distributed systems

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Distributed systems Distributed systems can be centralized, where a single processor does the scheduling and informs the other machines as to the tasks to execute When completed, the assigned processor will indicate that it is ready to do another task distributed or peer-to-peer, where each machine is an equal and the process of scheduling is spread among all of the machines - one processor broadcasts a message to all the processors, and an inactive processor could respond with the message “I'll do it.” - Alternatively, each machine in the network will individually invoke a task on a specified machine elsewhere in the network. In this way, work gradually gets propagated around the network

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Client-server mediator architecture

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Client-server mediator architecture Client machine: Interacts with user Has protocol to communicate with server Server: Decides where data is located Accesses data Mediator is software that uses encoded knowledge about sets of data to create information for a higher class of application. Issues: May be communicating with multiple clients simultaneously –Need to keep each such transaction separate –Multiple local address spaces in server

PZ13B Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, Impact on language design Lack of a global data store for the program. Both the client and server only have limited access to the total information content of the program. Programs need to be divided into separate pieces to effectively compute an answer (e.g., tasks). The Remote Procedure Call (RPC)is another communication method. An RPC syntactically looks like a subprogram call except that the operating system will enact a program possibly on another processor. RPCs are related to message communication and often are implemented as a send-receive message strategy –client sends an RPC message to a server –server waits on a receive for the message –then responds back to the client in a similar manner.