Client/Server Computing, Middleware, RPC

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Client/Server Computing, Middleware, RPC"

Transcript

1 Client/Server Computing, Middleware, RPC Slides are mainly taken from «Operating Systems: Internals and Design Principles, 8/E William Stallings (Chapter 16). Sistemi di Calcolo (II semestre) Roberto Baldoni

2 Client/Server Computing Client machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end user Each server provides a set of shared services to the clients The server enables many clients to share access to the same database and enables the use of a high-performance computer system to manage the database

3 Client/Server Terminology

4 Generic Client/Server Environment

5 Client/Server Applications Basic software is an operating system running on the hardware platform Platforms and the operating systems of client and server may differ These lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applications

6 Generic Client/Server Architecture

7 Client/Server Applications Bulk of applications software executes on the server Application logic is located at the client Presentation services in the client

8 Database Applications The server is a database server Interaction between client and server is in the form of transactions the client makes a database request and receives a database response Server is responsible for maintaining the database

9 Client/Server Architecture for Database Applications

10 Client/Server Database Usage

11 Client/Server Database Usage

12 Classes of Client/Server Applications Host-based processing Not true client/server computing Traditional mainframe environment

13 Classes of Client/Server Applications Server-based processing Server does all the processing Client provides a graphical user interface

14 Classes of Client/Server Applications Client-based processing All application processing done at the client Data validation routines and other database logic functions are done at the server

15 Classes of Client/Server Applications Cooperative processing Application processing is performed in an optimized fashion Complex to set up and maintain

16 Three-tier Client/Server Architecture Application software distributed among three types of machines User machine Thin client Middle-tier server Gateway Convert protocols Merge/integrate results from different data sources Backend server

17 Three-tier Client/Server Architecture

18 Middleware Set of tools that provide a uniform means and style of access to system resources across all platforms Enable programmers to build applications that look and feel the same Enable programmers to use the same method to access data

19 MIDDLEWARE Il middleware è un software di connessione che consiste di un insieme di servizi e/o di ambienti di sviluppo di applicazioni distribuite che permettono a più entità (processi, oggetti ecc.), residenti su uno o più elaboratori, di interagire attraverso una rete di interconnessione a dispetto di differenze nei protocolli di comunicazione, architetture dei sistemi locali, sistemi operativi ecc..

20 Role of Middleware in Client/Server Architecture

21 MIDDLEWARE Applicazioni Distribuite Ambiente di sviluppo applicativo Servizi di configurazione ed amministrazione del sistema Servizi di astrazione e cooperazione Servizi di comunicazione Infrastruttura di comunicazione (esempio TCP/IP)

22 Middleware: Servizi Servizio di Comunicazione. Questo servizio offre una API che permette all applicazione distribuita di scambiarsi informazioni tra le sue componenti residenti su elaboratori con caratteristiche hardware e/o software differenti. Lo scopo di questo servizio è di nascondere le disomogeneità dovute alla rappresentazione dei dati usata dai vari elaboratori, ai sistemi operativi locali ed a differenti reti che costituiscono l infrastruttura della piattaforma. Per comunicazioni si intendono diversi paradigmi di interazione che vanno dalle RPC, alla messaggistica applicativa al modello publish/subscribe, al mantenimento di discipline diverse da quella FIFO (esempio causal order, total order)

23 Middleware: Servizi Servizi di astrazione e cooperazione. Questi servizi rappresentano il cuore del middleware e comprendono tra gli altri: Directory Service (o servizio di pagine gialle ) che provvede alla identificazione ed alla localizzazione di entità. Questo servizio rende le applicazioni al di sopra del middleware indipendenti dal sottosistema di instradamento dei messaggi. Security Service che è finalizzato alla protezione di elementi critici come dati e servizi applicativi attraverso tecniche come autenticazione, autorizzazione e criptografia. Time Service il quale assicura che tutti i clock interni tra client e server siano sincronizzati entro un accettabile livello di varianza

24 Middleware: Servizi Servizi per le applicazioni. Questi servizi permettono ad una applicazione di avere un accesso diretto o con la rete o con i servizi offerti dal middleware. Ad esempio un servizio orientato alle transazioni, all interno di un middleware, può fornire un supporto per accesso transazionale a basi di dati eterogenee. Servizi di amministrazione del sistema. monitoring configurazione pianificazione. Ambiente di sviluppo applicativo. strumenti di aiuto alla scrittura debugging caricamento di applicazioni distribuite sia ad oggetti che basate su processi. (Interface Definition Language) per l interconnessione tra moduli scritti in diversi linguaggi di programmazione e residenti su elaboratori distinti.

25 Middleware: Obiettivi interoperabilità e connettività per applicazioni distribuite su piattaforme eterogenee collante delle applicazioni utilizzate all interno di una azienda. Sistema Informativo A Sistema Informativo C

26 Middleware: Problemi Un middleware molto spesso offre più servizi di quelli di cui una applicazione ha realmente bisogno, quindi si pone un problema progettuale (scegliere il migliore middleware in rapporto ai servizi richiesti da una applicazione) e di prestazioni (il middleware scelto non deve appesantire troppo il sistema locale o la rete di interconnessione). Configurabilità

27 Distributed Message Passing

