ARCHITETCTURES of COMPUTERS SYSTEMS

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Distributed Processing, Client/Server and Clusters
CCNA – Network Fundamentals
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Distributed Processing, Client/Server, and Clusters
Slide 1 Client / Server Paradigm. Slide 2 Outline: Client / Server Paradigm Client / Server Model of Interaction Server Design Issues C/ S Points of Interaction.
Technical Architectures
CS335 Networking & Network Administration Tuesday, May 25, 2010.
Distributed Computing. Spring 2002Computer Networks Applications Networking Master-slave: A large, central computer controls small I/O devices Peer-to-peer.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Chapter 25 Internet Routing Internetworking Technology How routing tables are built initially How routing software updates the tables as needed. Propagation.
What Is TCP/IP? The large collection of networking protocols and services called TCP/IP denotes far more than the combination of the two key protocols.
Distributed Systems: Client/Server Computing
ARCHITETCTURES of COMPUTERS SYSTEMS
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Chapter Three Network Protocols By JD McGuire ARP Address Resolution Protocol Address Resolution Protocol The core protocol in the TCP/IP suite that.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Copyright © Curt Hill, Client – Server Computing An important paradigm.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
The Socket Interface Chapter 21. Application Program Interface (API) Interface used between application programs and TCP/IP protocols Interface used between.
Course ILT Basic networking concepts Unit objectives Compare various types of networks Discuss types of servers Discuss LAN topologies Discuss planning.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
The Client Server Model And Software Design
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
File Transfer And Access (FTP, TFTP, NFS). Remote File Access, Transfer and Storage Networks For different goals variety of approaches to remote file.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Chapter 7: Transport Layer
ARCHITETCTURES of COMPUTERS SYSTEMS
Business System Development
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
Module 8: Networking Services
Chapter 3 Internet Applications and Network Programming
Principles of Network Applications
Network Operating Systems Examples
Module 4 Remote Login.
MVC and other n-tier Architectures
Software Design and Architecture
The Client/Server Database Environment
System Architecture & Hardware Configurations
CHAPTER 3 Architectures for Distributed Systems
Understanding the OSI Reference Model
Data Networking Fundamentals
Introduction to client/server architecture
File Transfer and access
#01 Client/Server Computing
NET323 D: Network Protocols
Client-Server Interaction
Ch > 28.4.
An Introduction to Computer Networking
Application layer Lecture 7.
Introduction to Local Area Networks
NET323 D: Network Protocols
Process-to-Process Delivery:
2° cycle degree programme (lm) in Telecommunications Engineering
Lecture 2: Overview of TCP/IP protocol
Network+ Guide to Networks, Fourth Edition
Introduction and Overview
Basic organizations and memories in distributed computer systems
#01 Client/Server Computing
Presentation transcript:

ARCHITETCTURES of COMPUTERS SYSTEMS

Open Systems Distributed systems consisting of eterogenous hardware and software components from different system vendors. Unlike a propritary solution a open distributed system can be realized by using components from the different vendors. Utilization of standards (hardware, software) Computer firms are specialized in different kind of computer, PC, servers, workstations. The OsS or data base systems are generally different from firm to firm.This is a very big problem because the communication among computers of a distributed system must be very simple and that it is possible only if standard are used.

Open systems are computer systems that provide some combination of interoperability, portability, and open standard software. The term was popularized in the early 1980s, mainly to describe systems based on UNIX, especially in contrast to the more complex mainframes and minicomputers in use at that time. Unlike older legacy system, the newer generation of Unix systems featured standardized programming interfaces and peripheral interconnects; third party development of hardware and software was encouraged. A significant departure from the norm of the time, which saw companies such as Amdhal and Hitachi going to court for the right to sell systems and peripherals that were compatible with IBM's mainframes.

Standard A technical standard is an established norm or requirement. It is usually a formal document that establishes uniform engineering or technical criteria, methods, processes and practices. Standard de jure: Hardware or software that is endorsed by a standards organization. Standard de facto: Hardware or software that is widely used, but not endorsed by a standards organization The standard concept is relative to the functional aspects of a component; the component may be realized in different ways.

