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)

Client/Server Computing e RPC

Client/Server Computing e RPC Client/Server Computing e 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 Client/Server

Dettagli

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

Anni 80: reti locali di PC terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc.

Anni 80: reti locali di PC terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc. LEZIONE 2 STORIA DEI SISTEMI DISTRIBUITI E MODELLI ARCHITETTURALI Anni 60-70: architettura centralizzata, monolitica (vedi lezione 1) host (mainframe, mini) a cui vengono collegati terminali stupidi a

Dettagli

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1 Applicazioni distribuite e sistemi ad oggetti distribuiti RPC RMI - Web Services 1 Complessità delle applicazioni distribuite La scrittura di applicazioni distribuite basate sull utilizzo di protocolli

Dettagli

Remote Procedure Call

Remote Procedure Call Remote Procedure Call Concetti generali e principi di progettazione Architettura (schema concettuale) pack args client APPLICATION LEVEL local call local return suspended execution STUB unpack results

Dettagli

Chiamata remota di metodi

Chiamata remota di metodi Chiamata remota di metodi Architettura di Java RMI Esecuzione di una Java RMI Architettura di RMI client server Stub & Skeleton Stub & Skeleton Remote Reference Remote Reference Trasporto Ciascun livello

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

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Architetture client/server: 1. Nozioni di base 2. RPC Paradigma client/server

Dettagli

Reti e Protocolli rassegna (II)

Reti e Protocolli rassegna (II) Reti e Protocolli rassegna (II) Francesco Dalla Libera francesco@dallalibera.org Prestazioni di un sistema di comunicazione: metriche Throughput (larghezza di banda) analogico: range di frequenze ammissibili

Dettagli

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer Distributed Object C o m p utin g "!$#&% ')(+*,#&-).0/2143657*98:.;8

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) Il livello trasporto: Introduzione e

Dettagli

INTRODUZIONE AD OMNET++

INTRODUZIONE AD OMNET++ INTRODUZIONE AD OMNET++ Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare

Dettagli

Secure Socket Layer (SSL) Transport Layer Security (TLS)

Secure Socket Layer (SSL) Transport Layer Security (TLS) Secure Socket Layer (SSL) Transport Layer Security (TLS) 1 SSL è un protocollo progettato per fornire la cifratura e l autenticazione tra un client web ed un server web SSL è concepito per essere collocato

Dettagli

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP

Lo sniffer. questo sconosciuto! Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11. Introduzione allo sniffing TCP Corso di Reti di Calcolatori Architetture e Servizi A.A. 2010/11 Lo sniffer questo sconosciuto! Introduzione allo sniffing TCP Ing. Fabio Clarizia Ing. Luca Greco Outline Analisi dei segmenti TCP inviati

Dettagli

MOC10982 Supporting and Troubleshooting Windows 10

MOC10982 Supporting and Troubleshooting Windows 10 Tel. +39 02 365738 info@overneteducation.it www.overnet.azurewebsites.net MOC10982 Supporting and Troubleshooting Windows 10 Durata: 4.5 gg Descrizione Questo corso è progettato per fornire agli studenti

Dettagli

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04

No. Time Source Destination Protocol Info DHCP DHCP Discover - Transaction ID 0xec763e04 Schema della rete La rete che ho utilizzato per l esempio è così strutturato: 1. 1 server DHCP, macchina Windows XP che funge anche da gateway verso Internet 2. 1 client DHCP, pc portatile con Windows

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

Question 1: introduction to computer programming

Question 1: introduction to computer programming Question 1: introduction to computer programming Question 1: introduction to computer programming What is a compiler? (4 points). Cos è un compilatore? (4 punti). c 2006 Marco Bernardo 1/14 Question 1:

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Reti di Calcolatori. Lo Stack ISO-OSI

Reti di Calcolatori. Lo Stack ISO-OSI Reti di Calcolatori Lo Stack ISO-OSI Modello ISO-OSI ISO International Standard Organization OSI Open System Interconnection (Day e Zimmermann, 1983) Livello: viene introdotto un certo grado di astrazione

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

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Basi di Dati Architetture Client/Server D B M G Architettura centralizzata Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo Tutta l intelligenza

Dettagli

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica December 7, 2004 Sommario 1 La suite di protocolli TCP/IP Layer 2 3 4 5 6 Sommario 1 La

Dettagli

(parte 2) DHCP e NAT

(parte 2) DHCP e NAT Marco Listanti Strato di rete (parte 2) DHCP e NAT Autoconfigurazione ur n Protocollo DHCP Telecomunicazioni Fondamenti di reti - Prof. Marco Listanti - A.A. 2010/2011 2008/2009 Configurazione degli Host