28 Message-Oriented Middleware Classe specifica di middleware che supporta scambio di messaggi in un ambiente di applicazioni distribuite che sono message-driven ovvero l evoluzione dell applicazione è scandita dalla trasmissione e ricezione di messaggi. Messaggeria asincrona (il server non deve essere necessariamente in funzione): Code di messaggi Publish/Subscribe

29 Basic Message-Passing Primitives

30 Code di Messaggi I messaggi inviati dai client ad un server rimangono immagazzinati in una coda fino a che il server non li preleva dalla coda stessa. Facilita: Implementazione di politiche di priorità Bilanciamento del carico (+ server prelevano messaggi dalla stessa coda) Gestione di applicazioni tolleranti ai guasti Miglioramento delle prestazioni (client non-bloccante)

31 Publish/Subscribe message bus architecture Sul bus si poggiano due entità i publisher (coloro che inviano/pubblicano i messaggi) e i subscriber (coloro che ricevono i messaggi). Il publisher pubblica un messaggio con un certo subject (es. /calcio/italia/squadre/lazio ) e questo messaggio raggiunge tutti i subscriber che si sono abbonati a tale subject. Un publisher non è costretto a conoscere tutti i suoi subscriber e viceversa. l insieme dei publisher e dei subscriber di un certo soggetto può cambiare dinamicamente

32 Publish/Subscribe Un processo può essere publisher di diversi soggetti e subscriber di altri. Il software che implementa tale paradigma di comunicazione deve cercare di non inondare la rete con copie dello stesso messaggio. I soggetti formano uno spazio unico e gerarchico dei nomi (come in un file system) Il message bus consente diversi livelli di gestione dalla consegna con certificato alla consegna non-affidabile. Se un subscriber e attivo all arrivo di un messaggio viene attivata una upcall. Se non e attivo viene immagazzinato il messaggio all interno di un elemento dell architettura pub/sub che provvederà a consegnarlo non appena il subscriber sarà attivo

33 Mqseries (IBM) MQseries è fondato su un sistema di code di messaggi. Mqseries è un middleware basato su una serie di oggetti. Queue managers, Queues, Namelists, Distribution list. L elemento chiave in Mqseries è il queue manager che gestisce l invio, la ricezione e l accodamento dei messaggi per conto delle applicazioni attraverso la Message Queue Interface (MQI). Le code vengono create/rimosse dalle applicazioni attraverso opportune chiamate al queue manager. Esistono due tipi di code, quelle locali (gestite dal queue manager a cui è connessa l applicazione) e quelle remote

34 Mqseries (IBM) All interno di un queue manager le code possono essere di due tipi temporanee e persistenti. I nomi delle code definite dagli utenti vengono mantenute in un deposito chiamato namelist che gestisce l associazione nome logico-nome fisico. Quindi quando un utente vuole accedere ad una coda conoscendo il suo indirizzo logico, l indirizzo fisico viene ritrovato attraverso la namelist. Una applicazione può inviare lo stesso messaggio in più code attraverso il meccanismo di distribution list. (emulazione del multicast)

35 Tib/Redezvous Tib/Rendezvous è basato su un servizio di comunicazione publish/subscribe molto sofisticato.

36 Tib/Redezvous Tib/rendezvous fornisce due livelli di affidabilità sulle consegne dei messaggi: consegna affidabile e consegna certificata La consegna affidabile notifica un rapporto al al publisher in caso di perdita di un messaggio (senza indicare il messaggio). Nel caso di consegna certificata il rapporto indica il messaggio perso ed i subscriber che non lo hanno ricevuto. I messaggi inviati con consegna certificata sono immagazzinati nella memoria di massa del publisher in modo da essere prelevati successivamente in caso di guasti.

37 Tib/Redezvous L architettura software di TIB/rendezvous è formata da una serie di componenti: Una libreria TIB/rendezvous che permette all applicazione di usare l API di TIB/Rendezvous. Un processo nascosto (demone) TIB/Rendezvous che riceve le chiamate dalla libreria e gestisce tutte le comunicazioni tra i processi applicativi (sia remoti che residenti sulla stessa macchina), la frammentazione ed il reassemblaggio dei pacchetti ed il filtraggio basato sul subject dei messaggi. Un processo nascosto instradatrore dei messaggi (TIB/Rendezvous Deamon) che permette di non inviare messaggi in sottoreti dove non è presente nessun subscriber per quel soggetto (altrimenti le varie sottoreti sarebbero intasate di messaggi!). I cambiamenti delle tavole dei suscriber vengono notificati ai vari TIB/Rendezvous Deamon attraverso protocolli periodici di scambio di messaggi.

38 Tib/Redezvous L architettura software di TIB/rendezvous è formata da una serie di componenti: Cache di Messaggi (Message Cache) immagazzina messaggi che transitano sulla rete riguardanti un certo subject. Quando un processo esegue il subscribe per un certo soggetto, se è attiva la message cache per quel soggetto, egli riceverà tutti i messaggi presenti nella cache. Questo permette ad un processo di ricevere messaggi anche quando non è in esecuzione e di gestire politiche di tolleranza ai guasti.

39 Remote Procedure Calls

40 Distributed Message Passing