CLIENT-SERVER MODEL Coordination model in a distributed system. It defines: Which process may begin the interaction Which process may answer How error conditions may be managed. Now, we introduce the client-server model. The problem in a distributed system is the coordination model. That is, it must be specified

The functionality an internet provides Internet provides a general communication infrastructure without specifyng which services will be offered or how the services will be used. Such issues are left to application software and users. Although it provides the ability to communicate, the internet does not specify wich computers interacts or what these computers do with the communication service

Although an Internet system provides a basic communication service, the protocol software cannot initiate control with, or accept contact from, a remote computer. Of course, two application involved in a communication cannot both wait for a message to arrive. One application must actively initiate interaction while the other application passively waits. Most network applications use a form of communication known as the client –server paradigm. A server application waits passively for contact, while a client application initiates communication actively. TCP/IP is only a tool used to transmit bytes from a node to an other node, to establish a connection between two nodes

Characteristics of clients and servers Client software: Is an arbitrary application program that becomes a client temporarily when remote access is needed, but also performs other computation locally. Is invoked directly by a user and executes only for a session. Runs locally on a user personal computer. Actively iniziates contact with a server. Can access multiple services as needed, but actively contacts one remote server at a time. Does not require special hardware or a sophisticated operating system.

Characteristics of clients and servers Server software is a special purpose privileged program dedicated to providing one service, but can handle multiple remote clients at the same time. runs in a shared computer (i.e. not on a user personal computer). waits passively for contact from arbitrary remote clients. accepts contacts from arbitrary clients, but offers a single service. requires powerful hardware and a sophisticated operating systems.

Server programs and server-class computers Formally, the term server refers to a program that waits passively for communication and not to the computer on which it executes. However, when a computer is dedicated to running one or many server programs ,it is sometimes called a server.

Application server Kinds of server services: mail server file server terminal server name server authentication server gateway server administration server ………….

A server must guarantee: authentication: client identity verification authorization: verification of the possibility for a client to access to a particular service data security: garantee that specific data cannot be read and/or modified

Information can flow in either or both directions between a client and a server. Typically, a client sends a request to a server, and the server returns a response to the client. In some cases, a client sends a series of requests and the server issues a series of responses (e.g., a data base server can allow to a user to look up more than one item at a time) In other cases, the server provides continous output without any request . As soon as the client contacts the server, the server begins sending data (e.g. local weather server might send continous weather reports with updated temparature and barometric pressure.)

Characteristics of a client-server architecture Client and server machines need different amount of hardware and software resources. Client and server machines may belong to different vendors. orizzontal scalability (increase of the client machines) and vertical scalability (migration to a more powerful server or to a multiserver solution) A client or server application interacts directly with a transport layer protocol to establish communication and to send or receive information. The transport protocol then uses lower layer protocols to send or receive individual messages. Thus, a computer needs a complete stack of protocols to run either a client or a server. 1. In the case of the client the hardware is represented by a PC and the OS is normally very simple. In the case of the server the computer is a server, that is a medium computer characterized by I/O devices, mass storage (disks). 3.A client server architecture is characterized by two properties:

Identifying a particular service A single server-class computer can offer multiple services at the same time; a separate server program is needed for each service. Identifyng a particular service TCP uses 16-bit integer values (protocol port numbers) to identify services, and assign a unique port number to each service. A client specifies the protocol port number of the desired service when sending a request.

Dynamic server creation Concurrent execution is fundamental to servers because concurrency permits multiple clients to obtain a service without having to wait for the server to finish previous requests. In a concurrent server, the main server thread creats a new service thread to handle each client request that arrives. If multiple copies of a server exist, how can a client interact with the correct copy?How can an incoming request to be passed to the correct copy of a server? .

Dynamic server creation Transport protocol assigns an identifier to each client as well as to each service. Protocol software on the server’s machine uses the combination of client and server identifiers to choose the correct copy of a concurrent server. .

