Struttura della lezione. Lezione 9 Modelli e architetture per il calcolo distribuito. I limiti del middleware. Gli strati di software



Documenti analoghi
Laboratorio di Informatica I

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti

3: Modelli Architetturali

Lezione 9 Modelli e architetture per il calcolo distribuito

Struttura della lezione. Lezione 9 Modelli e architetture per il calcolo distribuito. Gli strati di software. I limiti del middleware

ASD: Sistemi Distribuiti (Prof. Scarano) 22/03/2002

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Architetture Informatiche. Dal Mainframe al Personal Computer

Architetture Informatiche. Dal Mainframe al Personal Computer

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica.

@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita

Reti di Telecomunicazione Lezione 6

Come funziona internet

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Sistemi informativi secondo prospettive combinate

Progetto di Applicazioni Software

Siti web centrati sui dati (Data-centric web applications)

ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura client-server

Progetto di Applicazioni Software

Applicazioni web centrati sui dati (Data-centric web applications)

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

Componenti Web: client-side e server-side

FTP. Appunti a cura del prof. ing. Mario Catalano

RETI INFORMATICHE Client-Server e reti paritetiche

Lo scenario: la definizione di Internet

Reti di Calcolatori: una LAN

Sistemi Operativi. Conclusioni e nuove frontiere

Concetti base. Impianti Informatici. Web application

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Architettura del calcolatore

Protocolli e architetture per WIS

Inizializzazione degli Host. BOOTP e DHCP

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Comprendere cosa è Internet e sapere quali sono i suoi principali impieghi. 25/09/2011 prof. Antonio Santoro

Tecnologia dei Sistemi Informativi. architettura s.i. 1

Il Software. Il software del PC. Il BIOS

Scenario di Progettazione

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Il Sistema Operativo (1)

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Base di dati e sistemi informativi

Introduzione alla Virtualizzazione

Introduzione all elaborazione di database nel Web

Dal protocollo IP ai livelli superiori

ESERCITAZIONE Semplice creazione di un sito Internet

Le Reti Informatiche

Protocolli applicativi: FTP

Il World Wide Web. Il Servizio World Wide Web (WWW) WWW WWW WWW WWW. Storia WWW: obbiettivi WWW: tecnologie Le Applicazioni Scenari Futuri.

Sistemi operativi e reti A.A Lezione 2

Lezione n 1! Introduzione"

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

1. BASI DI DATI: GENERALITÀ

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Sistemi Distribuiti Introduzione al corso

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Laboratorio di Informatica

C Cloud computing Cloud storage. Prof. Maurizio Naldi

Distributed Training Facility

TCP/IP: INDIRIZZI IP SIMBOLICI

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Una piattaforma per la negoziazione di servizi business to business attraverso la rete Internet

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Sistemi centralizzati e distribuiti

Standard di comunicazione

Lezione 1 Introduzione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

STRUTTURE DEI SISTEMI DI CALCOLO

B14 DMS IT Governance Business Competence

Introduzione alle applicazioni di rete

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Reti di Telecomunicazione Lezione 7

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

esales Forza Ordini per Abbigliamento

Introduzione al Web. dott. Andrea Mazzini

Fatti Raggiungere dal tuo Computer!!

Corso di Informatica

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Firewall applicativo per la protezione di portali intranet/extranet

Realizzazione di un sistema di logging prototipale per la piattaforma

Progetto: Servizio location based per la ricerca di punti di interesse

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Una architettura peer-topeer per la visualizzazione 3D distribuita

Database. Si ringrazia Marco Bertini per le slides

TERM TALK. software per la raccolta dati

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

ORACOLO Gestione questionari.

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Il Web Server e il protocollo HTTP

Corso di Informatica Modulo T3 B1 Programmazione web

Transcript:

Struttura della lezione Lezione 9 Modelli e architetture per il calcolo distribuito Vittorio Scarano Corso di Programmazione Distribuita Laurea di I livello in Informatica Università degli Studi di Salerno Struttura a livelli: il middleware Crescita dei servizi e del valore di un sistema distribuito Una presentazione di architetture distribuite Elementi architetturali e componenti logiche Valutazione delle componenti logiche: Una analisi delle architetture 2 Gli strati di software I limiti del middleware La piattaforma eterogenea Es. Wintel, Intelx86/Linux, Sparc/Solaris, PowerPc/MaxOS Middleware nasconde l eterogeneità offre un modello di programmazione offre servizi ad alto livello (building-blocks) applications & s middleware sistema operativo computer & network hardware piattaforma 3 In generale, ci sono aspetti del sistema distribuito che vanno trattati a livello application End-to-End argument (Saltzer, Reed, Clarke) Alcune funzioni legate alla comunicazione possono essere implementate completamente ed affidabilmente solo con la conoscenza e l aiuto delle applicazioni che si trovano agli end-point del sistema di comunicazione La conseguenza: fornire le funzioni da parte del sistema di comunicazione non è buona pratica introdurre completamente la funzione nello strato di comunicazione anche se può essere parzialmente implementata per ragioni di efficienza 4 Il problema dell End-to-end negli oggetti distribuiti La differenza tra oggetti nello stesso processo oggetti in processi differenti Il principio dell End-to-End viene espanso (e confermato) dagli ambienti ad oggetti distribuiti una nota di Waldo (ed altri) nel campo del calcolo distribuito che vedremo in seguito a proposito di RMI oggetto processo Un esempio: file-transfer da A verso B I passi coinvolti: A: il programma di FT usa il file system per leggere il file A: il programma di FT chiede al sistema di comunicazione di trasmettere il file, dividendolo in pacchetti La rete muove i pacchetti da A a B B: il sistema di comunicazione rimuove i pacchetti e li passa al programma di file transfer B: il programma di FT scrive i dati ricevuti sul proprio file system 5 6

I possibili problemi Le possibili contromisure 1. il file originariamente scritto correttamente viene letto in maniera errata da A 2. il software del file system, il programma di FT, o il sistema di comunicazione può fare un errore nel copiare dati sul buffer (sia su A che su B) 3. il processore o la memoria possono avere un errore (transiente) sia su A che su B 4. il sistema di comunicazione può perdere bit/pacchetti 5. gli host possono andare in crash Rinforzare tutti i passi il passo 2 equivale a scrivere programmi corretti riconducibile al problema della fermata della Macchina di Turing Rendere bassa la probabilità di errore (in ogni passo) e reiterare (forza bruta) costoso End-to-End check and retry checksum calcolata dalle applicazioni eventuale retry 7 8 Un esempio reale all MIT Una linea-guida.. ma con buon senso Reti locali connesse da gateway che usavano checksum sulla trasmissione I programmatori assumevano trasmissioni affidabili ma i dati non erano protetti durante la memorizzazione temporanea nei gateway Un errore di copia da un input buffer ad un output buffer in un gateway : relativamente poco frequente: 1 byte su 1 milione di byte ha corrotto diversi file nell intero sistema richiedendo un check manuale (end-to-end!) 9 E semplicistico affermare che gli strati bassi della rete non devono avere alcun ruolo nella affidabilità sono in grado di migliorare notevolmente la efficienza Nel caso del File Transfer limitano le ritrasmissioni richieste dagli end-points Comunque non realizzano la perfetta affidabilità di un sistema distribuito 10 Altre linee-guida simili Struttura della lezione Architetture RISC ridurre le istruzioni fornite dall hardware e spostarne la responsabilità verso gli strati superiori Il successo di Internet (TCP/IP) fosse stato progettato per circuiti virtuali (come lo erano SNA e TYMNET, altre reti degli anni 80) non avrebbe potuto supportare i protocolli request-response (tipo HTTP..!) i milioni di Internet Service Providers. Struttura a livelli: il middleware Crescita dei servizi e del valore di un sistema distribuito Una presentazione di architetture distribuite Elementi architetturali e componenti logiche Valutazione delle componenti logiche: Una analisi delle architetture 11 12

Le opzioni offerte dalle reti Il valore aggiunto di una rete di N utenti Ricevere informazioni Permettere delle transazioni Affiliare: stabilire e mantenere gruppi Legge di Sarnoff: il valore aggiunto di una rete è: la connettività potenziale offerta al singolo utente che cresce con il numero di offerte possibili crescita lineare in N Legge di Metcalfe: il valore aggiunto di una rete è: il numero di transazioni potenziali che vengono permesse agli N utenti quadratico in N 13 14 La legge di Sarnoff: aste online La legge di Metcalfe: aste online Www.OnSale.com: prima host per aste online Numero fissato di prodotti Numero variabile di utenti Totale del Valore ~ N www.onsale.com Annunci messi a disposizione dagli utenti classifieds.yahoo.com Sia la offerta che la domanda dipendono dal numero di utenti Valore ~ N 2 Classifieds.yahoo.com 15 16 La collaborazione su sistemi distribuiti: la legge di Reed Un esempio della legge di Reed Www.eBay.com: un mercato per aste online Ogni sottoinsieme di utenti può formare una asta Valore totale ~ 2 N Beanies www.ebay.com Pez 17 18