41 Remote Procedure Calls Allow programs on different machines to interact using simple procedure call/return semantics Widely accepted Standardized Client and server modules can be moved among computers and operating systems easily

42 Remote Procedure Call Mechanism

43 Remote Procedure Call Una Chiamata a Procedure Remota (RPC) trasforma l interazione Client/Server in una chiamata a procedura, simile a quella locale, nascondendo al programmatore la maggiore parte dei meccanismi implementativi che la compongono, come: l interscambio di messaggi, la localizzazione del server che fornisce il servizio le possibili differenti rappresentazioni dei dati delle macchine coinvolte nell interazione.

44 RPC Questo mascheramento avviene in quattro fasi: A tempo di scrittura del codice. Le RPC usate/fornite dovranno essere dichiarate esplicitamente dal programmatore attraverso import/export delle definizioni delle interfacce. A tempo di esecuzione. Ogni macchina su cui è in esecuzione un programma client e/o server dovrà avere un supporto a tempo si esecuzione per le RPC (RPC run-time support) in grado di eseguire alcune operazioni delle RPC come ad esempio la localizzazione del server o la registrazione di un nuovo servizio offerto da un nuovo server. A tempo di compilazione. Durante la compilazione per ogni chiamata a procedura remota vengono agganciate linee di codice al programma originario (stub) che permettono operazioni standard sui dati (impacchettamento e codifica universalmente riconosciuta) e le chiamate al RPC run-time support; A tempo di collegamento. Durante il collegamento il programma sorgente viene collegato al RPC run-time support per ottenere il codice eseguibile.

45 RPC Timeline Client Server Blocked Blocked Computing Blocked

46 Meccanismi per RPC Un protocollo che nasconde le insidie della rete (perdita di pacchetti e riordinamento dei messaggi) Un meccanismo per impacchettare gli argomenti dal lato chiamante e per spacchettarli dal lato chiamato

47 Risultati Spacchetta i parametri Spacchetta i risultati RPC Chiamata CLIENT Risultati Server Impacchetta i Parametri CLIENT STUB Impacchetta i risultati SERVER STUB RPC Run-Time Support RPC Run-Time Support Kernel del SO locale Kernel del SO locale

48 RPC Server procedure Server program Server stub Interface Specifications RPC generator Header file RPC run -time support Client stub Client Main program Client program

49 Localizzazione del server Metodo Statico. Cablare all interno del client l indirizzo (IP address) del server. Metodo Dinamico. Lo stub del client, mentre impacchetta i dati, invia concorrentemente un broadcast richiedendo l indirizzo di un server in grado di eseguire la RPC desiderata. Il supporto run-time delle RPC di ogni machina risponde se il servizio richiesto e fornito da un suo server in esecuzione.

50 Localizzazione del server Name Server. Il client alla ricerca di un server consulta una entità, name server, la quale gestisce una lista di associazioni server-servizi. client stub server stub name server 1

51 Passaggio dei Parametri Call by Reference sconsigliato Call by Copy/Restore. Copia una variabile a, da parte dello stub del client, nel pacchetto dati (come se fosse passata per valore). Il nuovo valore di a, restituito dal server nei parametri di ritorno della RPC sarà copiato, dallo stub del client, nella cella di memoria che contiene la variabile a. CLIENT SIDE begin.. a=0; doppioincr(a,a); writeln (a);... end SERVER SIDE procedure doppioincr (var x,y: integer) begin. x:= x+2; y:= y+3; end Risultato: Call by ref, a= 5 Call by copy/restore a= 2 o 3 dipendente dall implementazione dello stub del client

52 Semantica delle RPC At least once Time-out stub del client Ritrasmissione At most once Time-out stub del client Codice di errore di ritorno Exactly once

