Introduzione. Laurea magistrale in ingegneria informatica A.A. 2011-2012. Leonardo Querzoni. Versioni al tratto. Versione 3D



Documenti analoghi
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

Base di dati e sistemi informativi

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Reti e Internet: introduzione

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

Architetture software

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Hardware delle reti LAN

Scenario di Progettazione

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Reti di Telecomunicazione Lezione 6

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

RETI INFORMATICHE Client-Server e reti paritetiche

Laboratorio di Informatica I

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Introduzione alle applicazioni di rete

SDD System design document

Sistemi centralizzati e distribuiti

Concetti di base di ingegneria del software

Introduzione alla Virtualizzazione

CAPITOLO 1. Introduzione alle reti LAN

Università di Roma La Sapienza, Facoltà di Ingegneria

Gestione degli ordini e del magazzino

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

Approccio stratificato

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Dispensa di Informatica I.1

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

E.S.B. Enterprise Service Bus ALLEGATO C11

Lo scenario: la definizione di Internet

Standard di comunicazione

Creare una Rete Locale Lezione n. 1

3. Introduzione all'internetworking

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Architetture Applicative

I sistemi distribuiti

IL SISTEMA INFORMATIVO

Progetto TIC (trasparenza- informatica-comunicazione)

Corso di Informatica

Appunti di Sistemi Distribuiti

I canali di comunicazione

Sistemi informativi secondo prospettive combinate

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

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

Reti Informatiche. dott. Andrea Mazzini

Reti di calcolatori ed indirizzi IP

B.P.S. Business Process Server ALLEGATO C10

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Sistemi Operativi. Conclusioni e nuove frontiere

2. Correttezza degli algoritmi e complessità computazionale.

VMware. Gestione dello shutdown con UPS MetaSystem

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Modelli e Sistemi di Elaborazione Peer-to-Peer

Il Sistema Operativo

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Sistemi di elaborazione delle informazioni

Internet e le reti. Navigare in rete. Un po di confusione sui termini. Internet WWW Web Servizi i Internet Sito Internet. Sinonimi?!?

Sistemi Distribuiti. Libri di Testo

Griglie computazionali LEZIONE N. 10. Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

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

Coordinazione Distribuita

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Informatica Generale

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

Utilizzare 4CBOX come centralino significa avere un sistema all inclusive oltre a

Esame di INFORMATICA

Architettura di un sistema operativo

Danais s.r.l. Profilo Aziendale

Sistemi avanzati di gestione dei Sistemi Informativi

1. Devo essere connesso ad Internet per utilizzare il Servizio di tuotempo?

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Telecomunicazioni 1

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Metodologie Informatiche Applicate al Turismo

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

Il servizio di registrazione contabile. che consente di azzerare i tempi di registrazione delle fatture e dei relativi movimenti contabili

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Progetto di Applicazioni Software

Sistemi Distribuiti. Il corso: informazioni utili AA 2006/2007. Riferimenti del docente: Ricevimento: Materiale Didattico:

Caratteristiche principali. Contesti di utilizzo

A cura di: Dott. Ing. Elisabetta Visciotti.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Il sistema C.R.M. / E.R.M.

Introduzione al corso

7. Architetture Software

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

Progetto Virtualizzazione

Il Sistema Operativo (1)

SISTEMI OPERATIVI DISTRIBUITI

DATABASE IN RETE. La gestione informatizzata di un Centro Cefalee

Transcript:

Introduzione Versioni al tratto Versione 3D Sistemi La versione negativa Distribuiti 3D prevede l utilizzo dell ombra esclusivamente sul fondo colore Rosso Sapienza. Laurea magistrale in ingegneria informatica A.A. 2011-2012 Elementi Base. Marchio/Logo Versione negativa 3D e al tratto La versione negativa del Marchio/Logo deve essere adottata su fondo scuro. Sono da preferire i fondi Rosso Sapienza, il nero o un colore tra quelli della gamma istituzionale. Manuale di Identità Visiva Sapienza Università di Roma Leonardo Querzoni

Informazioni sul corso Sito web del corso: http://www.dis.uniroma1.it/~querzoni/?q=teaching/1112/sistemidistribuiti Orari: Lun 14:00-15:30 B2 Mar 14:00-15:30 B2 Gio 12:00-13:30 B2 Ricevimento: Martedì 15:30-17:30 ufficio B208 Altri giorni/orari su appuntamento: querzoni@dis.uniroma1.it 2