Le leggi di crescita dei sistemi distribuiti La combinazione delle leggi Sarnoff Metcalfe Reed Reed Broadcast Network Community Valore N N 2 2 2 N Esempi Wire Wire, Email, Email, AOL AOL Chat, Chat, OnSale Classifieds ebay ebay Connessione N+M N+M N 2 2 +M +M 2 2 +2NM +2NM 2 N X2 X2 M Valore Totale Valore aggiunto Valore totale = a N + b N 2 + c 2 N N a N + b N 2 + c 2 N a N + b N 2 a N 19 Tipicamente a >> b >> c 20 Una conseguenza Struttura della lezione All aumentare della dimensione, si entra in nuovi mercati con nuove possibilità e nuove richieste di servizi per i sistemi distribuiti Valore Miglior contenuto Regioni di valore dominante Migliori Transazioni Migliori facilities per gruppi N N 2 2 N Struttura a livelli: il middleware Crescita dei servizi e del valore di un sistema distribuito Una presentazione di architetture distribuite Elementi architetturali e componenti logiche Valutazione delle componenti logiche: Una analisi delle architetture N 21 22 Modello Client Server Variazioni al Client-Server Modello più comune Il Client effettua una richiesta invocazione Il server invia la risposta risultato Un server può agire anche da request response server server computer Servizi replicati server server server proxy server server Proxy server 23 24

Il modello Peer Process Oggetti mobili Tutti i processi hanno un ruolo simmetrico Riduce ritardo dovuto a colli di bottiglia sul server application coordination code application coordination code application coordination code Tra i più comuni Applet Gli applet vengono scaricati effettuano servizi localmente Agenti mobili hanno una propria politica di gestione, che seguono indipendentemente Problemi di sicurezza applet server applet 25 26 NOMAD Le applicazioni future Un esempio di Spontaneous Network Servizi implementati da diversi oggetti mobili Risorse fornite da una federazione di depositi necessario un protocollodi negoziazionedelle risorse Servizi di location forniscono la localizzazione della applicazione Trasparenza della mobilità depot location depot depot federation 27 Internet Discovery gateway TV/PC Hotel wireless network Music Laptop PDA Alarm Camera Guests devices 28 Edge-computing: una evoluzione del WWW HTTP: HyperText Transfer protocol Il WWW consiste di tre fasi: identificare la informazione richiesta dall utente richiedere la informazione al server visualizzare la informazione sul browser dell utente A questo scopo ci sono 3 protocolli: Uniform Resource Locator (URL) o Uniform Resource Identifier (URI) HyperText Transfer Protocol (HTTP) HyperText Markup Language (HTML) Da HTTP 0.9 (CERN) a HTTP 1.0 ad HTTP 1.1 Un protocollo richiesta/risposta Richiesta HTTP: Metodo della richiesta, URI, versione Header Eventuali dati da inviare (POST, PUT, etc.) Risposta HTTP: Linea di status, codice di errore Header Dati 29 30

HTTP e la catena browser/server Nella catena tra browser e server si possono inserire degli intermediari Proxy che possono modificare la richiesta/risposta Gateway che possono modificare in un altro protocollo le richieste Tunnel semplici relay che non modificano alcuna parte della richiesta/risposta 31 Il flusso dei dati su WWW (a): architettura -server Nel progetto originale di Tim Berners-Lee Tipica interazione statica Anni 91-92 32 Il flusso dei dati su WWW (b): computazione lato server Il flusso dei dati su WWW (c) : le form Computazione server-side Common Gateway Interface Anni 92-93 33 Le form: inserimento di dati sulla richiesta HTTP HTML 2.0 Anni 93-94 34 Il flusso dei dati su WWW (d): computazione lato Il flusso dei dati su WWW (e): architettura a 3 livelli (3-tier) Contenuti eseguibili Fat Altri linguaggi di scripting Anni 95-96 35 Separa la logica della applicazione dalla presentazione Anni 96-97 Application server Data repository 36