53 Exactly once Lato server Semantica delle RPC Immagazzinare tutti i risultati delle RPC nel server (logging) Se arriva al server una richiesta già effettuata il risultato dovrà essere preso dal file di log Lato Client Numerare tutte le richeste dai client (sequence number) Numero di reincarnazione (add 1 ad ogni restart del client) A seguito di un guasto un client invia il numero di reincarnazione corrente prima di cominciare ad eseguire le RPC (per uccidere le RPC pendig della incarnazione precedente.

54 Sottosistema di Comunicazione TCP troppo costoso in fase di connessione UDP nessun costo di connessione ma si deve gestire al di sopra an protocollo per l invio affidabile dei dati e per il dispatching delle RPC all interno dello stesso host IP dobbiamo gestire anche il multiplexing/demultiplexing dei pacchetti all interno del singolo host oltre ai problemi che derivano dall utilizzo di UDP Gestione di pacchetti di riscontro Stop and wait Blast (tutti i pacchetti sono inviati in sequenza ed il server invia un ack in ricezione dell ultimo pacchetto)

55 Simple RPC Stack SELECT CHAN BLAST UDP/IP ETH

56 RCP Components (an example) Protocol Stack BLAST: fragments and reassembles large messages CHAN: synchronizes request and reply messages (at most once semantic) SELECT: dispatches request to the correct process Stubs Caller (client) Arguments Client stub Return value Arguments Callee (server) Server stub Return value Request Reply Request Reply RPC protocol RPC protocol

57 Bulk Transfer (BLAST) Sender Receiver Strategy selective retransmission partial acknowledgements Use of three timers DONE LAST_FRAG RETRY

58 BLAST Details Sender: Store fragments in local memory, send all fragments, set timer DONE if receive SRR, send missing fragments and reset DONE If receive SRR all fragments have been received, then sender frees fragments if timer DONE expires, free fragments (sender gives up)

59 BLAST Details (cont) Receiver: when first fragment arrives, set timer LAST_FRAG when all fragments present, reassemble and pass up four exceptional conditions: if last fragment arrives but message not complete send SRR and set timer RETRY if timer LAST_FRAG expires send SRR and set timer RETRY if timer RETRY expires for first or second time send SRR and set timer RETRY if timer RETRY expires a third time give up and free partial message

60 BLAST (iii) Performance of BLAST in nice conditions does not depend on how carefully timers are set DONE can be a fairly large value RETRY is used to retransmit SRR messages. However when things are bad, performance is the last thing in mind. LAST_FRAG is used to retransmit SRR messages when the last frag is dropped by the network (unlikely event)

61 BLAST (iv) BLAST is persistent in asking retrasmission of missing packets (designed to deliver large messages) BLAST does not guarantee anything on the delivery of the complete message. Assume a message composed by two fragments and these fragments are lost. The message will never be delivered. The sender s DONE timer will expires and the sender gives up BLAST does not have capability to resend the complete message. This can be done by an upper layer protocol. Question: Why? Answer: preferable resending only those packets that are missing rather than having to retransmit the complete message when one fragment is lost

62 BLAST Header Format MID must protect against wrap around (all fragments of a message have the same MID) TYPE = DATA or SRR NumFrags indicates number of fragments FragMask distinguishes among fragments if Type=DATA, identifies this fragment if Type=SRR, identifies missing fragments Max 32 fragments per message ProtNum MID Length NumFrags Type FragMask Data

63 Request/Reply (CHAN) Guarantees message delivery Synchronizes client with server Supports at-most-once semantics Simple case Implicit Acks Client Server Client Server

64 CHAN Details To account opportunity of message loss, each message (REQ, REPLY) is stored till the ACK for it has arrived. Otherwise set a timer RETRANSMIT and and resend the message each time the timer expires Retrasmission implies message duplication at recipient side: use message id (MID) field to distinguish

65 CHAN more Details Slow (long running) server client periodically sends are you alive probe, or server periodically sends I m alive notice Want to support multiple outstanding calls use channel id (CID) field to distinguish Machines crash and reboot use boot id (BID) field to distinguish Use RETRANSMIT (client), RETRANSMIT (Server) and PROBE (Client) Retransmit on a LAN can be set to 20msec and a WAN suffer the same as TCP

66 Differences between TCP/IP and CHAN/BLAST/IP Assume the network cannot be partitioned forever and that both sender and receiver do not fail Does CHAN/BLAST/IP protocol stack ensure a message will be delivered to the destination? Does TCP does not ensure this property?

67 CHAN Header Format typedef struct { u_short Type; /* REQ, REP, ACK, PROBE */ u_short CID; /* unique channel id */ int MID; /* unique message id */ int BID; /* unique boot id */ int Length; /* length of message */ int ProtNum; /* high-level protocol */ } ChanHdr; typedef struct { u_char type; /* CLIENT or SERVER */ u_char status; /* BUSY or IDLE */ int retries; /* number of retries */ int timeout; /* timeout value */ XkReturn ret_val; /* return value */ Msg *request; /* request message */ Msg *reply; /* reply message */ Semaphore reply_sem; /* client semaphore */ int mid; /* message id */ int bid; /* boot id */ } ChanState;

68 Dispatcher (SELECT) Dispatch to appropriate procedure Synchronous counterpart to UDP Client Caller xcall SELECT xcall CHAN xpush xdemux Server Callee xcalldemux SELECT xcalldemux CHAN xpush xdemux Address Space for Procedures flat: unique id for each possible procedure hierarchical: program + procedure number

69 Presentation Formatting Marshalling (encoding) application data into messages Unmarshalling (decoding) messages into application data Application data Presentation encoding Message Message Message Application data Presentation decoding Data types we consider integers floats strings arrays structs

70 Difficulties Representation of base types floating point: IEEE 754 versus non-standard integer: big-endian versus little-endian (2) (17) (34) (126) Big- endian Little- endian (126) (34) (17) (2) High address Low address Different representation of integers (1,2,4 bytes)

71 Taxonomy Data types base types (e.g., ints, floats); must convert flat types (e.g., structures, arrays); must pack complex types (e.g., record); must linearize Application data structure Marshaller Conversion Strategy canonical intermediate form receiver-makes-right (an N x N solution)

72 Taxonomy (cont) How a receiver knows which type of data is in the packet Tagged versus untagged data type = INT len = 4 value = Type, len, architecture Untagged data No variable size data structures End-to-end presentation formatting

73 external Data Representation (XDR) Defined by Sun for use with SunRPC C type system Canonical intermediate form Untagged (except array length) Compiled stubs

74 Example of encoding a string and a vector #define MAXNAME 256; #define MAXLIST 100; struct item { int count; char name[maxname]; int list[maxlist]; }; Count Name 3 7 J O H N S O N List

75 Abstract Syntax Notation One (ASN-1) An ISO standard Essentially the C type system Canonical intermediate form Tagged BER: Basic Encoding Rules (tag, length, value) Nested representation of data structures type length type length value type length value value INT 4 4-byte integer Standard for SNMP

76 Network Data Representation (NDR) Defined by DCE Essentially the C type system Receiver-makes-right (architecture tag) Individual data items untagged Compiled stubs from IDL 4-byte architecture tag IntegerRep 0 = big-endian 1 = little-endian CharRep 0 = ASCII 1 = EBCDIC FloatRep 0 = IEEE = VAX 2 = Cray 3 = IBM IntegrRep CharRep FloatRep Extension 1 Extension 2

77 Distributed Message Passing

78 Object-Oriented Mechanisms Clients and servers ship messages back and forth between objects A client sends a request to an object broker The broker calls the appropriate object and passes along any relevant data

79 Object-Oriented Mechanisms Microsoft s Component Object Model (COM) Common Object Request Broker Architecture (CORBA)

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Middleware MIDDLEWARE Il middleware è un software di connessione che consiste di un insieme

Dettagli

Telematica di Base. IL Livello di Trasporto TCP

Telematica di Base. IL Livello di Trasporto TCP Telematica di Base IL Livello di Trasporto TCP TCP RFCs: 793, 1122, 1323, 2018, 2581 point-to-point: Un sender, un receiver affidabile protocollo di tipo pipeline: Meccanismi per evitare la congestione,

Dettagli

Le comunicazioni ordinate

Le comunicazioni ordinate Le comunicazioni ordinate Comunicazioni Ordinate E importante (e utile definire delle primitive di comunicazione che diano qualche garanzia sull ordine di consegna dei messaggi inviati all interno di un

Dettagli

Architetture di rete. 4. Le applicazioni di rete

Architetture di rete. 4. Le applicazioni di rete Architetture di rete 4. Le applicazioni di rete Introduzione L avvento di tecnologie (hw, sw, protocolli) di rete avanzate ha permesso la nascita di architetture software molto evolute che permettono lo

Dettagli

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete Reti di calcolatori Protocolli di Trasmissione: Il modello ISO/OSI L architettura TCP/IP Protocolli di trasmissione Un protocollo di

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery ICMP (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery ICMP 1 Formato pacchetti ICMP fa parte dello stack TCP/IP Formato

Dettagli

Chiamate a Procedure Remote

Chiamate a Procedure Remote FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Corso di Sistemi Distribuiti Anno Accademico 2012/2013 Relazione sullo sviluppo di Chiamate a Procedure Remote

Dettagli

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09

Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 Laboratorio di Programmazione di Rete Laurea Triennale in Informatica Applicata Progetto di fine Corso - A.A. 08/09 SRM: Un Sistema Tollerante ai Guasti per la Gestione di Risorse Condivise in Una Rete

Dettagli

Internet (- working). Le basi.

Internet (- working). Le basi. Internet (- working). Le basi. 1 GABRIELLA PAOLINI (GARR) 18 OTTOBRE 2011 Capire come funziona Internet 2 FACCIAMO UN PASSO INDIETRO Internet È un insieme di reti interconnesse fra di loro su tutto il

Dettagli

Architetture software

Architetture software Sistemi Distribuiti Architetture software 1 Sistemi distribuiti: Architetture software Il software di gestione di un sistema distribuito ha funzionalità analoghe ad un sistema operativo Gestione delle

Dettagli

Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert)

Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert) Esercizi PARTE 1 Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert) When you make a phone call, it s usually the callee that answers with hello. What changes to our example client and server would

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione Che cos e l Informatica Scienza dell elaborazione dell informazione Informatica generale non si riduce all utilizzo di strumenti (e.g. linguaggi di programmazione e basi di dati); si occupa del trattamento