Informazioni sul corso Libro di testo: C. Cachin, R. Guerraoui and L. Rodrigues. Introduction to Reliable and Secure Distributed Programming Springer, 2011 Slide disponibili sul sito web del corso Esame: Singola prova scritta con 5 esercizi. NON è possibile integrare il voto con una prova orale. È possibile ripetere la prova se il voto non vi soddisfa. Quando consegnate una nuova prova, ogni voto acquisito precedentemente viene perso. 3

Avviso Borse di studio EMC2 per laureati triennali iscritti al primo anno di magistrale: 1 borsa per Ing. Informatica 1 borsa per Ing. delle Comunicazioni 2 borse per le lauree magistrali della facoltà I3S riservate a studentesse Scadenza 2/3/2012 Informazioni su: http://www.i3s.uniroma1.it/it/node/5614 4

Introduzione ai sistemi distribuiti Fino all inizio degli anni 80 l uso di quasi tutte le applicazioni era confinato al singolo calcolatore. Questo è vero anche oggi per applicazioni di uso comune (fogli di calcolo, word processors, etc.) L uso di una rete di comunicazione cambia la filosofia di progettazione delle applicazioni: World Wide Web E-Mail Trasferimento dati tra calcolatori remoti etc. 5

Introduzione ai sistemi distribuiti Ma cos è un sistema distribuito? Un sistema distribuito è un insieme di computer indipendenti che appare ai propri utenti come un singolo sistema coerente. o anche Un sistema distribuito è un insieme di calcolatori che coordinano le loro azioni attraverso lo scambio di messaggi su una rete di comunicazione. e infine A distributed system is one in which the failure of a computer you did not even know existed can render your own computer unusable (Leslie Lamport) 6

Introduzione ai sistemi distribuiti Le applicazioni che fanno uso della rete sono soggette a problemi specifici: Internet 7

Introduzione ai sistemi distribuiti Obiettivi di un sistema distribuito: Accessibilità Trasparenza Apertura Scalabilità Problemi tipici di un sistema distribuito: Concorrenza Distanza geografica Guasti Sicurezza Eterogeneità 8

Introduzione ai sistemi distribuiti Accessibilità Uno degli obiettivi fondamentali di un sistema distribuito è permettere l accesso degli utenti a risorse remote. Motivazioni: Economiche Maggiore facilità di collaborazione Problemi: Sicurezza Concorrenza 9

Introduzione ai sistemi distribuiti Trasparenza Un sistema distribuito in grado di presentarsi agli utenti ed alle applicazioni come un singolo computer è detto trasparente. Tipi di trasparenza: Accesso - Indipendenza dalla piattaforma utilizzata e dalla specifica rappresentazione dei dati scambiati Ubicazione - Indipendenza dalla posizione geografica Migrazione - Possibilità di spostare le risorse quando non avvengono accessi Replicazione - Indipendenza dal numero di copie presenti per la specifica risorsa 10

Introduzione ai sistemi distribuiti Trasparenza Un sistema distribuito in grado di presentarsi agli utenti ed alle applicazioni come un singolo computer è detto trasparente. Tipi di trasparenza: Concorrenza - Indipendenza dal numero di accessi contemporanei alla risorsa Guasto - Indipendenza dai possibili malfunzionamenti del sistema La completa trasparenza non sempre è possibile La completa trasparenza non sempre è desiderabile 11

Introduzione ai sistemi distribuiti Apertura Capacità di un sistema distribuito di essere esteso e reimplementato (anche parzialmente) Condizioni che favoriscono l apertura di un sistema: Documentazione estesa Specifica dei servizi offerti e delle interfacce relative Formalizzazione dei protocolli Aderenza agli standard 12

Introduzione ai sistemi distribuiti Apertura La specifica dei servizi deve essere Completa: viene specificato tutto ciò che è necessario sapere per implementare il servizio Non ambigua: una specifica deve poter essere interpretata in un singolo modo Neutrale: la specifica non può imporre scelte relative alla implementazione Conseguenze di una specifica completa, non ambigua e neutrale: Interoperabilità Portabilità 13

Introduzione ai sistemi distribuiti Scalabilità Capacità di un sistema distribuito di sopportare la crescita di diversi fattori: Dimensione del sistema stesso - numero di utenti e/o risorse Carico - numero di operazioni eseguite sul sistema Distanza geografica Amministrazione - numero di domini di amministrazione diversi/indipendenza delle macchine 14