Il flusso dei dati su WWW (f): computazione lato proxy Computazione indipendente dal server e dal Intermediari: Entità software che modificano flussi di informazioni Application server Data repository 37 I Proxy nel WWW Sorti per necessità All aumentare del traffico è necessario: Caching (Squid) Security (firewalls) All aumentare dei servizi è necessario : Integrazione Personalizzazione ed adattività All aumentare della eterogeneità dei terminali è necessario: Transcoding All aumentare del business è necessario: Un campo di intervento per l azienda: Se non hai server (Oracle, etc.) e non hai browser (Microsoft) allora intervieni sui proxy (IBM) o sulla distribuzione dei contenuti (Akamai) 38 Content Distribution Network Da Client/Server-side Computing Una rete dedicata di server, distribuita geograficamente, che può essere usata da Web Publisher per distribuire più efficientemente il proprio contenuto Alcune tecniche utilizzate: push del contenuto per portarlo più vicino all end-user load balancingglobale sulla rete dedicata di server aggiornamento dello stato delle cache Analisi di marketing efficienti ed affidabili tramite i file di log del traffico Un esempio: Akamai 39 40.. all Edge-side Computing Proxy-based Middleware CDN Internet Servizi sull Edge aumenta le funzionalità di servizi distribuiti permettere di assemblare servizi distribuiti 41 Requisiti per le architetture distribuite (1) Condivisione (sharing) file (anni 60) cicli macchina (anni 70-80) componenti di rete (stampanti, dischi, etc) (anni 90) Prestazioni tempo di risposta percepito dall utente originato da carico del server/rete ma anche dalle componenti sw throughput numero di task eseguiti per unità di tempo bilanciamento del carico 42

Requisiti per le architetture distribuite (2) Requisiti per le architetture distribuite (3) Quality of Service (QoS) una volta che si assicura la funzionalità del sistema valuta la qualità del sistema nel fornire servizi alcune proprietà del QoS affidabilità (a malfunzionamenti) sicurezza prestazioni adattabilità (a modifiche di configurazioni/risorse disponibili) tipica di applicazioni multimediali servire un filmato consiste nella trasmissione di time-critical data Caching e replication per incrementare le prestazioni di servizi distribuiti Affidabilità globale correttezza, sicurezza e fault tolerance 43 44 Struttura della lezione La architettura di un sistema informativo Struttura a livelli: il middleware Crescita dei servizi e del valore di un sistema distribuito Una presentazione di architetture distribuite Elementi architetturali e componenti logiche Valutazione delle componenti logiche: Una analisi delle architetture La architettura di un Sistema Informativo: descrive come componenti hardware e software vengono usati per rispondere ai requisiti organizzativi Architettura (standard IEEE 1471): La organizzazione di un sistema rappresentato dai suoi componenti, dalle relazioni tra loro e l ambiente, dai principi che guidano il progetto e la evoluzione del sistema 45 46 Una architettura di base Alcuni commenti Client Client utilizzata direttamente dall utente, genera la richiesta Server contiene le risorse da accedere (dati/programmi) Network assicura la connessione Network Server Client Network Client/Server sono spesso ruoli dinamici all interno dello stesso sistema, possono scambiarsi i ruoli Esempi: una connessione telefonica/chat 1-to-1 concatenazione di sistemi /server Server 47 48