Example: TCP connection TCP requires each client to choose a local port number that is not assigned to any service. When it sents a TCP segment, the client must place the local port number in the SOURCE PORT field and the server port number in the DESTINATION PORT field. On the server’s computer TCP uses a combination of source and detination port numbers (as well as client and server IP addresses) to choose the correct copy of a concurrent server

Complex Client-Server Interactions A client application is not restricted to accessing a single service. The client may contact a different server (perhaps on a different computer) for each service. . A server for a service can became a client of another server. For example, a file server that needs to record the time that a file was accessed might become a client of a time server. While it is handling a request for a file, the file server sends a request to a time server, waits for the response, then continues handlig the file request. In the following we will explain some complex client- server interactions. In the simple interaction a client sends a request for a particular service and the waits for the response

Interactions and circular dependencies Dependencies among a pair of servers are easy to spot and avoid, a larger set of dependencies may not be obvious. Immagine a dependency cycle that includes a dozen servers, each oerating on a separate computer. If each server is maintained by a separate programmer, the dependencies among them might be difficult to identify.

STATELESS Vs STATEFULL SERVERS State information: information that a server maintains about the interaction state with the clients. The information state provides an incremental answer to a new request. The information state can increase the system efficiency, but problem may arise in the case of duplicated messages , delays and messages arrived out of order.

File server - remote access by clients File server - remote access by clients . Two kinds of requests : Reading data from the file and writing data on the file. Stateless server – It does not mantain informations about the transactions. Each request must specify the name of the file, the position in the file from which to extract or to insert information, the number of bytes to insert or extract. Statefull server – The server mantains the state information about the files that accessed the server

Statefull server The server sends to the client the identifier of the previously open file. The client utilizes this identifier for the following requests. identifier file name current position 1 test.program.c 0 2 tcp.book.doc 456 3 dept.budget.txt 38 4 tetris.exe 128

Statefull server Advantages: higher efficiency, incremental operations, lower dimension messages. Problems: comand duplication, delays, messages out of order, server crash (open files are not correctly closed).

Classification of client server structures In a client/server application three functions are present: user interface application programs data management Following the assignment of functions among client and server we have three possible types of structures: - host-based processing - server based processing - cooperative processing - client based processing

Host-based processing client server Presentation logic Application logic Database logic DBMS Host-based processing Presentation logic Application logic Database logic DBMS Server-based processing

Host- based processing is not true client server computing Host- based processing is not true client server computing. It refers to the traditional mainframe environment in which all or virtually all of the processing is done on a central host. The user’s station is generally limited to the role of a terminal emulator. Server-based processing. The client is principally responsible for providing a graphical user interface, while virtually all the processing is done on the server.

Cooperative processing client server Presentation logic Application logic Application logic Database logic DBMS Cooperative processing Presentation logic Application logic Database logic Database Logic DBMS Client-based processing

Client-based processing Client-based processing. Virtually all application processing may be done at the client, with the exception of database logic functions that are best performed at the server. This configuration is perahps the most common client server approach in current use. Cooperative processing. That application processing is performed in an optimized fashion, taking advantage of the strenghts of both client and server machines and of distribution of data.

Three-level Client/Server Architecture The traditional client/server architecture involves two levels, a client level and a server level. A three level architecture is constituted by three types of machines: a user machine, a middle-level server and a back end server. The user machine (client) is typically a thin client. The middle-level server is the application server. The back-end server is the data server.

Legacy system A “hold” system (mainframe) which has not been removed after the installation of a new system.

COOKIES Information records that the server sends to the client together with the service answer. A cookie contains user informations informations on tha visited pages The following requests of the client to the server require the transmission of the relative cookies.

Cookies The server answer to a request of a client contains: Set-cookie: user identification number created by the server web Set-cookie: 1678453. The client inserts this information in a cookie file . The information includes the host name and the identification number of the client. In the following requests the client inserts the previous information . The server does not know the user name, but it is able to identify the client.

The web servers use cookies for the following objectives: To eliminate the need to require user name and password in order to authenticate the client. To store the user preferences To keep track of the objects that a client is buying on the web site.