Dettagli

8. Sistemi Distribuiti e Middleware

8. Sistemi Distribuiti e Middleware 8. Sistemi Distribuiti e Middleware Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 8. Sistemi distribuiti e Middleware 1 / 32 Sommario 1 Sistemi distribuiti

Dettagli

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA

CORBA ( Common Object Request Broker Architecture ) Le specifiche più conosciute sono UML e CORBA CORBA ( Common Object Request Broker Architecture ) consiste in un insieme di specifiche promosse e curate da OMG (Object Management Group). L OMG è un consorzio internazionale no-profit di industrie nel

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:

Dettagli

NAT: Network Address Translation

NAT: Network Address Translation NAT: Network Address Translation Prima di tutto bisogna definire che cosa si sta cercando di realizzare con NAT 1. Stai cercando di consentire agli utenti interni di accedere a Internet? 2. Stai cercando

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

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

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 03/04 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 2

Dettagli

Architettura Connettore Alfresco Share

Architettura Connettore Alfresco Share Direzione Sistemi Informativi Portale e Orientamento Allegato n. 2 al Capitolato Tecnico Indice Architettura Connettore Alfresco Share 1. Architettura del Connettore... 3 1.1 Componente ESB... 4 1.2 COMPONENTE

Dettagli

API e socket per lo sviluppo di applicazioni Web Based

