Client server computing - PowerPoint PPT Presentation

About This Presentation
Title:

Client server computing

Description:

Title: AI Author: Last modified by: os Created Date: 11/3/2000 6:26:37 AM Document presentation format: – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 10
Provided by: 66459
Category:

less

Transcript and Presenter's Notes

Title: Client server computing


1
Client server computing
  • Programming Language Design and Implementation
    (4th Edition)
  • by T. Pratt and M. Zelkowitz
  • Prentice Hall, 2001
  • Section 11.4

2
Persistent systems
  • Traditional software Data stored outside of
    program
  • Persistent systems Data part of program
  • Execution never stops
  • Transaction systems

Program
Program
3
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.

4
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

5
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

6
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

7
Client-server mediator architecture
8
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

9
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.
Write a Comment
User Comments (0)
About PowerShow.com