Componenti logiche di una architettura Le componenti: (1) Interfaccia utente Caratterizzate dagli aspetti funzionali rispetto alla localizzazione fisica centrali per la progettazione e manutenzione Componenti di particolare rilievo: la interfaccia utente la gestione dei dati la computazione Direttamente acceduta dall utente (front-end) per l utente l interfaccia è il sistema La evoluzione: Terminali stupidi (dumb) tastiera, video, alfanumerico X-terminal grafica Personal Computers Network Computer boot e S.O. caricato da rete, potenzialità da PC 49 50 Valutazione della interfacce utente Le componenti: (2) Gestione dei dati Costo HW Addestr. Input Output Altro Terminali basso alto tastiera testo stupidi tastiera PC PC medio-alto basso grafico Standard SW e mouse tastiera X-terminals medio medio e mouse grafico Network tastiera Standard SW medio basso grafico Computers e mouse (con server) 51 Memorizzazione e reperimento di dati (back -end) La evoluzione: flat file non permette l uso di meta-dati (per la descrizione) non permette di correlare dati in un file ad altri dati database relazionali organizzati in tabelle accesso concorrente efficiente (lockal record) Standard Query Language memorizzazione di oggetti come BLOB (binarylargeobjects) ma non di classi database ad oggetti 52 Valutazione della gestione dei dati Le componenti: (3) Computazione Indipendenza Condivisione Standard dei dati dei dati language Flat File No No No No No Database relazionali Si Si Si Si SQL Database Obj. Orient. Si Si Si Si SQL-3 (?) (?) Elaborazione dei dati 3 parametri: allocazione di una o più CPU possibile un uso limitato della CPU del /terminale linguaggio portabile/non portabile facilita la migrazione e l upgrade allocazione processi statica/dinamica agenti: codice che può migrare operando laddove risulta più efficiente 53 54

Architetture tradizionali Architettura basata su mainframe Modelli di computazione assestati Due architetture: architettura basata su mainframe anni 60-70 architettura file-server anni 80 La architettura file-server ancora in uso gestione dati interfaccia utente 55 56 Architettura basata su mainframe Architettura a mainframe: valutazione Modello: smart server / dumb terminal Componenti logiche (interfaccia utente, gestione dei dati, computazione) localizzate totalmente sul server Alto costo di investimento/gestione Scalabilità possibile all interno delle famiglie di sistemi (IBM 360, Digital VAX) 57 Componente Caratteristica Server HW Mainframe/ minicomputer Client HW Terminali stupidi Interf. Utente Tastiera, alfanumerico Gestione dei dati Flat files Computazione COBOL (non portabile) Costo medio-alto Affidabilità Sicurezza Scalabilità Flessibilità bassa 58 Architettura file-server Architettura file-server Dati interfaccia utente gestione dati 59 Con postazioni potenti (PC) il server offre solamente un repository centralizzato di dati Modello: dumb server / smart terminal Componenti logiche (interfaccia utente, gestione dei dati, computazione) localizzate totalmente sul Accesso a file remoti come file locali (S.O.) Problemi di sicurezza ed affidabilità Efficienza limitata: computazione lato, dati presenti sul server 60

Architettura file-server: valutazione Architettura Client-Server Componente Server HW Client HW Interf. Utente Gestione dei dati Computazione Costo Affidabilità Sicurezza Scalabilità Flessibilità Caratteristica PC PCs Tastiera, alfanumerico Flat files Basic/DBASE su su basso bassa bassa bassa medio- 61 gestione dati interfaccia utente 62 Architettura -server Architettura -server: valutazione Modello: smart server / smart terminal Componenti logiche (interfaccia utente, gestione dei dati, computazione) equamente divise tra e server Basata sullo sviluppo DB relazionali motore sul server query in SQL dal facile programmazione (SQL) 63 Componente Server HW Client HW Interf. Utente Gestione dei dati Computazione Costo Affidabilità Sicurezza Scalabilità Flessibilità Caratteristica PC, mini o mainframe PCs Grafica DB relazionali C/Visual Basic su su /server medio-basso 64 Client-Server basata su Web Server Client-Server three-tier gestione dati interfaccia utente Middleware Servers gestione dati interfaccia utente 65 66

Client-server three-tier Client-server three-tier basata su Web Un livello intermedio (middleware) che: standardizza la interfaccia verso i server upgradedei server influenzano solamente il middleware s equipaggiati con un thindriver unico protocollo di comunicazione implementa la logica della applicazione verso i server Architettura spesso basata su Web: middleware = server Web s = browsers Dati Servers gestione dati multimedia interfaccia utente 67 68 Architettura distribuite (peer-to-peer) Architettura distribuita (peer-to-peer) Ogni host è sia che server: obiettivo è porre computazione e dati nella locazione più adatta sulla rete Per facilitare la gestione del sistema: servizi di directory per facilitare la gestione/rilocazione di servizi rilocazione di programmi agenti 69 70 Architettura peer-to-peer: valutazione Componente Server HW Client HW Interf. Utente Gestione dei dati Computazione Costo Affidabilità Sicurezza Scalabilità Flessibilità Caratteristica PC, mini o mainframe PCs Grafica DB relazionali Vari linguaggi su su /server medio 71