API e socket per lo sviluppo di applicazioni Web Based API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione

Dettagli

Downloading and Installing Software Socio TIS

Downloading and Installing Software Socio TIS Object: Downloading and Installing Software Socio TIS compiler: L.D. Date Revision Note April 17 th 2013 --- For SO XP; Win 7 / Vista step Operation: Image A1 Open RUN by clicking the Start button, and

Dettagli

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 1/10 SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI 2/10 ARCHITETTURA DI SISTEMA Il sistema è basato su una rete di stazioni di ricarica, con configurazione e tipologia

Dettagli

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS 1. Ambiente di sviluppo Sono stati analizzati diversi linguaggi e framework differenti utilizzabili per implementare i WebServices ONVIF. Il risultato

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

SOA!= OO. Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet.

SOA!= OO. Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet. SOA!= OO Andrea Saltarello Software Architect @ Managed Designs S.r.l. andrea.saltarello@manageddesigns.it http://blogs.ugidotnet.org/pape http://creativecommons.org/licenses/by-nc-nd/2.5/ Chi sono Solution

Dettagli

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

User Guide Guglielmo SmartClient

User Guide Guglielmo SmartClient User Guide Guglielmo SmartClient User Guide - Guglielmo SmartClient Version: 1.0 Guglielmo All rights reserved. All trademarks and logos referenced herein belong to their respective companies. -2- 1. Introduction

Dettagli

DICHIARAZIONE DI RESPONSABILITÀ

DICHIARAZIONE DI RESPONSABILITÀ - 0MNSWK0082LUA - - ITALIANO - DICHIARAZIONE DI RESPONSABILITÀ Il produttore non accetta responsabilità per la perdita di dati, produttività, dispositivi o qualunque altro danno o costo associato (diretto

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier 4 - Livello Rete (parte ) Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Strato di rete e strato di trasporto Lo strato di trasporto

Dettagli

Comunicazione fra oggetti distribuiti

Comunicazione fra oggetti distribuiti Comunicazione fra oggetti distribuiti RMI RPC invocazione di metodo remoto - gli oggetti remoti ricevono le RMI interfaccia remota meccanismo per la comunicazione cliente servente come primitiva di un

Dettagli

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014

SOA e Web Service SISTEMI INFORMATIVI MODULO II. Corso di Sistemi Informativi Modulo II A. A. 2013-2014 Corso di Laurea Magistrale in Ingegneria Gestionale Corso di Sistemi Informativi Modulo II A. A. 2013-2014 SISTEMI INFORMATIVI MODULO II SOA e Web Service Figure tratte dal testo di riferimento, Copyright

Dettagli

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

Struttura della lezione. Lezione 9 Architetture dei sistemi distribuiti (2) Il valore aggiunto di una rete di N utenti Struttura della lezione Lezione 9 Architetture dei sistemi distribuiti (2) Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

Processi, Threads e Agenti

Processi, Threads e Agenti Processi, Threads e Agenti Processi in Sistemi Distribuiti Un sistema software distribuito ècompostodaun insieme di processi in esecuzione su più nodi del sistema. Un algoritmo distribuito può essere definito

Dettagli

Protocolli e Architetture. Dr. Greco Polito Silvana

Protocolli e Architetture. Dr. Greco Polito Silvana Protocolli e Architetture Cos è un protocollo? Insieme di regole che definiscono le modalità di interazione fra sistemi generalmente distanti Cos è un protocollo? Protocollo umano e protocollo di rete:

Dettagli

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo. PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,

Dettagli

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4 Internet Protocol Versione 4: instradamento e routing Aspetti di forwarding e routing del protocollo IPv4 1 Instradamento (forwarding) Operazione comune a tutte le macchine con stack TCP/IP Router, end

Dettagli

REGISTRATION GUIDE TO RESHELL SOFTWARE

REGISTRATION GUIDE TO RESHELL SOFTWARE REGISTRATION GUIDE TO RESHELL SOFTWARE INDEX: 1. GENERAL INFORMATION 2. REGISTRATION GUIDE 1. GENERAL INFORMATION This guide contains the correct procedure for entering the software page http://software.roenest.com/

Dettagli

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori I semestre 03/04 Internet Control Message Protocol ICMP Comunica messaggi di errore o altre situazioni che richiedono intervento Errore di indirizzo o di istradamento Congestione in un router Richiesta

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla

Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla Laboratorio di Amministrazione di Sistema (CT0157) parte A : domande a risposta multipla 1. Which are three reasons a company may choose Linux over Windows as an operating system? (Choose three.)? a) It

Dettagli

Guida alla configurazione Configuration Guide

Guida alla configurazione Configuration Guide Guida alla configurazione Configuration Guide Configurazione telecamere IP con DVR analogici, compatibili IP IP cameras configuration with analog DVR, IP compatible Menu principale: Fare clic con il pulsante

Dettagli

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf

Servizi di interscambio dati e cooperazione applicativa Guida alla gestione dei servizi web Mipaaf Servizi di interscambio dati e cooperazione applicativa Indice 1 Introduzione... 3 2 Accesso ai servizi... 4 2.1 La richiesta di convenzione... 4 2.2 Le credenziali di accesso al sistema... 5 2.3 Impostazione

Dettagli

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di

Dettagli