Dettagli

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP 1 Configurazione degli Host Un host deve essere configurato IP address Subnet mask Default router Server DNS Procedura manuale Necessità di procedure

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP 2.1 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti

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

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

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP PARTE I - Reti di Calcolatori ed Internet MODELLI ISO/OSI e TCP/IP Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto tra OSI e TCP/IP ARPANET Ethernet Reti ATM reti wireless

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

7. Progetto di Applicazioni Distribuite

7. Progetto di Applicazioni Distribuite 7. Progetto di Applicazioni Distribuite Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Progetto di Applicazioni Distribuite 1 / 35 Sommario 1 Sistemi

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

Dettagli

Invocazione remota. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, 2012.

Invocazione remota. Coulouris, G., Dollimore, J., Kindberg, T., and Blair, G. Distributed Systems: Concepts and Design, fifth edition. Pearson, 2012. Luca Cabibbo Architettura dei Sistemi Software dispensa asw430 marzo 2017 Knowing a failure has occurred is more important than the actual failure. K. Kjos 1 - Fonti Coulouris, G., Dollimore, J., Kindberg,

Dettagli

CABIN CREW TRAINING COMMUNICATION

CABIN CREW TRAINING COMMUNICATION Gentili colleghi, pregasi prendere visione dei seguenti aggiornamenti training: CABIN CREW A: Cabin Crew Members CC: F.O.P.H., Crew Training P.H., Safety Manager, Compliance Monitoring Manager, Cabin Crew

Dettagli

UDP. User Datagram Protocol. UDP Connectionless

UDP. User Datagram Protocol. UDP Connectionless UDP User Datagram Protocol IP fornisce un unreliable datagram service tra gli host I Transport protocols forniscono un servizio di consegna end-to-end tra gli endpoints di una connessione UDP Connectionless

Dettagli

Il livello trasporto: Introduzione e protocollo UDP

Il livello trasporto: Introduzione e protocollo UDP Corsi di Laurea in Ingegneria Informatica Ingegneria delle Telecomunicazioni Ingegneria dell Automazione Corso di Reti di Calcolatori Simon Pietro Romano (spromano@unina.it) Antonio Pescapè (pescape@unina.it)

Dettagli

Principi di progettazione di sistemi distribuiti

Principi di progettazione di sistemi distribuiti Principi di progettazione di sistemi distribuiti Rappresentazione esterna dei dati Marshalling e unmarshalling Esemplificazione con Corba e Java Rappresentazione esterna dei dati Problema: un oggetto deve

Dettagli

Configurazione delle interfacce di rete

Configurazione delle interfacce di rete Configurazione delle interfacce di rete A.A. 2006/2007 Alessandro Botticelli Instradamento dei datagrammi IP Routing : scelta del percorso su cui inviare i dati i router formano struttura interconnessa

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

ISO- OSI e architetture Client-Server

ISO- OSI e architetture Client-Server LEZIONE 9 ISO- OSI e architetture Client-Server Proff. Giorgio Valle Raffaella Folgieri giorgio.valle@unimi.it folgieri@dico.unimi.it Lez 10 modello ISO-OSI e architettura client-server 1 Nelle scorse

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

Internet of Things & Wireless Sensor Networks

Internet of Things & Wireless Sensor Networks Internet of Things & Wireless Sensor Networks Protocols for IoT Ing. Luca Davoli Wireless Ad-hoc Sensor Network Laboratory WASNLab davoli@ce.unipr.it This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Domenico Lembo Antonella Poggi 1. Architetture dei Sistemi Informativi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico

Dettagli

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano Reti di calcolatori TCP/IP Slide a cura di Simon Pietro Romano spromano@unina.it Il livello rete Stack ISO/OSI Applicazione Presentazione Sessione Trasporto Rete Data Link Fisico Corso di Tecnologie dei

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 1 Parte I 1.4 CLIPS: C Language Integrated Production System Introduzione all'ambiente CLIPS. Claudia

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

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

Android Development. Course Projects. Università degli Studi di Parma

Android Development. Course Projects. Università degli Studi di Parma Android Development Course Projects This work is licensed under a Creative Commons Attribution NonCommercialShareAlike 4.0 International License. Marco Picone, Ph.D. marco.picone@unipr.it Mobile Application

Dettagli

Oggetti Distribuiti e Java RMI

