Corso di Ingegneria del Web A A. 2011 2012 Domenico Rosaci 1. Sistemi Distribuiti Introduzione.

Slides:



Advertisements
Presentazioni simili
Amministrazione dei servizi di stampa. Sommario Introduzione ai servizi di stampa Introduzione ai servizi di stampa Terminologia della stampa Terminologia.
Advertisements

CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
1 Introduzione ai calcolatori Parte II Software di base.
Interazione Uomo - Macchina
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D1 Architetture di rete.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D1 Architetture di rete.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
Informatica e Telecomunicazioni
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
LE RETI DI COMPUTER Presentazione realizzata da: Pipitone Antonella VDp Gennaio 2008.
Sistemi Operativi Menù: 1) Introduzione al sistema operativo
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.
Presentazione creata da
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
La trasmissione delle informazioni può avvenire da un solo utente a molti utenti (tipo Multicast o Broadcast) o da un utente a un altro (tipo peer to.
Le reti informatiche The Skywalkers Maiocchi Mattia Sozzoni Marcella Porcari Beatrice Nino Lopez Magdiel Alexander.
RETI INFORMATICHE.
LE RETI INFORMATICHE. LE RETI LOCALI La lan (Local Area Network) è costituita da un insieme di nodi, solitamente usata in un edificio solo o in edifici.
LE RETI INFORMATICHE.
APPLICAZIONI E BASI DATI DISTRIBUITE
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Distributed Object Computing
Reti e Sistemi operativi
ICT (Information and Communication Technology):
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Architettura Three Tier
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004
Concetti introduttivi
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Corso di Informatica per Giurisprudenza Lezione 7
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Benvenuti a Un incontro informativo di grande valore ed alto contenuto sulla Virtualizzazione e sistemi ad alta disponibiltà per le PMI.
Modulo 1 – Reti Informatiche u.d. 4 (syllabus – 1.4.4)
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Il commutatore o SWITCH Gli Switch sono efficienti alternative agli hub, in quanto sono in grado di instradare la trasmissione di un nodo direttamente.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Il Sistema Operativo (1)
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
ECDL Patente europea del computer
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
L’architettura a strati
Di Luca Santucci e Riccardo Latorre LA CONDIVISIONE E L’ACCESSO ALLE RISORSE DI RETE.
I processi.
Creato da Riccardo Nuzzone
Tipi e topologie di LAN Lezione 2.
Introduzione Cos’è un sistema operativo ?. Hardware Sistema Operativo Applicazioni È il livello di SW con cui interagisce l’utente e comprende programmi.
Middleware Laboratory Sistemi Distribuiti Corso di Laurea Specialistica in Telecomunicazioni AA 2006/2007 Slides del corso Sara Tucci Piergiovanni.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Reti di computer Condivisione di risorse e
Capitolo 1 Il middleware
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Hattrick Stadium Corso di Reti di Calcolatori LS Anno Accademico 2005/2006 Dolif Emilano matr
Mots, programmazione collaborativa di Ettore Ferranti.
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Le basi di dati.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Domenico Elia1Riunione PRIN STOA-LHC / Bologna Attività per ALICE: sommario e prospettive Domenico Elia Riunione PRIN STOA-LHC Bologna, 18 Giugno.
Workshop della Commissione Calcolo e Reti 28 Maggio 2013 Federazione di risorse Cloud con CLEVER 1.
FESR Trinacria Grid Virtual Laboratory La sicurezza dei dati in ambiente Trigrid Giordano Scuderi.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Organizzato da: Integrazione dei sistemi ITS Cotral a supporto della gestione del TPL e dell’informazione all’utente Ing. Diego Ponzi Resp.Tecnologie Mobilità.
Transcript della presentazione:

Corso di Ingegneria del Web A A Domenico Rosaci 1. Sistemi Distribuiti Introduzione

2 D. RosaciSistemi Distribuiti - Introduzione Progresso tecnologico dei Computer : Computer ingombranti e costosi. Ogni computer operava indipendentemente dagli altri Metà anni 80: sviluppo di microprocessori potenti a 8, 16, 32, 64 bit: capacità di calcolo di un mainframe ma costi molto più bassi Si passa da macchine da 10 milioni di dollari che eseguivano 1 istruzione/sec a macchine da 1000 dollari che eseguono 1 miliardo di istruzioni al secondo. Guadagno prezzo/prestazioni: !

3 D. RosaciSistemi Distribuiti - Introduzione Sviluppo delle Reti di Calcolatori Invenzione delle reti di computer ad alta velocità Reti Locali (LAN): connettono centinaia di macchine in un edificio con velocità da 100 milioni a 10 miliardi di bit/sec Reti Geografiche (WAN): milioni di macchine connesse in tutto il mondo, con velocità da 64Kbs a gigabit/sec

4 D. RosaciSistemi Distribuiti - Introduzione Risultato Facilità di mettere insieme sistemi di calcolo composti da un gran numero di computer connessi da reti ad alta velocità Questi sistemi sono chiamati Sistemi Distribuiti, diversamente dai precedenti Sistemi Centralizzati, che avevano un singolo processore e alcune periferiche

5 D. RosaciSistemi Distribuiti - Introduzione Definizione di Sistema Distribuito Collezione di computer indipendenti che appare ai propri utenti come un singolo sistema coerente Le componenti di un SD sono quindi computer autonomi Gli utenti di un SD pensano di aver a che fare con un unico sistema Ne segue che le componenti di un SD devono collaborare tra loro Come realizzare la collaborazione? Domanda chiave! Nessuna supposizione sul tipo di computer, sui sistemi operativi o sulle modalità di interconnessione

6 D. RosaciSistemi Distribuiti - Introduzione Caratteristiche dei SD Le differenze tra i computer, le modalità di comunicazione e l’organizzazione interna del SD sono nascoste agli utenti Utenti e applicazioni possono interagire con un SD in modo coerente e uniforme, indipendentemente da quando e dove l’interazione ha luogo Un SD deve essere facilmente espandibile e scalabile, essendo composto da computer indipendenti e avendo un’organizzazione trasparente: facilità di sostituire parti o aggiungere nuove componenti.

7 D. RosaciSistemi Distribuiti - Introduzione SD come Middleware Di solito, un SD si configura come un layer di software intermedio tra un soprastante livello delle applicazioni e un sottostante livello di software di base (Sistemi Operativi, Sistemi di Comunicazione). App. AApp. BApp. C S.O. 1S.O. 2S.O. 3S.O. 4 Computer 1 Computer 2Computer 3 Computer 4 Sistema Distribuito (Middleware)

8 D. RosaciSistemi Distribuiti - Introduzione Obiettivi dei SD Quando vale la pena di costruire un SD? –Si vuole che le risorse siano facilmente accessibili –Si vuole che la distribuzione delle risorse sia nascosta –Si vuole che il sistema sia aperto –Si vuole che il sistema sia scalabile

9 D. RosaciSistemi Distribuiti - Introduzione Accessibilità Risorse: computer, dati, stampanti, pagine Web, ecc. A volte si vuole che queste risorse siano condivise (la condivisione è economica) Internet dimostra che connettere utenti e risorse è una strategia di successo Groupware: File Sharing, Editing Collaborativo, Video Conferenza, ecc. Importanza della Sicurezza quando si è connessi in rete: protezione della privacy, evitare lo spam, sono tutti ottimi motivi per progettare un SD.

10 D. RosaciSistemi Distribuiti - Introduzione Trasparenza Trasparenza all’accesso: si vuole nascondere all’utente come i dati sono rappresentati sulle singole macchine (es. differenti S.O.) Trasparenza all’ubicazione: si vuole che gli utenti non possano indicare dove è fisicamente localizzata una risorsa Trasparenza alla migrazione: le risorse possono essere spostate senza interferire sulla loro modalità d’accesso. Se ciò si può fare addirittura mentre le risorse sono in uso, abbiamo Trasparenza al riposizionamento. Trasparenza alla replica: si nasconde l’esistenza di molte copie di una risorsa, che vengono automaticamente tenute aggiornate Trasparenza alla concorrenza: l’accesso concorrente ad una risorsa condivisa la lascia in uno stato coerente. Trasparenza ai guasti: l’utente non si rende conto che una risorsa ha smesso di funzionare.

11 D. RosaciSistemi Distribuiti - Introduzione Grado di Trasparenza Non è detto che una trasparenza assoluta sia desiderabile Si pensi ad una applicazione che per eseguire una certa operazione per l’utente debba contattare uno tra tanti server disponibili, e che si voglia nascondere quale server viene contattato. Se il server contattato non risponde, l’utente non ha modo di interrompere il tentativo per passare ad un altro server.

12 D. RosaciSistemi Distribuiti - Introduzione Apertura Un SD aperto è un sistema che offre servizi rispettando certe regole standard che descrivono la sintassi e la semantica dei servizi stessi In un SD i servizi sono specificati per mezzo di interfacce scritte in un Interface Definition Language (IDL). Esse spesso specificano la sintassi ma il difficile è specificare la semantica (“cosa i servizi fanno”). Se le interfacce sono ben specificate i sistemi che le usano possono implementarle in modo diverso senza problemi ed interagire tra loro (interoperabilità). Inoltre si possono portare agevolmente da un sistema ad un altro (portabilità) Anche l’ampliabilità è una caratteristica dell’apertura. I sistemi devono essere estendibili.

13 D. RosaciSistemi Distribuiti - Introduzione Scalabilità Aspetto centrale, visto l’aumento esponenziale degli utenti Internet. Scalabilità rispetto alla dimensione: possiamo aggiungere utenti e risorse al sistema. Scalabilità geografica: utenti e risorse possono essere anche molto lontani Scalabilità rispetto all’amministrazione: il sistema deve rimanere gestibile anche coprendo molte strutture indipendenti

14 D. RosaciSistemi Distribuiti - Introduzione Problemi di Scalabilità I limiti maggiori emergono quando i dati, i servizi, o le applicazioni sono centralizzate In tal caso l’unità centrale diventa un collo di bottiglia: si immagini se il DNS di Internet fosse ancora implementato come un’unica tabella La scalabilità rispetto alle dimensioni si affronta mediante approcci decentralizzati La scalabilità geografica è difficile da ottenere perché le reti geografiche sono point-to-point. Anche qui occorrerebbe adottare soluzioni decentralizzate La scabilità rispetto all’amministrazione è strettamente legata a problemi di sicurezza. Occorre fare in modo che passando da un dominio ad un altro più esteso, non si violi la sicurezza di quest’ultimo (esempio: applet Web)

15 D. RosaciSistemi Distribuiti - Introduzione Tecniche di Scalabilità Comunicazione asincrona: cercare di evitare l’attesa delle risposte alle richieste di servizi remoti. Per esempio, quando un servizio viene richiesto ad un server, invece di aspettare passivamente la risposta si può permettere all’applicazione richiedente di fare altro lavoro utile. Quando arriva una risposta, l’applicazione interrompe quello che stava facendo e torna a gestire il processo originale (sono utili i thread paralleli). Ridurre la comunicazione totale, spostando su client parte del lavoro che è fatto dal server (es. Applet Java) Distribuzione: prendere un componente, spezzarlo in più parti e distribuirle nel sistema (es. DNS) Replicazione – Caching: incrementare la disponibilità delle risorse

16 D. RosaciSistemi Distribuiti - Introduzione Tipologie di SD -1 Sistemi di Calcolo Distribuiti –Sistemi di calcolo a cluster: semplici computer collegati da reti ad alta velocità, per consentire la programmazione parallela (es. Beowulf su Linux) –Grid Computing: in un cluster, i computer sono tutti uguali. La tecnologia grid presenta invece componenti eterogenee. Gli appartenenti alla stessa organizzazione virtuale hanno diritto all’accesso alle stesse risorse (server, data storage, basi di dati)

17 D. RosaciSistemi Distribuiti - Introduzione Tipologie di SD -2 Sistemi Informativi Distribuiti: Emergono in contesti aziendali, in cui necessita l’integrazione di diverse applicazioni. L’integrazione di applicazioni aziendali è oggi un campo in grande sviluppo (Enterprise Application Integration, EAI)

18 D. RosaciSistemi Distribuiti - Introduzione Tipologie di SD -3 Sistemi Distribuiti Pervasivi:nascono con i dispositivi di calcolo mobili ed embedded. Dispositivi piccoli,a batteria, mobili e wireless. Devono “integrarsi” nel nostro ambiente. –Sistemi Domestici (integrano in un solo sistema TV, smartphone,PDA, eventualmente impianti antifurto,videosorveglianza,climatizzazione ecc.) –Sistemi elettronici per l’assistenza sanitaria (basati su sensori wireless) –Reti di Sensori: centinaia o migliaia di nodi, ognuno equipaggiato con un sensore (es. sistemi per il controllo del traffico).

19 D. RosaciSistemi Distribuiti - Introduzione Paradigma ad Oggetti distribuiti Le risorse di rete sono rappresentate da oggetti distribuiti: Per richiedere un servizio ad una risorsa di rete, un processo invoca uno dei metodi o operazioni messe a disposizione, passando al metodo i dati come parametri. Il metodo viene eseguito sull’ host remoto, e la risposta è inviata al processo richiedente come valore di ritorno.

20 D. RosaciSistemi Distribuiti - Introduzione Chiamate di Metodi Un processo in esecuzione su un host A chiama un metodo su un oggetto distribuito che risiede su un host B, passando allo stesso eventuali parametri La chiamata del metodo invoca un’ azione che il metodo eseguirà sull’ host B. Il valore di ritorno, se c’è, verrà trasferito dall’ host B all’ host A Un processo che fa uso di un oggetto distribuito viene detto processo client di quell’ oggetto, e i metodi dell’ oggetto sono chiamati metodi remoti (contrariamente ai metodi locali, o metodi appartenenti ad un oggetto locale)

21 D. RosaciSistemi Distribuiti - Introduzione Architettura di un Sistema ad Oggetti Distribuiti