Tutto il VoIP in 45 minuti!! Giuseppe Tetti. Ambiente Demo. VoIP IP PBX SIP

Tutto il VoIP in 45 minuti!! Giuseppe Tetti. Ambiente Demo. VoIP IP PBX SIP Tutto il in 45 minuti!! Giuseppe Tetti Ambiente Demo 1 Ambiente Demo Ambiente Demo 2 Ambiente Demo ATA Ambiente Demo Internet ATA 3 Ambiente Demo Internet ATA Rete Telefonica pubblica Ambiente Demo Internet

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org Debtags Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini (enrico@debian.org) 1/14 Fondazioni teoretiche Classificazione a Faccette (sfaccettature) Scoperte del cognitivismo (capacità

Dettagli

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori. IL MULTIPROCESSING Il problema: necessità di aumento della potenza di calcolo. La velocità di propagazione del segnale (20 cm/ns) impone limiti strutturali all incremento della velocità dei processori

Dettagli

InterProcess Communication (IPC)

InterProcess Communication (IPC) CdL MAGISTRALE in INFORMATICA A.A. 2013-2014 corso di Sistemi Distribuiti 5. IPC (Inter Process Communication) (parte 2): da RPC a RMI Prof. S.Pizzutilo InterProcess Communication (IPC) Modelli e tecnologie

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

La gestione dei processi in Minix

La gestione dei processi in Minix La gestione dei processi in Minix Sistemi Operativi Lez. 28 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

CONFIGURATION MANUAL

CONFIGURATION MANUAL RELAY PROTOCOL CONFIGURATION TYPE CONFIGURATION MANUAL Copyright 2010 Data 18.06.2013 Rev. 1 Pag. 1 of 15 1. ENG General connection information for the IEC 61850 board 3 2. ENG Steps to retrieve and connect

Dettagli

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

Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica. Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica Corso di Sistemi Distribuiti Prof. Stefano Russo Modellidi SistemiDistribuiti

Dettagli

I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V. Indice. Prefazione

I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V. Indice. Prefazione I-XIII_romane_sawyer 14-02-2006 10:50 Pagina V Prefazione XI Capitolo 1 Tecnologie dell informazione e della comunicazione e Sistemi Informativi 1 1.1 Informatica e ICT 1 1.2 Il funzionamento dei computer:

Dettagli

ATM. Compatibile con diversi Canali di Comunicazione. Call Center / Interactive Voice Response

ATM. Compatibile con diversi Canali di Comunicazione. Call Center / Interactive Voice Response Compatibile con diversi Canali di Comunicazione Call Center / Interactive Voice Response ATM PLUS + Certificato digitale Dispositivi Portatili Mutua Autenticazione per E-mail/documenti 46 ,classico richiamo

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 8 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Il Livello di Trasporto: 1 L utente non ha il controllo sulla rete; non può risolvere i problemi di un servizio inadeguato

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Il protocollo IP (Internet Protocol)

Il protocollo IP (Internet Protocol) Politecnico di Milano Advanced Network Technologies Laboratory Il protocollo IP (Internet Protocol) -Servizi offerti da IP -Formato del pacchetto IP 1 Il servizio di comunicazione offerto da IP Connectionless

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

CdLM Informatica (DM 270/2004) Sistemi Distribuiti. Publish Subscribe. Angelastro Sergio Diomede Antonio Viterbo Tommaso

CdLM Informatica (DM 270/2004) Sistemi Distribuiti. Publish Subscribe. Angelastro Sergio Diomede Antonio Viterbo Tommaso CdLM Informatica (DM 270/2004) Sistemi Distribuiti Publish Subscribe Angelastro Sergio Diomede Antonio Viterbo Tommaso Outline Messaging System Messaging Benefits Synchronous and Asynchronous Call Semantics

Dettagli

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web.

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web. Corso di Ontologie e Semantic Web Linguaggi per la rappresentazione di ontologie Prof. Alfio Ferrara, Prof. Stefano Montanelli Definizioni di Semantic Web Rilievi critici Un esempio Tecnologie e linguaggi

Dettagli

Sistemi Web Tolleranti ai Guasti

Sistemi Web Tolleranti ai Guasti Sistemi Web Tolleranti ai Guasti Candidato: Paolo Romano Relatore: Prof. Salvatore Tucci Correlatore: Prof. Bruno Ciciani Sommario Il problema: garantire semantica exactly once alle transazioni Web. Sistema

Dettagli

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20

PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 PG5 Starter Training Applicazione File System Daniel Ernst EN02 2012-02-26 Stefano Peracchi IT01 2013-05-20 Introduzione Materiale richiesto Notebook o computer Controllore PCD1 E Cavo USB Scheda «Training»

Dettagli

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio

Dettagli

Protocolli di Sessione TCP/IP: una panoramica

Protocolli di Sessione TCP/IP: una panoramica Protocolli di Sessione TCP/IP: una panoramica Carlo Perassi carlo@linux.it Un breve documento, utile per la presentazione dei principali protocolli di livello Sessione dello stack TCP/IP e dei principali

Dettagli

Blocchi funzione: FbModbusAsciiMs

Blocchi funzione: FbModbusAsciiMs Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione

Dettagli

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi

corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 4. IPC (Inter Process Communication) (parte 1): le forme ed i modelli della comunicazione tra processi Prof. S.Pizzutilo Elementi

Dettagli

Reti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete

Reti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete Reti di Calcolatori ed Internet Reti di Calcolatori ed Internet Corso di Informatica Generale (Roberto BASILI) Teramo, 13 Dicembre, 2000 Architettura dei Servizi di Rete Collegamenti Internet ed i Servizi

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

Dettagli

Testi del Syllabus. Docente PICCHI GIORGIO Matricola: 004199

Testi del Syllabus. Docente PICCHI GIORGIO Matricola: 004199 Testi del Syllabus Docente PICCHI GIORGIO Matricola: 004199 Anno offerta: 2013/2014 Insegnamento: 1004699 - TELEMATICA Corso di studio: 3050 - INGEGNERIA INFORMATICA, ELETTRONICA E DELLE TELECOMUNICAZIONI

Dettagli

Interoperabilità e cooperazione applicativa tra sistemi informativi

Interoperabilità e cooperazione applicativa tra sistemi informativi Interoperabilità e cooperazione applicativa tra sistemi informativi Michele Ruta Dipartimento di Ingegneria Elettrica e dell Informazione Politecnico di Bari 1di 29 Indice Introduzione ai Port Community

Dettagli

Laboratorio software. A.A. 2009-2010 C. Brandolese

Laboratorio software. A.A. 2009-2010 C. Brandolese Laboratorio software A.A. 2009-2010 Hardware testing with software T1. RAM Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria RAM di un sistema

Dettagli

zpcr in practice Fabio Massimo Ottaviani (fabio.ottaviani@epvtech.com) EPV

zpcr in practice Fabio Massimo Ottaviani (fabio.ottaviani@epvtech.com) EPV zpcr in practice Fabio Massimo Ottaviani (fabio.ottaviani@epvtech.com) EPV CMG-Italia Associazione senza fini di lucro, attiva dal 1986 (XXI Convegno Annuale a Milano l 8 maggio) focalizzata su: scambio

Dettagli

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche Mariarosaria Napolitano Architettura TCP/IP Corso di: Laboratorio di tecnologie informatiche e telematiche Contesto e Prerequisiti Contesto E' rivolto agli studenti del V anno degli Istituti Tecnici Industriali

Dettagli

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche Lezione n.1 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Obiettivi del corso Supporti didattici Modalità d esame Panoramica

Dettagli

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport. ICMP Application Presentation Session Transport Telnet FTP SMTP SNMP TCP e UDP NFS XDR RPC Network Data Link Physical OSI ICMP ARP e RARP IP Non Specificati Protocolli di routing Internet Protocol Suite

Dettagli

IBM Academic Initiative

IBM Academic Initiative IBM Academic Initiative VSAM Sapienza- Università di Roma - Dipartimento Informatica 2007-2008 Access Methods Che cos è un access method? Le applicazioni sono concepite per manipolare dati e generare risultati

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

Framework. Impianti Informatici. Web application - tecnologie

Framework. Impianti Informatici. Web application - tecnologie Framework Web application - tecnologie Web Application: tecnologie 2 Java-based (J2EE) Sviluppata inizialmente da Sun Cross-platform e open source Gestire direttamente le funzionalità dell applicazione

Dettagli

Alessandro Huber Chief Technology Officer, Microsoft Italia Claudia Angelelli Service Line Manager, Microsoft Italia

Alessandro Huber Chief Technology Officer, Microsoft Italia Claudia Angelelli Service Line Manager, Microsoft Italia Alessandro Huber Chief Technology Officer, Microsoft Italia Claudia Angelelli Service Line Manager, Microsoft Italia Contenimento dei costi di gestione Acquisizioni/ merge Rafforzare la relazione con

Dettagli

Distributed Object Computing

Distributed Object Computing Evoluzione Architetturale Distributed omputing entralizzata Monolitica anni 60-70 Reti locali di P anni 80 Reti lient Server anni 80-90 Internet The network is the computer Paolo Falcarin Sistemi Informativi

Dettagli

Proteggere la rete I FIREWALL (seconda parte)

Proteggere la rete I FIREWALL (seconda parte) Proteggere la rete I FIREWALL (seconda parte) Index Architetture di rete con Firewall A cosa serve il NAT Cosa sono gli Intrusion Detection System Esistono molte architetture possibili per inserire un

Dettagli

THETIS Water Management System for Settignano acqueduct (Firenze, Italy) Water Management System for Settignano aqueduct (Firenze, Italy)

THETIS Water Management System for Settignano acqueduct (Firenze, Italy) Water Management System for Settignano aqueduct (Firenze, Italy) THETIS for Settignano aqueduct (Firenze, Italy) YEAR: 2003 CUSTOMERS: S.E.I.C. Srl developed the Water Monitoring System for the distribution network of Settignano Municipality Aqueduct. THE PROJECT Il

Dettagli

La nascita di Internet

La nascita di Internet La nascita di Nel 1969 la DARPA (Defence Advanced Research Project Agency) studia e realizza la prima rete per la comunicazione tra computer (ARPAnet) fra 3 università americane ed 1 istituto di ricerca.

Dettagli