Introduzione ai sistemi distribuiti Scalabilità La scalabilità può essere raggiunta usando algoritmi distribuiti: nessun elemento del sistema ha informazioni complete sullo stato di tutto il sistema ogni elemento del sistema prende decisioni solo basandosi su informazioni locali il malfunzionamento di un elemento del sistema non riduce la funzionalità del sistema la perdita di un messaggio scambiato tra due elementi del sistema non riduce la funzionalità del sistema ogni elemento basa il suo funzionamento su un orologio locale non sincronizzato con gli altri 15

Introduzione ai sistemi distribuiti Nella progettazione di un sistema distribuito non bisogna dare per scontate i seguenti punti: La rete di comunicazione è affidabile La rete di comunicazione è sicura La rete di comunicazione è omogenea La topologia di interconnessione non cambia La latenza di comunicazione è zero L ampiezza di banda è infinita Il costo di trasporto dei dati è zero C è un unico amministratore 16

Piattaforme middleware Realizzare applicazioni distribuite è spesso molto complesso. Per questo si ricorre a software detti middleware: Appl. A Appl. B Appl. C Middleware SO locale SO locale SO locale SO locale Rete Il middleware offre primitive di comunicazione, sincronizzazione, coordinamento, localizzazione, accesso trasparente, etc. per la realizzazione di applicazioni distribuite complesse. 17

Piattaforme middleware Una piattaforma middleware è costituita da un insieme di: architetture protocolli algoritmi componenti software interfacce e loro specifiche... La realizzazione di una piattaforma middleware richiede la risoluzione dei problemi precedentemente esposti. 18

Architetture per middleware Un middleware distribuito è costituito da un insieme di componenti software che dialogano. Si pongono due problemi durante la fase di progettazione: come organizzare i componenti software e come connetterli stile architetturale dove posizionare i componenti software e come collegare le macchine tra loro architettura di sistema Queste due scelte hanno un forte impatto sulla complessità degli algoritmi implementabili, sui costi del sistema, sulla sua estendibilità, sulle prestazioni, etc. 19

Stili architetturali Uno degli stili più noti è quello che definisce le layered architectures. Ogni strato software interagisce Livello N Livello N-1 solo con lo strato superiore e con quello inferiore. Largamente impiegato nell ambito della progettazione dei protocolli di rete, ma talvolta poco flessibile. Livello 2 Livello 1 20

Stili architetturali Nelle architetture ad oggetti i componenti software interagiscono attraverso delle chiamate a procedura remota (RPC/RMI). Ogni componente rappresenta un vero e proprio oggetto dotato di proprietà e metodi usabili per modificarlo. Obj D Obj A Obj E Obj C Obj B 21

Stili architetturali Nelle data-centric architectures i componenti interagiscono esclusivamente attraverso uno spazio di dati a cui possono accedere. Questo spazio può rappresentare una memoria distribuita o un file system condiviso. I dati vengono letti e scritti dai vari componenti come se fossero presenti Comp A leggi Comp B scrivi localmente. Spazio dei dati condivisi 22

Stili architetturali Nelle event-driven architectures i componenti producono e consumano eventi in modo disaccoppiato. Un bus applicativo comune si occupa di instradare gli eventi tra i vari componenti. Ogni componente viene Comp A notifica evento Comp B sottoscrivi notificato solo degli bus applicativo eventi a cui è effettivamente interessato. pubblica Comp C 23

Architetture di sistema Il metodo più ovvio per organizzare una applicazione distribuita è di centralizzare l elaborazione su un singolo nodo che serve le richieste ricevute dall esterno. Questo tipo di organizzazione, detta anche client/ server è la più semplice da gestire. E basata su un modello di interazione domada / risposta. 24

Architetture di sistema Nel tempo l organizzazione delle applicazioni basare su questa architettura è cambiata stratificandosi. I diversi livelli possono essere suddivisi in modo diverso tra client e server. 25

Architetture di sistema È possibile introdurre ulteriori livelli di suddivisione ed ottenere architetture client/server multilivello. 26

Architetture di sistema Le architetture client/server multilivello realizzano una distribuzione verticale dei ruoli e delle funzionalità. Distribuendo orizzontalmente i componenti si ottengono architetture peer-to-peer. In queste architetture componenti distinti giocano lo stesso ruolo e sono considerati paritetici. L organizzazione tra i componenti che definiscono un architettura peer-to-peer è detta overlay network 27