Sistema distribuito per il controllo remoto di Software SCADA HMI Presentazione di Paolo di Francia Reti di Calcolatori LS a.a 2004-05.

Slides:



Advertisements
Presentazioni simili
Meccanismi di IPC Problemi classici di IPC
Advertisements

Livello 1 - fisico linsieme dei dispositivi per il collegamento dei vari sistemi (cavi, modem, apparecchiature di tx e rx)linsieme dei dispositivi per.
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Architetture dei sistemi distribuiti Prof
Sicurezza e concorrenza nelle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
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 modelli di riferimento OSI e TCP/IP
Strutture dei Sistemi Operativi
Come programmare servizi di rete?
SCHEDA INFORMATIVA DI UNITÀ
Architettura del World Wide Web
Gestione di Progetti Software 2 (A.A. 2004/2005) - Lezione 2 1 JAVA: obiettivi di progetto del linguaggio Nota storica: Il linguaggio JAVA (inizialmente.
Struttura dei sistemi operativi (panoramica)
SSL (Secure Socket Layer)
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Sistemi Operativi GESTIONE DEI PROCESSI.
Le transazioni Itis Max Planck.
Aprile 2004Reti di Calcolatori LS – Servizio di Annunci Distribuito1 Reti di Calcolatori LS REALIZZAZIONE DI UN SERVIZIO DI ANNUNCI DISTRIBUITO Studente:
Supporto per servizi di File Hosting Presentazione di progetto per lesame di Reti di Calcolatori LS Valerio Guagliumi
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Supporto allassistenza da remoto Sacchetti MauroMatr Prof. Antonio Corradi Progetto di Reti di Calcolatori LS.
Replicazione delle risorse: UN CASO DI STUDIO
Supporto in RMI per la collaborazione in rete Autore:Vincenzo Coco Matricola: Corso di Reti di Calcolatori LS 2006/2007 Docente: Antonio Corradi.
JARS JavaActiveReplicationSupport Anno Accademico Bellocchi Marco Maria.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
H A F S High Availability File System. Obiettivi Realizzare un servizio di File System che sia: Accessibile Fruibile in remoto e condiviso da tutti gli.
DEIS Università di Bologna
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Sistemi Informativi sul Web
File system distribuito transazionale con replicazione
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
L’architettura a strati
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Reti di calcolatori LS Enrico Pirazzini SSB un middleware basato su JMS per l'invocazione di servizi remoti.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
MCSA Mobile Code System Architecture Infrastruttura a supporto della code mobility Pierfrancesco Felicioni Reti di Calcolatori L.S. 2005/2006.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 1 - Domain Name System Ernesto Damiani Lezione 2 – Caratteristiche.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
PROTOTIPO DI UN GIOCO DI STRATEGIA IN RETE Alberto Buccella Università degli studi di Bologna Facoltà di Ingegneria Corso di Ingegneria Informatica.
Lucia Melotti 1/14 Bologna, 7 luglio 2004 Aspetti di sicurezza nello scambio di messaggi XML tra un partner ebXML ed un Web Service di Lucia Melotti Relatore:
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Search Engine Distribuito e Replicato Corso di Reti di Calcolatori LS Andrea Boari –
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Sistemi di elaborazione dell’informazione Modulo 4 -Tecniche di programmazione distribuita Unità didattica 1 -Socket library Ernesto Damiani Lezione 1.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
JDICS Java Dynamic Infrastructure for C/S systems Laura Galli matr Reti di calcolatori LS, Prof. A.Corradi A.A
Mots, programmazione collaborativa di Ettore Ferranti.
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Transcript della presentazione:

Sistema distribuito per il controllo remoto di Software SCADA HMI Presentazione di Paolo di Francia Reti di Calcolatori LS a.a

Descrizione Il progetto consiste nella realizzazione di un middleware distribuito per la gestione di flussi di dati derivanti da dispositivi hardware adibiti al controllo di processi industriali.

Funzionalità del servizio Possibilità dei Client di effettuare delle richieste al Server che comunica con il software SCADA eseguendo lettura di un Tag scrittura di un Tag esecuzione di una funzione CiCode (linguaggio proprietario di Citect)

Ipotesi di partenza Guasto singolo Fault tolerance: possibilità di affidarsi al sistema per il completamento della richiesta Reliability: sicurezza nella correttezza delle risposte Avalilability: rispondere in un tempo limitato (replicazione con più server)

.Net Remoting Canali bidirezionali su cui gli Application Domain si registrano (TCP, HTTP) Catene di responsabilità di oggetti sink Possibilità di invocazioni sinc e asinc Oggetti attivati da Client (lease) Oggetti attivati da Server (single call, singleton).NET remoting fornisce una struttura che consente agli oggetti di interagire fra loro su domini di applicazione diversi.

Oggetti remoti Tutti gli oggetti locali che devono attraversare il confine dell' application domain devono essere contrassegnati dall'attributo [serializable], oppure devono implementare l'interfaccia ISerializable Per creare un oggetto remoto è necessario derivare MarshalByRefObject Quando un client attiva un oggetto remoto, riceve un proxy per questo oggetto che funge da intermediario Tutti i parametri di chiamata del metodo nello stack vengono convertiti in messaggi e spostati nel application domain remoto, dove i messaggi vengono inseriti in un frame dello stack e il metodo viene richiamato

Channel I client registrano i canali richiamando RegisterChannel sulla classe ChannelService Il canale TCP serializza i messaggi in un flusso binario e trasportare il flusso all' Uniform Resource Identifier (URI)

Archivio Dati Tutti i comandi invocati dai client vengono depositati in un archivio. E’ così possibile mantenere traccia delle chiamate anche in caso di crash Server. L’ archivio è costituito da un DataBase, ciò comporta: Facile inserimento, prelievo ma soprattutto ricerca dei record. Tempi “accettabili” per l’esecuzione di un comando SQL.

Two phase lock protocol Stato di working: gli oggetti sono in stato inconsistente, in caso di caduta dell’elaboratore operazione abortisce Stato di commit: gli oggetti sono nel loro stato finale, l’azione anche in caso di caduta viene completata Stato di aborting: gli oggetti vengono ripristinati al valore iniziale anche in caso di caduta in questo stato Working Aborting Commiting BeginCommitEnd Caduta Abort End

ADO.NET ADO.NET semplifica notevolmente la soluzione di inconvenienti di questo tipo, attraverso la classe OleDBTransaction. Essa dispone di tre metodi che consentono la rapida ed efficace implementazione dell’algoritmo Two Phase Lock, in particolare: BeginTransaction(); Inizia una transazione di database nidificata. Commit(); Esegue il commit della transazione di database. RollBack(); Esegue il rollback di una transazione da uno stato in sospeso.

Sincronizzazione Tutti i client connessi al server utilizzano la stessa istanza dell’oggetto remoto (Singleton) per inserire richieste Le uniche operazioni che devono essere sincronizzate sono l’aggiunta di una richiesta o il prelievo delle risposte Citect non dispone di un meccanismo di schedulazione dei comandi esterni La gestione di chiamate concorrenti spetta al Server

Politiche di Scheduling Algoritmo FIFO Il periodo fra una richiesta e la successiva è a discrezione dell’utente. Un periodo troppo breve può portare ad una congestione dello Scada. Request Request Queue (Max Length 20 request) Request Engine

I client si interfacciano con un RequestList FIFO server preleva tali richieste e le inserisce nell’archivio periodicamente attraverso un thread. 1.1:getAllRequest() Request Engine Request Engine Request DataBase Request List 1:findRequest() 2:insertRequest getRemoteObject() releaseRemoteObject() l’accesso alla sezione critica risulta controllato da un altro mutex presente all’interno dell’oggetto remoto condiviso Ogni richiesta corrisponde a un thread che deve controllare la disponibilità della risorsa, in tal caso prenderne l’uso esclusivo, aggiungere la richiesta e quindi rilasciare la risorsa(mutex)

Response Engine Response Engine ConnectionRequestErrorResponse Scada Command 1:open() 2:extractRequest() 3: > 4:execute() 5: > 6:exctractResult() 7:checkError() 8:storeResponse() 9:deleteRequest() 10:close() Viene creato un nuovo thread “figlio” che si occupa di comunicare con citect e riportare i risultati. Il thread “padre” rimane in attesa della terminazione attraverso un comando di join().

Gestione errori Si può presentare la situazione in cui un client cerca di effettuare una o più delle seguenti operazioni: aggiunta di una richiesta nel caso in cui Citect sia offline: In questo caso il server risponderà con un messaggio indicante l’impossibilità di eseguire al momento tale richiesta. lettura/scrittura di un Tag inesistente. richiesta di esecuzione di una funzione CiCode inesistente Nei casi sopra indicati il server sarà in grado di eseguire la richiesta ma risponderà con un messaggio indicante il fallimento

Conclusioni Replicazione di entità Server per una migliore qualità di servizio Migliorare la sicurezza utilizzando protocolli di cifratura dei messaggi