Oggetti Distribuiti e Java RMI Oggetti Distribuiti e Java RMI Oggetti Locali - Oggetti Distribuiti Oggetti Locali: sono oggetti i cui metodi possono essere invocati solo da un processo locale, cioè da un processo in esecuzione sulla

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

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

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete Reti e comunicazione Le reti Con il termine rete si fa riferimento, in generale ai servizi che si ottengono dall integrazione tra tecnologie delle telecomunicazioni e le tecnologie dell informatica. La

Dettagli

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast Indirizzi LAN e ARP Corso di Reti di Telecomunicazioni Giovanni Schembra 1 Trasmissione trame su canale broadcast I nodi di una LAN si scambiano trame su un canale broadcast: quando un nodo in una LAN

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

UNIVERSITÀ DEGLI STUDI DI TORINO

UNIVERSITÀ DEGLI STUDI DI TORINO STEP BY STEP INSTRUCTIONS FOR COMPLETING THE ONLINE APPLICATION FORM Enter the Unito homepage www.unito.it and click on Login on the right side of the page. - Tel. +39 011 6704425 - e-mail internationalexchange@unito.it

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

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues Resources and Tools for Bibliographic Research Search & Find Using Library Catalogues November 28, 2011 Donata Pieri Index Definition University of Padova Library System Catalogue CaPerE E-journals Catalogue

Dettagli

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994 MPI e' acronimo di Message Passing Interface Rigorosamente MPI non è una libreria ma uno standard per gli sviluppatori e gli utenti, che dovrebbe essere seguito da una libreria per lo scambio di messaggi

Dettagli

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1 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

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

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS

EML-16 EML-16. Pulses concentrator. Concentratore impulsi MODBUS COMMUNICATION PROTOCOL PROTOCOLLO DI COMUNICAZIONE MODBUS MANUALE OPERATIVO / INSTRUCTION MANUAL IM-IU v0.1 EML-16 Concentratore impulsi PROTOCOLLO DI COMUNICAZIONE MODBUS EML-16 Pulses concentrator MODBUS COMMUNICATION PROTOCOL PROTOCOLLO MODBUS Il concentratore

Dettagli

LabVIEW. Introduzione. Laboratory Virtual Instrument Engineering Workbench. Esempio di pannello frontale. Misure Elettroniche 1

LabVIEW. Introduzione. Laboratory Virtual Instrument Engineering Workbench. Esempio di pannello frontale. Misure Elettroniche 1 LabVIEW Laboratory Virtual Instrument Engineering Workbench h In molte applicazioni di test e misura è importante poter controllare la strumentazione per mezzo di un calcolatore. L applicativo software

Dettagli

DICHIARAZIONE DI CONFORMITA' / Declaration of Conformity

DICHIARAZIONE DI CONFORMITA' / Declaration of Conformity Software: SmartLink Versione/Version : 2.1 Edizioni/Editions: SE (Standard Edition) e/and EL (Entry Level) Descrizione del prodotto: SmartLink 2.1 è l interfaccia web remota sviluppata da Software Team

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

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

IPSEC. le applicazioni che utilizzano IP.

IPSEC. le applicazioni che utilizzano IP. 1 IP Security ( IPSec) è un suite diprotocollie algoritmidicrittografiacheestendele funzionalità del protocollo IP per fornire autenticazione e riservatezza. IPSec fornisce una elevata protezione a tutte

Dettagli

Multicast Routing e LAN Switching

Multicast Routing e LAN Switching Routing e LAN Switching Applicazioni one to many Applicazioni many to many Applicazioni many to one RTSP Manage ment RSVP RTCP UDP RTP Reliable multicast protocol TCP DB Routing multicast IP switching

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

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

COMPITI PER LE VACANZE MATERIA SISTEMI E RETI DOCENTE RANIERI GIANFRANCO CLASSE 4H

COMPITI PER LE VACANZE MATERIA SISTEMI E RETI DOCENTE RANIERI GIANFRANCO CLASSE 4H COMPITI PER LE VACANZE MATERIA SISTEMI E RETI DOCENTE RANIERI GIANFRANCO CLASSE 4H I compiti sono obbligatori per chi ha avuto il debito e facoltativi per gli altri. L'esame consisterà in una prova scritta,

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

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

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

Architetture a livelli

Architetture a livelli Architetture a livelli Stratificazione Protocolli di rete Famiglie e pile di protocolli Messaggi in una pila di protocolli Modello di riferimento ISO/OSI Architettura tt di Internet t Stratificazione (layering)

Dettagli

Livello trasporto. Servizi del livello trasporto

