Il modello cliente/servente per l’implementazione di applicazioni

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Laboratorio di Telematica
Socket Java Alberto Ferrari.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Elaborazione del Book Informatico
Marco Barisione I moduli Python.
Reti di computer Una rete di computer è un insieme di due o più computer in grado di trasmettere dati tra di loro. Il compito principale delle reti di.
Corso di laurea in INFORMATICA
Programmazione con socket
Introduzione ai Web Services. E' un nuovo meccanismo RPC ottimizzato per l'uso in Internet Un qualunque Client su una generica piattaforma deve poter.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Reti di Calcolatori L’interfaccia socket
1 Reti di Calcolatori Esercitazione 1 Implementazione di un superserver Unix di rete Vedi: W.R. Stevens, Unix Network Programming, Prentice Hall Copyright.
1 Reti di Calcolatori Esercitazione 4 Implementazione di TFTP in C / XDR Copyright © by D. Romagnoli & C. Salati Alma Mater Studiorum - Universita'
1 Reti di Calcolatori Esercitazione 5 Implementazione del TFTP tramite RPC Copyright © by D. Romagnoli & C. Salati Alma Mater Studiorum - Universita'
Programmazione socket
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
Silberschatz and Galvin Operating System Concepts Gestione della memoria Nella fase iniziale dello sviluppo di UNIX, gli schemi di gestione della.
Come programmare servizi di rete?
Calcolatori Elettronici
Di Del Grosso Serafina Corso di laurea specialistica in Economia Informatica Università degli studi G. DAnnunzio Pescara A.A
Remote file access sulla grid e metodi di interconnesione di rete M. Donatelli, A.Ghiselli e G.Mirabelli Infn-Grid network 24 maggio 2001.
Programmazione di rete:
I protocolli TCP/UDP prof.: Alfio Lombardo.
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
SSL (Secure Socket Layer)
Docente: Gabriele Lombardi
Il protocollo ftp.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Corso di Laurea in Ingegneria Gestionale
Reti di Calcolatori1 Il modello Client/Server La comunicazione Se sintetizziamo uno scenario completo possiamo identificare diverse interfacce.
Reti di Calcolatori1 Il modello Client/Server La comunicazione Sun RPC Possibilità di invocare una procedura non locale operazione che interessa.
JAVA E LA RETE L’architettura Java è network-ready
autore: Simone Artesino ( )
BlueMar k Sistema di Proximity Marketing con QoS ed availability Progetto per il Corso di Reti di Calcolatori LS Nicola Bonoli - 27 Giugno 2007.
Supporto in RMI per la collaborazione in rete Autore:Vincenzo Coco Matricola: Corso di Reti di Calcolatori LS 2006/2007 Docente: Antonio Corradi.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
DEIS Università di Bologna
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
I protocolli TCP/UDP prof.: Alfio Lombardo.
Elaborazioni server-side: dalle CGI al PHP
File system distribuito transazionale con replicazione
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Modulo 4 – U.D. 1 – Lez. 6 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Distributed System ( )7 TCP/IP four-layer model.
Come comunicano i processi ?
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
Politecnico di Milano © Domenico Barretta Processi concorrenti in Unix Docente Domenico Barretta Politecnico di Milano
IPC in ambiente distribuito  Caratteristiche dei sistemi distribuiti : concorrenteesecuzione concorrente tempo globalemancanza di nozione di tempo globale.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
Esercizio 1, Un server TCP a connessione multipla usa la socket library come segue: listen(sd,5); /* AL PIU’ 5 CONNESSIONI */ do { nsd = accept(sd,&(work.s),&addrlen);
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 2 - Telnet, FTP e altri Ernesto Damiani Lezione 2 – Da FTP.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 - Socket library Ernesto Damiani Lezione 3.
1 Windows Socket Programming Corso di Sistemi di Elaborazione delle Informazioni a.a 2006/2007 Autori: Alberto Colombo Fulvio Frati.
Lez. 41 Alma Mater Studiorum - Universita' di Bologna Sede di Cesena Reti di Calcolatori L’interfaccia socket Vedi: D. Comer, Internetworking con TCP/IP.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 2.
1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.
Sistemi di elaborazione dell’informazione Modulo 4 - Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 4.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Protocolli di rete. Sommario  Introduzione ai protocolli di rete  Il protocollo NetBEUI  Il protocollo AppleTalk  Il protocollo DLC  Il protocollo.
Tecnologie di Sicurezza in Internet APPLICAZIONI Commonly used proxies and SSH AA Ingegneria Informatica e dell’Automazione.
Corso di Reti di Calcolatori Interfaccia socket. [2] Introduzione La programmazione di rete è ciò che permette a due o più computer collegati da una rete.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
I socket.
Come comunicano i processi ?
Il Livello di Trasporto
Transcript della presentazione:

Il modello cliente/servente per l’implementazione di applicazioni l’interfaccia Socket per l’implementazione di applicazioni Prof. Alfio Lombardo

IL PROBLEMA DEL RENDEZ-VOUS Processo A Processo A Processo A Processo B Processo B Processo B Messaggio Messaggio

IL PROBLEMA DEL RENDEZ-VOUS Processo B Messaggio Processo A Processo A Processo B

MODELLO CLIENTE - SERVENTE Richiesta Risposta

La gestione della concorrenza nel server Cliente Remote Login Server INTERNET Cliente Cliente

Connessione 2 Connessione 1 Richiesta Risposta CLIENTE 2 SERVENTE MASTER SERVENTE Connessione 2 CLIENTE 1 CLIENTE 1 Connessione 1 SERVENTE SLAVE 1 Richiesta Risposta

I Scenario: Ack Write LA GESTIONE DEI CRASH NEL SERVER Richiesta SERVENTE CLIENTE Richiesta Risposta

I Scenario: Ack Write No Transaction Richiesta Risposta CLIENTE SERVENTE CLIENTE Richiesta Risposta

II Scenario Write Ack SERVENTE CLIENTE Richiesta Risposta

? II Scenario Write Ack Duplicate Transaction Richiesta Richiesta CLIENTE SERVENTE Richiesta Richiesta ? Risposta

Ripristino dei guasti nel Server Strategia del Servente Strategia del Cliente Ack Write Write Ack Ritrasmetti in S0 AF(W) AWF F(AW) F(WA) WAF WF(A) Ritrasmetti in S1 NO OK DUP DUP OK NO Ritrasmetti in S0 Ritrasmetti OK DUP Non Ritrasmetti NO S1 = stato di attesa della conferma

POLITICHE DI GESTIONE DEI GUASTI NEL SERVER At most once At least once

Kernel del Sistema Operativo contenente il L’interfaccia socket AP1 AP2 AP3 Funzioni di sistema Kernel del Sistema Operativo contenente il software TCP/UDP

Il concetto di Socket Definizione: Generalizzazione del meccanismo di accesso ai file in Unix che fornisce un punto di accesso per la comunicazione

Un socket identifica localmente il canale Il “canale” di comunicazione tra due Applicativi è rappresentato da: Client port Addr, IP Client Addr, IP Server Addr, Server port Addr Appl. process Appl. process Un socket identifica localmente il canale tra due Applicativi

Modalita’ c.o.: Servente socket = socket(family, type, protocol) family ::= {PF_INET, PF_APPLETALK, PF_PUP, ...} type::= {SOCK_STREAM, SOCK_DGRAM, …..} Socket( ) bind (socket,localaddr,addrlen) Bind( ) Listen( ) listen(socket,qlength) Accept( ) newsocket accept(socket,addr,addrlen) Fork( ) fork( ) master slave close(socket) Close( ) recv(sock,*buf,length,flags) Recv( ) send(sock,*buf, length,flags) Send( )

Modalita’ c.o.: Cliente Socket( ) int connect(socket,destaddr,addrlength ) Connect( ) Send( ) Recv( )

Servente Cliente Socket( ) Bind( ) Listen( ) Accept( ) Fork( ) Close( ) Recv( ) Send( ) Cliente Socket( ) Connect( ) Send( ) Recv( ) slave master

Modalita’ c.l. Servente Cliente Socket( ) Socket( ) Bind( ) Bind( ) RecvFrom( ) int recvfrom(sock,*buf, length, flags,sourceaddr,addrlength ) RecvFrom( ) SendTo( ) RecvFrom( ) int sendto(sock,*buf, length, flags,destaddr,addrlength ) SendTo( )

Inter-Process Communication Esercizio consigliato: IPC Macrolezione 05 (ipermediale) Inter-Process Communication