









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
1. Client-server: comunicazione, livelli, architetture a 1,2,3 livelli 2. I sistemi distribuiti: varie definizioni, classificazione, vantaggi e svantaggi, sistemi distribuiti hardware (sisd, simd, misd, mimd, cluster). 3. Sistemi pervasivi, Hosting, housing e clouding: wearable e reti di sensori, vantaggi svantaggi di hosting, housing e clouding.
Tipologia: Appunti
1 / 15
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










● SERVER : è un host sul quale è in esecuzione un processo che offre un servizio. Esso è sempre attivo (ESEMPIO: siti web, web server) ● CLIENT : è un host sul quale è in esecuzione un processo che richiede un servizio. Esso non è sempre attivo (ESEMPIO: browser, videogiochi). MIDDLEWARE: è un software che si pone tra rete e programma applicativo (quindi a livello di trasporto). è un insieme di servizi: DNS, servizi di datagram, specifica porte, ip… Queste funzioni sono implementate nel lato client. FASI DI COMUNICAZIONE Partiamo col dire che la comunicazione può essere di due tipi: ● UNICAST: elabora una richiesta alla volta, se ne arrivano altre le scarta ● MULTICAST: elabora più richieste alla volta le fasi di comunicazione sono:
Dobbiamo fare delle distinzioni fra architettura e modello: ARCHITETTURA: è la realizzazione fisica di quello che è il modello client-server: in questo caso devo considerare i vari host. Nel caso dei programmi corrisponde alla loro messa in esecuzione. MODELLO: è lo schema concettuale. Distinguiamo le tre architetture in base a dove i tre livelli vengono eseguiti. ARCHITETTURA A 1 LIVELLO Tutti e tre i livelli li troviamo su un’unica macchina (mainframe), ovvero il server, al quale erano collegati tutti i terminali. Inoltre, non possiamo parlare di client-server. Tutti i calcoli erano effettuati dall’elaboratore centrale e i terminali servivano solo per le fasi di input/output. ARCHITETTURA A 2 LIVELLI Questa architettura, per quanto riguarda il lato server, si libera dell’interfaccia grafica, migliorando così la velocità. Essa gestisce solo due livelli grazie al MIDDLEWARE. Sulla rete abbiamo un continuo via vai di informazioni quando ci sono delle richieste (file html, php…). Tuttavia, questa architettura ha dei limiti: Il numero di porte logiche Numero limitato di richieste da gestire: per risolvere, temporaneamente, furono aumentati il numero di server e in ognuno venivano messi gli stessi dati, però così sorge un altro problema ovvero quello del numero di indirizzi IP. Come soluzione abbiamo il MIDDLEWARE, un software di mezzo che smista le richieste. Però a un certo punto questi server si sono riempiti. Ora il problema si sposta sulla quantità di dati che arrivano a causa di ECOMERECE e quindi venne introdotta l’architettura a tre livelli. Poca scalabilità (se un server è capace di gestire più richieste con la stessa velocità).
Il lavoro viene svolto da più entità: come i pc: il carico di lavoro distribuito su più calcolatori che sono indipendenti tra loro (si intende che hanno memoria e sistema operativo che però all’utente appaiono come un unico sistema: esempio: accesso alle pagine web quindi modello Client-Server. Questo è possibile grazie al browser in quanto abbiamo il livello di trasporto che rende trasparente il tutto), ma non solo su questi ma anche realizzati su diversi software in cui ognuno svolge un certo compito. Comunicazione gestita a livello software. DEFINIZIONE: COULOURIS E DOLLIMORE Un insieme di calcolatori che comunicano non con un software a livello applicativo, ma come uno scambio di messaggi tra i singoli. Lo abbiamo visto già nei processi. I messaggi, quindi, vengono gestiti da software più specifici. Tra gli svantaggi abbiamo: CONCORRENZA da gestire in quanto più nodi potrebbero accedere allo stesso nodo SINCRONIZZAZIONE, non c’è un clock che li sincronizza DEFINIZIONE: LAMPORT Evidenzia il fallimento di un calcolatore, in quanto se si blocca uno, è inutilizzabile anche il calcolatore che usa l’utente. DEFINIZIONE GENERALE È costituito da un insieme di applicazioni, quindi livello di rete, logicamente indipendenti (in quanto riesce ad essere eseguito su un nodo senza l’aiuto di altri software. ESEMPIO: applicazioni di tipo desktop come Excel, word…) che collaborano per obiettivi comuni attraverso infrastruttura hardware e software (per infrastruttura si intende: HARDWARE ponti radio, cavi e apparati di rete. SOFTWARE sistema operativo, tutte le applicazioni che girano sui server, le librerie. Algoritmi di Routing e forwarding). Invece le applicazioni dipendenti possono essere Google, in quanto la ricerca avviene su altri nodi, quindi fa richiesta ad altri nodi. TALEMBAUM Vuole evidenziare la differenza tra sistema distribuito e una rete.
SISTEMA DISTRIBUITO: il lavoro è gestito dal software. C’è anche la trasparenza a livello utente che è realizzata dal middleware. SISTEMA DISTRIBUITO = RETE + MIDDLEWARE. Se non c’è questo middleware tutto è a carico dell’utente, se hanno sistemi operativi diversi diventa complicata la comunicazione. Quindi è un sistema software costituito sulla rete. Con sistema software si intendono tutti gli applicativi più lo strato del middleware dove sono presenti algoritmi a livello di trasporto (quindi trasparenza a livello applicativo). SISTEMA DISTRIBUITO Si parla di sistema distribuito se la distribuzione è a livello di applicazioni, quindi nodi distanti (web: sul client il browser, sul server l’applicazione). Si parla anche se viene distribuito il patrimonio informativo, quindi nelle basi di dati. Al sistema distribuito si contrappone i sistemi centralizzati, dove i dati ed elaborazioni presenti su unica macchina. Altri esempi di sistema distribuito, oltre alle pagine web sono: LAN, il mondo del mobile. C’è SEMPRE UN SOFTWARE CHE METTE IN COMUNICAZIONI I VARI NODI. OBIETTIVI Mettere in comunicazione gli utenti, trasparenza (caratteristica che nasconde all’utente tutti i dettagli implementativi di codice oppure caratteristica che consente di far sembrare all’utente tutto in un unico sistema), apertura al mondo esterno, scalabilità (caratteristica che permette di ingrandire il sistema garantendo la stessa velocità ed efficienza), tolleranza ai guasti (sta negli algoritmi di routing). Le applicazioni, oltre a fungere da client o da server possono fungere anche da actor : a seconda della situazione funge da client o funge da server (ESEMPIO: architetture a tre livelli, ossia lo strato di mezzo). CLASSIFICAZIONE SISTEMI DI CALCOLO DISTRIBUITI SISTEMI INFORMATIVI DISTRIBUITI SISTEMI DISTRIBUITI PERVASIVI SISTEMI DI CALCOLO DISTRIBUITI
diversi nodi come database, file xml e json. Questi dati in una pagina html la vediamo nello stesso modo, dipende dalla formattazione data al dato); quindi, l’utente non sa l’origine del formato dei dati. TRASPARENZA DI LOCAZIONE : nasconde la locazione fisica di una risorsa. TRASPARENZA DI CONCORRENZA : una risorsa non è sempre condivisa, ma può essere contesa (due utenti vogliono allocare un file nello stesso spazio), quindi l’utente non deve accorgersi di tale concorrenza. TRASPARENZA DI REPLICAZIONE : duplica le risorse disponibili mantenendo gli stessi nomi in modo da aumentare le prestazioni. TRASPARENZA AI GUASTI : viene mascherato il guasto. TRASPARENZA ALLA MIGRAZIONE : nasconde lo spostamento fisico o logico di una risorsa senza modificare la modalità di accesso. TRASPARENZA ALLE PRESTAZIONI : nasconde le operazioni necessarie per riconfigurare il sistema al variare del carico per migliorare le prestazioni. TRASPARENZA ALLA SCALABILITA’ : il sistema viene espanso senza perdere prestazioni e può essere: scalabile rispetto alla sua dimensione (aggiungo utenti e risorse) e scalabile geograficamente (utenti e risorse fisicamente molto distanti). ECONOMICITA’ : basso costo, e costo/qualità migliore rispetto ai sistemi centralizzati. APERTURA : grazie a protocolli e standard possiamo avere hardware e software da fornitori diversi per avere: INTEROPERABILITA’ (due implementazioni diverse coesistano e collaborano), PORTABILITA’ (applicazione che può essere presente su più sistemi distribuiti) e AMPLIABILITA’ (è semplice aggiungere altre componenti). CONNETTIVITA’ e COLLABORAZIONE : comporta vantaggi economici. SCALABILITA’ TOLLERANZA AI GUASTI SVANTAGGI PRODUZIONE DI SOFTWARE : sviluppatori si devono aggiornare di fronte a nuovi linguaggi e modifiche e ciò avviene in tre fasi: 1. Definire standard TCP/IP per sviluppare app in rete. 2. Lo sviluppo di
applicazioni web e degli opportuni linguaggi hanno permesso il salto di qualità per la produzione del software. 3.grazie a JAVA possiamo eseguire un programma su macchine diverse. COMPLESSITA’ : strumenti per connettere host e per instradamento dei pacchetti. SICUREZZA : nascono nuove problematiche legate alla sicurezza, oggi l’accesso avviene via ethernet e via cavo e sono soggette a rischio intercettazioni (sniffing). Pertanto, sono necessari accorgimenti per tutelare tutti gli utenti e garantire sicurezza e riservatezza dei dati. COMUNICAZIONE: il trasferimento a distanza richiede nuove tipologie di sistemi di telecomunicazioni, sia cablati che wireless, e l’aumento esponenziale degli utenti fa sì che giornalmente aumenti la richiesta di bande trasmissive con l’obiettivo di migliorare il servizio. Un altro problema riguarda i dispositivi mobili in quanto devono gestire il cambio rete, problema del wi-fi e non più cablate. SISTEMI DISTRIBUITI HARDWARE Qui parliamo di ARCHITETTURA ossia la realizzazione fisica di un modello. Flyn li ha classificati: flusso di istruzioni (si trovano nella ram e vanno al processore) e flusso dati (da memoria di massa alla ram OPPURE da dispositivi di input OPPURE da memoria di massa esterna). CLASSIFICAZIONE SISD : singola istruzione, singolo flusso di dati SIMD : singola istruzione, multiplo flusso di dati MISD : multiple istruzioni, singolo flusso di dati MIMD : multiple istruzioni, multiplo flusso di dati SISD La macchina di VON NEUMANN è SISD. Nelle macchine a singola CPU il flusso di istruzioni è unico e quindi viene eseguito un solo programma alla volta. Qui c’è un bus unico che collega le varie periferiche, CPU, RAM. SIMD Unica RAM e più CPU. l’elaborazione avviene su più flussi dati in contemporanea ma con un singolo flusso di istruzioni. Questa architettura si presta bene alla risoluzione di problemi che hanno a che fare con una
I SISTEMI PERVASIVI Sono oggetti piccoli e mobili (come il telefono) e si collegano alla rete di tipo wireless. Fanno parte: sensori, domestici, ecc.… Per definirsi tali devono soddisfare questi quattro requisiti: CAMBI DI CONTESTO : il nostro gestore fa in modo di cambiare automaticamente, in base agli spostamenti, l’indirizzo IP: quindi devono essere in grado di adattarsi all’ambiente su cui l’utente si trova, senza cali di prestazione e in modo trasparente. COMPOSIZIONE AD HOC : soluzione adatta solo per particolare caso (come reti di sensori). RICHIESTA LA FACILITA DI CONFIGURAZIONE : sono auto configurati. CONDIVISIONE COME DEFAULT : ogni nodo nel momento in cui è a conoscenza di un dato lo deve condividere (esempio: monitorare lo stato di salute degli utenti da casa; traffico di Google per sapere se sta traffico sulle strade). RETI DOMESTICHE Nelle nostre case ci controllano alcuni dispositivi come contatore dell’acqua o del gas. WEARABLE Sono sistemi indossabili (come smartwatch) che si connettono alla rete, usati in ambito sanitario, agricolo e sportivo. Questi li distinguiamo in: PDA e trasmettitore: PDA : abbiamo vari e sensori e uno di questi è il PDA che raccoglie i dati degli altri sensori. VANTAGGI: non ha bisogno della rete. SVANTAGGI: utente deve sempre verificare la batteria (quindi svantaggio legato all’utente); generazione di allarmi; dati non in tempo reale in quanto bisogna aspettare 24 ore. Trasmettitore : è un’unità esterna all’utente. VANTAGGI: dati in tempo reale (questo è molto utile, ad esempio, nella sanità per capire lo stato
Il sito viene configurato sul server del provider e questo deve garantire manutenzione: aggiornamenti del SO, garantire sempre il servizio quindi la macchina deve essere sempre alimentata anche se va via la corrente, manutenzione sulla rete quindi su router, cavi. Su quel server possono esserci altri siti e quindi questi condividono la ram, banda, SO e web server (il compito di quest’ultimo è di accettare le richieste degli utenti e assegnarle nei processi giusti). Quindi la condivisione della ram è uno svantaggio in quanto un sito non ha il massimo utilizzo e accesso a tutte le risorse. Qui il contratto lo associamo ad un affitto: il provider fitta solo una porzione di spazio (memoria di massa). CARATTERISTICHE: Hardware è composto da server entreprise (HP, IBM) in rack per ottimizzare lo spazio nei datacenter Nel software viene usato web server e SO di tipo server. HOSTING DEDICATO Tutto il server dedicato a un solo sito. VANTAGGIO: risolve lo svantaggio di prima. SVANTAGGIO: costo. Esso è usato da piccole/medie aziende e si deve considerare il numero di utenti che accedono e anche il numero di accessi giornalieri (stabilito nel contratto); quindi la differenza con l’hosting normale è il numero di accessi. Quando scegliere hosting? Per il costo, se un sito ha pochi accessi non serve hosting dedicato, provider gestisce il web server. HOUSING Il server è del cliente (aziende) però i server sono dati al provider per tenerli in sicurezza. Il proprietario accederà da remoto sul proprio server e farà manutenzione, però il provider farà lo stesso una piccola manutenzione: accessibilità alla rete. Perché scegliere housing? Sicurezza: luoghi isolati, videocamere. La differenza tra HOUSING e HOSTING DEDICATO sta nella proprietà del server e viene usato dalle grandi aziende.
Quando scegliere housing? Molto traffico, uso di database (quindi sono pagine dinamiche: differenza con hosting), negli aggiornamenti/installazioni e nella gestione di web server c’è una persona che si occupa di ciò (flessibilità). DIFFERENZEE CON HOSTING AMMINISTRAZIONE : nell’housing si ha la totale gestione di hardware e software, mentre nell’hosting no. SICUREZZA : ha un doppio significato: il primo è la SICUREZZA FISICA, infatti, nell’housing i server sono messi in luoghi sicuri; l’altro tipo è la SICUREZZA SULLA RETE quindi accessi limitati, crittografia, acl, proxy… nell’hosting condiviso non c’è una protezione sicura a livello di rete mentre nell’housing c’è. COSTO : housing più costoso. RESPONSABILITA’ SALVATAGGIO DEI DATI : nell’hosting è di chi ha l’accesso a quei dati, quindi chi li gestisce, il provider li mette solo a disposizione un’area di memoria. A maggior ragione nell’housing poiché vengono messi anche in sicurezza ATTIVITA E INFORMAZIONI ILLECITE : sia nell’hosting che housing se un cliente mette su attività illecite (pirateria, vendita armi) la responsabilità è anche del provider se ne viene a conoscenza (come ne viene a conoscenza? In caso di segnalazioni anonime), in questo caso deve subito bloccare il sito. TRATTEMENTO DEI DATI PERSONALI : riguarda le pagine di registrazione. Nell’hosting se i dati vengono danneggiati la responsabilità è del cliente in quanto ha passato questi dati a queste terze parti, ma anche del provider in quanto potrebbe fare lo stesso, anche se non dovrebbe: legalmente il responsabile è il provider. Nell’housing invece riguarda l’aspetto della sicurezza (antifurto, precludere l’accesso a terzi non autorizzati mettendo i server sottoterra, antifurto, antincendio, sistemi di areazione). CLOUDING