Livello trasporto. Servizi del livello trasporto ivello trasporto Servizi Multiplexing e demultiplexing Trasporto senza connessione: UDP Principi di trasferimento affidabile Trasporto orientato alla connessione: TCP Struttura del segmento Trasferimento

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

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

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

TCP/IP: una breve introduzione

TCP/IP: una breve introduzione Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2007/2008 TCP/IP: una breve introduzione Roberto Paleari 2-4 Settembre 2008 Roberto Paleari TCP/IP: una

Dettagli

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete. Livello rete in Internet Corso di RETI DI CALCOLATORI (9 CFU) a.a. 2016-2017 II anno / II semestre Mantenimento della semplicità all aumentare delle funzioni Sfruttamento della modularità (indipendenza

Dettagli

TCP/IP: una breve introduzione

TCP/IP: una breve introduzione TCP/IP: una breve introduzione Andrea Lanzi, Davide Marrone, Roberto Paleari Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica 29 novembre

Dettagli

introduzione al corso di sistemi operativi a.a maurizio pizzonia

introduzione al corso di sistemi operativi a.a maurizio pizzonia introduzione al corso di sistemi operativi a.a. 2008-2009 maurizio pizzonia contatti Maurizio Pizzonia pizzonia@dia.uniroma3.it ricevimento studenti mercoledì 17:30 Dip. Informatica e Automazione secondo

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

Backbone mpls ISIS with TE. Massimiliano Sbaraglia

Backbone mpls ISIS with TE. Massimiliano Sbaraglia Backbone mpls ISIS with TE Massimiliano Sbaraglia Lo1 = 10.255.254.18 /32 Lo1 = 10.255.254.16 /32 Lo0 = 192.168.121.5 /32 12K-5.46 10.255.254.44 /30.45 Lo0 = 192.168.121.4 /32 12K-4 10.255.254.48 /30.49

Dettagli

Evoluzione delle Architetture Distribuite

Evoluzione delle Architetture Distribuite Evoluzione delle Architetture Distribuite 1 Evoluzione dell architettura Dall architettura centralizzata all architettura distribuita Applicazioni centralizzate Applicazioni Client/Server Applicazioni

Dettagli

Lo strato di applicazione in Internet

Lo strato di applicazione in Internet Lo strato di applicazione in Internet Prof. Ing. Carla Raffaelli a.a. 2004/2005 Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni Esempi: HTTP per il web,

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

Chiamata di procedura remota

Chiamata di procedura remota Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da

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

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

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione Anno accademico 2004/5 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci

Dettagli

Internetworking with TCP/IP (Douglas E. Comer) Vol. I and Vol III.

Internetworking with TCP/IP (Douglas E. Comer) Vol. I and Vol III. Internetworking with TCP/IP (Douglas E. Comer) Vol. I and Vol III http://gapil.truelite.it/ http://www.linuxdidattica.org/docs/a ltre_scuole/planck/socket/ Client Server Esistono vari modelli di architettura

Dettagli

Reti (già Reti di Calcolatori )

Reti (già Reti di Calcolatori ) Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare

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

MOS-oriented design of the VoIP service

MOS-oriented design of the VoIP service 22. Examples Pag. 1 MOS-oriented design of the VoIP service N VoIP flows are multiplexed on a transmissionb link through a FIFO buffer Calculate the MOS performance of the telephone service with N=200

Dettagli

Introduction. The Structure of a Compiler

Introduction. The Structure of a Compiler Introduction The Structure of a Compiler ISBN 978-88-386-6573-8 Text Books Maurizio Gabbrielli e Simone Martini sono professori ordinari di Informatica presso l'alma Mater Studiorum - Università di Bologna.

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

INTRODUZIONE A RETI E PROTOCOLLI

INTRODUZIONE A RETI E PROTOCOLLI PARTE 1 INTRODUZIONE A RETI E PROTOCOLLI Parte 1 Modulo 1: Introduzione alle reti 1 Perché le reti tra computer? Collegamenti remoti a mainframe (< anni 70) Informatica distribuita vs informatica monolitica

Dettagli

SRT064 BTH SRT051 BTH SRT052 BTH

SRT064 BTH SRT051 BTH SRT052 BTH KIT FOR TRUCK BRAKE TESTERS SRT051 BTH SRT052 BTH OPERATOR S MANUAL SRT064BTH SRT051BTH SRT052BTH CONTENTS 1. INTRODUCTION...1 2. Description of SRT064BTH Kit...2 3. Description of SRT051BTH Kit...2 4.

Dettagli