INFORMAZIONE, SCIENZA DELLA
Tecnologie della comunicazione di Roman Tirler
Sommario: 1. Introduzione. 2. Tecniche di comunicazione dati: a) trasmissione dei dati; b) codifica dei dati e modulazione; c) tecniche di comunicazione di dati digitali; d) controllo del collegamento dati (DLC, Data Link Control); e) allocazione e multiplazione del canale; accesso al canale. 3. Reti per la comunicazione dati: a) commutazione di circuito; b) commutazione di messaggio; c) commutazione di pacchetto; d) reti locali (LAN); e) reti di area metropolitana (MAN); f) reti di area ampia (WAN); g) reti ad alta velocità. 4. Architettura di una rete d'informazioni: a) protocolli; b) il modello di riferimento ISO OSI; c) l'insieme di protocolli TCP/IP; d) protocolli proprietari; e) internetworking. 5. Applicazioni e servizi: a) applicazioni tradizionali; b) ricerca di informazioni; localizzatori di risorse; c) applicazioni avanzate; d) reti per l'informazione e multimedialità. 6. Le prospettive future. □ Bibliografia.
1. Introduzione
Il termine ‛comunicazione', oltre a indicare lo scambio di informazioni, designa un intero settore industriale che comprende la telefonia e l'elaborazione dei dati. La comunicazione - che si articola in un'ampia gamma di discipline che va dalle radiodiffusioni al giornalismo, dalla televisione all'informatica - è divenuta il tratto distintivo dell'epoca contemporanea, che cambierà per sempre il modo di vivere, lavorare e giocare; il nome stesso evoca l'immagine di un sistema di strade o sentieri, attraverso i quali l'informazione viaggia da un gruppo di persone a un altro. In una rete per la comunicazione dei dati, tali percorsi possono collegare dispositivi locali - come un computer e alcuni terminali in uno stesso edificio - o disseminati in un'area più vasta. Oggi l'informazione, la sua trasmissione ed elaborazione, le telecomunicazioni e i collegamenti in rete rappresentano una forza trainante nell'evoluzione della nostra società. Nei paesi economicamente avanzati, il settore della comunicazione è, e lo sarà sempre di più, un comparto dominante dell'economia; per l'anno 2000 si stima che questo settore rappresenterà più del 10% del Prodotto Interno Lordo in Europa, un incremento stimolato non solo da una domanda crescente da parte degli utenti, ma anche da uno straordinario progresso tecnologico.
Alcuni assimilano l'impatto delle reti di calcolatori sullo sviluppo della società a quello dei sistemi meccanici che hanno accompagnato la rivoluzione industriale, altri lo paragonano a quello delle grandi ferrovie del XIX secolo. Tuttavia, questi eventi del passato certamente non hanno avuto sulla civiltà umana un'influenza paragonabile a quella esercitata congiuntamente dall'ingegneria delle telecomunicazioni e dei calcolatori. Nessun'altra invenzione ha avuto uno sviluppo altrettanto rapido e di così ampia portata come il calcolatore e nessuna tecnologia ha raggiunto mete paragonabili alla diffusione capillare del moderno sistema di telecomunicazioni.
Nel corso degli ultimi venti anni il cambiamento è stato radicale: si è passati dalla comunicazione vocale alle reti per la comunicazione dati, e da queste alle reti per l'informazione. La comunicazione dati, che influisce su molti aspetti della vita quotidiana - come le transazioni del mercato azionario, la ricerca medica, la posta elettronica, gli sportelli bancari automatici (il ‛bancomat') e, da ultimo, Internet, coi suoi aspetti rivoluzionari -, è una realtà complessa in rapido movimento, poiché gli standard cambiano di continuo, ogni giorno sono introdotti nuovi prodotti, l'hardware si evolve costantemente. La comunicazione e la condivisibilità dei dati sono gli aspetti più ovvi che rendono le proprietà dell'informazione diverse da quelle dei beni materiali; vi sono tuttavia molte altre caratteristiche che, seppure collaterali, sono degne di nota. Oltre a poter essere comunicata e condivisa, l'informazione può essere diffusa, via etere o via cavo, o essere messa in rete. Gli uomini stessi vivono da sempre in una rete di rapporti, ma il grado di interconnessione è aumentato negli ultimi decenni in una misura assolutamente imprevedibile. L'infrastruttura di supporto per l'informazione comprende una serie di elementi: l'ampiezza di banda di trasmissione, i media e i dispositivi di rete, nonché uno spettro, pressoché illimitato, di nuove applicazioni.
Si stima che l'inizio della comunicazione umana orale (analogica) risalga a più di 50.000 anni fa. In alcune caverne sono stati ritrovati graffiti che hanno più di 20.000 anni. Si sono rinvenute tracce di messaggi scritti di oltre 5.000 anni. La comunicazione ottica digitale a lunga distanza iniziò prima della nascita di Cristo, presso gli antichi Greci, i quali costruirono una rete di stazioni ripetitrici su torri da cui trasmettevano segnalazioni con torce. Nel Seicento e nel Settecento la telegrafia ottica era largamente usata in Europa. La telegrafia elettrica, inventata da Samuel Morse nel 1846, segnò l'inizio delle moderne comunicazioni digitali elettromagnetiche. La radiotelegrafia fu inventata da Guglielmo Marconi nel 1896. Fra la fine del XIX e i primi anni del XX secolo fece la sua comparsa la trasmissione via radio di segnali audio in forma analogica, una tecnologia che fu applicata nello stesso periodo alla comunicazione vocale analogica. La trasmissione di segnali televisivi divenne una realtà commerciale nei tardi anni quaranta, e successivamente, negli anni cinquanta, cominciò nelle grandi aree metropolitane la conversione dei segnali vocali analogici in segnali digitali. In seguito, come ricaduta della ricerca dedicata alla costruzione di reti per comunicazioni militari sicure, fu sviluppata la tecnica della commutazione di pacchetto, che permise di utilizzare in modo più efficiente i cavi telefonici installati. Il successivo, decisivo passo in avanti fu la creazione, a opera del Dipartimento della Difesa degli Stati Uniti, della prima rete a commutazione di pacchetto, ARPAnet, realizzata nel 1971 dall'Advanced Research Projects Agency e rimasta operante fino al 1990. Molti dei progressi nelle comunicazioni fra calcolatori, compreso l'istradamento (routing) e il collegamento in rete (networking), sono derivati dall'esperienza fatta su Internet. Le reti locali (LAN; v. cap. 3, § d) sono state il successivo, fondamentale passo in avanti per le comunicazioni fra calcolatori, con l'introduzione di Ethernet da parte della Xerox nel 1974. L'avvento delle architetture client/server e dell'elaborazione distribuita segna l'inizio della comunicazione dati moderna. Le trasmissioni su fibra ottica e il concetto di trasmissione digitale sincrona sono stati introdotti nei primi anni ottanta. Lo sviluppo della tecnologia ATM ha rinnovato l'interesse della tecnologia per le comunicazioni digitali asincrone. Il prossimo balzo in avanti sarà probabilmente la multiplazione a divisione di frequenza (WDM), che è analogica e asincrona (v. cap. 3, § g). La velocità delle comunicazioni digitali è cresciuta in progressione geometrica attraverso ciascuna di queste fasi della tecnologia
2. Tecniche di comunicazione dati
Il successo della trasmissione dei dati dipende principalmente da due fattori: la qualità del segnale trasmesso e le caratteristiche del mezzo di trasmissione.
a) Trasmissione dei dati
La trasmissione dei dati avviene fra un trasmittente e un ricevente attraverso un mezzo di trasmissione. I mezzi di trasmissione possono essere guidati o non guidati: in entrambi i casi la comunicazione avviene sotto forma di onde elettromagnetiche. Con i mezzi guidati, le onde sono convogliate in un canale fisico, come ad esempio il doppino telefonico, il cavo coassiale e la fibra ottica. I mezzi non guidati forniscono invece un modo per trasmettere onde elettromagnetiche senza determinarne il percorso, come avviene nella propagazione attraverso l'aria, il vuoto o l'acqua del mare. In una configurazione multipunto, più di due dispositivi condividono lo stesso mezzo. Una trasmissione può avvenire in simplex, half-duplex o full-duplex. In una trasmissione in simplex, i segnali sono trasmessi in una sola direzione: una stazione funge da trasmittente e l'altra da ricevente; nel funzionamento in half-duplex, entrambe le stazioni possono trasmettere, ma solo una alla volta; nel funzionamento in full-duplex entrambe le stazioni possono trasmettere simultaneamente (v. sotto, § d).
Un segnale può essere rappresentato come funzione del tempo oppure come funzione della frequenza. Lo studio nel dominio delle frequenze è molto più utile per la comprensione della comunicazione dei dati. La larghezza di banda assoluta di un segnale è l'intervallo di frequenze entro il quale è contenuta la maggior parte della sua energia. Da un punto di vista pratico, ogni mezzo usato è in grado di trasmettere solo in una banda ristretta di frequenze, e ciò limita la quantità di dati che possono essere trasportati nell'unità di tempo dal mezzo di trasmissione: più grande è l'intervallo di frequenze entro il quale un mezzo può trasmettere, maggiore è la sua capacità di trasportare informazione. Nella comunicazione dei dati, la larghezza di banda è normalmente espressa in bit al secondo (b/s). Un dispositivo che ha una larghezza di banda di 2 Mbit/s può sopportare una velocità di trasmissione di 2 milioni di bit al secondo. Inoltre, quando un segnale si propaga nel mezzo di trasmissione la sua intensità diminuisce. Per compensare questo effetto possono essere inseriti in vari punti del mezzo degli amplificatori che accrescono l'intensità del segnale.
Trasmissione analogica e digitale. - I termini ‛analogico' e ‛digitale' corrispondono, in prima approssimazione, rispettivamente a ‛continuo' e ‛discreto', e sono usati frequentemente nella comunicazione dati in riferimento ai dati stessi, ai segnali e alla trasmissione. I dati analogici assumono valori continui in un determinato intervallo: per esempio, la voce e le immagini video presentano distribuzioni di intensità che variano in maniera continua. I dati digitali assumono valori discreti; un esempio familiare è dato dal testo scritto, che è costituito da sequenze di caratteri. I dati testuali, i più naturali per gli esseri umani, non possono essere memorizzati o trasmessi facilmente sotto forma di caratteri dai sistemi di elaborazione dati o di comunicazione, che sono progettati per trattare dati binari. Sono stati quindi sviluppati vari codici attraverso i quali i caratteri sono rappresentati da sequenze di bit. Forse il primo esempio di codice ad ampia diffusione è stato il codice Morse. Attualmente il codice più comunemente usato è il codice ASCII (American Standard Code for Information Interchange), stabilito dall'ANSI (American National Standards Institute), l'ente che negli Stati Uniti fissa gli standard.
In un sistema di comunicazione i dati si propagano da un punto a un altro sotto forma di segnali elettrici. Un segnale analogico è un'onda elettromagnetica che varia con continuità e che può essere trasmessa su vari mezzi a seconda del suo spettro. Un segnale digitale è una sequenza di impulsi di tensione corrispondenti a cifre binarie, che può essere trasmessa lungo un cavo elettrico. I dati digitali possono essere trasmessi anche in forma di segnali analogici attraverso l'uso di un modem (modulatore/demodulatore); tale dispositivo converte una successione di impulsi binari di tensione in un segnale analogico, codificando i dati digitali, generalmente nello spettro vocale, su una frequenza portante e trasmettendoli lungo le ordinarie linee telefoniche; all'altro capo della linea, il modem demodula il segnale recuperando i dati originari. I dati analogici possono anche essere convertiti in segnali digitali. Il dispositivo che svolge questo compito per dati vocali è il codec (codificatore/decodificatore): sostanzialmente un codec riceve un segnale analogico costituito dai dati vocali e lo approssima con una sequenza di bit; il codec ricevente usa la sequenza di bit per ricostruire i dati analogici.
La trasmissione analogica è un modo per trasmettere un segnale analogico indipendentemente dal suo contenuto; il segnale può infatti rappresentare dati sia analogici (voce, immagini video) sia digitali (dati binari che passano attraverso un modem). In entrambi i casi, poiché il segnale analogico diventa più debole dopo una certa distanza, il sistema di trasmissione deve servirsi di amplificatori che immettono energia nel segnale, permettendogli di giungere a distanze maggiori. Sfortunatamente gli amplificatori rafforzano anche le componenti dovute a rumore.
La trasmissione digitale, al contrario, riguarda direttamente il contenuto del segnale, che può essere trasmesso solo a una distanza limitata per evitare che l'attenuazione danneggi l'integrità dei dati. Per distanze maggiori si usano i ripetitori, che ricevono il segnale digitale, dal quale traggono la sequenza binaria, e ritrasmettono un nuovo segnale, aggirando il problema dell'attenuazione. La stessa tecnica può essere usata con un segnale analogico, se è noto che il segnale trasporta dati digitali; in questo caso, invece di amplificatori il sistema di trasmissione utilizza dei ripetitori, collocati in punti opportunamente distanziati, che recuperano i dati digitali dal segnale analogico e generano un nuovo segnale analogico. Ciò consente che gli effetti del rumore non si accumulino.
Ci si può chiedere quale sia il metodo di trasmissione preferibile: la risposta che viene dall'industria delle telecomunicazioni e dai suoi utenti è che è preferibile la trasmissione digitale, nonostante il fatto che vi sia stato un enorme investimento in infrastrutture per le comunicazioni analogiche. L'abbattimento dei costi della tecnologia digitale (VLSI, Very Large Scale Integration), la possibilità di collegamenti con ampia larghezza di banda (fibra di vetro), un alto grado di multiplazione e l'integrazione fra voce, segnali video e dati sono tra le principali ragioni della scelta. La trasmissione digitale è inoltre preferibile perché il tasso di errori è potenzialmente molto basso e anche perché la velocità di trasmissione dei dati è molto maggiore anche con le linee esistenti.
Disturbi nella trasmissione. - Quale che sia il sistema di trasmissione, è necessario tener presente che il segnale ricevuto è diverso dal segnale trasmesso a causa dei vari disturbi nella trasmissione. Nei segnali analogici questi disturbi introducono modificazioni casuali che degradano la qualità del segnale; nei segnali digitali, invece, possono essere introdotti errori nei bit, quali ad esempio la trasformazione di un 1 binario in uno 0 binario e viceversa.
I disturbi più significativi sono l'attenuazione e la conseguente distorsione, la distorsione dovuta a ritardo (instabilità) e il rumore. Per i mezzi guidati, la riduzione dell'intensità del segnale, o attenuazione, è in genere logaritmica ed è quindi tipicamente espressa come un numero costante di decibel per unità di distanza. Per i mezzi non guidati, l'attenuazione è una funzione più complessa della distanza e delle condizioni atmosferiche. Oltre una certa distanza, l'attenuazione diventa eccessivamente grande e pertanto si usano amplificatori o ripetitori per rafforzare il segnale. Un'ulteriore complicazione sta nel fatto che l'attenuazione è una funzione crescente col quadrato della frequenza. Per i segnali digitali il problema è meno rilevante.
La distorsione dovuta a ritardo è un fenomeno peculiare dei mezzi guidati. Essa è causata dal fatto che la velocità di propagazione di un segnale attraverso un mezzo guidato varia con la frequenza, e pertanto risulta particolarmente critica per i dati digitali. Per ridurre tale distorsione si possono adottare tecniche di equalizzazione.
Il rumore è il principale fattore che limita l'efficienza dei sistemi di comunicazione. Esso può essere classificato in quattro categorie in base alla sua origine: rumore termico, rumore di intermodulazione, interferenza e rumore impulsivo. Il rumore termico è causato dall'agitazione termica degli elettroni in un conduttore: esso - che è presente in tutti i dispositivi elettronici e in tutti i mezzi di trasmissione ed è funzione della frequenza (v. telecomunicazioni, vol. VII) - non può essere eliminato e pone un limite superiore alle prestazioni di un sistema di comunicazione. Quando segnali con differenti frequenze condividono il mezzo di trasmissione si può avere rumore da intermodulazione. L'interferenza è l'accoppiamento indesiderato di due segnali che si propagano lungo cammini diversi. Tutti i tipi di rumore fin qui descritti, che hanno intensità ragionevolmente prevedibile e ragionevolmente costante, consentono di progettare un sistema di trasmissione efficiente. Il rumore impulsivo, invece, essendo discontinuo (consiste di picchi irregolari di breve durata e di ampiezza relativamente grande), è una delle principali cause di errore nella comunicazione di dati digitali, mentre non rappresenta un grande problema nel caso dei dati analogici.
Capacità del canale. - La velocità con cui i dati possono essere trasmessi lungo un dato percorso, o canale, in date condizioni è detta ‛capacità del canale'. La qualità di un canale dipende da alcune grandezze fra loro correlate, cioè la velocità di trasmissione, la larghezza di banda, il rumore e il tasso di errore. La velocità di trasmissione è la velocità, in bit al secondo, con cui i dati possono essere comunicati; la larghezza di banda è quella del segnale trasmesso, limitata dal trasmettitore e dalla natura del mezzo di trasmissione, ed è espressa in cicli al secondo, o hertz; il rumore è il livello medio del rumore sul canale di comunicazione; il tasso di errore, infine, è la percentuale dei casi di ricezione di un 1 quando è stato trasmesso uno 0 o viceversa.
Gli impianti per la comunicazione hanno, in generale, un costo proporzionale alla larghezza di banda. Comunque, tutti i canali di trasmissione di un qualche interesse pratico hanno una larghezza di banda limitata. Le limitazioni dipendono dalle proprietà fisiche del mezzo di trasmissione o sono deliberatamente imposte al trasmettitore per evitare l'interferenza con altre sorgenti.
Mezzi di trasmissione. - Il mezzo di trasmissione è l'ambiente fisico tra trasmittente e ricevente in un sistema di trasmissione dei dati. Le caratteristiche e la qualità della trasmissione sono determinate sia dalla natura del segnale sia dalla natura del mezzo; nel caso dei mezzi guidati le limitazioni per la trasmissione dipendono prevalentemente dal mezzo stesso. Un confronto fra alcuni mezzi di trasmissione è riportato nella tab. I. Come abbiamo già detto, più alta è la frequenza centrale di un segnale, maggiore è la larghezza di banda potenziale e conseguentemente la velocità di trasmissione. Una proprietà dei segnali trasmessi da un'antenna è la direzionalità. In generale i segnali a bassa frequenza si propagano in tutte le direzioni, mentre a frequenze più elevate è possibile focalizzare il segnale in un fascio direzionale. Descriveremo brevemente le caratteristiche dei principali mezzi di trasmissione.
1) Il doppino intrecciato è stato uno dei primi mezzi di trasmissione usati nelle comunicazioni telefoniche ed è attualmente il mezzo più diffuso anche per le trasmissioni dati locali. I due fili, solitamente di rame, sono intrecciati insieme per minimizzare l'interferenza, nota con il nome di diafonia (crosstalk), che si ha quando doppini adiacenti sono combinati in cavi multifilo. Il doppino è, al momento, il mezzo di trasmissione meno costoso e di solito è usato per connettere attrezzature a bassa velocità, come terminali non intelligenti e modem. Può essere impiegato per trasmettere segnali sia analogici, sia digitali: per i segnali analogici sono necessari amplificatori ogni 5-6 km, mentre per quelli digitali si usano ripetitori ogni 2-3 km. Rispetto ad altri mezzi di trasmissione, il doppino è limitato dal punto di vista della distanza, della larghezza di banda e della velocità. Questo mezzo è anche altamente sensibile alle interferenze e al rumore, perché può facilmente accoppiarsi con le onde elettromagnetiche. Varie precauzioni possono essere prese per diminuire i disturbi: per ridurre le interferenze, ad esempio, si può schermare il filo con una treccia o una guaina metallica.
2) Il cavo coassiale offre una grande larghezza di banda e può sostenere grandi velocità di trasmissione con una bassa incidenza di errori e un'elevata immunità da interferenze elettromagnetiche. È formato da un filo centrale portante (carrier) circondato da un sottile rivestimento di rame, in genere tessuto a calza, e/o da un foglio di alluminio estruso. Materiali plastici (come teflon o PVC) sono usati per posizionare e isolare il filo portante. Il cavo coassiale è largamente usato nella rete telefonica per trasmettere più conversazioni su un unico cavo, soprattutto per le chiamate interurbane, e anche dall'industria della TV via cavo, per la sua capacità di trasportare contemporaneamente molti canali televisivi; inoltre è frequentemente impiegato come mezzo di trasmissione nelle reti locali per trasmettere dati sia analogici che digitali. Grazie alla sua schermatura concentrica è meno soggetto alle interferenze e alla diafonia del doppino telefonico; i principali fattori che ne limitano le prestazioni sono l'attenuazione, il rumore termico e il rumore dovuto a intermodulazione.
3) La fibra ottica è un mezzo flessibile e sottile (2-125 µm) capace di trasmettere un raggio di luce. Le fibre ottiche sono realizzate con plastica o vetro e costituiscono un mezzo di trasmissione capace di elevatissime prestazioni in alcune applicazioni. Nelle comunicazioni su fibra ottica, i segnali elettrici sono convertiti in impulsi di luce da un modulatore, trasmessi sulla fibra da una sorgente luminosa (un LED - Light Emitting Diode - oppure un diodo laser), rivelati e riconvertiti in segnali elettrici da diodi fotoelettrici. Un cavo di fibra ottica ha, in genere, una forma cilindrica e consta di tre sezioni: il nucleo, il rivestimento e la guaina esterna. Il fascio di luce, su cui è codificato il segnale, si propaga lungo la fibra per riflessione totale. Le caratteristiche che distinguono la fibra ottica dal doppino e dal cavo coassiale sono: maggiore larghezza di banda, dimensioni e peso ridotti, inferiore attenuazione, isolamento elettromagnetico e maggiore distanza fra i ripetitori. La trasmissione a lunga distanza su fibra sta diventando sempre più comune nelle reti telefoniche. I vantaggi della fibra ottica rispetto al doppino telefonico e al cavo coassiale divengono sempre più evidenti via via che cresce la domanda di un unico mezzo capace di trasmettere tutti i tipi di informazione (voce, video, immagini e dati). Per la fine del secolo la fibra ottica sarà divenuta il mezzo di trasmissione dominante, soppiantando il doppino telefonico e il cavo coassiale anche in ambito locale. Il campo dell'ottica su fibra ha avuto un'espansione eccezionale negli ultimi 25 anni, da quando per la prima volta i ricercatori cominciarono a esaminare la possibilità di utilizzare segnali luminosi attraverso fibre per ottenere trasmissioni quasi esenti da perdite.
4) Il più comune tipo di antenna per microonde è l'antenna parabolica. In genere essa è fissa ed emette un fascio sottile focalizzato per ottenere una trasmissione in linea ottica verso l'antenna ricevente. I sistemi a microonde terrestri sono usati principalmente per i servizi di telecomunicazione a lunga distanza, come alternativa al cavo coassiale per la trasmissione televisiva e vocale. L'infrastruttura basata sulle microonde necessita di un numero minore di amplificatori o di ripetitori, a parità di distanza, rispetto al cavo coassiale, ma richiede una trasmissione in linea ottica. La trasmissione a microonde si può utilizzare per la trasmissione di dati digitali su piccole aree, di raggio inferiore ai 10 km. Le frequenze comunemente usate sono fra i 2 e i 40 GHz. Come per ogni sistema di trasmissione, una sorgente importante di perdita di segnale è l'attenuazione; un'altra fonte di disturbi è l'interferenza. I segnali a microonde per comunicazioni terrestri possono risentire del fading, un fenomeno dovuto al fatto che strati di differente densità nell'atmosfera possono produrre effetti di rifrazione per cui segnali provenienti da una stessa sorgente arrivano da due diverse direzioni lungo cammini di lunghezza lievemente diversa, risultando così fuori fase e interferendo l'uno con l'altro.
5) Un satellite per telecomunicazioni è una stazione di collegamento a microonde che serve a collegare due o più trasmettitori/ricevitori a microonde al suolo. Il satellite riceve una trasmissione su una banda di frequenza ascendente, amplifica il segnale (nel caso di trasmissioni analogiche) o lo ripete (nel caso di trasmissioni digitali) e lo ritrasmette su un'altra frequenza discendente. Un singolo satellite opera su varie bande di frequenza, chiamate canali di transponder o semplicemente transponders. Perché un satellite per telecomunicazioni funzioni efficacemente si richiede in genere che la sua posizione sopra la Terra rimanga stazionaria, quindi che abbia un'orbita con un periodo uguale a quello di rotazione della Terra; i due periodi coincidono per un satellite in orbita all'altezza di 35.784 km. A causa della distanza, c'è un ritardo di propagazione di 240-300 ms fra la trasmissione da una stazione a terra e la ricezione da parte di un'altra stazione a terra. Le comunicazioni via satellite hanno prodotto una rivoluzione tecnologica paragonabile a quella delle fibre ottiche. Fra le applicazioni importanti dei satelliti citiamo come esempi la trasmissione di programmi televisivi, le comunicazioni telefoniche a lunga distanza, le reti commerciali private. Sviluppi recenti sono il sistema VSAT (v. cap. 3, § f), che fornisce un'alternativa a basso costo per alcune applicazioni commerciali, e l'uso del satellite per le comunicazioni mobili GSM (Global System for Mobile communications). A questo scopo sono usati dispositivi ricetrasmittenti piccoli e di basso costo, e la trasmissione avviene in full-duplex direttamente fra l'utente e il satellite.
6) Un uso ben noto delle trasmissioni radio per la comunicazione digitale dei dati è la packet radio, un sistema che impiega antenne a terra per collegare più siti in un'unica rete di trasmissione dati. Il limite è dato dal fatto che la trasmissione deve avvenire in linea ottica. Le velocità sono nell'ordine del kilobit al secondo.
b) Codifica dei dati e modulazione
La modulazione e la codifica sono elementi essenziali di quasi tutte le comunicazioni, in quanto rendono possibile la trasmissione di molti messaggi indipendenti su un doppino o su una fibra ottica.
Codifica. - La codifica dei dati è il processo che trasforma i segnali o i dati in ingresso in segnali che possono essere trasmessi. La tecnica di codifica è adattata al metodo di trasmissione dei dati in modo da ottimizzarne le prestazioni. La maggior parte dei dati testuali è codificata usando il codice ASCII, che usa 7 bit per rappresentare le varie lettere maiuscole e minuscole, i numeri e altri simboli speciali. Altri codici di uso comune sono il codice Baudot e il codice EBCDIC (Extended Binary-Coded Decimal Interchange Code). Il codice Baudot, dal nome di J.-M.-. Baudot che lo introdusse nel 1874, è un codice a 5 bit usato su telescriventi di buona qualità, come quelle della Telex. Il codice EBCDIC, impiegato sui dispositivi sincroni dell'IBM, consiste di caratteri codificati su 8 bit. Un dispositivo che opera con uno di questi codici non può ricevere dati direttamente da un dispositivo che usa un codice diverso senza un convertitore che traduca il codice di un dispositivo in quello dell'altro.
Modulazione. - Vi sono fondamentalmente due modi per trasmettere i segnali analogici lungo un canale: mantenendo la loro frequenza originale come un segnale in banda base, oppure associandolo a un altro segnale, detto ‛portante', opportunamente modulato e quindi trasmettendolo a una frequenza diversa, in genere maggiore. Le frequenze dei segnali portanti sono scelte in modo da essere compatibili col mezzo di trasmissione usato.
Tutte le tecniche di modulazione coinvolgono operazioni su uno o più dei tre parametri fondamentali delle frequenze, cioè ampiezza, frequenza e fase. Nella modulazione di frequenza l'ampiezza del segnale portante è mantenuta costante, mentre la sua frequenza è alterata per conformarsi al segnale messaggio. La modulazione di ampiezza altera l'ampiezza del segnale portante per adattarlo al segnale messaggio, mentre la sua frequenza rimane immutata. Nella modulazione di fase è questa proprietà del segnale portante a essere alterata, il che modifica anche la frequenza, mentre l'ampiezza rimane costante. Infine nella modulazione a impulsi (PCM, Pulse Code Modulation) la forma d'onda del segnale è codificata come una sequenza di cifre binarie che sono trasmesse come impulsi. La regola matematica che sta alla base della PCM è quella espressa dal teorema del campionamento, secondo il quale si può trasmettere l'intero messaggio contenente l'informazione inviando solo le ampiezze del segnale in istanti ben precisi, detti ‛tempi di campionamento'. Se un segnale in banda base ha componenti le cui frequenze sono tutte comprese entro una larghezza di banda B, allora esso può essere rappresentato accuratamente dalle sue ampiezze rilevate in 2B punti al secondo. Consideriamo un segnale telefonico fatto di componenti sinusoidali con frequenze nella banda da 0 a 4.000 Hz: se misuriamo questo segnale variabile, cioè la forma d'onda, 8.000 volte al secondo, le ampiezze misurate danno l'informazione necessaria e sufficiente sul segnale originario; possiamo quindi ricostruire la forma d'onda dalla successione delle ampiezze misurate. Una buona riproduzione della voce con la PCM può essere ottenuta con 128 livelli di quantizzazione, ovvero con una codifica a 7 bit (27 = 128). Un segnale vocale occupa una larghezza di banda di 4 kHz, e pertanto, in base al teorema del campionamento, la frequenza con la quale debbono essere presi i campioni è di 8.000 volte al secondo. Ciò porta a una velocità di trasmissione di 8.000 × 7 = 56 kbit/s per i dati codificati con la PCM.
c) Tecniche di comunicazione di dati digitali
Di regola i dati sono trasmessi un bit alla volta sul mezzo di trasmissione. La temporizzazione (velocità, durata, intervallo temporale) di questi bit deve essere la stessa per trasmittente e ricevente. Normalmente i dispositivi per il trattamento dei dati digitali non sono connessi direttamente a un mezzo di trasmissione e quindi non inviano direttamente segnali nel mezzo; il processo è mediato da un'interfaccia standardizzata.
Metodi di trasmissione. - La sincronizzazione è uno dei compiti fondamentali della comunicazione dati. Un trasmittente invia a un ricevente un messaggio, un bit alla volta, attraverso un mezzo di trasmissione. Il ricevente deve riconoscere l'inizio e la fine dei blocchi di bit nonché la loro durata, in modo da poter campionare la linea con la temporizzazione opportuna per leggere ciascun bit. Varie sono le modalità impiegate per ottenere la sincronizzazione richiesta.
Nella trasmissione asincrona i dati sono trasmessi un carattere alla volta (ogni carattere ha una lunghezza da 5 a 8 bit). La sincronizzazione si ottiene solo per ogni singolo carattere e il ricevente può risincronizzarsi all'inizio di ognuno di essi. I segnali che hanno origine da circuiti di temporizzazione (clocks) indipendenti non hanno in generale nessuna relazione l'uno con l'altro e hanno differenti frequenze e fase. La trasmissione asincrona è semplice e poco costosa ma richiede la trasmissione di 2 o 3 bit supplementari per ogni carattere.
La trasmissione sincrona è il metodo di comunicazione più efficiente: i blocchi di caratteri sono trasmessi senza codice di inizio e fine messaggio e può esser calcolato con esattezza il tempo di partenza e di arrivo di ogni bit. Per evitare la deriva fra la temporizzazione del trasmittente e quella del ricevente, i loro clocks devono essere sincronizzati. I segnali devono essere originati dallo stesso riferimento temporale: a tale scopo è possibile o stabilire una linea di clock separata fra trasmittente e ricevente, oppure l'informazione di clock deve essere incorporata nel segnale dati tramite una codifica bifase, se i segnali sono di tipo digitale; per i segnali analogici possono essere utilizzate diverse tecniche. Per blocchi di dati di dimensioni abbastanza grandi la trasmissione sincrona è più efficiente di quella asincrona.
La trasmissione isocrona è usata per segnali che dipendono da una temporizzazione uniforme o che trasportano l'informazione di temporizzazione come parte del segnale, come ad esempio la voce e i segnali televisivi.
Tecniche di rilevamento degli errori. - Indipendentemente dalla struttura del sistema di trasmissione, non è possibile evitare del tutto gli errori. Mentre l'incidenza di errori dovuti al rumore termico può essere ridotta fino a divenire trascurabile, il rumore impulsivo può ancora dar luogo a errori considerevoli. Le tecniche per il rilevamento degli errori si basano sul seguente principio: a un dato blocco di bit sono aggiunti dal trasmittente alcuni bit addizionali che costituiscono un codice di controllo; tale codice è calcolato come funzione degli altri bit trasmessi. Il ricevente esegue lo stesso calcolo. Si rileva un errore se e solo se non c'è corrispondenza fra i bit di controllo ricevuti e quelli calcolati. Per correggere l'errore si può usare una tecnica di rilevamento che dia al ricevente informazioni sufficienti a correggerlo. Le tecniche più comuni sono il controllo del bit di parità, il controllo della ridondanza longitudinale e il controllo della ridondanza ciclica (CRC, Cyclic Redundance Control). Più semplicemente, il ricevente può avvertire il trasmittente che è stato rilevato un errore e chiedere la ritrasmissione dei dati.
Interfacciamento. - I dispositivi per il trattamento di dati digitali hanno per la maggior parte limitate capacità di trasmissione, e anche la distanza alla quale possono trasmettere è limitata. Di conseguenza è raro che tali dispositivi - che comprendono computers e terminali e sono indicati collettivamente come apparati terminali dati (DTE, Data Terminal Equipment) - siano collegati direttamente a un mezzo di trasmissione. Un DTE fa uso del mezzo di trasmissione attraverso la mediazione di un apparato terminale di circuito (DCE, Data Circuit-terminating Equipment), per esempio un modem. Il DCE è responsabile della trasmissione e della ricezione dei bit, uno alla volta, su un mezzo di trasmissione, e inoltre deve interagire con il DTE: ciò richiede che siano scambiati sia dati sia informazione di controllo, e tale scambio avviene su un insieme di fili chiamati ‛circuiti di interscambio'. Affinché questo schema funzioni è necessario un alto grado di cooperazione. Ogni coppia DTE-DCE deve essere progettata in modo da avere interfacce complementari. L'esatta natura dell'interfaccia fra il DTE e il DCE è specificata in base a standard, noti come protocolli dello strato fisico del modello di riferimento OSI (v. cap. 4, § a). L'interfaccia ha quattro caratteristiche importanti: meccanica, elettrica, funzionale e procedurale. L'interfaccia standard di gran lunga più diffusa è la RS-232, che però è limitata a distanze brevi e a velocità di trasmissione non molto elevate; sono state pertanto messe a punto le interfacce RS-422 e RS-423, le cui prestazioni sono migliori.
d) Controllo del collegamento dati (DLC, Data Link Control)
Uno scambio di dati digitali fra due dispositivi per essere davvero cooperativo richiede la presenza di una qualche forma di controllo del collegamento, realizzata fondamentalmente tramite le seguenti tecniche.
Discipline di linea. - Le varie configurazioni per il collegamento dati si distinguono in base alla topologia, alla duplexity e alla disciplina di linea. Per topologia si intende la disposizione delle stazioni su un collegamento: se vi sono solo due stazioni, il collegamento è punto-punto; se vi sono più stazioni, si ha una topologia multipunto. La duplexity, in un collegamento, si riferisce alla direzione e alla temporizzazione del flusso dei segnali. Nelle trasmissioni simplex il flusso è in una sola direzione: per esempio, un sensore remoto può essere connesso a un host in modo da poter solamente trasmettere; oppure, un dispositivo di output come una stampante può essere configurato per poter ricevere senza trasmettere. Un collegamento half-duplex può ricevere e trasmettere, ma non simultaneamente; invece, su un collegamento full-duplex due stazioni possono contemporaneamente trasmettere e ricevere. Usando segnali digitali, la trasmissione full-duplex di solito richiede due canali di trasmissione separati (ad esempio, due doppini), mentre quella half-duplex ne richiede solo uno. Per i segnali analogici, tutto dipende dalla frequenza, a prescindere dal fatto che il mezzo usato sia guidato o non guidato. Una stazione che trasmette su una frequenza e riceve su un'altra può funzionare in modo full-duplex. Nell'uso di un collegamento è necessaria una qualche disciplina di linea: su una linea half-duplex, solo una stazione alla volta deve trasmettere; tanto su una linea half-duplex quanto su una full-duplex una stazione deve trasmettere solo se sa che il destinatario è pronto a ricevere. Vi sono tre distinte fasi nella procedura di controllo della comunicazione: 1) avvio della connessione, che determina quale stazione deve trasmettere e quale ricevere e indica che il ricevente è pronto a ricevere; 2) trasferimento dati, che avviene in uno o più blocchi di cui è notificata la ricezione; 3) terminazione, che chiude la connessione logica. Queste tre fasi fanno parte di tutte le discipline di linea, sia per i collegamenti punto-punto sia per quelli multipunto. La scelta della disciplina di linea per collegamenti multipunto dipende principalmente dal fatto che vi sia o meno una stazione designata come primaria. Le discipline più comunemente usate sono tutte varianti di uno schema noto come poll and select (sonda e scegli): la stazione primaria interroga ciclicamente una stazione secondaria per accertare se richiede dati (poll); la stazione primaria ha dati da inviare e informa una secondaria che questi stanno per arrivare (select).
Un altro tipo di disciplina di linea è la ‛contesa': in questo caso non c'è nessuna stazione primaria ma piuttosto un insieme di stazioni di pari rango. Una stazione può trasmettere se la linea è libera, altrimenti deve aspettare. Questa tecnica ha largo impiego nelle reti locali e nei sistemi satellitari. Una caratteristica comune a tutte le discipline di linea per collegamenti multipunto è la necessità di un indirizzamento.
Controllo di flusso. - Il controllo di flusso è una tecnica che consente di evitare che una stazione trasmittente sommerga di dati una stazione ricevente. Il ricevente stabilisce una dimensione massima di memoria per contenere i dati; dopo la loro ricezione, è necessario che i dati siano elaborati prima che la memoria sia disponibile a riceverne di nuovi. Il controllo di flusso evita che siano persi i dati che arrivano mentre è ancora in corso l'elaborazione di quelli precedenti. Il tipo più semplice di controllo di flusso, noto come stop and wait flow (fermati e aspetta), funziona nel seguente modo: l'entità sorgente trasmette un blocco di dati (frame); dopo la ricezione, l'entità destinataria invia un avviso di disponibilità ad accettare un nuovo blocco di dati, e solo a questo punto la sorgente può inviare il blocco successivo. Il destinatario può quindi arrestare il flusso dei dati semplicemente non fornendo l'avviso. Questa procedura funziona bene se il messaggio è inviato in grossi blocchi, ma può risultare inadeguata se si usano più frames per un singolo messaggio. In questo caso è preferibile una procedura più elaborata, come un protocollo a finestra scorrevole (sliding window). Il problema è che solo un frame per volta può essere in transito, e pertanto quando la lunghezza in bit del collegamento è maggiore della lunghezza del frame si può andare incontro a gravi inefficienze. La soluzione è ovviamente quella di consentire il transito di più frames contemporaneamente.
Controllo degli errori. - Le tecniche più comuni per il controllo degli errori che avvengono nella trasmissione dei frames sono basate sui seguenti passi: 1) rilevamento degli errori, per il quale viene normalmente usato il CRC; 2) avviso di ricezione positivo: è la conferma da parte del destinatario di aver ricevuto i frames senza errori; 3) ritrasmissione, dopo un time-out, del frame per il quale la sorgente non ha avuto un avviso di ricezione positivo entro un intervallo di tempo prestabilito; 4) avviso di ricezione negativo e ritrasmissione: se il destinatario informa di aver rilevato la presenza di errori in alcuni frames, la sorgente ritrasmette tali frames. Questi meccanismi di richiesta automatica di ritrasmissione sono definiti ARQ.
HDLC (High level Data Link Control). - Per questo tipo di controllo, sviluppato dalla International Standards Organization (ISO3309, ISO4335), viene impiegata una trasmissione sincrona. Tutte le trasmissioni avvengono in frames, di cui l'HDLC prevede tre tipi, ognuno con un diverso formato del campo di controllo. I frames contenenti informazione (I-frames) trasportano i dati che devono essere trasmessi, detti ‛dati utente'. I dati per il controllo del flusso e degli errori, che usano un meccanismo ARQ, possono essere trasportati su frames di supervisione (S-frames), oppure, con un'opportuna codifica addizionale, su I-frames. Frames non numerati (U-frames) forniscono funzioni supplementari per il controllo del collegamento. La fondamentale operazione dell'HDLC riguarda lo scambio di frames di informazione contenenti dati utente. Ogni I-frame contiene il numero di sequenza del frame trasmesso e anche un avviso di ricezione positivo, che è il numero di sequenza del prossimo frame atteso.
e) Allocazione e multiplazione del canale; accesso al canale
Quando molti nodi si contendono l'uso della rete, la capacità o larghezza di banda del canale deve essere divisa o allocata in modo da consentirne l'uso più efficiente. Il termine generico con cui viene indicato il metodo per dividere in più canali un singolo canale, in modo da poter trasmettere più segnali indipendenti, è ‛multiplazione' (multiplexing). Le tecniche di multiplazione sono state sviluppate in risposta a una domanda crescente e a una limitata capacità di canale, in un primo tempo per le trasmissioni telefoniche e in seguito per la comunicazione dei dati. Inviando molti segnali su un canale attraverso la multiplazione, si utilizza una percentuale molto maggiore del mezzo di trasmissione e si possono servire più utenti. Si può avere multiplazione a divisione di spazio, di frequenza o di tempo.
Multiplazione a divisione di spazio. - Si parla di multiplazione a divisione di spazio (space division multiplexing) quando si crea un singolo canale raggruppando insieme molti canali fisici. L'esempio più comune è rappresentato dai cavi telefonici: ognuno dei grandi cavi telefonici che vediamo ovunque è formato da centinaia o migliaia di doppini telefonici che giungono in ogni casa. Ogni telefono ha un cavo telefonico dedicato, cioè uno spazio fisico nel canale. La divisione di spazio è in genere un modo inefficiente per sfruttare il canale, dato che ogni nodo usa solo una frazione della capacità del cavo a cui è connesso; ad esempio, i segnali vocali a 4.000 Hz utilizzano solo una piccola parte della capacità disponibile su ogni doppino.
Multiplazione a divisione di frequenza. - La multiplazione a divisione di frequenza (FDM, Frequency-Division Multiplexing) è possibile quando la larghezza di banda utilizzabile del mezzo è maggiore di quella necessaria a trasmettere i segnali. La larghezza di banda di un singolo mezzo fisico è divisa in vari canali con bande di frequenza più piccole e indipendenti. Assegnando a ogni sottocanale un intervallo di frequenza proporzionato alla larghezza di banda del segnale che deve trasportare, si riesce a utilizzarne pressoché totalmente la capacità. Le reti telefoniche e radiotelevisive rappresentano gli esempi più noti dell'impiego della FDM. Per poter usare tale tecnica, è necessario che i segnali siano in forma analogica e pertanto quelli in forma digitale devono essere convertiti: questo è ciò che avviene nel caso della trasmissione dei segnali digitali di un calcolatore su una rete analogica per comunicazioni telefoniche a lunga distanza. La FDM è spesso usata insieme a tecniche di accesso e di commutazione.
Multiplazione a divisione di tempo sincrona. - Se la densità di dati che può essere trasmessa sul mezzo supera quella dei dati nei segnali digitali da trasmettere è possibile utilizzare la multiplazione a divisione di tempo sincrona (TDM, Time-Division Multiplexing). È infatti possibile trasportare segnali multipli su un singolo cammino di trasmissione alternando nel tempo porzioni di ciascun segnale. La TDM è un altro metodo per utilizzare la capacità del canale in modo efficiente. A ogni nodo è assegnato, a turno, un piccolo intervallo di tempo (time slot), durante il quale esso può trasmettere un messaggio o una sua porzione (data packet). Con la TDM ciascuna porzione di ogni messaggio occupa completamente la capacità del canale per il tempo assegnatole. Questa tecnica risolve sia il problema dell'accesso, stabilendo l'ordine in cui i nodi possono trasmettere, sia quello dell'allocazione, specificando l'intervallo di tempo durante il quale un nodo può trasmettere. Essa può essere usata per multiplare segnali digitali o analogici, ed è detta ‛sincrona' non perché la trasmissione sia effettivamente sincrona, ma perché i time slots sono preassegnati alle sorgenti in maniera stabile e la trasmissione ha luogo indipendentemente dal fatto che la sorgente abbia dati da trasmettere.
La TDM è usata anche in diversi punti della rete telefonica per trasmettere in multiplazione le comunicazioni telefoniche. Le compagnie telefoniche hanno sviluppato gerarchie di TDM, chiamate PDH (Plesiochronous Digital Hierarchy) e SDH (Synchronous Digital Hierarchy) o SOnet (Synchronized Optical network), tra le quali la più diffusa è la PDH, in cui il prefisso ‛plesio' (quasi) indica il fatto che la trasmissione non è né completamente sincrona né completamente asincrona. La rete di telecomunicazioni attualmente è quasi interamente basata sulla PDH e si evolverà in direzione di una rete mista SDH/PDH.
La SDH (standard CCITT) è attualmente in fase di installazione; essa utilizza un nuovo meccanismo per compensare gli sfasamenti nella temporizzazione di segmenti sincroni adiacenti. I dispositivi della rete SDH sono controllati tramite software, mentre quelli della rete PDH, controllati dall'hardware, risultano relativamente ‛torpidi'. La rete SOnet è stata sviluppata negli Stati Uniti ed è simile alla SDH.
Multiplazione a divisione statistica di tempo. - In un multiplatore a divisione di tempo sincrono accade in genere che molti dei time slots disponibili vadano sprecati. Un'applicazione tipica di una TDM sincrona è il collegamento di molti terminali a un unico insieme di elaboratori centrali: anche se tutti i terminali sono attivi, per la maggior parte del tempo non si ha trasferimento di dati da o verso un particolare terminale. La TDM statistica, nota anche come TDM asincrona o intelligente, rappresenta un'alternativa alla TDM sincrona, con la quale condivide la caratteristica di allocare dinamicamente i time slots su richiesta per trasmettere i dati. Il multiplatore statistico ha un certo numero di linee di I/O (input/output), a ciascuna delle quali è associato un buffer da un lato e una linea multiplata ad alta velocità dall'altro; vi sono n linee di I/O, ma solo k (k 〈 n) time slots disponibili sul frame TDM. Per quanto riguarda l'input, la funzione del multiplatore è di analizzare i buffers di ingresso, raccogliendo i dati fino a riempire un frame e inviarlo. Per quanto riguarda l'output il multiplatore riceve un frame e distribuisce gli slots di dati ai buffers di outputs appropriati. Dato che la TDM statistica sfrutta il fatto che i dispositivi a essa collegati non trasmettono continuamente, la velocità della linea multiplata è inferiore alla somma delle velocità dei dispositivi collegati e pertanto può sostenere lo stesso numero di terminali di un multiplatore sincrono. A differenza di quest'ultimo, infatti, il multiplatore statistico non invia slots vuoti. Poiché i dati arrivano alle linee di I/O e sono da queste distribuiti in maniera imprevedibile, per poter essere consegnati devono contenere anche l'indirizzo del destinatario. Vi è quindi un maggior sovraccarico per ogni slot, dato che esso deve contenere anche un indirizzo. La struttura del frame in una TDM statistica influisce sulle prestazioni. In genere, i sistemi con TDM statistica usano un protocollo sincrono come l'HDLC.
Accesso al canale. - Le tecniche di accesso, cioè le modalità con cui i nodi ottengono di accedere alla rete, sono usate per mediare fra i nodi che si contendono l'uso di un canale e sono in genere suddivise in tecniche di interrogazione ciclica (polling) e di contesa (contention).
Le tecniche di polling determinano l'ordine di accesso alla rete dei nodi, in modo da evitare conflitti diretti (cioè, collisione nell'accesso) fra i nodi. La TDM può essere considerata come una forma di polling predeterminato, in cui l'allocazione è basata sul tempo. Il controllo dell'accesso alla rete può essere effettuato da forme di polling centralizzate o distribuite. Un polling con controllo centralizzato può essere attuato in ogni topologia di rete.
Le forme più frequentemente usate di polling distribuito sono il token passing e gli slotted rings. Il token passing - che nella maggior parte dei casi è associato a una topologia ad anello, sebbene recentemente sia stato applicato anche a reti a bus - è un meccanismo in base al quale ogni dispositivo, a turno e in modo predeterminato, riceve e passa il diritto all'uso del canale. I tokens sono speciali configurazioni o pacchetti di bit, usualmente lunghi parecchi bit, che circolano lungo l'anello da nodo a nodo quando non c'è traffico di messaggi. Il possesso del token dà a un nodo l'accesso esclusivo alla rete per trasmettere il proprio messaggio, evitando quindi il conflitto con altri nodi che vogliono trasmettere. Se un nodo vuole trasmettere un messaggio, esso ‛tratterrà' il token e invierà il suo messaggio, specificando l'indirizzo di destinazione. I nodi sull'anello controllano il messaggio mentre passa. Essi identificano e ricevono i messaggi a loro indirizzati, mentre ripetono e passano i messaggi destinati ad altri nodi. Gli slotted rings impiegano una variante del controllo di accesso via token passing sulle reti ad anello. Usualmente lungo l'anello circola un certo numero di slots (pacchetti di dimensione fissa), ognuno contenente dei bit che specificano gli indirizzi della sorgente e della destinazione, l'informazione di controllo e di parità, nonché i dati. Se un nodo decide di trasmettere, aspetta uno slot libero o non usato, inserisce i dati nei campi opportuni, imposta un bit che indica che lo slot è pieno e specifica l'indirizzo della sorgente e quello del destinatario. Come nel token passing, i nodi lungo il cammino controllano se lo slot è indirizzato a loro. Il nodo di destinazione copia i dati nei suoi buffers e marca lo slot in modo da indicare che è vuoto e può essere usato dai nodi successivi.
Le tecniche di contesa prevedono l'esistenza di conflitti o collisioni e ne fanno uso per allocare il canale comune. L'accesso multiplo del CSMA/CD (Carrier Sense Multiple Access with Collision Detect) consente a ogni nodo che ha trovato il canale libero da traffico di spedire immediatamente un messaggio, eliminando così gran parte dell'attesa caratteristica delle tecniche senza contesa; ad esempio, nel polling un nodo pronto per trasmettere un messaggio deve attendere che sia completato il polling di tutti i nodi presenti, indipendentemente dal fatto che questi vogliano trasmettere o no. La ‛rilevazione di portante' (carrier sense) è la capacità di ogni nodo di rilevare il traffico sul canale (chiamata listen-before-talking). I nodi aspettano a trasmettere se sentono che c'è traffico sul canale. Però, a causa del tempo che un segnale impiega per attraversare la rete (detto ‛ritardo di propagazione'), due nodi possono individuare un canale libero esattamente nello stesso momento o quasi, dato che nessuno dei due ha ancora rilevato il segnale dell'altro, e in tal caso si avrà una collisione fra i due messaggi. Quando è rilevata una collisione, ogni nodo coinvolto smette di trasmettere e aspetta per un breve intervallo prima di tentare nuovamente. Per garantire che tutti i nodi, compreso quello che sta trasmettendo, avvertano una collisione sul canale, è necessario che i pacchetti abbiano una certa dimensione minima.
3. Reti per la comunicazione dati
Dato che un collegamento fornisce la capacità di comunicare solo fra due punti, sorge il problema di come estendere tale capacità a un gran numero di siti geograficamente distribuiti, ognuno dei quali ha la necessità di comunicare con gli altri. Per risolvere questo problema è necessario introdurre le nozioni di collegamento in rete (networking) e di commutazione (switching).
L'espressione ‛collegamento in rete' si riferisce alla configurazione delle infrastrutture di trasmissione connesse in una rete che può servire molti utenti geograficamente distribuiti; il termine ‛commutazione' si riferisce invece ai metodi con cui allocare le limitate risorse di trasmissione agli utenti; la combinazione dei due sistemi è ciò che fornisce la possibilità di connettere gli utenti in maniera economica ed efficiente. La risorsa più scarsa e più cara è sempre stata la larghezza di banda, e pertanto le tecniche usate per il collegamento in rete sono state scelte in modo da ottimizzarne l'uso. Queste tecniche sono diverse a seconda del tipo di informazione trasportata (voce, dati, video, immagini) e dell'ambito servito (area locale, area metropolitana e area ampia o geografica). Nonostante la grande varietà di reti progettate per soddisfare le diverse necessità, esse sono tutte basate su tre principali tecniche di commutazione, dette di circuito, di messaggio e di pacchetto
a) Commutazione di circuito
La commutazione di circuito, il metodo prevalente nelle comunicazioni telefoniche, è alla base della rete telefonica mondiale odierna. La comunicazione via commutazione di circuito implica la creazione di un cammino dedicato, cioè di una sequenza connessa di collegamenti fra nodi della rete, fra due stazioni che intendono comunicare. Essa è costituita da tre fasi: 1) prima che qualunque segnale possa essere trasmesso, deve essere stabilito un circuito che colleghi le due stazioni; ciò avviene sulla base delle informazioni di instradamento, della disponibilità dei vari collegamenti intermedi e magari anche del costo; 2) l'informazione può allora essere trasmessa attraverso la rete; i dati possono essere digitali o analogici, secondo la natura della rete; 3) dopo un certo periodo di trasferimento dati, la connessione è interrotta, di solito da una delle due stazioni.
Fra ogni coppia di nodi deve essere riservata la capacità del canale e ogni nodo deve essere in grado di effettuare la commutazione in modo autonomo per stabilire la connessione richiesta. Ogni commutatore deve avere la capacità di effettuare questa allocazione e di individuare un percorso attraverso la rete.
La commutazione di circuito può essere piuttosto inefficiente. La capacità del canale è riservata per tutta la durata della connessione anche se non vi sono dati da trasferire. In una rete a commutazione di circuito, sono i segnali di controllo a gestire la rete e a stabilire, mantenere e terminare le chiamate. A tal fine è necessario vi siano scambi di informazione fra l'abbonato e la centrale di commutazione, fra le varie centrali e fra la centrale e il centro di gestione della rete. Lo schema di segnalazioni di controllo necessario a una grande rete pubblica di telecomunicazioni è piuttosto complesso. L'uso della commutazione di circuito nella comunicazione dei dati è iniziato più di cinquant'anni fa con modem progettati per sistemi di trasmissione analogici. I circuiti di commutazione attualmente in uso sono le linee dedicate e l'ISDN (Integrated Services Digital Network).
Linee dedicate. - L'operatore di rete assegna all'utente un collegamento dati fisso, permanentemente disponibile per il trasporto dei dati, fornendo una certa larghezza di banda di trasmissione. In origine le linee dedicate erano usate solo per connessioni punto-punto; attualmente, invece, sistemi di accoppiamento intelligenti, come i routers, possono effettuare una gestione dinamica della larghezza di banda fra vari utenti attraverso un'unica linea dedicata. Il principale difetto rimane la limitata possibilità di commutazione. Se una rete è costituita da un certo numero di linee dedicate, l'allocazione dinamica della larghezza di banda fra differenti linee può essere ottenuta solo attraverso multiplatori flessibili, ma per riconfigurare sistemi di questo tipo può essere necessario un tempo variabile da qualche minuto a ore.
ISDN. - Questa rete estende anche al doppino telefonico attualmente in uso la capacità di trasmissione digitale e fornisce all'utente due canali commutati da 64 kbit/s e un canale a commutazione di pacchetto da 16 kbit/s. L'ISDN è una rete pubblica di telecomunicazioni digitali end-to-end e pertanto fornisce le capacità di comunicazione di base per un ampio spettro di applicazioni. L'ISDN renderà la comunicazione dei dati per qualsiasi scopo semplice quanto una telefonata; essa è stata progettata per avere estensione mondiale e per soddisfare una grande varietà di richieste dell'utente. Attualmente l'ISDN offre molteplici servizi, tra i quali l'interconnessione di reti locali, il lavoro a distanza, l'istruzione tramite computer, la compilazione e revisione di rapporti finanziari, la videoconferenza, l'accesso a basi di dati remote, la trasmissione di immagini (still video).
b) Commutazione di messaggio
Nella comunicazione di dati, gli scambi di informazione fra gli utenti avvengono sotto forma di scambi di blocchi di dati, detti ‛messaggi'. Per adattarsi meglio alle caratteristiche e alle esigenze di tali scambi è stata introdotta la commutazione di messaggio. Ai fini della trasmissione, un messaggio è composto dai dati che l'utente deve trasmettere, dall'intestazione (header) che contiene informazioni di controllo e dalla ‛somma di controllo' (check-sum) che serve per il controllo degli errori. I commutatori sono calcolatori capaci di elaborazione e memorizzazione. Per prima cosa il messaggio è trasmesso dal dispositivo dell'utente al commutatore di messaggio al quale è collegato; dopo la sua completa ricezione, il commutatore ne esamina l'intestazione e seleziona di conseguenza il successivo canale di comunicazione sul quale inoltrarlo; lo stesso processo è poi iterato da un commutatore al successivo finché il messaggio arriva al destinatario. Questa tecnica di trasmissione viene anche appropriatamente definita tecnica store-and-forward (memorizza e spedisci).
La commutazione di messaggio ha inaugurato l'odierna era della comunicazione dati nel 1847, con l'invenzione del telegrafo da parte di Morse e col sistema dei ripetitori; si è quindi evoluta producendo il ripetitore telescrivente a nastro di carta e il moderno telex, usato per operazioni finanziarie e per accedere a locazioni remote.
c) Commutazione di pacchetto
Con questa tecnica, i blocchi di dati che possono essere trasmessi sulla rete, indicati come ‛pacchetti', non possono superare una lunghezza massima assegnata. I messaggi che superano questa lunghezza sono suddivisi in più pacchetti, trasmessi indipendentemente con modalità store-and-forward. La commutazione di pacchetto, oltre a offrire i vantaggi della commutazione di messaggio, permette una allocazione dinamica ed equa della larghezza di banda anche quando i messaggi variano molto in lunghezza. In tal modo il ritardo nella trasmissione di un messaggio da trasmittente a ricevente è inferiore che nella commutazione di messaggio, in quanto molti pacchetti di uno stesso messaggio possono essere simultaneamente in trasmissione su segmenti successivi di un cammino fra sorgente e destinazione.
L'utilizzazione efficiente degli impianti di trasmissione, insieme al continuo progresso della tecnologia di elaborazione digitale (che ha finora tenuto il passo con la larghezza di banda disponibile sulle infrastrutture di trasmissione), ha reso la commutazione di pacchetto il metodo di commutazione più economico, e quindi preferito, per la comunicazione dei dati fin dalla sua comparsa, verso la fine degli anni sessanta. Ma come riesce la rete a gestire questo flusso di pacchetti, a guidarli lungo la rete e a farli pervenire al destinatario? Due sono attualmente gli approcci: il datagramma e il circuito virtuale.
Secondo l'approccio basato sui datagrammi (senza connessione), ogni pacchetto è trattato indipendentemente, senza tener alcun conto dei pacchetti già trasmessi. I datagrammi possono prescindere da procedure per il controllo delle chiamate e possono essere inviati senza curarsi del fatto che giungano effettivamente a destinazione, oppure richiedere un'esplicita notifica di ricezione. Sono meccanismi solidi e flessibili: se qualche nodo o qualche collegamento della rete non è disponibile, possono essere instradati in modo da evitare l'area malfunzionante e inoltre sono in grado di reagire più rapidamente alla congestione della rete decidendo la strada di ogni singolo pacchetto.
Nell'approccio basato sul circuito virtuale (orientato alla connessione), prima che un pacchetto possa essere inviato deve esserne prestabilito il percorso. I circuiti virtuali assicurano l'integrità della sequenza nella trasmissione dei dati utente. Dal momento che il percorso è fisso per tutta la durata della connessione logica, esso è in qualche modo simile a un circuito in una rete a commutazione di circuito e viene perciò definito circuito virtuale. Ogni pacchetto in questo caso contiene, oltre ai dati, anche un identificatore del circuito virtuale. Ogni nodo lungo il percorso sa dove inviare questi pacchetti e non ci sono da prendere decisioni al riguardo. In qualunque istante, ogni stazione può avere più di un circuito virtuale verso qualunque altra stazione e verso più stazioni. Quindi la caratteristica principale della tecnica è che il percorso fra le stazioni è fissato prima del trasferimento dei dati. Si noti che questo non significa che si tratta di un cammino dedicato, come nella commutazione di circuito; il pacchetto è ancora memorizzato in ogni nodo e messo in coda per l'output su una linea, ma il nodo decide il percorso dei pacchetti una volta per tutte.
Poiché la commutazione di pacchetto basata sui datagrammi non richiede sovraccarico per stabilire una connessione, per messaggi brevi essa risulta più veloce della commutazione basata sul circuito virtuale e forse della commutazione di circuito. Però, dato che ogni singolo datagramma è instradato indipendentemente, l'elaborazione di ciascuno di essi in ogni nodo può essere più lunga che per i pacchetti a circuito virtuale. Di conseguenza, per messaggi lunghi la tecnica a circuito virtuale può risultare superiore.
Le reti a commutazione di pacchetto sono andate evolvendosi per oltre 25 anni, passando dai sistemi X.25 e IP - progettati per funzionare su reti con scarsa capacità di trasmissione - a protocolli più semplici, come HDLC; esse formano oggi la base delle reti di comunicazione dati più avanzate. La commutazione di pacchetto ha avuto larga applicazione, specialmente in Europa, dove è utilizzata per la maggior parte dei servizi di trasmissione dati, sia pubblici che privati. Uno degli esempi meglio documentati di rete a commutazione di pacchetto è la già citata ARPAnet.
I due problemi tecnici principali delle reti a commutazione di pacchetto sono l'instradamento e il controllo del traffico.
Instradamento (routing). - La funzione primaria di una rete a commutazione di pacchetto è di accettare pacchetti da una stazione sorgente e consegnarli alla stazione di destinazione. Per svolgere questo compito, deve essere scelto almeno un cammino (route) attraverso la rete. Le proprietà che una funzione di instradamento dovrebbe avere sono la correttezza, la semplicità, la solidità, la stabilità, l'imparzialità, l'ottimalità e naturalmente l'efficienza. Le esigenze di solidità - che consistono nel far sì che la rete riesca a consegnare i pacchetti attraverso un cammino anche in presenza di guasti e sovraccarichi localizzati - possono essere in contrasto con quelle di stabilità. L'ideale sarebbe che la rete reagisse alle emergenze senza perdita di pacchetti e senza interruzione dei circuiti virtuali. Purtroppo le tecniche che reagiscono al mutare delle condizioni hanno tempi di reazione lunghi, oppure possono dar luogo a oscillazioni instabili da un estremo all'altro; per esempio, la rete può reagire alla congestione di un'area spostando la maggior parte del carico su un'altra area. A questo punto, anche questa diviene sovraccarica - mentre la prima è sottoutilizzata - e si rende necessario un altro spostamento. Durante questa serie di spostamenti, i pacchetti possono viaggiare nella rete in cammini chiusi ad anello (loops). Anche fra imparzialità e ottimalità bisogna trovare un compromesso. Alcuni criteri di efficienza possono favorire, per esempio, lo scambio di pacchetti fra stazioni vicine e scoraggiare quello fra stazioni distanti, ma questa politica può apparire ingiusta a una stazione la cui necessità primaria è quella di comunicare con stazioni lontane. Infine, ogni tecnica di instradamento comporta qualche sovraccarico di elaborazione in ogni nodo e spesso anche un sovraccarico nella trasmissione.
Controllo del traffico. - Il controllo del traffico in una rete a commutazione di pacchetto - cioè il controllo del numero dei pacchetti che entrano nella rete e che la usano, evitando che la rete diventi un collo di bottiglia e garantendo che l'uso della rete sia efficiente - è complesso e a questo riguardo è stata proposta una grande varietà di approcci. I meccanismi impiegati a tal fine sono di tre tipi, ognuno con differenti obiettivi: controllo del flusso, controllo della congestione e prevenzione delle situazioni di stallo (deadlocks).
d) Reti locali (LAN)
Un tipo di rete di comunicazione a pacchetto che ha fatto la sua comparsa nei primi anni settanta è il tipo a mezzo condiviso (shared medium), detto anche trasmissione circolare multiaccesso (multiaccess broadcast). L'intera rete in questo caso consiste di un unico mezzo di trasmissione condiviso da tutte le stazioni, le quali vi accedono in base a un protocollo di controllo (MAC, Media Access Control), e ogni accesso è limitato alla durata di un singolo pacchetto (o messaggio). In queste reti, la trasmissione di un qualunque utente è ascoltata da tutti gli altri utenti (da cui l'attributo ‛circolare'), cioè il messaggio trasmesso raggiunge tutte le stazioni, il che consente una connettività completa a un costo molto basso: ogni utente è collegato al canale comune attraverso un'interfaccia che ascolta tutte le trasmissioni e accetta i pacchetti che gli sono destinati. In sostanza, la condivisione di un mezzo secondo un protocollo multiaccesso (eseguito in modo distribuito da tutte le stazioni connesse al mezzo condiviso) costituisce la funzione di commutazione. Due sono i fattori principali che hanno contribuito alla diffusione di tali sistemi: la necessità di sfruttare in modo efficiente una risorsa di comunicazione costosa (ad esempio, un canale satellitare o un ponte radio), facendola condividere da molti utenti ‛a raffica', e la necessità di fornire un grado elevato di connettività per la comunicazione fra un gran numero di utenti ‛a raffica' (per esempio in un ambiente di rete locale, come un edificio o un campus universitario). Tali sistemi sono ora largamente usati sia in area locale sia in area metropolitana; sono quindi indicati come reti locali (LAN, Local Area Network) o reti metropolitane (MAN, Metropolitan Area Network). Si può definire una LAN come un sistema di comunicazione dati, di proprietà privata, che di solito copre un territorio abbastanza limitato, cioè una ‛area locale'.
Topologia. - Vi sono due strutture prevalenti per tali reti: la prima è quella dei cosiddetti sistemi a bus di trasmissione (broadcast bus systems), in cui tutti gli utenti sono collegati a un unico cavo attraverso semplici connettori passivi - sistemi che sono ideali per ambienti composti da un gran numero, spesso variabile, di dispositivi poco costosi che necessitano di interconnessione; la seconda è quella delle cosiddette reti ad anello (ring networks), in cui l'interfaccia di ogni dispositivo è connessa solo ai due vicini con collegamenti punto-punto unidirezionali, in modo da formare un circuito chiuso. L'interfaccia verso un anello è un componente attivo in grado sia di esaminare il flusso di dati che l'attraversa allo scopo di accedere alla rete, sia di rigenerare il segnale per ritrasmetterlo sul collegamento successivo. I messaggi (o pacchetti) si possono propagare lungo tutto l'anello, acquisendo così caratteristiche di ‛diffusione'. Le velocità complessive di trasferimento dati ottenibili su queste reti a bus e ad anello variano da 1 a 100 Mbit/s. Ciò che è importante notare qui è che la capacità di elaborazione ottenuta da tutti gli utenti non può superare la larghezza di banda del mezzo condiviso e che - data la natura distribuita della tecnica di commutazione usata e del sovraccarico a essa associato - tale capacità tende a scendere al di sotto di quanto sarebbe consentito dalla larghezza di banda fisicamente disponibile. Inoltre, anche se la massima densità di dati richiesta da un utente può essere solo una frazione della larghezza di banda del mezzo, l'interfaccia utente verso la rete deve operare alla stessa velocità del mezzo.
Cablaggio strutturato. - È opportuno sottolineare l'importanza delle infrastrutture di cablaggio, che possono essere di tipo diverso. Fisicamente una rete consiste di dispositivi attivi e passivi e del cavo che li connette. Il cablaggio strutturato definisce tanto il sistema di cavi quanto le componenti a esso connesse. Un'infrastruttura universale di cablaggio strutturato consente l'accesso a qualunque tecnologia informativa ed è indipendente dalle apparecchiature che serve; essa consente ai gestori e ai progettisti di modificare l'organizzazione della rete facilmente e con poche interruzioni del servizio. Il cablaggio strutturato per le comunicazioni si sta rapidamente affermando come un'infrastruttura per i servizi di LAN e di telecomunicazione presente in ogni edificio.
Un rilevante successo tecnologico ottenuto dall'industria delle LAN è la capacità di fornire Ethernet (10 Mbit/s), Token Ring (4 e 16 Mbit/s), FDDI/CDDI (100 Mbit/s) e perfino ATM (100/155 Mbit/s) su doppino telefonico non schermato (cablato con una distanza fra i nodi che può arrivare fino a 100 m). Per costruire collegamenti in rete basati su questi schemi strutturati di cablaggio si utilizzano in genere pannelli di connessione definiti ‛intelligenti', che forniscono un gran numero di connessioni in rete locale per tutti i tipi di cablaggio.
Ethernet. - È di gran lunga la tecnologia LAN più diffusa, tanto che si stima che nel 1994 vi fossero circa 40 milioni di nodi Ethernet installati nel mondo. La sua notorietà assicura un vasto mercato, che aiuta a mantenere competitivi i prezzi. Dai tempi del primo standard Ethernet (IEEE 802.3) le specifiche e il diritto di costruire tecnologia Ethernet sono diventati facilmente disponibili e perciò essa è ampiamente usata nell'industria dei calcolatori. Ethernet è una tecnologia LAN che permette di connettere qualsiasi tipo di calcolatore, consentendo una velocità di trasmissione compresa tra 10 e 100 Mbit/s. I supporti di trasmissione usati sono il doppino telefonico, il cavo coassiale e la fibra ottica. Il sistema Ethernet consiste di tre elementi principali: il mezzo fisico per trasportare i segnali da un computer all'altro, un insieme condiviso di regole per il controllo dell'accesso al canale Ethernet e un pacchetto, o frame, Ethernet, che consiste in un insieme standardizzato di bit per trasportare i dati nel sistema. I computers connessi a una rete Ethernet inviano dati usando pacchetti basati su protocolli di alto livello, come il protocollo TCP/IP usato su Internet.
Tecnologia token ring. - Il metodo di accesso standard IEEE 802.5 è basato su una tecnologia ‛ad anello con gettone' (token ring). L'anello inizia da un sistema principale (master) che genera anche i tokens, il cui possesso conferisce il diritto di trasmettere per un periodo di tempo definito da regole; il token circola lungo l'anello nell'intervallo fra due trasmissioni. Quando una stazione vuole trasmettere esegue le seguenti funzioni: si impadronisce del token; cambia un bit all'interno del token per marcarlo come occupato (convertendolo così in una sequenza di inizio di frame); trasmette un frame. Le altre stazioni a turno ripetono i bit del frame, passandoli alla propria vicina a valle. Una o più stazioni possono scegliere di ricevere il frame facendone una copia mentre passa attraverso di essa nel suo percorso lungo l'anello. Quando la stazione trasmittente vede ritornare il proprio frame lo toglie dall'anello e, dopo che l'ultimo dei frames trasmessi è stato rimosso dalla rete, mette in circolazione un nuovo token. Il supporto fisico per la rete Token ring può essere il doppino telefonico, il doppino schermato, il cavo coassiale o la fibra ottica. Lo standard IEEE 802.5, che è stato approvato per la prima volta nel dicembre 1984, dà le specifiche per una rete Token ring a 4 Mbit/s. Nel novembre 1988 l'IBM ha annunciato un prodotto con architettura token ring a 16 Mbit/s di seconda generazione, che usa una tecnica detta ‛rilascio precoce del gettone' (early token release) in grado di aumentare la capacità di trattamento della rete. Gli standard per questa tecnologia sono però ancora largamente incompleti.
FDDI (Fiber Distributed Data Interface). - L'FDDI è una rete locale Token ring ad alte prestazioni su fibra ottica che funziona a 100 Mbit/s su distanze fino a 200 km e che collega fino a 1.000 stazioni; data la sua grande larghezza di banda può anche essere usata come dorsale (backbone) per reti locali con supporto fisico di rame. Essa adotta una tecnologia a passaggio di token che utilizza un protocollo temporizzato il quale, ogni volta che si inserisce una nuova stazione, garantisce l'accesso all'anello entro un periodo di tempo contrattato tra le stazioni.
Il cablaggio FDDI è formato da due anelli di fibra ottica, uno che trasmette in senso orario e l'altro in senso antiorario: se uno dei due si interrompe, si può utilizzare l'altro come riserva. I due anelli sono indipendenti finché non c'è un guasto (come la rottura di un cavo), nel qual caso essi vengono congiunti o avvolti insieme per ripristinare le condizioni operative.
Un anello FDDI può operare in due modi: in modo sincrono, che garantisce ai nodi una determinata larghezza di banda e un determinato tempo di risposta; in modo asincrono, che fornisce condivisione dinamica della larghezza di banda. La larghezza di banda sincrona è allocata come percentuale del tempo di rotazione del token fino al bersaglio (TTRT, Target Token Rotation Time): se ogni nodo cattura il token e invia dati, tale percentuale è equivalente alla larghezza di banda totale sull'anello. La trasmissione asincrona prevede un'allocazione a due livelli della larghezza di banda: il modo non ristretto offre una spartizione di tempo fra tutti i nodi che vogliono inviare dati; il modo ristretto è dedicato a un singolo dialogo prolungato. Il funzionamento normale è quello non ristretto.
Reti locali ad alta velocità. - Le migliori prestazioni dei moderni calcolatori hanno indotto sempre ulteriori sviluppi nel campo delle applicazioni di rete a grande intensità di dati - come la visualizzazione scientifica e multimediale - e imposto l'aumento della velocità delle reti locali, che ha raggiunto l'ordine del gigabit al secondo. Tra le reti locali ad alta velocità ricordiamo l'‛interfaccia parallela a elevate prestazioni' (HiPPI, High Performance Parallel Interface) e l'FCS (Fibre Channel Standard).
L'HiPPI (standard ANSI X3T9) ha le sue origini nei supercomputers Cray, che usano canali a 100 Mbyte/s per comunicare con le periferiche, ed è un collegamento punto-punto per trasferimento dati ad alta velocità la cui interfaccia è ben diversa da quella delle reti locali ad accesso multiplo: difatti l'HiPPI è un sistema a circuito orientato. Il supporto fisico è costituito da 50 coppie di doppini telefonici che ne limitano il raggio d'azione a circa 25 m, ma ne rendono meno costosa la realizzazione. L'HiPPI è usata per il trasferimento ad alta velocità di grandi volumi di dati.
L'FCS definisce invece un'interfaccia per il trasferimento dei dati ad alta velocità che può essere utilizzata per collegare stazioni di lavoro, sistemi centrali, supercomputers, unità di memorizzazione e dispositivi di visualizzazione. Lo standard soddisfa la richiesta di trasferimenti molto veloci di grandi volumi di informazioni e potrebbe sollevare i produttori di sistemi dall'onere di occuparsi della gran varietà di canali e di reti attualmente installate, dato che fornisce un unico standard per la connessione in rete, per la memoria e per il trasferimento dati. L'FCS è un collegamento seriale veloce in grado di soddisfare anche le esigenze di protocolli di più alto livello, come l'FDDI, l'SCSI (Small Computer System Interface), l'HiPPI e l'IP. Questa tecnologia veloce (fino a 1 GBit/s) può essere convertita per l'uso nelle reti locali aggiungendo un commutatore, che gestisce l'indirizzamento multipunto e pertanto è possibile che in futuro essa potrà essere utilizzata sia come tecnologia di I/O, sia come tecnologia di rete locale. Si cominciano a installare sia collegamenti FC (Fibre Channel) in dispositivi di memoria di massa, sia collegamenti di più sistemi a cluster, che raggiungono velocità da 266 a 1.062 Mbit/s e tempi di latenza dell'ordine dei decimi di microsecondo e consentono di ottenere benefici economici che cominciano a divenire evidenti.
LAN senza fili. - La comunicazione senza fili ha trasformato profondamente l'intero sistema della comunicazione e dell'elaborazione. Le LAN senza fili offrono una soluzione pienamente adeguata alle richieste attualmente provenienti dal mondo economico di una maggiore mobilità dei dipendenti e flessibilità d'installazione. Esse rappresentano tecnologie non alternative ma complementari a quelle esistenti, delle quali ampliano i servizi già disponibili. Una LAN senza fili è una LAN tradizionale (per esempio, Ethernet) con l'aggiunta di un'interfaccia via etere per servire i piccoli terminali portatili di potenza limitata in grado di accedervi. L'elemento principale nella LAN senza fili è la scheda d'interfaccia via etere dotata d'antenna, il cui raggio d'azione è per ora limitato all'interno degli edifici.
Le tecnologie di base utilizzate nella progettazione di reti senza fili fanno uso della tecnologia dei segnali radio o della tecnologia a raggi infrarossi per trasmettere i dati e differiscono per uso, distanza di comunicazione e configurazione. La tecnologia più diffusa è quella dello ‛spettro sparso' (spread spectrum): sviluppata originariamente nel 1950 su richiesta del governo americano, ha fornito comunicazioni sicure e affidabili sui campi di battaglia grazie a un ‛codice di spargimento' (spreading code), incluso all'interno del flusso di dati, che non consente a chi non ne sia in possesso di trarre informazioni dalla rete. Utilizzando un diverso chip di codifica per ogni rete è possibile avere più sistemi all'interno della stessa area o regione.
La maggior parte dei prodotti senza fili oggi disponibili offre prestazioni inferiori ai corrispondenti prodotti tradizionali su cavo. Gli analisti industriali e coloro che sviluppano tali prodotti prevedono una sempre maggiore richiesta di PC portatili dotati di un collegamento senza fili di ampia funzionalità entro la portata di una LAN domestica. Nel prossimo futuro le LAN su cavo e quelle senza fili saranno complementari e queste ultime forniranno soluzioni di nicchia. Per le reti di area locale, la velocità di trasmissione dei dati ottenibile è di 1-2 Mbit/s ed è prevedibile che aumenti fino a 10 Mbit/s, restando di un ordine di grandezza inferiore a quella delle reti su cavo. La velocità di trasmissione dati per reti basate sulla tecnologia a infrarossi va da 19,2 kbit/s a 1 Mbit/s.
e) Reti di area metropolitana (MAN)
Le tecnologie di rete di area metropolitana (MAN) estendono le caratteristiche delle LAN, forniscono cioè un ambiente favorevole per l'elaborazione distribuita (con grande larghezza di banda, bassa latenza, grandi carichi di informazioni), superando i vincoli imposti dalle attuali tecnologie di rete locale. È probabile che i servizi della MAN si diffondano su vaste aree e perciò giungano a comprendere un territorio più esteso di quello indicato dal termine ‛metropolitano'. Un'altra caratteristica associata alla MAN è la capacità di integrare servizi - in particolare, dati video e voce in tempo reale - sulle stesse infrastrutture di trasmissione. Le MAN sono reti a pacchetto, la cui natura (come quella di una LAN) è determinata principalmente da tre fattori: mezzo di trasmissione, topologia e protocollo di accesso al mezzo di trasmissione.
Il doppio bus a coda distribuita (DQDB, Distributed Queue Dual Bus, IEEE 802.6) definisce un servizio di trasporto dati che utilizza slots di lunghezza fissa di 53 byte per fornire servizi integrati, dati, video e voce, sopra una MAN. L'architettura sottostante è quella di un bus doppio (normalmente in fibra ottica) con uno schema di accesso multiplo a coda distribuita per sostenere il trasferimento dati sia senza connessione, sia orientato alla connessione, come pure un servizio isocrono. Il meccanismo di accesso multiplo è basato su uno schema di accesso a pacchetti in cui lungo ogni bus è trasmesso un flusso continuo di pacchetti, ognuno di 53 ottetti. Il DQDB è definito indipendentemente dal supporto fisico e si interfaccia con varie reti fisiche, in particolare quelle per lo SDH/SOnet e per la rete ad alta velocità G.703. Uno dei suoi principali limiti è rappresentato dalla non imparzialità, nel senso che alcuni nodi della rete hanno un accesso preferenziale. Inoltre, nelle situazioni di carico elevato, il tempo necessario per ottenere il diritto di inviare una cella dipende dalla lunghezza del bus.
Il servizio dati multimegabit commutato (SMDS, Switched Multimegabit Data Service) è stato creato in funzione di un servizio di datagrammi senza connessione destinato principalmente all'interconnessione di reti locali. L'SMDS è offerto dalle società telefoniche e dai fornitori di interscambio come un servizio alternativo alle reti private su linee dedicate.
f) Reti di area ampia (WAN)
Una rete di area ampia o geografica (WAN, Wide Area Network) è caratterizzata dal fatto che può accettare senza difficoltà migliaia, e in alcuni casi milioni, di utenti e può coprire migliaia di chilometri. È importante che le WAN forniscano tanto un sistema di indirizzamento appropriato, quanto un algoritmo affidabile ed efficiente per l'instradamento delle informazioni. La velocità del trasferimento dati non deve essere necessariamente molto alta. La rete di area ampia è così denominata poiché collega più siti sparsi in varie città, in un paese intero o in tutto il globo. Una WAN non solo collega insieme le varie parti dell'organizzazione, ma gestisce anche le loro mutevoli necessità di comunicazione.
La tecnologia più frequentemente utilizzata nelle WAN è una commutazione di pacchetto e l'infrastruttura di rete può essere privata (formata da un insieme di linee dedicate) o fornita da servizi di rete pubblici. La WAN dovrebbe provvedere alla connettività di LAN con una minima diminuzione delle prestazioni e in modo trasparente agli utenti finali. Per i servizi dati a commutazione di pacchetto, si ottengono oggi nelle WAN velocità di trasferimento standard da 64 kbit/s fino a 2 Mbit/s e oltre.
Reti di ricerca. - L'ARPA ha iniziato lo sviluppo di una rete a commutazione di pacchetto nel 1969 e gran parte delle nostre conoscenze attuali sulle connessioni in rete sono un risultato diretto di tale progetto. ARPAnet, la prima rete a commutazione di pacchetto distribuita, era una rete sperimentale progettata a supporto della ricerca militare, indirizzata in particolare alla costruzione di reti in grado di sopportare interruzioni parziali continuando a funzionare. Nel dicembre 1969 ARPAnet aveva 12 hosts collegati, e già nel 1972 telnet (login remoto), ftp (trasferimento files) e posta elettronica erano le principali applicazioni degli utenti di ARPAnet. Oltre agli obiettivi originari di ricerca sulle reti e di condivisione di risorse, i ricercatori di ARPAnet iniziarono quasi immediatamente a utilizzare la rete per collaborare attraverso la posta elettronica e altri servizi. Alla fine ARPAnet è cresciuta fino a divenire una dorsale (backbone) di rilevanza nazionale che, includendo NSFnet e altre reti interconnesse attraverso TCP/IP, ha portato alla attuale Internet.
La rete Internet venne costituita nel 1983, allorché ARPAnet fu suddivisa in due reti, ARPAnet e MILnet, e il DCA (Defense Communication Agency) rese obbligatorio l'uso di TCP/IP per tutti gli hosts collegati a una delle due. Internet è un'infrastruttura di rete che serve ricerca, ingegneria, istruzione e servizi commerciali; è finanziata da molte agenzie federali come l'NSF (National Science Foundation) e la DARPA (Defense Advanced Research Projects Agency).
Il centro di Internet è un insieme di dorsali di base; l'esempio più rilevante è la dorsale NSFnet, un insieme di collegamenti T1 e T3 connessi da routers ad alta velocità. Altre dorsali che fanno parte di Internet sono, per esempio, l'ESnet (Energy Sciences network), e l'NSI (NASA Science Internet). Oltre alle numerose dorsali nazionali, vi sono anche dorsali regionali, come EUnet ed Europanet in Europa, nonché dorsali commerciali come PSInet, ANSnet e Alternet. Su Internet i singoli calcolatori non vengono collegati direttamente alla dorsale: sulla dorsale di base sono posti dei routers ad alta velocità che si collegano a routers sulle reti regionali, le quali formano il secondo livello di Internet. Collegate alle reti regionali vi sono le reti di reti (internetworks) di terzo livello, gestite da laboratori di ricerca, università, imprese e da una grande varietà di altri gruppi. Questi tre livelli - dorsali, reti regionali e reti locali - sono il tessuto di commutazione di Internet. Essi condividono gli stessi protocolli, che attualmente sono quelli TCP/IP. Internet dispone di un gran numero di servizi utili e ha un'ampia connettività a basso costo, cosicché i servizi sono disponibili su larga scala. Si stima che nel luglio 1995 vi fossero su Internet 6.642.000 calcolatori.
Reti via satellite e reti VSAT. - I satelliti per telecomunicazioni hanno alcune proprietà che li rendono molto interessanti per determinate applicazioni. I sistemi di comunicazione via satellite offrono una larghezza di banda quasi illimitata, un tasso di errori estremamente basso e sono insensibili alla distanza. Una rete satellitare privata può gestire migliaia di conversazioni telefoniche simultanee e trasmettere a velocità dell'ordine dei Mbit/s. I segnali possono essere trasmessi sui canali del satellite in forma sia analogica sia digitale, di modo che la trasmissione via satellite può essere utilizzata per qualsiasi tipo di comunicazione. Per la sua capacità di inviare grandi volumi di informazione su lunghe distanze, la trasmissione via satellite è ampiamente utilizzata in molte aree del mondo; vari paesi hanno accesso all'informazione su scala globale tramite sofisticate reti di satelliti (v. anche telecomunicazioni, satelliti per, vol. VIII).
I pregi della trasmissione consistono nel fatto che il suo costo non varia con la distanza e nella possibilità di servire contemporaneamente più siti su un unico canale condiviso. Il sistema di smistamento delle comunicazioni di un satellite ha due componenti principali: i transponders e le antenne. I transponders ricevono, amplificano, convertono e ritrasmettono i segnali raccolti dalle antenne dirigendoli verso punti specifici a terra. I satelliti attualmente operativi hanno da 12 a 30 transponders, ognuno dei quali opera con una particolare frequenza di trasmissione e di ricezione. Poiché i satelliti per comunicazioni devono convertire la frequenza dei segnali ricevuti prima di ritrasmetterli verso terra, lo spettro delle frequenze operative è espresso da coppie di frequenze, chiamate ‛bande': quella più bassa è utilizzata per il downlink (il cammino che il segnale percorre dal satellite verso terra) e quella più alta è utilizzata per l'uplink (il percorso da terra verso il satellite). L'antenna di ogni stazione ha dimensioni che dipendono dall'intensità del segnale da ricevere e dalla precisione con cui si deve localizzare un particolare satellite in orbita: più debole è il segnale, più grande deve essere l'antenna.
Recenti innovazioni nella tecnologia delle trasmissioni via satellite hanno modificato significativamente la struttura dei servizi di telecomunicazione disponibili e hanno ridotto i costi annuali per il mantenimento in orbita dei transponders; anche la più lunga vita operativa dei nuovi satelliti produrrà come effetto una nuova riduzione. Benefici ulteriori si avranno dai futuri sviluppi della microelettronica.
La tendenza a utilizzare antenne sempre più piccole ha di recente condotto alla comparsa sul mercato di una nuova classe di stazioni di terra chiamate terminali con apertura molto piccola (VSAT, Very Small Aperture Terminals). Un VSAT è una piccola stazione di terra collocata direttamente presso l'utente. È progettato per configurazioni di rete private in cui più stazioni di lavoro remote devono comunicare con un'installazione centrale. I VSAT, generalmente tra 0,6 e 1,8 m di diametro, si sono dimostrati particolarmente adatti per soddisfare un traffico con andamento irregolare o con picchi particolarmente intensi. Con una rete VSAT sono divenute possibili (dopo la deregolamentazione e la liberalizzazione) le reti commerciali interurbane private, che hanno fatto nascere la speranza di riuscire a fornire una connettività personalizzata, un'alta capacità, un completo controllo di rete e la flessibilità necessaria a modificare i collegamenti di servizio in caso di espansione o contrazione delle attività commerciali.
Reti di comunicazione mobili e personali. - Il rapido sviluppo tecnologico delle comunicazioni cellulari, delle LAN senza fili e dei servizi via satellite promette che in un futuro molto prossimo gli utenti mobili avranno accesso alle informazioni dovunque si trovino e in qualsiasi momento. Decine di milioni di utenti avranno con sé un computer portatile, spesso chiamato ‛segretario digitale personale' (PDA, Personal Digital Assistant) o comunicatore personale. Indipendentemente dalla loro dimensione, tutti i calcolatori portatili saranno equipaggiati con un collegamento senza fili a reti di informazioni, consentendo una mobilità quasi illimitata. La mobilità e la portabilità richiederanno lo sviluppo di un'intera nuova classe di applicazioni e probabilmente nuovi vasti mercati che combinino l'elaborazione personale e l'elettronica di consumo. Applicazioni compatibili con la posta elettronica costituiranno il nucleo dell'elaborazione mobile, per la cui realizzazione sarà necessaria una pressoché totale connettività di rete senza fili, un'adeguata larghezza di banda per trasmissioni senza fili e piccole piattaforme di elaborazione portatili con funzionalità adeguate.
L'infrastruttura di rete necessaria, la cosiddetta rete di comunicazione personale (PCN, Personal Computer Network) non esiste ancora e la sua configurazione è ancora assai discussa. Una possibile PCN potrebbe essere composta da una rete di informazioni fissa, estesa con elementi senza fili che includono terminali senza fili, stazioni di base e commutatori. L'intera area geografica verrebbe suddivisa in celle, ognuna servita da una stazione di base connessa alla rete fissa; la stazione dovrebbe fornire un collegamento senza fili tra gli utenti mobili e il resto della rete. La dimensione media di una cella ha attualmente un diametro di 1,5-3 km, ma si prevede che possa ridursi significativamente. La necessità di celle di dimensione ridotta deriva dagli schemi di riutilizzazione delle frequenze che mirano a un uso più efficiente del limitato spettro di frequenze radiofoniche disponibile per un numero sempre crescente di utenti. Ogni utente sarà registrato permanentemente sotto uno dei servers speciali, spesso chiamati home location servers, e quindi il numero dell'utente identificherà univocamente il server corrispondente. Lo scopo della PCN è fornire ovunque una copertura di comunicazione. La gestione dei dati nell'ambiente estremamente distribuito dell'elaborazione mobile pone nuove sfide.
g) Reti ad alta velocità
La necessità di soddisfare richieste sempre maggiori - nate sullo stimolo fornito dalle applicazioni che mirano a ottenere comunicazioni migliori e più veloci, sia in area locale, sia in area ampia - ha portato all'installazione di reti ad alta velocità. La domanda di maggiore larghezza di banda e di tempi di latenza più bassi è incessante. Nel settore delle reti locali, la necessità di reti ad alta velocità è determinata dalla disponibilità di microprocessori sempre più veloci, ma anche dai complessi problemi della ricerca - che richiedono supercomputers interconnessi (metacomputers) - e dai nuovi sistemi per l'elaborazione massicciamente parallela (MPP, Massive Parallel Processing Systems). Una delle tecnologie più promettenti per realizzare reti ad alta velocità e bassa latenza, sia per le LAN sia per le WAN, è il ‛modo di trasferimento asincrono' (ATM, Asynchronous Transfer Mode).
Reti ATM. - L'ATM è una tecnologia per la trasmissione dati e per la commutazione che appartiene alla famiglia dei sistemi a commutazione di cella. A differenza dei sistemi a commutazione di pacchetto come l'X.25, in cui pacchetti di dati di lunghezza variabile sono trasmessi in multiplex sopra un'interfaccia di linea, nel caso dell'ATM la lunghezza del pacchetto dati è fissa. Come standard, l'ATM è altamente versatile e universalmente riconosciuto. Può essere utilizzato in ogni tipo di collegamento in rete, dalle reti locali al calcolatore da tavolo, per le dorsali di base, per collegare routers, nelle reti WAN private e pubbliche. Ciò significa che esso offre prospettive di interconnessione fra reti e sistemi diversi e di fusione in un'infrastruttura comune dei servizi che attualmente si servono di reti dedicate separate. L'ATM è una tecnologia di commutazione e di multiplexing progettata in vista della flessibilità, più che dell'efficienza: per ogni singola applicazione è possibile trovare una migliore tecnica di comunicazione dati, ma essa è superiore a tutte quando applicazioni con prestazioni, qualità e costi diversi devono essere eseguite su uno stesso calcolatore, uno stesso multiplexer, uno stesso router, uno stesso commutatore o una stessa rete.
Gli standard dell'ATM definiscono una dimensione di cella fissa con una lunghezza di 53 byte, costituiti da un'intestazione di 5 byte e un carico utile di 48 byte. La lunghezza fissa di 53 byte per una cella è il risultato di un compromesso fra le esigenze del trasferimento di segnali vocali analogici e quelle della trasmissione digitale. L'intestazione della cella identifica la destinazione, il tipo e la priorità della cella. Le celle sono dislocate su un percorso di trasmissione fisico, come quello definito dal PDH o da SOnet/SDH. Due dispositivi o commutatori ATM comunicano attraverso un flusso costante di celle. Un commutatore ATM accetta le informazioni provenienti da una varietà di utenti. Dato che le celle sono piccole, il commutatore fornisce un multiplexing statistico per differenti fonti di dati su un singolo collegamento fisico. Prima che le celle possano essere avviate sul collegamento, tuttavia, deve essere possibile sapere dove sono destinate. Nella fase di configurazione il commutatore ATM assegna a ogni utente un identificatore di circuito virtuale (VCI, Virtual Circuit Identifier). Un utente ha la potenzialità di generare molteplici circuiti virtuali a seconda delle necessità; tali circuiti utilizzano tutti lo stesso collegamento dall'utente fino ad almeno il primo commutatore ATM. Tutto il traffico su ciascun collegamento viene identificato da un Virtual Path Identifier (VPI) che contiene molti circuiti diversi. Grazie al VCI e al VPI il commutatore riesce a sapere dove deve andare una cella.
Le unità di commutazione ATM (i commutatori di VC e le connessioni incrociate) sono l'elemento centrale in qualsiasi rete di questo tipo, il cui modello principale è la B-ISDN. Il fatto che tutte le celle di ATM siano della stessa dimensione è sfruttato da un'architettura massicciamente parallela che rende possibili velocità di trasmissione dell'ordine dei gigabit e dei terabit, come nel caso della B-ISDN. Le velocità di commutazione nei commutatori e nelle connessioni incrociate dell'ATM sono molto superiori alla velocità di trasferimento dati da parte delle stazioni, e di conseguenza tutti i canali utente collegati possono essere analizzati completamente.
L'ATM è fondamentalmente una tecnologia orientata alla connessione, nel senso che due stazioni debbono essere collegate prima che i dati possano essere trasmessi. In una rete senza connessione come una LAN, invece, un nodo invia quanti dati vuole e quando vuole e perciò non vi sono vere garanzie sul servizio; in presenza di un flusso di dati di densità costante, come nel caso di video full-motion, una rete a commutazione di pacchetto può introdurre una forte diafonia, consegnando alcuni pacchetti velocemente e altri lentamente, e inoltre deve far fronte anche a vari generi di traffico.
Nell'area locale l'ATM può essere impiegato per gruppi di lavoro ATM, cioè per elaborazioni client-server con stazioni di lavoro e servers di fascia alta, per applicazioni multimediali sofisticate e per il collegamento, tramite la dorsale ATM, di reti locali convenzionali di vecchia concezione, di hubs già esistenti, di bridges e routers a livello di ateneo, e per stabilire una connettività (senza limiti) con reti ATM di area ampia. Dato che una rete locale ATM è basata su una rete di commutatori e di collegamenti dedicati con ogni host, la larghezza di banda globale deve aumentare via via che si aggiungono nuovi hosts così che i trasferimenti dati per un numero di hosts qualsiasi possano avvenire in parallelo; le reti locali basate su un supporto condiviso, come Ethernet e FDDI, possono invece essere saturate da un piccolo numero di hosts. Le infrastrutture FDDI esistenti possono essere trasformate in reti LAN basate su ATM utilizzando il chipset TAXI (Transparent Asynchronous Transmitter/Receiver Interface). La maggior parte delle applicazioni di rete su stazioni di lavoro utilizzano l'insieme TCP/IP, quindi il supporto di questi protocolli è un componente essenziale di una rete locale ATM. Affinché le reti di reti attuali possano funzionare in ATM, è necessaria o la modifica delle funzioni host ‛tipiche', o l'emulazione dei servizi di LAN ‛attesi'. Le LAN ‛emulate' celano molte delle funzionalità dell'ATM ai protocolli di livello più alto, per cui è opportuno che il meccanismo per l'esecuzione di IP (e di altri protocolli di livello 3) sia specificato direttamente sull'ATM.
Per ciò che riguarda le reti di area ampia, la tecnologia ATM è largamente utilizzata dalle compagnie telefoniche per trasmettere simultaneamente sia voce sia dati, garantendo prestazioni che, in confronto a quelle delle tecniche convenzionali, risultano di alta qualità e di basso costo. Un ostacolo alla sua diffusione, specialmente in Europa, risiede però nei costi elevati delle connessioni a velocità elevata.
Banchi di prova per il gigabit. - Per provare l'ATM e altre tecnologie ad alta velocità sono attualmente in fase di sviluppo molti sistemi sperimentali di rete con velocità dell'ordine dei gigabit. Si tratta di sistemi di nuova concezione - in cui sono state concretizzate nuove idee, e attraverso i quali si possono valutare hardware e architetture ancora allo stadio di prototipo - che saranno senza dubbio alla base delle future reti di reti, così come ARPAnet ha rappresentato la base iniziale di ricerca per gran parte dell'attuale Internet. Gli Stati Uniti hanno avviato lo sviluppo di sistemi sperimentali per tali reti nel 1990 con la NREN (National Research and Education Network). Esistono negli Stati Uniti sei sistemi di questo tipo finanziati dall'ARPA e dalla NSF: Aurora, Blanca, Casa, Magic, Nectar e Vistanet; quasi tutti utilizzano l'ATM e sono diventati operativi nel 1993 e 1994. Le caratteristiche da esaminare comprendono i protocolli, le interfacce, la commutazione, la distribuzione locale e gli ambienti applicativi.
Il governo americano ha avviato nel 1994 un'iniziativa che si propone di stabilire un'infrastruttura nazionale per l'informazione, allo scopo di diffondere strumenti multimediali, calcolo interattivo e comunicazioni a elevate prestazioni nella scuola e nella società. L'Unione Europea ha intrapreso un'iniziativa analoga (Rapporto Bangemann) e nel 1987 i progetti RACE (Research for Advanced Communications in Europe) promossi dalla Commissione Europea hanno iniziato a dimostrare la fattibilità di reti ATM a banda larga.
WDM (Wavelength Division Multiplexing) e reti fotoniche. - Il desiderio di ottenere una larghezza di banda di trasmissione maggiore di quella possibile tramite cavo ha portato a prendere in considerazione le comunicazioni ottiche. Due innovazioni - il laser e la fibra di vetro - hanno indotto a considerare seriamente la luce come mezzo di comunicazione: il laser fornisce una sorgente ottica coerente che può essere accesa e spenta a una velocità sufficientemente alta da poter fare uso dell'ampia larghezza di banda disponibile nello spettro ottico; la fibra fornisce il supporto necessario per trasportare il segnale luminoso su grandi distanze con piccola attenuazione. La combinazione delle tecnologie del laser e delle fibre monomodali ha permesso la trasmissione di dati con un prodotto velocità per distanza molto superiore a quello consentito da un mezzo convenzionale: per esempio, utilizzando fibre monomodali e laser monocromatici si sono raggiunte velocità di trasmissione dati pari a 4 Gbit/s su una distanza di 100 km senza ripetitori, e con i cosiddetti laser accordabili e il multiplexing a divisione di lunghezza d'onda (WDM) si possono ottenere sulla stessa fibra velocità di trasmissione dati ancora più alte.
Il WDM è il risultato ottenuto combinando (multiplexing) i segnali ottici, facendoli quindi propagare simultaneamente all'interno della fibra e poi separandoli (demultiplexing) nuovamente prima della successiva rivelazione. Con il multiplexing ogni canale WDM ha accesso all'intera larghezza di banda della fibra - che può essere dell'ordine del GHz per una fibra monomodale - ed è in genere distanziato dagli altri canali di 1 nm in lunghezza d'onda (di 120 GHz in frequenza) nella banda passante di 1,5 µm della fibra. Le reti ottiche ad alta velocità, che hanno velocità di trasporto dell'ordine dei gigabit (in genere da 1 a 100 Gbit/s) sono denominate ‛reti fotoniche'. Il WDM, che è analogico e asincrono, potrebbe rappresentare il prossimo grande balzo in avanti della tecnologia.
4. Architettura di una rete d'informazioni
L'architettura di rete determina l'insieme di componenti che contribuiscono a fornire le funzionalità richieste dalla comunicazione tramite calcolatore. Viene definita la nozione di ‛protocollo' e si discutono le principali caratteristiche che questi debbono possedere. Le comunicazioni fra sistemi e reti sono possibili solo se tutti rispettano un insieme comune di regole; in altre parole, occorre uno standard a cui attenersi, e precisamente protocolli e interfacce standard che forniscano il meccanismo comune per la comunicazione tra sistemi nonché un approccio standard per la progettazione della rete (l'architettura di rete) che definisca le relazioni e le interazioni fra i servizi e le funzioni di rete mediante interfacce e protocolli comuni.
Un'architettura è un modello dell'organizzazione e del comportamento di reti consistenti in applicazioni e in sistemi di calcolatori interconnessi e comunicanti. Essendo un'astrazione, essa è uno strumento utile per descrivere concetti e relazioni in modo chiaro e conciso, tralasciando ogni riferimento alle caratteristiche di particolari sistemi o di applicazioni specifiche. Tale descrizione è tanto più utile quanto più chiaramente riesce a esprimere concetti e relazioni importanti e a suggerirne di nuovi; essa deve inoltre avere una rilevanza pratica, cioè deve riuscire di utilità anche nello sviluppo di sistemi e reti reali. Entro il modello globale creato tramite l'architettura le relazioni fra le singole componenti possono essere studiate e analizzate a un livello comune d'astrazione; quindi viene fornita un'utile base per descrivere in modo formale le loro caratteristiche, producendo una ‛specifica funzionale globale' per l'ambiente distribuito che, come ogni specifica funzionale, costituisce un punto di riferimento comune per i progetti e per le conseguenti realizzazioni. Il termine ‛architettura' suggerisce un'analogia fra un modello di riferimento e gli elementi della più familiare architettura di edifici: in questo caso è chiamato architettura l'insieme di strati, o livelli, e di protocolli. Un'architettura di rete stabilisce infatti una gerarchia di strati indipendenti che contengono moduli per l'esecuzione di determinate funzioni; essa specifica la funzione dei moduli e le loro relazioni. Ciò si traduce in un insieme comune di regole che definiscono in che modo i nodi della rete debbono interagire al fine di comunicare e scambiare informazioni.
L'architettura definisce due generi di relazioni tra moduli funzionali: le interfacce e i protocolli. Le interfacce stabiliscono relazioni tra i vari moduli di solito operativi all'interno di un nodo di rete: generalmente un modulo in un livello s'interfaccerà con un modulo nel livello sottostante per riceverne un ‛servizio'. I protocolli definiscono invece le relazioni tra moduli equivalenti, di solito operativi in nodi diversi: essi definiscono, cioè, il formato dei messaggi e le regole per lo scambio.
Uno dei principî fondamentali dell'architettura di rete è la distinzione fra modelli di comunicazione dati con connessione e senza connessione: i primi si basano sulla creazione e il mantenimento dell'‛informazione di stato', che è comune alle parti comunicanti e al sottostante fornitore del servizio, e che definisce il contesto entro il quale le parti interagiscono con il fornitore (provider) del servizio e comunicano fra loro; i secondi si basano invece su singole e autonome unità di comunicazione, spesso chiamate ‛datagrammi', che vengono scambiate a prescindere da uno stato condiviso (ossia, anche se non c'è alcuna ‛connessione' fra le parti che comunicano).
a) Protocolli
Un'architettura stratificata è in genere descritta mediante un modello di riferimento che stabilisce i principî fondamentali dell'architettura (i punti di riferimento) e fornisce un quadro (un modello) entro il quale possono essere definiti i diversi servizi e protocolli e le loro relazioni; così, per l'OSI, abbiamo il modello di riferimento OSI; per il TCP/IP, il modello d'architettura di Internet. I sistemi ‛aperti' sono tali in virtù della loro conformità a uno o più standard di sistemi aperti, ognuno dei quali appartiene a una particolare architettura (per esempio, a OSI o a TCP/IP).
La nozione di protocollo stratificato - in gran parte dovuta al modello OSI - ha reso possibile la riuscita dell'intera industria dell'instradamento multiprotocollo. Senza un protocollo i vari gruppi di utenti non sarebbero in grado di comunicare; ogni utente deve peraltro essere in grado di capire il protocollo usato dagli utenti coi quali vuole comunicare e pertanto è necessario che esso venga definito mediante un'architettura come l'OSIRM (Open Systems Interconnection Reference Model), per citare la più nota, articolata in sette strati. Un protocollo consiste in una serie di caratteri in combinazioni di bit aggiunti a ogni blocco di dati trasmesso. Attraverso l'hardware o il software, il dispositivo trasmittente formatta automaticamente i dati e aggiunge i bit richiesti prima di trasmettere ogni blocco; il dispositivo ricevente controlla automaticamente ognuno dei bit aggiunti prima di segnalare che i dati sono stati ricevuti. I protocolli per la comunicazione dati sono orientati al bit (bit oriented) o al byte (byte oriented): questi ultimi trasmettono dati in blocchi di 8 bit e richiedono un avviso di ricezione dopo ogni blocco e prima che sia inviato il blocco successivo; invece i primi trasmettono dati in blocchi di qualunque lunghezza fino a un massimo specificato (normalmente da 80 a 512 caratteri) e, a seconda del protocollo, l'avviso di ricezione può partire dopo che uno o più blocchi sono stati inviati.
La complessità di un protocollo è correlata alla complessità dell'ambiente di comunicazione; in una rete elementare, molte delle procedure di controllo illustrate in precedenza non sono necessarie: ad esempio, in un semplice scambio tra un host e un terminale non sempre occorre identificare e verificare il collegamento, mentre in una rete multipunto che collega molti terminali a un host, le procedure di verifica e di identificazione sono essenziali.
Alcuni dei protocolli più comunemente utilizzati per le comunicazioni dati sono l'SDLC (Synchronous Data Link Control), il BSC (Bisynchronous DLC), l'HDLC (High-level DLC; v. anche cap. 2, § d) dell'IBM e il DDCMP (Digital Data Communications Message Protocol) della DEC (Digital Equipment Corporation). Poiché non esiste alcuno standard di protocollo comune a tutta la produzione industriale, terminali che eseguono le stesse funzioni sotto vari protocolli non possono essere utilizzati sullo stesso sistema; possono però intervenire dispositivi, detti convertitori/emulatori di protocollo, in grado di gestire tali incompatibilità, permettendo a terminali di produttori diversi di operare sulla stessa rete.
b) Il modello di riferimento ISO OSI
L'International Standard Organization ha riconosciuto l'importanza e la necessità di standard universali nello scambio di informazioni sia all'interno di una stessa rete, sia fra reti diverse, operanti a livello internazionale; pertanto, nel 1987 ha raccomandato di conformare i criteri su cui si basano la progettazione delle reti di comunicazione e il controllo dell'elaborazione distribuita. Tale raccomandazione, accolta con ampio consenso, si configura come un modello a sette livelli per l'architettura di rete, noto come modello ISO OSI (ISO model of Open System Interconnection). L'approccio stratificato all'architettura di rete deriva dai criteri di progettazione dei sistemi operativi. A causa della loro complessità, i sistemi operativi dei computers sono infatti sempre sviluppati in sezioni, ognuna delle quali provvede a una particolare funzione; infine, le varie sezioni sono integrate per fornire l'insieme delle funzionalità e dei servizi richiesti in un sistema operativo che funzioni senza intralci. Nella progettazione dei sistemi di rete si segue lo stesso procedimento.
Per comunicare i dispositivi devono essere compatibili ai vari livelli, e il modello di riferimento ISO OSI per la comunicazione dati delinea una gerarchia definendo le caratteristiche elettriche, gli standard di comunicazione e le applicazioni software per i sistemi di computers: esso non descrive un sistema in particolare e non equivale a una specifica valida per ogni sistema, ma rappresenta solo un punto di riferimento per la creazione di un sistema di comunicazione dati. Altri modelli, come l'SNA dell'IBM (v. sotto, § d), gestiscono le comunicazioni in modo diverso, ma tutti seguono un analogo insieme di principî.
I livelli. - Ogni livello del modello OSI definisce un particolare aspetto del processo della comunicazione dati, che riguarda non solo il trasferimento di dati da una macchina a un'altra, ma anche l'integrità delle informazioni trasmesse. Se i dati ricevuti sono incompleti e inintelligibili, diventano inutili e devono essere ritrasmessi. Il dispositivo che riceve i dati deve essere in grado di far sapere al dispositivo che trasmette se una trasmissione è stata completata con successo. Questi aspetti dello scambio di dati, insieme con altri, sono definiti nel modello OSI che è strutturato come compatibile verso l'alto: cioè, se c'è compatibilità a uno dei livelli, si può assumere che vi sia compatibilità anche nei livelli sottostanti. Definiamo brevemente i diversi livelli.
Livello 1: strato fisico, che fornisce le specifiche meccaniche ed elettriche e le procedure per creare, gestire e terminare le connessioni fisiche; esso definisce l'interfaccia, la codifica, la velocità e le funzioni di sincronizzazione.
Livello 2: strato del collegamento dati, che assicura che i dati passino senza errori da un calcolatore a un altro, un processo che richiede protocolli che specifichino il formato per la trasmissione dati.
Livello 3: strato di rete, che permette lo scambio di dati fra due sistemi di comunicazione; esso definisce l'indirizzamento di un pacchetto dati e l'instradamento dei dati verso la loro destinazione (i dati sono spediti attraverso le reti di dati pubbliche o private in pacchetti, che fungono da buste contenenti l'informazione).
Livello 4: strato di trasporto, che gestisce il controllo dell'errore e il controllo del flusso di dati complessivo fra i due sistemi che comunicano, provvedendo a che lo scambio di comunicazioni avvenga in modo ordinato e affidabile.
Livello 5: strato di sessione, che fornisce la struttura per uno scambio di dati gestendo i collegamenti fra i processi applicativi, creando e terminando le connessioni e inviando messaggi e dialoghi dei calcolatori fra le due macchine in comunicazione (end-to-end).
Livello 6: strato di presentazione, che definisce il modo in cui i dati sono riuniti e stabilisce una disposizione sistematica affinché uno scambio di comunicazioni possa avvenire; tale livello comprime, decomprime e struttura i dati per il trasferimento di files o per la traduzione dei comandi.
Livello 7: strato applicativo, che serve i processi utente e applicativi e fornisce i servizi di comunicazioni disponibili per specifiche applicazioni di calcolatori; lo X.400 e l'FTAM sono tipici protocolli OSI per lo strato applicativo.
L'OSIRM è stato progettato per definire le funzioni e i protocolli necessari perché qualsiasi sistema di computer possa collegarsi a un qualsiasi altro sistema, indipendentemente dal produttore. Ognuno dei sette strati elencati rappresenta uno o più protocolli che definiscono l'operazione funzionale di comunicazione fra l'utente e gli elementi della rete. Il criterio della progettazione per strati è stato ampiamente adottato da tutti coloro che si occupano di standard per i calcolatori e per le comunicazioni.
Interfacce. - Il termine ‛interfaccia' è usato in due modi diversi dalle organizzazioni che si occupano di standard: nella prima accezione, e soprattutto nell'impostazione della CCITT/ITU (Consultative Commettee on International Telegraphy and Telephony/International Telecommunications Union), le interfacce consentono il collegamento fisico fra vari tipi di hardware, mentre i protocolli forniscono le regole, le convenzioni e le modalità per trasferire dati fra strati di protocollo omologhi attraverso tali interfacce. L'impostazione consueta è che i bit fluiscono su interfacce fisiche. Nella seconda accezione, principalmente in base all'impostazione OSI, le interfacce stanno tra i diversi livelli di protocollo. Di solito s'intende che le unità di dati di un protocollo (PDU, Protocol Data Unit), o messaggi, passano su interfacce di protocollo. Tali interfacce fra i livelli sono chiamate punti di accesso al servizio (SAP, Service Access Point) essendo i punti dove il livello inferiore fornisce servizi a quello superiore. In altri termini, le interfacce fisiche forniscono il percorso per il flusso di dati tra le macchine, mentre i protocolli gestiscono il flusso di dati attraverso questo percorso utilizzando interfacce di protocollo all'interno delle macchine. Perché le comunicazioni dati siano accurate, le interfacce fisiche e i protocolli devono essere compatibili. Molti progetti di rete ora comprendono più livelli di protocolli e di interfacce, sempre a partire dal livello fisico.
Sistemi X.25. - L'X.25 è il protocollo più ampiamente utilizzato per reti di dati pubbliche commutate, e anche la maggior parte dei produttori di computers fornisce interfacce X.25 per le proprie architetture. Esso è il risultato della raccomandazione CCITT che suggeriva di usare nel caso di reti dati a commutazione di circuito le interfacce X.21 o X.21 bis, rispettivamente digitale e analogica, per il livello fisico. I più comuni sistemi X.25 sono la versione X.25 (80) e la versione X.25 (84) (il numero tra parentesi indica l'anno in cui lo standard è stato concesso); l'X.25 è stato infatti originariamente approvato nel 1976 e successivamente sottoposto a numerose revisioni dal 1980 al 1992. Lo standard specifica un'interfaccia fra un sistema host e una rete dati a commutazione di pacchetto: sono usati molti tipi di pacchetto, tutti dello stesso formato base con qualche variante. I dati utente sono suddivisi in blocchi di una data dimensione massima e a ciascun blocco è aggiunta un'intestazione di 24 o 32 bit in modo da formare un pacchetto dati.
Oltre a trasmettere dati, l'X.25 deve trasmettere informazioni di controllo per l'attivazione, il mantenimento e la terminazione dei circuiti virtuali, ma forse il servizio più importante è il multiplexing: può infatti stabilire fino a 4.095 circuiti virtuali simultanei assieme ad altri apparati terminali dati sopra un unico collegamento fisico tra questi ultimi e gli apparati terminali di circuito. Tale collegamento fornisce un multiplexing full-duplex, per cui un pacchetto associato a un dato circuito virtuale può essere trasmesso nell'una o nell'altra direzione.
c) L'insieme di protocolli TCP/IP
Anche il Dipartimento della Difesa statunitense ha stabilito degli standard per un insieme di protocolli di comunicazione, in modo da consentire l'interoperatività fra sistemi eterogenei. I requisiti così fissati - l'insieme di protocolli TCP/IP (Transmission Control Protocol/Internet Protocol) - hanno avuto un forte impatto sulla progettazione dei protocolli.
Secondo il TCP/IP i compiti connessi con le comunicazioni sono troppo complessi e troppo vari per essere svolti da una singola unità, e di conseguenza tali compiti sono suddivisi fra vari moduli ed entità che possono comunicare con entità di pari livello presenti in altri sistemi. Un'entità può utilizzare direttamente i servizi di un'entità gerarchicamente più bassa, anche se non è in un livello adiacente, a differenza di quanto previsto dal modello OSI. Un'altra differenza fra il TCP/IP e il modello OSI è l'importanza che il primo annette all'internetworking, che ha luogo quando due sistemi non sono collegati alla stessa rete. Proprio la necessità di facilitare l'internetworking ha condotto allo sviluppo di un protocollo Internet che non era stato inizialmente previsto all'interno del modello OSI. L'insieme di protocolli TCP/IP attribuisce pari importanza ai servizi senza connessione e a quelli orientati alla connessione.
Architettura del protocollo. - L'architettura dei protocolli TCP/IP è basata su una concezione della comunicazione che coinvolge tre agenti: i processi, i calcolatori host e le reti. I processi sono le entità fondamentali che comunicano; essi sono in esecuzione sugli hosts nei quali spesso possono avvenire più processi simultanei. La comunicazione tra i processi avviene attraverso la rete che deve solo preoccuparsi di instradare i dati tra gli hosts a essa collegati. Tenendo presenti i concetti sopra ricordati è naturale organizzare i protocolli in cinque livelli, in analogia con il modello OSI. L'importante è l'ordine gerarchico dei protocolli e non il modo in cui questi sono suddivisi in strati.
1) Strato fisico (o hardware): svolge i compiti che gli sono propri.
2) Strato di interfaccia di rete: corrisponde a una combinazione dello strato di collegamento dati OSI e delle funzioni specifiche di rete dello strato di rete OSI; in sostanza, questo strato si basa su standard sia nazionali che internazionali, come l'X.25 per le WAN e l'IEEE 802 per le LAN.
3) Strato di Internet: è formato dalle procedure richieste per permettere ai dati di attraversare più reti nel loro cammino da un host all'altro; deve quindi fornire una funzione di instradamento. Di solito questo protocollo è implementato all'interno di hosts e gateways (processori che collegano due reti la cui funzione principale è quella di smistare i dati tra le reti utilizzando un protocollo di Internet).
4) Strato di trasporto o strato host-to-host: contiene entità di protocollo in grado di consegnare dati tra due processi in esecuzione su due hosts diversi. Si richiedono a questo livello un protocollo affidabile orientato alla connessione e un protocollo a datagrammi: il primo deve consegnare i dati in maniera affidabile e nella sequenza in cui sono inviati, un servizio a cui sarebbero interessate molte applicazioni di elaborazione dati; il secondo è un protocollo con funzionalità minime e basso sovraccarico, che può risultare appropriato per certi tipi di traffico.
5) Strato applicativo: contiene protocolli per la condivisione delle risorse e per l'accesso remoto.
L'architettura descritta unisce nel quinto strato applicativo le funzioni dei livelli cinque, sei e sette (di sessione, di presentazione e di applicazione) del modello OSI. All'interno dei tre strati superiori (tre, quattro e cinque), il Dipartimento della Difesa statunitense ha stabilito i seguenti standard di protocollo: 1) strato di Internet (IP-MIL-STD-1777): fornisce un servizio senza connessione affinché i sistemi finali (end-systems) possano comunicare attraverso una o più reti, e non assume che le reti siano affidabili; 2) strato di trasporto (TCP, Transmission Control Protocol-MIL-STD-1778): è un servizio di trasferimento dati end-to-end affidabile; 3) strato applicativo (l'ftp, File Transfer Protocol-MIL-STD-1780): è un'applicazione semplice per il trasferimento di files ASCII, EBCDIC e binari; l'SMTP (Simple Mail Transfer Protocol-MIL-STD-1781) è un servizio semplice di posta elettronica utilizzato per il trasferimento di messaggi tra hosts; Telnet Protocol (MIL-STD-1782) fornisce accesso a un processore host da un terminale remoto. Le modalità operative e le funzioni di questi protocolli verranno descritte nel cap. 5.
È importante osservare che il TCP/IP, o l'insieme di protocolli di Internet, non si limita ai cinque protocolli standard sopraindicati, e che un gran numero di applicazioni e di altri processi fanno uso di questa architettura. Oltre ai protocolli standard, i protocolli di Internet sono alla base di un numero notevolmente più ampio di protocolli, molti dei quali si sono imposti di fatto come standard internazionali. Due fattori hanno favorito il loro successo: in molti casi essi sono stati i primi a essere formalmente specificati; inoltre non sono di proprietà, cioè sono disponibili gratuitamente, perciò molti produttori di calcolatori li hanno adottati, promuovendone la rapida diffusione in tutto il mondo.
Modalità operative di IP e TCP. - Il protocollo di Internet è un protocollo dello strato di rete (in gergo OSI), strato normalmente responsabile dell'instradamento e della consegna. L'IP fornisce un servizio di consegna di datagrammi senza connessione al livello di trasporto, gestito dal TCP, sul quale si appoggia per provvedere a una consegna affidabile, al controllo degli errori e al controllo del flusso end-to-end. La funzione principale dell'IP sta nei protocolli di instradamento che indicano ai vari dispositivi il modo di determinare la topologia della rete e anche di rilevare cambiamenti di stato nei nodi, nei collegamenti e negli hosts. L'IP instrada i pacchetti attraverso i percorsi disponibili evitando i punti di malfunzionamento. Esso non contiene il criterio di larghezza di banda riservata, e la maggior parte degli algoritmi di instradamento tendono a ridurne il costo. I protocolli di instradamento scambiano informazioni sulla tabella di instradamento e sulla topologia con gli altri routers presenti nella rete. I routers inviano messaggi di errore e di controllo ad altri routers utilizzando il protocollo ICMP (Internet Control Message Protocol). Negli ultimi due decenni, sono stati impiegati in diverse parti di Internet più di una dozzina di protocolli di instradamento.
L'indirizzo di rete su Internet è chiamato comunemente ‛indirizzo IP' ed è formato da 32 bit di cui i più significativi identificano la rete e i rimanenti contengono il numero dell'host. La distribuzione dei bit - quanti formano il numero di rete, e quanti sono quindi disponibili per identificare il sistema host - può avvenire in tre modi diversi, dando origine a tre diverse classi di numeri IP. Il numero di rete identifica una sottorete reale, e il numero di host identifica un'interfaccia fisica verso quella sottorete. Nel sistema di indirizzamento di Internet è insita una gerarchia a due livelli (rete e host), e tutti i bit nell'indirizzo sono usati per l'instradamento. Lo scopo dell'ARP (Address Resolution Protocol) è quello di far corrispondere un indirizzo fisico (per esempio un indirizzo MAC di Ethernet) a un indirizzo IP. Gli indirizzi di Internet sono assegnati e gestiti da un'autorità centrale, la IANA (Internet Assigned Number Authority) al fine di garantire che essi siano unici.
Il TCP, un protocollo di trasporto di quarto livello secondo il modello OSI, lavora al di sopra di IP per ottenere una trasmissione affidabile di dati end-to-end attraverso una rete, ed è operativo solo negli end-systems. Il controllo del flusso del TCP utilizza un protocollo di controllo di flusso a finestra scorrevole, con una finestra di dimensione variabile.
Di solito i prodotti che utilizzano il TCP/IP comprendono un router, una stazione di lavoro con il software TCP/IP e la gestione di rete e coprono gli ambienti Unix, DOS/Windows, VMS, MVS, VM. La maggioranza degli utenti Unix utilizza il TCP/IP per l'internetworking, e molti fornitori di sistemi operativi di rete (NOS, Network Operating Systems) integrano ora il TCP/IP nelle piattaforme NOS proprietarie.
Il TCP/IP è diventato un'alternativa al collegamento in rete offerto dai ‛sistemi aperti', in gran parte per le inadempienze di coloro che sviluppano gli standard OSI, i quali, nel tentativo di esaudire tutte le richieste, hanno spesso consegnato in ritardo i protocolli promessi.
L'IPng. - L'IPng (IP next generation), o Ipv6 - la nuova versione di IP progettata come evoluzione dell'attuale (IP versione 4) -, è progettato per le reti ad alta velocità (ad esempio le ATM), ma è efficiente anche su reti di velocità bassa (per esempio, reti via radio); inoltre, esso fornisce una base sulla quale elaborare nuove funzionalità di Internet che potranno rendersi necessarie nel prossimo futuro, come un nuovo schema di indirizzamento, la capacità di gestire traffico sensibile al ritardo, la configurazione automatica della rete e un livello più elevato di sicurezza.
d) Protocolli proprietari
Molti produttori di computers hanno protocolli propri: l'IBM, per esempio, ha sviluppato la SNA (Systems Network Architecture) che è ampiamente utilizzata negli ambienti commerciali tanto che molti produttori forniscono gateways tra i loro protocolli e la SNA. Inizialmente la SNA era strutturata secondo un approccio gerarchico basato su un host centrale, ma gradualmente si sta evolvendo verso un approccio più flessibile e più confacente a veri sistemi distribuiti. Essa è formata da sette livelli, analogamente al modello OSI.
Un'altra architettura ben nota e largamente diffusa è la DNA (Digital Network Architecture) che rappresenta la struttura di specifiche entro cui la Digital progetta i suoi prodotti di comunicazione. DECnet è una famiglia di prodotti di comunicazione, software e hardware, che permettono ai sistemi operativi Digital di partecipare a un ambiente di rete. Anche la DNA ha struttura simile a quella del modello OSI.
e) Internetworking
Il termine internetworking si riferisce a un collegamento fra varie reti che permette alle reti partecipanti di mantenere il proprio stato di reti distinte, ossia esse non vengono fuse in una singola rete omogenea. Si è ormai riconosciuto che l'omogeneità è un obiettivo impossibile e che non è neppure necessaria, se si dispone degli appropriati dispositivi per l'internetworking. Con la proliferazione delle reti, le funzioni di internetworking sono diventate componenti essenziali del progetto di una rete.
La nozione di internetworking ormai viene espressa mediante i termini interoperability e interworking: il termine internetworking è applicato normalmente ai problemi di connettività fisica tra reti simili o dissimili (includendo l'uso delle WAN), mentre il termine interworking indica l'interconnessione di applicazioni simili e dei protocolli che ne sono alla base, che in molti casi differiscono significativamente. L'interoperability tra sistemi, cioè la possibilità per gli utenti di trasferire informazioni tra vari sistemi di comunicazione, dipende di solito sia dall'internetworking che dall'interworking, così come dalla compatibilità di hardware e software fra i sistemi hosts.
La rete di comunicazioni di un'organizzazione offre ormai un contributo fondamentale alla capacità dell'organizzazione stessa. La sua importanza è messa in risalto dalla nozione di ‛rete di impresa', una rete che abbraccia tutte le dotazioni, le attività e le relazioni dell'impresa, avendo come caratteristiche fondamentali della sua infrastruttura l'internetworking, l'interworking e l'interoperability. Nell'ambito di questa rete di impresa, all'infrastruttura di comunicazione si richiede di fornire: 1) l'accesso remoto, funzione che consente una sessione di accesso on-line tra il terminale di una rete e un host su un'altra rete; 2) la condivisione di risorse, che consente l'accesso a periferiche costose, come stampanti ad alta velocità, scanners di immagini e dispositivi grafici; 3) l'elaborazione cooperativa, che interviene quando, come parte di una sessione tra una stazione di lavoro e un host, si rende necessaria la comunicazione diretta con un altro host (remoto) per soddisfare le richieste dell'utente; 4) il trasferimento di informazioni, tramite servizi come la posta elettronica e il trasferimento di files, la cui efficienza dipende in genere dall'interconnessione con varie reti; 5) sistemi client/server, che sono forme di elaborazione cooperativa; le applicazioni vedono la rete come un'interfaccia di programmazione relativamente semplice, attraverso la quale distribuiscono funzioni e procedure. In linea di massima, l'internetworking ha a che vedere con la fornitura di uno stesso servizio attraverso varie reti che possono avere o anche non avere criteri di servizio omogenei.
La natura stratificata dell'OSIRM fa sì che le reti possano essere collegate a livelli diversi con quattro tipi principali di dispositivi di rete (relays), comunemente chiamati ripetitori, bridges, routers e gateways, ognuno dei quali provvede a una specifica connettività di rete, funzionalmente diversa.
1) I ripetitori che collegano le reti a livello fisico superando le limitazioni causate dalla lunghezza del cavo sono la forma più semplice di relays. Essi costruiscono una singola rete fisica a cui si può accedere attraverso un unico tipo di meccanismo di accesso. È anche possibile collegare in modo completamente trasparente reti di tipo simile ma che utilizzano supporti diversi.
2) I bridges sono relays utilizzati per creare una rete logica, e possono essere considerati come ripetitori intelligenti che agiscono come un filtro di indirizzi, prelevando da una rete i pacchetti indirizzati a una determinata destinazione su un'altra rete alla quale li invia. Le prestazioni della rete migliorano perché senza un bridge tutti gli utenti sarebbero connessi a un singolo segmento, sovraccaricandolo; invece per mezzo di esso il carico è suddiviso tra due segmenti. Il bridge opera al livello 2 del modello OSI, ed è impiegato per collegare reti locali che possono essere distanti molti chilometri e/o quando il carico di utenti è eccessivo per una singola rete fisica.
3) Il router opera al livello 3 del modello OSI, ed è generalmente utilizzato per il collegamento di reti locali di tipo diverso. L'indipendenza dalla tecnologia delle singole reti si ottiene utilizzando un comune protocollo dello strato di rete, il cui schema di indirizzamento ha il compito di guidare i dati dalla sorgente attraverso il sistema di routers fino alla destinazione corretta. La funzione principale di un router è quella di fornire un ambiente store-and-forward a commutazione di pacchetto altamente affidabile, in modo da rendere possibile la connettività fra sottoreti eterogenee. I routers sono utilizzati anche per dividere il traffico di una LAN su varie sottoreti, creando le cosiddette collapsed backbones. Gli algoritmi di instradamento devono determinare i percorsi appropriati fra le sottoreti e assicurare che questi percorsi forniscano un'adeguata qualità del servizio; devono anche riuscire a rispondere ai cambiamenti delle condizioni topologiche e di carico garantendo la disponibilità di percorsi ottimali.
4) I gateways sono utilizzati se ci sono differenze significative fra le architetture di rete: per esempio, nel caso che si voglia connettere una LAN e un host, quando i PC sulla rete locale richiedono un accesso trasparente e senza limitazioni al file server residente sul sistema host. Essi sono impiegati anche per connettere reti locali che utilizzano protocolli incompatibili e possono essere necessari per collegare una LAN senza connessione a una WAN orientata alla connessione.
Architetture di hub. - Un hub è un elemento di commutazione centralizzato in una rete con topologia a stella, nella quale la commutazione può aver luogo sia con modalità store-and-forward, sia on-the-fly; per questa sua fondamentale caratteristica esso è essenziale per i dispositivi di internetworking. Il vantaggio di un'architettura basata su hubs consiste nel fatto che la rete è più facile da gestire e da mantenere (può anche essere facilmente estesa) e che la distribuzione del traffico attraverso la rete può essere strettamente controllata, consentendo o impedendo il trasferimento di differenti tipi di informazione da o verso differenti parti della rete. Per garantirne l'affidabilità all'interno di tale elemento è stato inserito un dispositivo per la tolleranza agli errori, ottenuto fornendo alimentazioni elettriche ridondanti e migliorando la qualità della sua costruzione. Gli hubs costituiscono gli elementi essenziali di qualsiasi infrastruttura di LAN moderna e le loro prestazioni possono essere migliorate limitando il numero di porte e utilizzando più hubs collegati.
Sistemi operativi di rete. - Originariamente, i sistemi operativi erano progettati per macchine isolate; in seguito, per fronteggiare le crescenti richieste di accesso distribuito, furono aggiunte al sistema operativo host le funzionalità di accesso alla rete, creando così un sistema operativo di rete (NOS). Una serie di recenti indagini di mercato ha rilevato che circa il 50% dei PC è in rete.
La somiglianza dei diversi NOS attualmente in uso - dei quali il primo a essere immesso sul mercato è stato l'XNS della Xerox - tradisce le loro origini e mostra palesemente che, mentre l'interconnettività tra questi sistemi non è un problema di semplice soluzione, essi di fatto forniscono le stesse funzionalità di base.
Amministrazione e sicurezza della rete. - L'amministrazione della rete consiste nella gestione del sistema (user support) e nella manutenzione della rete (network support). Gli utenti si sono resi conto che buoni strumenti di gestione possono far risparmiare una considerevole quantità di tempo e di denaro ed evitare molte frustrazioni si è così affermata la necessità di creare un sistema di gestione reti integrato e di adottare una strategia globale per la gestione della rete affinché l'organizzazione sia efficace.
La sicurezza della rete riguarda invece il flusso di informazioni sia all'interno che all'esterno del sistema locale; nella maggior parte dei casi la sicurezza delle informazioni è violata dall'interno e non dall'esterno, come sembrerebbe più logico, perché il sistema di cablaggio interno è più accessibile. La nozione di sicurezza comprende anche la protezione dai virus che compromettono le funzionalità della rete e rappresentano una grave minaccia per le informazioni memorizzate ed elaborate al suo interno. Un controllo completo della rete interna è possibile, ma non si può esercitare lo stesso grado di controllo sugli elementi esterni, come i collegamenti verso le WAN. In questo caso il livello di protezione è determinato dai servizi offerti dal fornitore esterno, e quindi è saggio fornire ulteriore protezione ‛da sistema utente a sistema utente', ad esempio usando la crittografia all'interno degli stessi dispositivi per l'internetworking.
5. Applicazioni e servizi
Le applicazioni hanno subito un lungo processo di sviluppo, dalle forme più primitive di trasmissione dati (spostando bit da un posto a un altro) fino alle forme più sofisticate di condivisione di informazione oggi in uso.
a) Applicazioni tradizionali
Molte di queste applicazioni sono state sviluppate originariamente nel contesto dell'ARPAnet e sono state sottoposte in seguito a numerosi miglioramenti e integrazioni, mentre nuove applicazioni si sono via via aggiunte. Gli utenti iniziali erano ricercatori, ma quando le varie organizzazioni si sono rese conto che avrebbero potuto servirsi di questo tipo di tecnologia per migliorare i propri affari, il loro impiego si è diffuso anche nel mondo commerciale. Descriveremo ora brevemente le applicazioni essenziali, disponibili praticamente su ogni tipo di calcolatore, dal PC fino al sistema centrale.
Accesso remoto. - Le procedure di login remoto (accesso remoto) sono state sviluppate inizialmente per permettere a semplici terminali di collegarsi a calcolatori remoti; a tal fine era però necessario un protocollo di terminale. Nacque così Telnet, utilizzato ampiamente per accedere a una gran quantità di servizi pubblici, fra cui i cataloghi delle biblioteche e altre basi di dati. L'utente può accedere a tutti i servizi che la macchina remota - sia essa collocata nella stessa stanza, nella stessa università o in uno sperduto angolo del mondo - mette a disposizione dei propri terminali locali. Una sessione Telnet consiste in due programmi che cooperano fra loro: il client, eseguito sul calcolatore che richiede il servizio, e il server, eseguito su quello che fornisce il servizio. La rete è il supporto attraverso cui i due programmi comunicano. Un server deve essere in grado di gestire vari tipi di clients.
Trasferimento di file e accesso a files remoti. - Il trasferimento di file e l'accesso a files remoti sono due delle applicazioni più comuni in qualsiasi rete di computers. Il più diffuso protocollo di trasferimento file è l'ftp, sviluppato come parte dei protocolli TCP/IP. Come indica il nome, compito del protocollo è quello di spostare files da un elaboratore a un altro, indipendentemente da dove siano collocati, come siano collegati e anche dal sistema operativo utilizzato; purché entrambi ‛parlino' ftp e abbiano accesso a Internet, il comando ftp permette di trasferire files. L'ftp è disponibile su quasi tutti i calcolatori, e può esser considerato il minimo comune denominatore di connettività.
In ambienti di elaborazione distribuita più strettamente integrati è spesso usato il file system di rete (NFS, Network File System). Per una rete OSI, il protocollo standard per l'accesso a files remoti è lo FTAM (File Transfer, Access and Management; standard ISO 8571) che ha una base installata molto più piccola dell'ftp. Esistono molte versioni di protocolli per il trasferimento di files, sia proprietarie sia di pubblico dominio.
Posta elettronica. - La posta elettronica (e-mail) è sulla scena ormai da più di due decenni; inizialmente consisteva semplicemente in protocolli di trasferimento di files, con la convenzione che la prima linea di ogni messaggio (cioè di ogni file) dovesse contenere l'indirizzo dei destinatari; attualmente è disponibile un gran numero di programmi di posta elettronica per ogni genere di calcolatore. La posta elettronica consente agli utenti di comporre e scambiare messaggi senza che sia necessario trascriverli su carta. La funzione di posta elettronica è un programma applicativo disponibile per qualsiasi utente connesso al sistema: ogni utente è registrato sul sistema e ha un identificatore univoco, di solito il suo nome o cognome; a ogni utente è associata una casella postale, cioè un'entità gestita dal sistema di gestione files. Tutta la posta ‛in arrivo' è memorizzata come un file sotto la directory che funge da casella postale dell'utente, il quale può in seguito accedere a quel file per leggere il messaggio.
Una funzionalità minima di e-mail comprende quattro funzioni: creazione, spedizione, ricezione e memorizzazione dei messaggi. Il sistema di posta più diffuso sul TCP/IP Internet si basa su SMTP (Simple Mail Transfer Protocol, RFC 821), un altro sistema molto diffuso è l'UUCP (Unix-to-Unix Copy Program). Fino a non molto tempo fa la posta elettronica era basata principalmente su sistemi proprietari ed era utilizzata solo da grandi società per le comunicazioni interne. Questo, per esempio, era il caso del PROFS (Professional Office System) dell'IBM per il sistema operativo VM e l'architettura MAILbus della Digital. Come in altre aree, sono necessari degli standard per la posta fra reti eterogenee.
Nel 1984 la CCITT ha emesso un insieme di standard per i sistemi di gestione di messaggio (MHS, Message Handling Systems), che ha subito profonde modifiche nel 1988. L'X.400 definisce un modello funzionale per l'MHS e per molti dei suoi componenti chiave, e rappresenta il ‛collante' che unifica i sistemi proprietari in un sistema generale di gestione dei messaggi, i cui protocolli si collocano nel livello delle applicazioni del modello OSI. La serie X.400 specifica non solo i protocolli, ma anche i servizi da fornire agli utenti, raggruppandoli in servizi di trasferimento di messaggi e in servizi di messaggeria interpersonale.
Nella versione 1988 di X.400, o X.500 in termini CCITT, è stato aggiunto il servizio di indirizzario (directory service) che permette agli utenti di accedere a un elenco elettronico; inoltre, in quanto database specializzato, esso offre funzionalità di ricerca su scala mondiale e la possibilità di accedere ad altri servizi. Uno dei punti di forza dello standard X.500 come base per un servizio di indirizzario globale è che esso decentra la gestione delle informazioni fornendo una struttura che permette alle varie organizzazioni di gestire direttamente i propri dati.
Notiziari di rete. - I notiziari di rete (network news) sono l'equivalente in Internet di un gruppo di discussione o di un sistema di bacheca, quali possono essere, ad esempio, quelli su Compuserve o i servizi privati in teleselezione. Per l'utente essi organizzano gruppi di discussione sotto un insieme di ampie intestazioni, chiamati gruppi di notizie, al cui interno vengono discussi temi specifici. È possibile porre qualunque tipo di domanda, e ottenere molto probabilmente delle risposte perché qualcuno, in qualche parte del mondo, forse ha già incontrato lo stesso problema e magari ha trovato una soluzione.
Servizi in linea. - I servizi in linea (on line) rappresentano un grande mercato, specialmente negli Stati Uniti. Numerose società offrono tali servizi, e per restare competitive attuano politiche dei prezzi molto simili. Nel periodo 1994-1995 i servizi in linea sono cresciuti del 79%, raggiungendo il numero di circa 11,3 milioni di abbonati.
In Europa il più grande servizio in linea è quello della rete Minitel, introdotta in Francia nel 1983; essa è gestita da France Telecom e il servizio è addebitato sulla normale bolletta telefonica dell'utente. I servizi variano dall'elenco telefonico elettronico al controllo di qualità, dalle basi di dati relative alle offerte di lavoro alle operazioni bancarie, dai servizi di posta elettronica e di conferenza a un'ampia varietà di altri servizi, la maggior parte dei quali in realtà non è fornito da France Telecom, ma da privati. I terminali Minitel sono stati inizialmente distribuiti gratuitamente, al posto degli elenchi telefonici, nella speranza che gli aumenti delle bollette telefoniche ammortizzassero il loro costo, cosa che si è rivelata un'idea eccellente. Benché il mercato europeo sia due volte più piccolo e abbia un ritardo di due-tre anni rispetto al mercato americano, il distacco si va riducendo man mano che si aggiungono nuovi fornitori e i servizi diventano disponibili nelle lingue locali. Esempi di questa tendenza sono i servizi Italia Online ed Europe Online.
b) Ricerca di informazioni; localizzatori di risorse
Uno dei principali problemi su Internet era trovare quello che si cercava e che si sapeva per certo che doveva esserci. In aiuto agli utenti molto presto sono nati e si sono diffusi i servers ftp anonimi, che davano la possibilità di estrarre i files desiderati da archivi sulla rete; ma l'esistenza di quei files era nota molto spesso solo grazie a comunicazioni interpersonali, sia pure via rete. Attualmente vi sono in linea così tante risorse che nemmeno il miglior amministratore potrebbe rintracciarle tutte. Si può essere a conoscenza che una certa base di dati o un certo programma esiste, ma trovarlo è come trovare il proverbiale ago nel pagliaio. Sembra proprio un lavoro adatto a un calcolatore e pertanto sono stati sviluppati numerosi programmi che svolgono questo compito in ambiente Internet, come per esempio Archie, WAIS e Gopher.
Archie è un sistema che permette di effettuare una ricerca sugli indici dei files disponibili in servers pubblici su Internet. La ricerca restituisce i nomi dei files che soddisfano i criteri di interrogazione e il nome dei servers che li contengono. Una volta scelto il file che sembra più adatto, Archie lo trasferisce sul personal computer con l'ftp anonimo.
Il servizio servers di informazioni di area ampia (WAIS, Wide Area Information Servers) aiuta invece nella ricerca di materiale indicizzato. Se si cercano particolari parole o frasi, WAIS, che è un sistema distribuito di ricerca testuale, fornisce una lista di files in linea che contengono quelle parole. Esso è basato su uno standard (ANSI Z39.50-1988) per la richiesta di informazioni bibliografiche, che descrive come un calcolatore può richiedere a un altro di fare ricerche per lui. Per avere un documento disponibile attraverso un server WAIS, si deve creare un indice che quel server possa utilizzare nella ricerca: di solito, per informazioni testuali, ogni parola nel documento è indicizzata. WAIS genera una base di dati di tutte le informazioni in files indicizzabili, permette agli utenti di eseguire ricerche e interrogazioni sui files indicizzati, restituisce il titolo dei documenti trovati e il numero delle occorrenze riscontrate; per fornire tali servizi, richiede un aggiornamento costante quando i files vengono modificati. WAIS svolge un compito molto più impegnativo di Archie.
Il Gopher di Internet è uno strumento di ricerca che permette di navigare in Internet selezionando nel menu le risorse desiderate: è come se aiutasse l'utente a sfogliare lo schedario di una biblioteca remota, inviandogli automaticamente i libri richiesti. La reale comodità di Gopher risiede nella possibilità di visionare le risorse di Internet indipendentemente dalla loro natura, come se in una biblioteca si potesse passare in rassegna tutto il materiale, formato da libri, filmati, registrazioni fonografiche, ecc., classificato in base al soggetto.
Tutti questi strumenti sono utili nel reperimento di informazioni, ma non risolvono un problema che essi stessi creano, cioè il sovraccarico di informazioni. La metafora ‛manipolazione diretta' con cui si indica l'interazione attualmente dominante comporta che sia l'utente ad avviare esplicitamente tutte le applicazioni e a controllare tutti gli eventi. Questa metafora dovrà cambiare se si desidera che anche utenti non specializzati possano usare in modo efficace i calcolatori e le reti di domani. Tecniche provenienti dal campo dell'intelligenza artificiale, in particolare i cosiddetti ‛agenti autonomi', possono essere utilizzate per realizzare uno stile di interazione complementare. Invece di essere il solo a poter dare inizio a un'interazione per mezzo di comandi e con la manipolazione diretta, l'utente è impegnato in un processo cooperativo in cui tanto lui stesso quanto gli ‛agenti' (i computers) possono iniziare la comunicazione, controllare gli eventi, eseguire compiti. Gli agenti aiutano l'utente in vari modi: essi nascondono la complessità dei compiti difficili, svolgono determinate mansioni per conto dell'utente, possono addestrarlo, aiutarlo a collaborare con altri utenti e controllano eventi e procedure. L'insieme delle attività nelle quali un agente può essere di aiuto è potenzialmente illimitato: ad esempio, reperimento e selezione di informazioni, gestione della posta, programmazione delle riunioni, scelta di libri, filmati, musica, ecc. L'idea di impiegare agenti come interfaccia per delegare determinati compiti al calcolatore è stata introdotta da Nicholas Negroponte e Alan Kay. Gli agenti intelligenti costituiscono attualmente un campo di studio che impegna molti ricercatori.
c) Applicazioni avanzate
I progressi nella tecnologia di rete, nell'hardware e nel software dei calcolatori hanno favorito lo sviluppo di applicazioni avanzate inizialmente nell'area locale e, con l'avvento delle tecnologie di WAN ad alta velocità a prezzi convenienti, anche in area ampia. Gli esempi più rilevanti di tali applicazioni sono i sistemi client/server, l'elaborazione distribuita, l'elaborazione collaborativa e il telelavoro.
Applicazioni client/server. - L'elaborazione client/server, un nuovo paradigma nell'elaborazione, fornisce alle organizzazioni potenza di calcolo scalabile e flessibilità per poter rapidamente sviluppare e impiegare nuove applicazioni e per spostare le informazioni e la potenza di calcolo esattamente dove servono. Tali fattori, combinati con un migliore rapporto prezzo/prestazioni delle stazioni di lavoro e dei PC, hanno reso i sistemi client/server essenziali per la riprogettazione e il ridimensionamento delle attività economiche. Un'architettura client/server suddivide un'applicazione in tanti processi che sono operativi su macchine separate collegate da una rete, formando così un sistema ‛debolmente accoppiato'. L'elaborazione client/server è una forma di elaborazione cooperativa: le applicazioni ‛vedono' la rete come un'interfaccia per programmi applicativi relativamente semplice, utilizzata dal sistema client/server per distribuire funzioni e procedure attraverso la rete. I componenti di elaborazione locale (clients) sono generalmente alloggiati in un potente PC o in una stazione di lavoro Unix; il componente di elaborazione remoto, posto in un sistema centrale di gestione della base di dati (server), funziona come un archivio di dati aziendali e di applicazioni comuni. Ciò fornisce una locazione centrale che è insieme sicura e ampiamente accessibile attraverso una rete potente, strutturata e altamente controllata (LAN e WAN). Le applicazioni multimediali, dalla forma più semplice di elaborazione e gestione di immagini fino alla inclusione di voce e di video, possono anche essere integrate nell'ambiente informatico.
Elaborazione distribuita. - Un sistema distribuito è un'infrastruttura di elaborazione che permette di utilizzare un insieme di hosts e di reti come un singolo ambiente integrato. Il suo obiettivo è quello di far sì che le applicazioni non risentano del fatto che le risorse possono essere distribuite su molti hosts. Si può distinguere fra sistemi debolmente accoppiati e sistemi strettamente accoppiati a seconda del tipo di software di comunicazione. I paradigmi di comunicazione impiegati da quasi tutti i sistemi distribuiti sono due: o la chiamata di procedura remota (RPC, Remote Procedure Call) o la memoria condivisa distribuita (distributed share memory).
I progressi nelle tecniche di connessione in rete e nella tecnologia delle comunicazioni hanno consentito la costruzione di reti con velocità di collegamento superiori a un gigabit al secondo. In seguito ai recenti sviluppi le reti di stazioni di lavoro e/o clusters di PC sono destinati a diventare la principale infrastruttura di elaborazione per i settori scientifico e ingegneristico, dall'elaborazione interattiva di fascia bassa ad applicazioni impegnative sia sequenziali sia parallele. Tuttavia queste reti spingono al limite i sistemi utente: l'I/O di rete è diventato, infatti, uno dei principali fattori che impediscono di portare l'ampia larghezza di banda dei servizi integrati verso i sistemi multiprocessore; mentre le velocità dei processori e della rete sono aumentate significativamente, il percorso tra queste entità passa attraverso un bus di sistema e una scheda di interfaccia di rete che hanno di conseguenza un ruolo cruciale nell'interconnessione delle entità suddette.
Telelavoro. - In relazione ai cambiamenti in atto nell'organizzazione dei processi economici, la soluzione fornita dal telelavoro (teleworking) appare sempre più interessante per il suo carattere di flessibilità. L'aumento delle applicazioni del lavoro a distanza dimostra che sia il datore di lavoro sia il lavoratore possono trarne vantaggi considerevoli. Una nuova organizzazione aziendale, che preveda il ridimensionamento del ruolo della sede centrale a favore di una struttura meno gerarchica, più orizzontale e più diffusa, può utilizzare il lavoro a distanza come mezzo strategico.
d) Reti per l'informazione e multimedialità
Le informazioni offrono delle opportunità; mettere in rete le informazioni (passare cioè dai dati alle informazioni) significa fornire agli utenti non solo porzioni di dati, come con le applicazioni tradizionali, da cui gli utenti devono poi trarre l'informazione di cui hanno bisogno, ma significa anche rendere immediatamente disponibile l'informazione stessa. Le informazioni ci arrivano dalle fonti più disparate: leggendo libri, ascoltando i resoconti delle esperienze altrui, guardando quadri, carte geografiche, filmati, ecc. Gli sviluppi tecnologici degli ultimi anni hanno reso possibile la memorizzazione e la comunicazione di informazioni audio, video e di immagini televisive. L'elaborazione di questa molteplicità di informazioni mediante la tecnologia digitale rende possibile riunire insieme queste risorse eterogenee. L'uso simultaneo di dati di diversa natura - voce, video, testo, animazioni, ecc. - è detto ‛multimediale'. La comunicazione multimediale è un sistema di comunicazione che consente la trasmissione in tempo reale di media continui.
Videoconferenza da scrivania. - La videoconferenza da scrivania consente ai singoli utenti di svolgere lavori di gruppo scambiandosi informazioni audio, video e testuali attraverso stazioni di lavoro multimediali. È abbastanza diversa dalle videoconferenze di pochi anni fa, che avvenivano necessariamente in strutture dedicate e richiedevano l'uso di costose apparecchiature. Un esempio di videoconferenza da scrivania realizzabile mediante le infrastrutture esistenti è quello offerto da MBone (Multicast Backbone) di Internet, una rete virtuale realizzata nel 1992 che ha avuto origine dallo sforzo fatto in direzione della diffusione multipla (multicast) di audio e video da parte dei progettisti di Internet. Oggi centinaia di ricercatori utilizzano MBone per sviluppare protocolli e applicazioni per le comunicazioni di gruppo. Il multicast fornisce servizi di consegna di rete ‛da uno a molti' e ‛da molti a molti' per applicazioni come le videoconferenze, o anche il solo audio, quando numerosi hosts devono comunicare contemporaneamente. MBone è ormai una rete virtuale poiché condivide gli stessi supporti fisici di Internet.
Il World Wide Web (WWW). - Il progetto World Wide Web nasce dal tentativo ambizioso di rendere prontamente accessibili agli utenti tutte le informazioni in linea, come una ragnatela (web) di documenti e di reciproci collegamenti. Inizialmente sviluppato nel 1989 al CERN (Ginevra) per la comunità di fisica delle alte energie, si è successivamente esteso ben oltre la sua originale destinazione.
L'obiettivo di WWW è quello di unire le tecniche dell'‛ipertesto' - nel quale i collegamenti tra parti del testo (o di altre informazioni, come sequenze video) riproducono le associazioni di idee - e la ricerca testuale che consente di creare nuove associazioni sulla base del contenuto di un testo o di altri tipi di informazioni. I visualizzatori (browsers) per il WWW - così sono chiamate le interfacce client - sono progettati in modo da facilitare agli utenti il compito di seguire i collegamenti, visualizzati nell'informazione corrente, che portano verso altre informazioni. Alcuni browsers utilizzano un'interfaccia point and click che mostra i collegamenti evidenziando le parole o le frasi a cui sono associati. La tecnologia web è disponibile per chiunque voglia utilizzarla, e i clients e i servers sono nella maggior parte dei casi completamente compatibili.
Il WWW è una delle tecnologie più interessanti, più sorprendenti e più influenti che siano apparse negli ultimi anni; la sua crescita e il suo impatto sono stati notevoli. Il WWW è multimediale, in quanto comprende testo, immagini, video e audio, ma in realtà le informazioni non testuali sono in rapida crescita; fra pochi anni esse sicuramente rappresenteranno la maggior parte dei dati sulla rete e renderanno via via più difficile ‛sfogliare' il WWW. Da un punto di vista tecnologico la crescita del WWW, superiore a quella di qualunque altro servizio di Internet, è stata favorita dalla disponibilità non solo di servers e di visualizzatori di web (Mosaic, Netscape), ma anche dal fatto che PC e piattaforme Macintosh di basso costo dispongono di protocolli compatibili (TCP/IP). Protocolli aggiuntivi, come SLIP (Serial Line Internet Protocol) e PPP (Point-to-Point Protocol), consentono di collegarsi da casa, permettendo l'uso del TCP/IP su collegamenti seriali telefonici. Molte società che hanno necessità di distribuire informazioni ai loro clienti, a partners commerciali o ad altri segmenti di pubblico hanno individuato nel WWW la soluzione migliore ai loro problemi.
Tecnologia Java ed elaborazione incentrata sulla rete. - Java, un linguaggio orientato agli oggetti con una sintassi modellata su quella del linguaggio C+ +, è diventato recentemente una delle tecnologie più appassionanti di Internet. È stato sviluppato dalla Sun Microsystems nell'ambito di un progetto volto alla costruzione di un sistema operativo semplice per macchine da usare per il video a richiesta (video-on-demand). Essendo destinato a funzionare in un ambiente in rete, permette di costruire applicazioni in grado di sfruttare le risorse presenti sulla rete, consentendo una estrema flessibilità nella programmazione: per esempio, la vita stessa delle applicazioni basate su Java può essere estesa a tempo indeterminato e se vengono create nuove funzionalità le applicazioni incorporano automaticamente gli aggiornamenti semplicemente trasferendo il nuovo codice memorizzato su un server di rete. La Sun ha attuato questo approccio dinamico verso le applicazioni di rete con Hotjava, il nuovo visualizzatore di web della società; come altri visualizzatori di web, Hotjava trasferisce documenti memorizzati su servers WWW, ma, se un dato documento richiede un diverso formato di visualizzazione, è anche in grado di ottenere dal server di web il codice necessario per visualizzare quel documento. Ciò significa che Hotjava sarà in grado di tenere il passo con le modifiche introdotte dagli sviluppi della tecnologia di web purché i nuovi formati e protocolli siano resi disponibili su di un sito web.
Java deve la sua natura dinamica al fatto di essere un linguaggio interpretato e non un linguaggio compilato; un programma in esecuzione può quindi essere immediatamente modificato, senza dover essere ricompilato e fatto ripartire, come accade invece con il codice compilato. Per eseguire programmi Java, una macchina deve essere dotata di un interprete Java; esso fa parte del codice runtime di Java - specifico per la piattaforma - che gestisce le applicazioni Java e fornisce le caratteristiche di sicurezza. La Sun offre versioni del runtime di Java per le piattaforme Unix, Windows NT, Windows 95 e Macintosh. Il linguaggio Java è il primo linguaggio che offre una soluzione completa, affidabile e indipendente dalla piattaforma.
Le caratteristiche di Java - la portabilità, la sicurezza e un approccio avanzato alla connessione in rete - sono state realizzate senza comprometterne le prestazioni.
Telemedicina. - Le tecnologie avanzate per i computers e per le comunicazioni hanno assunto importanza sempre maggiore in tutte le aree di medicina, dalla tomografia computerizzata alla visualizzazione delle immagini ottenute con la risonanza magnetica, dalle unità di monitoraggio per la terapia intensiva al supporto amministrativo. Sono in corso in questi campi importanti ricerche sia negli Stati Uniti che in Europa, alle quali si affiancano ampie sperimentazioni sul campo. I servizi asincroni permettono ai medici di accedere a distanza alla documentazione sui loro pazienti; i servizi sincroni, come la videoconferenza in tempo reale, favoriscono le consultazioni a distanza e l'esame congiunto dei risultati di test diagnostici.
6. Le prospettive future
Gli sviluppi della tecnologia dell'informazione non termineranno con la fase attuale, legata ai problemi della connettività: quando l'infrastruttura globale dell'informazione sarà compiuta, inizierà un costante progresso verso una vera società dell'informazione. Questa fase sarà caratterizzata dalla comparsa di contenuti multimediali digitali completamente integrati. Le attività economiche legate all'elaborazione (hardware, software e servizi), alle comunicazioni (telefono, cavo, satellite) e ai contenuti (editoria, intrattenimento, pubblicità), che già stanno convergendo, finiranno per confluire creando un nuovo settore industriale. L'industria dei media, che ha già un ruolo cruciale nel guidare con successo la transizione, sarà il motore della nuova economia. La nascita di questo nuovo settore e la trasformazione dei corrispondenti mercati ormai costringe ogni realtà produttiva a riconsiderare la propria ragion d'essere.
Tale fenomeno già si manifesta nella rapida crescita di Internet, intorno alla quale oggi ruotano grandi interessi commerciali con la nascita di un gran numero di aziende. Internet favorisce decisamente il lavoro d'équipe e incoraggia naturalmente la tendenza a condividere l'informazione. La sfida è quella di massimizzare la sicurezza della rete, riducendo al minimo la spesa e altri eventuali inconvenienti; a tale scopo sono allo studio varie tecniche di monitoraggio della rete. Anche i diritti d'autore rappresentano un problema da risolvere: se si mette insieme materiale prodotto da altri o si crea qualcosa di nuovo, ancora non è chiaro a chi debba essere attribuito il merito e come distribuire il compenso.
Internet, utilizzata inizialmente solo per la comunicazione dati, si sta orientando sempre più verso il multimedia. Numerose nuove società offrono pacchetti software per inviare voce e video sulla rete. L'industria telefonica vede profilarsi una possibile crisi e teme il momento in cui i PC verranno ovunque impiegati come centralini telefonici per uso interno e farà la sua comparsa sul mercato un nuovo genere di strumento, un ‛PC più telefono' mirato all'accesso a Internet.
Il futuro sarà dominato da società creative e flessibili che comprendono come i prodotti software ‛chiusi' siano ormai insufficienti e non compatibili con la tecnologia avanzata di Internet. La crescita economica non è più guidata dai servizi, ma dalle industrie dei calcolatori, del software e delle telecomunicazioni: come afferma il premio Nobel per l'economia Kenneth J. Arrow, ‟il ruolo dell'informazione trasforma la natura dell'economia".
BIBLIOGRAFIA
Krol, E., The whole Internet user's guide & catalog, Sebastopol, Cal., 1992, 19963.
Kyas, O., ATM networks, London 1995.
McDysan, D. E., Spohn, D. L., ATM: theory and application, New York 1994.
Malamud, C., Stacks: interoperability in today's computer networks, Englewood Cliffs, N. J., 1992.
Partridge, C., Gigabit networking, Reading, Mass., 1993.
Pierce, J. R., Noll, A. M., Signals: the science of telecommunications, New York 1990.
Piscitello, D. M., Chapin, A. L., Open systems networking: TCP/IP and OSI, Reading, Mass., 1993.
Smythe, C., Internetworking: designing the right architectures, Reading, Mass., 1995.
Stallings, W., Data and computer communications, New York-Toronto 19944, Upper Saddle River, N. J., 19975.
Tanenbaum, A. S., Computer networks, Englewood Cliffs, N. J., 19882, Upper Saddle River, N. J., 19963.
Mercato delle tecnologie informatiche di Stefano Ceri e Alfonso Fuggetta
Sommario: 1. Introduzione. 2. L'industria dell'informatica. 3. Il mercato dell'informatica in Italia: a) considerazioni generali; b) il mercato dell'hardware; c) il mercato del software e dei servizi di informatica. 4. Il mercato delle telecomunicazioni. 5. Evoluzione del mercato. 6. La politica europea per le tecnologie dell'informazione e della comunicazione: a) progetti per l'anno 2000; b) programmi generali; c) azioni concrete; d) il ‛Quarto programma quadro'. 7. Prospettive. □ Bibliografia.
1. Introduzione
Fino a qualche anno fa le industrie dell'informatica, dell'elettronica e delle telecomunicazioni erano chiaramente distinte, ognuna caratterizzata da prodotti, aziende e mercati specifici. Ad esempio, nel campo dell'informatica i principali prodotti erano rappresentati dai calcolatori, le aziende produttrici si contavano sulla punta delle dita, gli acquirenti erano costituiti soprattutto da imprese e solo marginalmente da singoli individui; nel campo dell'elettronica un numero limitato di società, in prevalenza americane e giapponesi, produceva componentistica di base per un vastissimo mercato mondiale; infine, le aziende di telecomunicazione si limitavano a gestire i rispettivi traffici telefonici nazionali, quasi sempre in regime di monopolio.
Oggi la situazione è profondamente diversa: c'è una tendenza al superamento di rigidi confini di mercato, come quelli sopra descritti, perché lo esigono sia i prodotti sia i consumatori. Le ragioni che favoriscono tale tendenza sono più di una: la prima e la più importante è legata ai prezzi della componentistica elettronica, che sono diminuiti - e continuano a diminuire - a livelli una volta inimmaginabili. Nel frattempo è diventato molto più facile utilizzare l'informatica mentre, per quanto riguarda le telecomunicazioni, le barriere protezionistiche, che ostacolavano di fatto la circolazione elettronica delle informazioni, sono divenute meno rigide e in prospettiva sono destinate a scomparire. Di conseguenza, il numero e la tipologia dei consumatori di informatica, elettronica e telecomunicazioni è aumentato, dando vita a un mercato molto più vasto, al quale si sono adeguate le imprese operanti nel settore, la maggior parte delle quali ha ampliato nel tempo il proprio campo di azione tradizionale: quelle originariamente informatiche si sono spostate verso l'elettronica e le telecomunicazioni, e corrispondentemente si sono comportate le altre. Inoltre, il contatto con queste nuove tecnologie ha profondamente trasformato settori come quello dell'editoria, della diffusione radio-TV e dell'intrattenimento in generale, dove l'informatica aveva una volta un ruolo relativamente trascurabile: basti pensare al nuovo modo di comporre e stampare i giornali, di distribuire enciclopedie e informazioni su disco, di diffondere le trasmissioni televisive in forma digitale, di intrattenersi con i videogiochi.
In questo quadro globalizzante si arriva oggi a parlare di ‛mercato dell'informazione' come di un insieme unitario che riassume i mercati, una volta distinti, dell'informatica, dell'elettronica e delle telecomunicazioni: mercato sul quale opera l'industria della tecnologia dell'informazione, comprendendo sotto questa espressione una vastissima tipologia di aziende. Alcuni preferiscono allargare l'orizzonte e parlare di ‛tecnologia dell'informazione e della comunicazione', sia per distinguere ciò che viene trasmesso (l'informazione) dal mezzo con il quale avviene la trasmissione (la rete di comunicazione), sia per conglobare in questo mercato, almeno in parte, quello della stampa, della TV e dell'intrattenimento.
L'evoluzione del mercato dell'informazione è in pieno svolgimento: si è pertanto ancora ben lontani da una situazione di equilibrio e riesce addirittura difficile immaginare come questa potrà configurarsi e in quale arco temporale. In questo campo fare delle previsioni può apparire temerario: si può tuttavia cercare di immaginare il futuro ripercorrendo, anche se in modo sommario, le tappe principali attraverso le quali si è giunti alla situazione attuale.
2. L'industria dell'informatica
I primi calcolatori prodotti per scopi commerciali risalgono al 1956: si trattava di macchinari fabbricati in pochissimi esemplari, del valore ciascuno di parecchi miliardi di lire odierne. Ma già pochi anni dopo entrarono sul mercato prodotti relativamente più economici e costruiti in serie di migliaia di unità. Nei primi tempi l'enfasi era posta sulle macchine e sulle loro prestazioni: la maggior parte dell'innovazione stava nella tecnologia elettronica e proprio per questo i principali artefici dei progressi informatici erano esperti in elettronica. Nei primi anni sessanta apparve però chiaro che senza un'adeguata programmazione le macchine non potevano dare i risultati sperati. Nacque una specifica tecnologia - quella della programmazione - e di conseguenza acquistò dignità una nuova categoria di professionisti ad alto livello: quella dei programmatori, figure destinate a costituire il fondamento dello sviluppo e del consolidamento del mercato dell'informatica. Mentre i macchinari furono ben presto identificati con il nome di hardware, parola che in inglese indica genericamente ciò che si vende in un negozio di ferramenta (il ferro, le cose ‛dure', i materiali), per i programmi fu creato il neologismo software (invece dell'hard delle macchine, il soft dell'intelligenza umana portata dentro il calcolatore, il leggero, l'immateriale).
Sul software e sulla sua importanza strategica in tempi molto più recenti Italo Calvino scrisse questa efficacissima pagina. ‟È vero che il software non potrebbe esercitare i poteri della sua leggerezza se non mediante la pesantezza dell'hardware; ma è il software che comanda, che agisce sul mondo esterno e sulle macchine, le quali esistono solo in funzione del software, si evolvono in modo da elaborare programmi sempre più complessi. La seconda rivoluzione industriale non si presenta come la prima con immagini schiaccianti quali presse di laminatoi o colate d'acciaio, ma come i bit di un flusso di informazione che corre sui circuiti sotto forma di impulsi elettronici. Le macchine di ferro ci sono sempre, ma obbediscono ai bit senza peso" (I. Calvino, Lezioni americane, Milano 199211, pp. 9-10).
Se la prima tappa nello sviluppo del mercato è stata segnata dalla progressiva importanza della componente non hardware, quella successiva è legata, invece, all'evoluzione dei rapporti commerciali tra il produttore e il cliente. Fin verso la fine degli anni sessanta la forma contrattuale più diffusa era quella del noleggio, intrinsecamente vantaggioso per entrambi: il cliente poteva diluire nel tempo gli oneri dell'informatizzazione e affrontare i problemi di espansione senza il timore di dover ammortizzare materiale obsoleto, mentre il fornitore aveva la garanzia di una ragionevole pianificazione delle entrate, legate com'erano ai canoni di noleggio mensile. Questo canone comprendeva il diritto di usare il calcolatore per un determinato numero di ore; erano compresi anche gli oneri di manutenzione, l'assistenza all'uso delle macchine, l'addestramento, l'uso dei programmi di base (sistemi operativi, compilatori, organizzatori di dati, ecc.). La programmazione era di solito a cura del cliente, anche se spesso, nel corso delle trattative commerciali, il fornitore dei macchinari si assumeva il compito di affiancare con proprio personale quello del cliente. Con il passare degli anni apparve chiaro che l'onere sostenuto dai fornitori per la manutenzione, l'assistenza, l'addestramento, la fornitura di programmi e l'aiuto dei programmatori stava diventando sempre più ingente e, in prospettiva, era destinato a costituire un segmento di possibile fatturato tutt'altro che trascurabile. Pertanto, la fornitura dei programmi di base, l'assistenza e l'addestramento cominciarono a essere fatti pagare a parte. Cominciarono anche a diffondersi programmi che consentivano soluzioni applicative standard per problemi gestionali di larga diffusione, come paghe, contabilità generale, gestione ordini e scorte, ecc.: tutti ‛prodotti' che invece di essere regalati potevano generare fatturato. Contemporaneamente l'espansione delle vendite di calcolatori creò un giro di affari che rendeva arduo per i costruttori sostenere l'autofinanziamento in caso di proventi derivanti solo dal noleggio: cominciò così una propensione a vendere piuttosto che a noleggiare, lasciando eventualmente al cliente il compito di utilizzare forme di leasing.
All'inizio degli anni settanta il mercato dell'informatica appariva già segmentato secondo precise tipologie di fatturato, le stesse che esistono tuttora: a) vendite di macchinari (calcolatori, dischi, nastri, stampanti, terminali, ecc.); b) manutenzione di macchinari; c) licenze d'uso di sistemi operativi; d) licenze d'uso di programmi applicativi; e) assistenza all'installazione dei macchinari; f) assistenza all'uso dei macchinari e dei programmi; g) assistenza alla progettazione di nuove applicazioni; h) progettazione di nuove applicazioni; i) programmazione di nuove applicazioni; l) addestramento; m) materiale didattico; n) assistenza specialistica per leasing, assicurazioni, sicurezza, ecc.
La più importante industria del settore fu fin dall'inizio la IBM (International Business Machines): nel 1956 questa società, che aveva già un brillante passato nel campo delle macchine elettrocontabili, entrò nel campo dell'elettronica informatica e da allora ha sempre costituito un punto di riferimento per l'intero mercato. Lo sviluppo è stato straordinario, almeno fino al 1990, ed è riassunto nella tab. I. Ma è interessante notare che il mercato dell'informatica nello stesso periodo si sviluppava a un ritmo ancora maggiore: infatti, mentre nel 1956 il contributo dell'IBM all'intero settore era stimato superiore al 50%, attualmente esso si aggira intorno al 12% (circa 70 miliardi di dollari di fatturato annuo su un totale mondiale di circa 600).
La tab. II riporta alcune stime sulle dimensioni del mercato dell'informatica, da cui appare che la spesa per l'informatica nel Nordamerica nel 1996 vale una volta e mezza quella dell'Europa e due volte quella dell'Asia. Per quanto riguarda il nostro paese, la spesa da anni è stabile intorno al 3,5% di quella mondiale. Degna di nota appare la tendenza a un'espansione in Nordamerica sistematicamente superiore a quella delle altre aree geografiche.
È bene precisare che l'hardware indicato nelle statistiche coincide con la tipologia di fatturato a); qualche volta però nella voce hardware viene compresa anche la componente manutenzione, cioè il fatturato indicato come tipologia b) (segmento hard). Per software si intende la somma di c) e d); tutto il resto va nella voce ‛servizi'. A volte, per brevità, queste due voci vengono sommate in un'unica voce ‛software e servizi', soprattutto quando si vuole mettere a confronto semplicemente il mercato dell'hardware con quello di tutti gli altri componenti nel loro complesso (segmento soft). Questo è il caso della tab. III, nella quale viene riportata questa ripartizione per le principali aree geografiche. È importante ricordare come, a livello mondiale, già nel 1992 il segmento soft cominci a prevalere, seppur di poco, su quello hard: ma negli Stati Uniti, nello stesso anno, la percentuale del soft era decisamente maggiore, a dimostrazione di una fondamentale tendenza del mercato che vede lo sviluppo futuro soprattutto nelle componenti soft. Può essere interessante far presente che nella classifica delle principali società mondiali produttrici di software non compare alcuna società giapponese, a conferma della sostanziale assenza del Giappone in questo particolare settore tecnologico.
L'analisi dei dati economici delle principali aziende informatiche mette in evidenza come, dopo un ininterrotto periodo di risultati brillantissimi conseguiti fin dalla nascita, con l'inizio degli anni novanta la richiesta di software sia entrata improvvisamente in crisi. Le cause sono molteplici, ma le più importanti sono quelle determinate dai progressi dell'elettronica, che hanno causato un'offerta di tecnologia sempre più potente a prezzi sempre più bassi: è stato stimato che mentre fino agli anni ottanta il prezzo per unità di calcolo diminuiva mediamente del 30% l'anno, a partire dal 1990 questa percentuale ha raggiunto quasi il 40%. Il giro d'affari in termini di volumi fisici ha continuato ad aumentare, ma questo crollo dei prezzi unitari ha fatto sì che la maggior parte dei produttori di hardware faticasse a mantenere gli stessi livelli di fatturato. Ciò ha provocato una improvvisa contrazione dei profitti, che ha costretto le aziende a impostare nuove strategie di produzione e di vendita. Questa crisi ha colpito particolarmente quelle aziende che operavano in modo globale sull'intero mercato con uno spettro di prodotti molto vasto e con un gran numero di addetti, mentre quelle con settori di mercato relativamente più limitati, ad alta specializzazione e più agili in termini di personale, hanno risentito poco o nulla della crisi. Proprio per competere su un piano di altissima specializzazione, anche le grandi aziende operanti in settori di mercato molto vasti si sono presto ristrutturate per linee di prodotto, assumendo la forma organizzativa di confederazioni relativamente autonome. La crisi si è però risolta in tempi relativamente brevi e alla metà degli anni novanta è iniziata una nuova era di sviluppo.
Quali siano le prospettive future nel nostro paese, in termini di potenziale di crescita, risulta con chiarezza dalla tab. IV, che riporta la spesa in informatica in rapporto al Prodotto Interno Lordo: appare evidente come negli Stati Uniti la penetrazione sia molto maggiore che in Italia, e ciò lascia intravedere un ulteriore largo margine di sviluppo per il nostro paese.
3. Il mercato dell'informatica in Italia
a) Considerazioni generali
Le statistiche per gli anni dal 1992 al 1996 (v. tab. V) danno una spesa per l'informatica, al netto dell'IVA e degli oneri aziendali interni per personale e gestione, praticamente costante intorno ai 21-23 mila miliardi; un incremento è però atteso per i prossimi anni. Per come sono state calcolate, queste cifre vengono a coincidere con il totale del fatturato italiano delle aziende operanti nei vari settori dell'informatica, al netto degli interscambi interni. Questo risultato è attribuibile per circa il 36% alla componente hardware, per il 10% all'assistenza tecnica (manutenzione hardware e software) e per il restante 54% ai prodotti software e ai servizi di informatica.
La distribuzione geografica della spesa è anch'essa praticamente costante: al nord-ovest - dove è concentrata la presenza dei grandi gruppi industriali del paese - va il 36%; al nord-est - caratterizzato da un gran numero di piccole e medie imprese orientate verso l'esportazione - il 21%; al centro - dove si fa sentire in modo prevalente la pubblica amministrazione centrale - il 28%; al sud e alle isole - dove recentemente sono stati realizzati nuovi centri di ricerca e sviluppo pubblici e privati - il restante 15%.
Il totale degli addetti è in diminuzione, dagli oltre 100 mila del 1992 agli 83 mila del 1996; la tendenza è verso un'ulteriore diminuzione. Queste cifre però si riferiscono esclusivamente alle aziende operanti nel settore informatico e non tengono conto del grandissimo numero di addetti operanti presso le strutture informatiche di tutte le altre aziende italiane.
La distribuzione della spesa in informatica nei vari settori economici (industria, distribuzione, servizi, banche e assicurazioni, pubblica amministrazione) è molto variabile a seconda degli anni e della presenza o meno di situazioni di crisi economica. Dal 1995 si assiste però a un orientamento generale verso un incremento della spesa in tutti i settori, fatta eccezione per quello della pubblica amministrazione, che risente evidentemente dei ritardi nel varo delle tanto attese riforme che dovrebbero incidere strutturalmente sulla sua produttività.
b) Il mercato dell'hardware
Come si è già visto nella tab. V, nel 1996 il totale del fatturato hardware in Italia è stato di 8.195 miliardi di lire: esso è dovuto per il 59% ai calcolatori veri e propri, per il resto alle cosiddette ‛unità periferiche' (stampanti, dischi, supporti magnetici, nastri, terminali, ecc.). I calcolatori coprono uno spettro estremamente ampio di prodotti; il modo di classificarli è andato cambiando nel corso degli anni seguendo, nel tempo, criteri diversi: il costo, la potenza di calcolo, il tipo di applicazioni. Fin dai primi tempi fu però osservato che il termine ‛calcolatore' non rende bene il complesso delle attività svolte da queste macchine: infatti, più che calcolare esse elaborano dati per ottenere informazioni. Venne pertanto naturale proporre di sostituire il termine ‛calcolatore' con quello di ‛elaboratore', ma la proposta non ebbe grande successo. Ora stanno prevalendo criteri legati al ruolo degli elaboratori nell'azienda e nei riguardi dell'utente. Proprio per questo motivo e per sottolineare l'inserimento di queste macchine nei processi organizzativi aziendali, si sta affermando sempre più il termine ‛sistema' al posto di quelli di calcolatore o elaboratore. In conclusione, la classificazione attualmente più diffusa risulta la seguente: a) sistemi centrali, quando a essi fa capo l'insieme delle principali procedure di un'azienda; b) sistemi dipartimentali, quando servono una parte, più o meno limitata, dell'azienda; c) sistemi personali, quando servono un individuo, nell'ambito aziendale o in quello privato domestico. Tale classificazione tiene conto di un'importante trasformazione organizzativa in corso nella maggior parte delle aziende, legata al passaggio da strutture decisionali e operative di tipo gerarchico ad altre caratterizzate da una più ampia autonomia e da un maggior decentramento.
Fino alla metà degli anni novanta l'intera capacità elaborativa della maggior parte delle aziende era accentrata in un unico complesso (centro elettronico), di solito situato nell'ambito delle strutture della direzione generale, dotato di macchine potenti, alle quali erano collegati i terminali situati presso le varie periferie. Questi terminali, in numero di centinaia o migliaia, consentivano al personale operativo dell'azienda di inserire dati e di esaminare visivamente delle situazioni: non era però possibile alcuna elaborazione che non fosse già stata prevista dall'organizzazione centrale, per il fatto che i terminali erano semplici schermi video dotati di tastiera, senza alcuna capacità elaborativa autonoma locale. Tutte le elaborazioni, anche quelle più semplici, erano fatte centralmente; la struttura informatica era a stella, con un unico centro al quale facevano direttamente capo i terminali. Questo tipo di struttura organizzativa favorì di conseguenza lo sviluppo di un mercato dei grandi sistemi centrali di calcolo (‛sistemi centrali' o mainframes).
In tempi relativamente recenti hanno cominciato a diffondersi nelle aziende schemi organizzativi caratterizzati da un maggior livello di decentramento: le ‛strutture gerarchiche', nelle quali le informazioni seguono linee verticali ben stabilite, si sono evolute verso ‛strutture a rete', nelle quali i reparti sono relativamente autonomi; queste strutture sono caratterizzate tra l'altro da un sistema di comunicazioni fra i reparti molto più ampio di quanto non accadesse nelle strutture gerarchiche. Da un punto di vista tecnico i nuovi schemi organizzativi esigono che il collegamento dei terminali avvenga con sistemi di calcolo installati presso quei reparti aziendali che godono di una certa autonomia. A questi sistemi, non grandi come quelli centrali ma nemmeno piccolissimi, viene dato il nome di ‛sistemi dipartimentali'. Essi di solito sono collegati a quelli centrali: la struttura generale in questo caso assume la forma di un grappolo di stelle. Per descrivere questa struttura è entrata nell'uso comune una dizione inglese: essendo denominato server il sistema dipartimentale e client quello personale dell'utente, la struttura che ne risulta è detta pertanto di tipo client-server.
Il diffondersi di questo tipo di struttura bloccò lo sviluppo dei mainframes e portò, all'inizio degli anni novanta, all'errata previsione di una loro progressiva scomparsa. In realtà ciò non è accaduto: anzi, negli ultimi tempi lo sviluppo di reti aziendali sempre più complesse, pur basate su un ampio utilizzo di sistemi dipartimentali, ha creato una domanda di elaborazione centrale che si è tradotta in un rinnovato interesse per i grandi sistemi. In Italia, ad esempio, vengono venduti ogni anno circa 500 sistemi di grandi dimensioni, il cui prezzo è orientativamente superiore ai 500 milioni di lire ciascuno; per quanto riguarda le loro prestazioni, mediamente ogni sistema ha la capacità di elaborare 30 MIPS (milioni di istruzioni per secondo), con punte di varie centinaia. Il parco macchine attivo è valutato intorno alle 4.200 unità. Il numero di sistemi dipartimentali venduti in Italia ogni anno è stimato in circa 30 mila unità, che vanno ad aggiungersi a un parco attivo di 250-300 mila macchine.
Straordinario è lo sviluppo del mercato dei sistemi personali o PC. Innanzi tutto è bene precisare che solo apparentemente si tratta di ‛piccoli sistemi': infatti, quelli più diffusi sono più potenti dei grandi sistemi di calcolo di venti anni fa. Essi sono dotati di un ricchissimo complesso di programmi che ne facilita l'uso anche da parte degli utenti meno esperti: la maggior parte della loro eccezionale capacità elaborativa è dedicata proprio a ottenere un'‛interfaccia amichevole'. Il loro impiego - come dice la denominazione stessa - è riservato alla singola persona, nell'ambito aziendale o in quello per applicazioni domestiche. Si stima in circa un milione il numero di PC venduti in Italia ogni anno, mentre il parco macchine nel 1997 era valutato intorno ai 7 milioni di unità. È presumibile che le vendite annue siano destinate a crescere per almeno tre motivi: innanzi tutto i prezzi unitari sono destinati a diminuire per effetto della sempre maggiore microminiaturizzazione elettronica, con conseguente allargamento della base dei potenziali acquirenti; secondariamente, il numero di applicazioni disponibili su PC per impiego domestico sta aumentando moltissimo, anche in vista dei nuovi orizzonti che vengono ad aprirsi con la possibilità di collegarsi alle più grandi reti mondiali (tipo Internet); il terzo motivo sta nella rapidissima sostituzione, che sta avvenendo nelle aziende, di terminali con altrettanti PC, sia per la maggiore autonomia operativa che viene affidata ai settori periferici, sia per l'adozione delle strutture di tipo client-server.
È forse prematuro considerare il PC come un bene di largo consumo, ma non si può non constatare che il numero delle unità vendute e le modalità di distribuzione stanno determinando lo sviluppo del mercato in una pluralità di direzioni, creando anche nuove opportunità per gli operatori. Ad esempio, si profilano nuove attività lavorative per piccole società che, su base locale, si occupino di addestramento, manutenzione, assistenza all'uso dei PC, personalizzazione di programmi, realizzazione di piccole reti, cablaggi, ecc. È interessante notare che si tratta di attività ad alto valore aggiunto particolarmente adatte ai giovani.
c) Il mercato del software e dei servizi di informatica
La tab. VI riassume la distribuzione del fatturato relativo al software e ai servizi delle varie aziende che operano sul mercato italiano, al netto dei fatturati all'interno del gruppo al quale le aziende stesse appartengono (il cosiddetto ‛mercato captive'); è un tipo di distribuzione, ormai da anni stabilizzata su questi rapporti, che attribuisce ai prodotti programma - cioè al software sia di tipo generale, sia di supporto all'uso delle macchine, sia di tipo applicativo - un contributo del 37%; il resto va ai diversi tipi di servizi. Il totale del fatturato è in aumento, ma il ritmo di crescita sta diminuendo portandosi verso un valore intorno al 5% annuo, ben inferiore a quello registrato alla fine degli anni ottanta. Si tratta di un mercato difficile, caratterizzato da una concorrenza particolarmente agguerrita. A fronte di poche aziende di grandi dimensioni operanti in Italia in questo settore (Finsiel, IBM, Olivetti) vanno annoverate moltissime società di medie e piccole dimensioni, queste ultime di solito specializzate in applicazioni di nicchia, e addirittura una miriade di imprese piccolissime, al limite formate da una sola persona.
A seguito delle ristrutturazioni di molte aziende, improntate ai nuovi criteri di organizzazione a rete e di massimo decentramento, è in atto una parallela riprogettazione dell'intera struttura informatica, che nella maggior parte delle aziende risulta per altro assai datata. Le soluzioni informatiche, da gerarchiche che erano, si modificano passando, come abbiamo visto, alle nuove strutture di tipo client-server. La maggior parte delle aziende si trova alle prese con un totale rifacimento delle procedure informatiche: in questo contesto sembrano particolarmente promettenti le attività di servizi legate alla riprogettazione delle nuove strutture informatiche basate sui sistemi dipartimentali e relative reti di collegamento.
Le previsioni per la fine del secolo sono per una conferma delle tendenze già emerse in passato che si possono così sintetizzare: a) riduzione dei prezzi dei prodotti software e delle tariffe dei servizi professionali; b) incremento della domanda di progetti del tipo ‛a scatola chiusa' e a costo fisso, ma con una prevalenza di quelli di piccole dimensioni; c) nuove opportunità di affari legate al software di tipo tecnologico e a servizi relativi alla ristrutturazione delle aziende; d) spostamento generalizzato delle applicazioni verso i sistemi dipartimentali e personali; e) ingresso in campo di grandi operatori stranieri, anche attraverso operazioni di acquisizione di società già operanti in Italia; f) enfasi sulle attività di gestione diretta dei processi informatici per conto terzi (il cosiddetto outsourcing), nelle sue varie forme, che vanno dalla semplice gestione operativa del centro di calcolo elettronico, alla gestione di alcuni processi aziendali, alla manutenzione del software esistente, fino alla responsabilità completa di alcuni nuovi progetti, dei quali si può arrivare anche a sostenere l'intero finanziamento iniziale, da recuperare poi attraverso la gestione del servizio presso gli utenti (project financing).
Molto promettente, infine, sembra l'industria del software applicativo specializzato: c'è una domanda fortissima di programmi generalizzati in grado di risolvere determinati problemi, come, ad esempio, la contabilità generale, oppure le retribuzioni, oppure il bilancio, ecc.; il termine ‛pacchetti' comunemente usato per identificare questi programmi rende bene la loro natura di soluzioni preconfezionate, di facile uso.
4. Il mercato delle telecomunicazioni
Per meglio comprendere che cosa può riservare il futuro in questo settore, occorre fare una breve premessa tecnica. Le attuali linee telefoniche sono nate per trasmettere la voce umana, nello spettro di frequenza che è sufficiente per una ragionevole comprensione a distanza, cioè da 300 a 3.400 Hz: le onde elettriche che si propagano in rete sono analoghe a quelle sonore della voce, e da ciò viene l'attributo ‛analogico' con cui viene indicato questo tipo di trasmissione. La cosiddetta ‛banda passante' risulta pertanto limitata a circa 3.000 Hz. Tutta l'impiantistica telefonica tradizionale è stata realizzata in vista della trasmissione della voce: volendo trasmettere dei dati ed essendo la banda così stretta, non si riesce, con gli impianti normali, a raggiungere prestazioni superiori a qualche migliaio di byte al secondo. Ma le applicazioni attuali, che prevedono la trasmissione di testi relativamente lunghi, richiederebbero velocità maggiori addirittura di tutt'altro ordine di grandezza se ciò che deve venir trasmesso non consiste di solo testo ma anche di immagini e filmati. In quest'ultimo caso, anche utilizzando le più avanzate tecniche di compressione delle informazioni, occorrerebbe disporre di reti in grado di trasmettere alcune centinaia di migliaia di byte al secondo. La banda passante deve pertanto diventare molto più larga, dell'ordine dei milioni di Hz. Poiché le dorsali di collegamento devono consentire il passaggio di numerose comunicazioni fra terminali diversi, queste prestazioni devono essere ulteriormente moltiplicate per un fattore piuttosto grande (orientativamente da 100 a 1.000). L'ipotesi fondamentale di riferimento di tutto lo sviluppo del mercato telematico è basata sulla trasmissione frequente e diffusa tra i vari operatori di numeri, testi, immagini e filmati: risulta pertanto indispensabile adeguare la rete di trasmissione a queste nuove esigenze. In termini molto semplificati, ciò richiede prima di tutto una nuova tecnica di trasmissione, basata sulla propagazione di impulsi piuttosto che di onde (trasmissione numerica). In relazione a ciò occorre cambiare tutto il sistema di commutazione (centrali numeriche) e quello di trasmissione fisica dei segnali. A questo proposito è già in corso nei principali paesi, e naturalmente anche in Italia, l'installazione fisica di una nuova rete, basata su fibra ottica con una larghissima banda di trasmissione. Si tratta di un'operazione complessa, costosa e che naturalmente richiederà del tempo.
Se la rete attuale può essere paragonata a una strada, già ingolfata dal modesto traffico di oggi, quella in costruzione può essere paragonata a una superstrada sulla quale circoleranno le innumerevoli informazioni di domani. Una superstrada delle informazioni, una ‛infostrada'. Sulla necessità e sulla urgenza delle infostrade sono tutti d'accordo: sul loro impiego operativo sono in corso invece accesissimi dibattiti. La ragione del contendere sta essenzialmente nel concetto di ‛interattività'. Lo schema operativo è basato sull'assunto che il traffico di domani sia essenzialmente del tipo ‛a una via': pochi enti generano e diffondono le informazioni, mentre una numerosa pluralità di utenti le riceve. Ogni singolo utente, in modo selettivo, ha però la possibilità di interagire con l'emittente delle informazioni, rispondendo a quesiti, o formulando richieste, oppure scegliendo tra varie opzioni. Le televendite sono la tipica applicazione di riferimento: l'utente da casa potrebbe richiedere la visione di certi filmati pubblicitari, che gli arriverebbero sul televisore via fibra ottica; effettuata la scelta di un certo prodotto, l'utente potrebbe inviare l'ordine al venditore, mediante opportuni segnali codificati, utilizzando in senso inverso la stessa fibra ottica con la quale ha ricevuto il filmato. Allo stesso modo potrebbero essere richiesti un determinato film (video on demand) - interrompendolo, eventualmente, e rivedendo alcune scene a piacere - oppure una determinata lezione (teledidattica personalizzata) - colloquiando in modo interattivo con un tutore telematico.
Va da sé che in tutti questi casi la trasmissione ha bisogno di una larga banda dal centro verso l'utente periferico, il quale, per interagire con la fonte, ha bisogno di inviare pochi caratteri, con necessità pertanto di una strettissima banda, ampiamente soddisfatta dall'attuale telefono. Questa asimmetria nella modalità di colloquio induce alla conclusione che in alcune applicazioni la trasmissione delle informazioni potrebbe avvenire via TV, permettendo alla risposta interattiva di circolare via cavo. Questa modalità oggi risulta del tutto impraticabile, vista l'indisponibilità di frequenze televisive terrestri: ma lo scenario è destinato a cambiare profondamente in virtù della diffusione, ormai avvenuta, dei satelliti per la TV digitale. Sono potenzialmente operativi centinaia di canali TV digitali con larghezza di banda molto ampia, in grado non solo di trasmettere un gran numero di canali televisivi, ma anche di consentire a imprese pubbliche e private di diffondere informazioni, eventualmente su base selettiva, con possibilità - indiretta - di una certa interattività. L'esperienza pratica e, in ultima analisi, il mercato diranno quali saranno le soluzioni adeguate alle diverse esigenze. Nel frattempo c'è da notare lo sbalorditivo successo di Internet che, consentendo la comunicazione - per ora a banda strettissima - tra milioni di utenti in tutto il mondo, ha favorito la diffusione della tecnologia della comunicazione e dell'informazione e ha proiettato il mercato delle telecomunicazioni verso orizzonti fino a pochi anni fa del tutto imprevedibili.
Quello delle telecomunicazioni è un mercato di grandi dimensioni (v. tab. VII), in espansione a un tasso di circa il 10% annuo. Quasi tutti i segmenti del mercato sono in crescita, ma le previsioni sono per un ulteriore rafforzamento della parte relativa ai servizi. Ciò dovrebbe dipendere da una maggior diffusione del telefono da parte degli operatori, per le usuali comunicazioni d'affari o private, e da un impiego molto più esteso dei collegamenti telematici. A questo riguardo significativa è stata l'esperienza di Internet, che ha provocato tra l'altro un netto incremento dei consumi telefonici privati, soprattutto nelle ore serali.
È stato analizzato, limitatamente agli Stati Uniti, il contributo attuale al fatturato delle telecomunicazioni dovuto ai servizi telematici delle famiglie e sono state fatte delle proiezioni al 2000, sia per gli Stati Uniti sia per l'Italia (v. tab. VIII); si tratta di previsioni minime, per di più limitate alle sole spese di collegamento - i servizi sono a parte - che comunque impressionano per la loro dimensione e giustificano il grande interesse che a questo settore viene riservato dalle imprese di telecomunicazioni, vecchie e nuove. La tab. IX riporta la distribuzione del mercato delle telecomunicazioni nei principali paesi: anche in questo caso appare evidente il predominio degli Stati Uniti.
Per quanto riguarda il futuro di Internet - il cui uso è quasi gratuito -, è facile prevedere un'ulteriore diffusione limitatamente ad applicazioni amatoriali, mentre invece per esigenze professionali si stanno affermando reti specializzate, ad alta efficienza - e anche a larga banda - che ovviamente non sono gratuite: le più note sono quelle basate sulla tecnologia ISDN (Integrated Service Digital Network), abbastanza diffuse in Italia, e quelle basate sulla tecnologia ATM (Asynchronous Transfer Mode), la cui diffusione su larga scala è prevista verso la fine del decennio. Questo tipo di servizi costituirà nell'immediato futuro una delle principali fonti di reddito per le imprese telematiche.
5. Evoluzione del mercato
Lo scenario generale in cui si proietta l'evoluzione di questo settore è tale che nell'anno 2000 dovrebbe risultare difficile isolare il settore delle telecomunicazioni da quello dell'informatica. È intorno alla metà degli anni novanta che si comincia a manifestare una modifica strutturale del mercato. Innanzi tutto la tecnologia dell'informazione e della comunicazione, che nasce come effetto di convergenza tra tecnologie eterogenee (telecomunicazioni, informatica, media, elettronica di consumo), si afferma nella maggior parte delle imprese come fattore fondamentale di innovazione di processo e di prodotto. Gli utenti non sono solo le imprese, ma anche le famiglie: anzi, l'utenza domestica e individuale non rappresenta più una categoria residuale del mercato, ma, al contrario, ne costituisce una componente strategica e sempre più significativa, soprattutto in prospettiva. A questo proposito è fondamentale il contributo diretto e indiretto dei PC, venduti nel mondo in 50 milioni di esemplari per anno. Vedono la luce nuovi servizi, classificabili sinteticamente nell'area della multimedialità interattiva.
È in questo periodo che prende corpo l'idea di una nuova società dell'informazione e si scopre il ruolo strategico delle infrastrutture avanzate di comunicazione necessarie per costituirla: le strade informatiche e i grandi progetti transnazionali basati su di esse rientrano nelle politiche di governo dei principali paesi. Come primo esempio di strada informatica si afferma Internet che, da rete creata informalmente dagli utenti - originariamente professori e ricercatori universitari - è balzata al ruolo di infrastruttura innovativa per la comunicazione del sistema-mondo nonché di strumento per realizzare la nuova società dell'informazione.
Sul fronte dei produttori, per effetto del mutamento dello scenario della domanda e della convergenza tra tecnologie eterogenee, viene a determinarsi un generale riassetto del sistema dell'offerta mediante un'intensificazione degli accordi strategici, delle fusioni e delle acquisizioni tra società con interessi complementari.
In conclusione, verso la metà degli anni novanta emergono, sia dal lato della domanda, orientata a nuovi modelli d'uso delle tecnologie informatiche, sia da quello dell'offerta, che ha innovato le proprie strategie di prodotti e servizi, sintomi evidenti dell'ingresso del settore in una nuova era, caratterizzata da nuovi modelli di sviluppo. In particolare, accanto al tradizionale mercato che ha come utenza il sistema delle imprese, pubbliche e private, cominciano a emergere due nuovi mercati: quello delle infrastrutture (strade informatiche e reti di telecomunicazione avanzate) e quello domestico e individuale (multimedialità interattiva, servizi di accesso on line a banche dati, posta elettronica, commercio elettronico).
Il mercato delle infrastrutture ha come utente il paese, e al limite il mondo intero, visto come sistema e costituito dall'insieme dei soggetti pubblici e privati. Si parla a questo proposito di sistema-paese, per il quale occorre costruire una nuova rete di comunicazione attraverso la quale erogare servizi e definire le regole di gestione. Ci si aspetta con ciò una riduzione dei tempi di esecuzione di molte attività di tipo amministrativo e progettuale, con conseguenti minori costi e maggior competitività delle imprese. Ci si aspetta anche la creazione di nuovi spazi stabili per l'occupazione, per gestire le reti e realizzare i nuovi servizi basati su di esse (comunicazioni estese, accesso a banche dati, telelavoro, telemedicina, teleamministrazione, ecc.). Questi nuovi servizi non riguarderanno solo il mondo degli affari in senso stretto, ma abbracceranno anche, e forse soprattutto, l'utenza domestica. Non solo dunque servizi migliori alle imprese, ma nuovi servizi rivolti a un mercato più ampio che assume le caratteristiche di quello dei beni di largo consumo. Il mercato domestico e individuale è legato alla diffusione delle tecnologie informatiche e della comunicazione a uso dell'individuo, anche nella sfera domestica, e trova la propria base tecnologica nella infrastrutturazione del sistema-paese: i due nuovi mercati sono pertanto strettamente legati fra loro.
È opinione generale che esista un enorme bacino di utenti potenziali di tecnologie informatiche e di comunicazione, ma non è ancora chiaro il modo con il quale tale mercato si potrà effettivamente sviluppare. Occorre comprendere meglio la natura delle esigenze che potranno indirizzare la domanda da parte degli individui. In termini generali, tali esigenze si identificano con la richiesta di comunicazioni più efficaci, tempestive e personalizzate, che consentano la fruizione semplificata di servizi - pubblici e privati - e una migliore gestione del tempo libero.
In tale prospettiva si collocano, ad esempio, le sperimentazioni in corso, che permettono all'utente di richiedere la ricezione di specifici programmi (film, sport, eventi musicali) attraverso l'apparecchio televisivo collegato al centro di trasmissione mediante filo (lo stesso ‛doppino' del telefono oppure un cavo coassiale oppure una fibra ottica) o di usufruire di servizi di teleprenotazione e televendita, mediante i quali effettuare prenotazioni e acquistare beni per via elettronica. Ma le applicazioni possibili sono vastissime: dalla teledidattica alla consultazione elettronica di archivi, alla richiesta e addirittura al rilascio di informazioni e documentazione alle amministrazioni. È evidente però che solo quando le infrastrutture del sistema-paese diventeranno operative sarà possibile un'offerta di servizi di questo tipo in maniera capillare e a costi - si spera - accessibili per fasce sempre più vaste della popolazione.
Nella fase attuale di trasformazione del mercato ci si trova di fronte a una sorta di circolo vizioso, nel quale la debolezza della domanda di servizi innovativi per il mondo degli individui è determinata dalla scarsa conoscenza e dalla limitatissima diffusione dei servizi stessi e, viceversa, l'immaturità della domanda induce gli operatori dell'offerta a un'estrema cautela negli investimenti. Si può dunque ragionevolmente prevedere che, nel breve periodo, il mercato dei servizi rivolto all'individuo continuerà a rappresentare un segmento di dimensioni ridotte, almeno fino a che gli investimenti per la realizzazione delle infrastrutture di comunicazione non saranno incentivati da interventi di tipo normativo da parte dei governi dei vari paesi.
Mentre le aziende possono disporre di tecnologie all'avanguardia a prezzi sempre più bassi, non è chiaro come ciò possa tradursi in aumento della competitività. Da un lato, infatti, la velocità dei progressi delle tecnologie hardware è molto maggiore della capacità di adeguamento del software per rendere possibile l'utilizzo effettivo di potenze sempre più grandi; dall'altro lato i tempi di adeguamento delle risorse umane sono ancora più lenti. Quest'ultimo aspetto rappresenta l'anello debole della catena: il non allineamento fra risorse tecnologiche e risorse umane non rappresenta un fenomeno nuovo, ma oggi ha assunto proporzioni tali da richiedere un'attenta riflessione. Infatti non si tratta semplicemente di diffondere conoscenze relative all'utilizzo delle nuove tecnologie, bensì di assimilare modelli di operatività assolutamente nuovi. Il rapporto tra disponibilità di tecnologie e competitività sarà sempre più mediato da un terzo elemento, le risorse umane, che divengono la variabile critica nel determinare l'efficacia delle nuove tecnologie a supporto dei processi aziendali.
Volendo poi considerare il sistema-paese come una grande azienda, queste problematiche acquistano una valenza particolare: da una parte si profila un mercato di dimensioni eccezionali, per il gran numero di applicazioni che nella pubblica amministrazione potrebbero trarre beneficio dalla telematica; dall'altra non si può ignorare il problema dell'aggiornamento professionale delle persone. Inoltre, la telematica potrà rendere più efficienti quelle procedure amministrative che sono già efficaci, ma non potrà da sola dare efficacia a quelle che non l'hanno. Occorre, pertanto, non solo provvedere a un incremento degli investimenti in telematica nella pubblica amministrazione, ma anche a un totale ripensamento delle procedure, esattamente come si fa nelle aziende industriali, puntando al decentramento, all'autonomia e alla responsabilizzazione.
6. La politica europea per le tecnologie dell'informazione e della comunicazione
a) Progetti per l'anno 2000
Nel 1994 sono stati pubblicati tre importanti documenti di valenza europea: il Libro Bianco dell'Unione Europea, che porta la firma dell'allora presidente Delors; un documento sull'Europa e la società dell'informazione globale, noto come Rapporto Bangemann; il Quarto programma quadro di ricerca e sviluppo dell'Unione Europea.
Il titolo completo del primo documento è: Crescita, competitività, occupazione: le sfide e le vie da percorrere per entrare nel XXI secolo. Cosa abbia spinto a stilare il Libro Bianco è detto nel primo paragrafo (v. Commissione Europea, 1994, p. 9): ‟la disoccupazione. Si conosce l'ampiezza, si conoscono le conseguenze di questo fenomeno. Affrontarlo è arduo, come insegna l'esperienza [...]. Non esistono rimedi miracolosi: non il protezionismo, che sarebbe rovinoso per l'Unione Europea [...] non la fuga in avanti economica destinata a provocare inflazione [...] non la riduzione generalizzata dell'orario di lavoro [...] non la drastica diminuzione dei salari, né tagli dolorosi alla protezione sociale per allinearci ai nostri concorrenti in via di sviluppo: socialmente inaccettabile, politicamente insostenibile, questa soluzione non farebbe che aggravare la crisi facendo calare la domanda interna, anch'essa fattore di crescita e di mantenimento di posti di lavoro".
Non c'è dubbio che lo scenario attuale sia profondamente cambiato rispetto a quello di pochi anni fa. Sono emersi nuovi concorrenti, nuovi mercati e nuovi problemi: basti pensare all'Est europeo con i suoi 120 milioni di abitanti; alla popolazione che sta invecchiando; alla struttura della famiglia che muta; alla nuova rivoluzione industriale che è in corso e che provoca rapide trasformazioni nelle tecniche, nei profili professionali, nelle competenze; all'economia che si smaterializza, dominata com'è dai servizi. In questo contesto il possesso dell'informazione diventa decisivo.
Al centro del problema vi è - come già sottolineato - la disoccupazione, che si manifesta in tre forme diverse: una disoccupazione congiunturale, legata all'incremento demografico, che si traduce in una maggior offerta di manodopera dello 0,5% l'anno; una disoccupazione strutturale, che in gran parte dipende dalla scarsa flessibilità interna ed esterna dell'impresa e dalla rigidità del mercato del lavoro; una disoccupazione tecnologica, problema vecchio quanto la stessa società industriale ‟che ha continuato a trasformarsi integrando, non senza scosse, il progresso tecnico. Eppure sembra che esso stia per acquisire una dimensione diversa. Non che nelle imprese il progresso tecnologico elimini più posti di lavoro di quanti ne crei: la situazione dell'occupazione, ad esempio, è in media più favorevole nelle imprese che hanno introdotto l'uso della microelettronica che in quelle che non vi fanno ricorso. Ma resta il fatto che stiamo attraversando, ancora una volta, un periodo in cui si produce una sfasatura tra la velocità del progresso tecnico - il quale verte essenzialmente sul come produrre (processi di fabbricazione e organizzazione del lavoro) ed è pertanto spesso distruttore di posti di lavoro - e la nostra facoltà di prevedere le nuove esigenze (individuali o collettive) o i nuovi prodotti che potrebbero rappresentare nuovi bacini di impiego. Eppure, questi progressi offrono delle opportunità per la crescita e l'occupazione. A condizione di dare un indirizzo al nostro modello di sviluppo" (ibid., p. 11).
La ricetta dell'Unione Europea contro la piaga della disoccupazione - occorre creare 15 milioni di posti di lavoro entro la fine del secolo! - si basa su un'economia sana, aperta, competitiva, solidale, decentrata, che si appoggi alle nuove tecnologie dell'informazione. A questo riguardo il Libro Bianco accetta in pieno l'idea delle ‛autostrade delle informazioni', delle quali auspica la costruzione in quanto grandi infrastrutture di base, al pari dei nuovi grandi collegamenti fisici destinati a rendere l'Europa più vicina (trafori, ferrovie, strade, aeroporti); contemporaneamente vede nell'istruzione e nella formazione - continua, lungo tutto l'arco della vita - il mezzo principale per ottenere e mantenere quella professionalità personale che da sola non garantisce l'occupazione, ma senza la quale non c'è possibilità di entrare nel mondo del lavoro, o di rientrarvi, una volta che se ne sia stati espulsi per uno dei tanti inevitabili processi di ristrutturazione.
Il piano d'azione suggerito è articolato su più assi di sviluppo: il primo è proprio quello legato alle reti d'informazione, che si concreta in nove progetti strategici relativi alle reti fisiche, allo sviluppo dei servizi, alle applicazioni: 1) creazione di una rete di comunicazione a grande velocità di trasmissione; 2) consolidamento della rete digitale di servizi integrati; 3) accesso elettronico all'informazione; 4) posta elettronica; 5) immagini elettroniche: servizi video interattivi; 6) telelavoro; 7) teleamministrazione; 8) teleinformazione; 9) telemedicina. Gli investimenti necessari per il quadriennio 1995-1999 sono stimati in 67 miliardi di ECU.
b) Programmi generali
Questo piano d'azione, pur essendo alquanto articolato, necessita ancora di molto lavoro per tradursi in progetti concreti. Per facilitare questo processo, nei mesi immediatamente successivi alla pubblicazione del Libro Bianco, si è costituito un gruppo di lavoro che ha prodotto il Rapporto Bangemann con raccomandazioni specifiche e proposte di iniziative concrete. ‟Oggi la tecnologia è in cerca di applicazioni. Contemporaneamente, per una serie di problemi, le società sono alla ricerca di soluzioni basate su di un'informazione intelligente. Pur convinti della necessità di lasciare le forze di mercato libere di agire, dobbiamo prendere atto che una maggiore concorrenza non basterà da sola a produrre la massa critica necessaria per attivare gli investimenti nelle nuove reti e nei nuovi servizi. Potremo creare un circolo virtuoso dell'offerta e della domanda solo se in tutt'Europa verrà avviato, per sondare il mercato, un gran numero di applicazioni basate sulle reti e sui servizi d'informazione, con l'obiettivo di creare una massa critica. Le iniziative, sotto forma di applicazioni sperimentali, costituiscono il mezzo più efficace per affrontare il problema della crescita troppo lenta della domanda e dell'offerta. Tali iniziative hanno una funzione dimostrativa che contribuirà a promuoverne il più vasto impiego; possono servire ai fornitori, quale iniziale sondaggio per adattare più efficacemente le applicazioni alle esigenze dei consumatori, e sono in grado di stimolare gli utilizzatori avanzati, ancora poco numerosi in Europa rispetto agli Stati Uniti" (v. Commissione Europea, 1994, p. 23). Le applicazioni proposte per lanciare la società dell'informazione si collocano nelle seguenti aree: a) telelavoro; b) insegnamento a distanza; c) reti tra università e centri di ricerca; d) servizi telematici per le piccole e medie imprese; e) gestione del traffico stradale; f) controllo del traffico aereo; g) reti nel settore della sanità; h) informatizzazione delle gare d'appalto; i) reti transeuropee delle pubbliche amministrazioni; l) autostrade urbane dell'informazione.
Soffermiamoci in dettaglio sulle prime due, per dare anche un'idea del livello di approfondimento dei progetti. L'applicazione del telelavoro mira a creare maggiore e nuova occupazione in una società caratterizzata dalla mobilità, rispondendo a una serie di domande. ‟Che cosa si dovrà fare?": la risposta è promuovere il telelavoro a domicilio e in uffici decentrati, affinché i pendolari non siano più obbligati a effettuare lunghi percorsi per recarsi al lavoro. Dai posti di lavoro ci si potrà collegare per via elettronica a ogni ambito professionale desiderato, indipendentemente dal sistema utilizzato. ‟Chi lo farà?": se gli operatori delle telecomunicazioni renderanno disponibili le reti necessarie a prezzi competitivi, il settore privato creerà nuove imprese di servizi per fornire l'assistenza necessaria per il telelavoro. ‟Chi ne trarrà vantaggio?": le imprese e le pubbliche amministrazioni trarranno vantaggio dall'accresciuta produttività, dalla maggior flessibilità e dalla diminuzione dei costi. Il più vasto pubblico vedrà diminuire l'inquinamento e la congestione del traffico, nonché i consumi energetici. I lavoratori potranno approfittare di condizioni di lavoro più flessibili, a vantaggio soprattutto di coloro sui quali gravano impegni domestici; per gli abitanti delle zone periferiche, la diminuzione delle distanze andrà a favore della coesione. ‟Quali problemi potranno derivarne?": si dovranno comunque affrontare i problemi legati alle minori occasioni di contatto e di promozione sociale; si dovrà valutare l'impatto sulla legislazione del lavoro e sulla sicurezza sociale. ‟Quale obiettivo si potrà raggiungere?": creare 10 milioni di posti di telelavoro per il 2000, con la speranza che, almeno per una parte, si tratti di nuovi posti di lavoro.
Le risposte alla stessa serie di domande dovrebbero permettere di raggiungere anche l'obiettivo che si prefigge l'insegnamento a distanza, e cioè la formazione permanente per una società in evoluzione continua. ‟Che cosa bisogna fare?": promuovere la creazione di centri di formazione a distanza, che forniscano materiale didattico, formazione e supporto specifico per le piccole e medie imprese, le grandi aziende e le pubbliche amministrazioni; estendere alle scuole le tecniche più avanzate dell'insegnamento a distanza. ‟Chi lo deve fare?": dal momento in cui disporrà delle reti necessarie a prezzi concorrenziali, l'industria creerà nuove imprese che garantiranno servizi di insegnamento a distanza per la formazione professionale. La Commissione Europea deve agire a favore di norme di qualità per i programmi e i corsi e contribuire a creare un contesto favorevole. I fornitori del settore privato e le pubbliche autorità faranno la loro comparsa sul mercato dell'insegnamento a distanza, offrendo a prezzi abbordabili programmi e repertori di informazioni interattivi in rete, su CD-I e su CD-ROM. ‟Chi ne trae vantaggio?": le imprese (soprattutto quelle piccole e medie) e le pubbliche amministrazioni, grazie alla riduzione dei costi e all'ottimizzazione di risorse preziose per la formazione e per l'insegnamento; tutti coloro che desiderano aggiornare le proprie competenze grazie a programmi di formazione permanente; le persone costrette in casa e gli abitanti delle zone periferiche; gli studenti, che potranno avvalersi di un insegnamento di migliore qualità. ‟Quali problemi potranno derivarne?": è necessario un reale impegno per preparare i responsabili della formazione e diffondere la conoscenza dell'informatica nel corpo insegnante. ‟Quale obiettivo si potrà raggiungere?": insegnamento a distanza attivato nel 10% delle piccole e medie imprese e nelle pubbliche amministrazioni in tempi brevissimi; inoltre ampie campagne di sensibilizzazione presso le associazioni professionali e le autorità in materia d'insegnamento, per aumentare di molto questa percentuale nel 2000.
c) Azioni concrete
Nel febbraio del 1995 si sono riuniti a Bruxelles i ministri dell'Economia, dell'Industria, delle Telecomunicazioni, della Cultura dei paesi dell'Unione Europea, insieme ai capi delle quaranta principali aziende elettroniche e dell'informazione, per varare una serie di provvedimenti volti a facilitare l'ingresso nel mercato delle nuove tecnologie. Lo schema di riferimento è quello del Rapporto Bangemann: applicazioni pilota e incentivazione delle iniziative industriali di tipo privato. Il tema dominante è stato quello della multimedialità, in senso lato. La società dell'informazione globale, il mondo intero su di un piccolo schermo, l'uomo che scopre l'ubiquità: una rivoluzione socioeconomica che potrebbe cambiare tempi e modi della vita, del lavoro e della comunicazione, una rivoluzione superiore a quella provocata da Gutenberg con l'invenzione della stampa. L'America è già partita; il Giappone sta varando un progetto da mille miliardi di dollari (quasi quanto l'intero deficit dell'Italia!) per creare una rete nazionale di comunicazione a larga banda su fibra ottica che entro quindici anni dovrebbe raggiungere ogni nucleo privato familiare, creando oltre 2 milioni di nuovi posti di lavoro e facendo balzare alle stelle il fatturato dell'industria multimediale. In questo contesto a Bruxelles sono stati approvati i seguenti undici progetti pilota che, con l'obiettivo di creare nuovi posti di lavoro, dovrebbero aprire la strada verso mercati reali.
1) Banca dati globale. Lo scopo è di creare un archivio comune delle esperienze finora accumulate che sia facilmente accessibile con le tecniche multimediali. Verrà fatto un inventario dei progetti internazionali e regionali per la promozione e lo sviluppo della moderna società dell'informazione.
2) Standard a banda larga. Si tratta di fare in modo che computers, reti e servizi possano comunicare senza diaframmi tecnici. Da qui la necessità di concordare standard e collegamenti tra i diversi networks ad alta velocità.
3) Formazione per le piccole aziende. L'iniziativa propone approcci innovativi nei sistemi di formazione per le aziende di minore dimensione.
4) Biblioteca elettronica. Si tratta di costruire una biblioteca virtuale utilizzando testi digitali, in modo che possano essere consultati da tutti per via telematica.
5) Museo elettronico. Si mira a mettere a disposizione di scuole e università l'accesso telematico ai capolavori artistici esistenti nei musei di tutto il mondo attraverso la traduzione in linguaggi e immagini multimediali dei principali capolavori.
6) Ambiente e difesa ecologica. Verrà realizzata un'integrazione dei dati esistenti a livello mondiale.
7) Gestione delle catastrofi e delle emergenze. Una specie di ‛protezione civile' telematica a livello internazionale in grado di dare risposte rapide alle emergenze naturali.
8) Telemedicina. Il progetto prevede applicazioni a livello globale per la prevenzione delle malattie.
9) Reti delle amministrazioni pubbliche. Si tratta di mettere in linea i governi aprendo alle aziende private e ai cittadini i sistemi informatici delle amministrazioni pubbliche.
10) Globalizzazione delle imprese minori. L'obiettivo è quello di contribuire allo sviluppo delle piccole e medie aziende attraverso lo scambio di informazioni commerciali telematiche.
11) Comunicazioni marittime. Il progetto vuole incrementare la produttività delle attività marittime attraverso lo sfruttamento delle informazioni scambiate per via telematica e satellitare.
d) Il ‛Quarto programma quadro'
Il terzo importante documento pubblicato nel 1994 è relativo al ‛Quarto programma quadro'. Con questo documento si passa dalle parole ai fatti, dai concetti alle realizzazioni. Il programma stabilisce obiettivi e finanziamenti e costituisce la base per i bandi di gara: a questo riguardo è interessante notare che sul totale dei fondi previsti nel quadriennio, il 45% è relativo alla telematica e alle tecnologie dell'informazione, a conferma dell'attenzione che l'Unione Europea riserva a questi argomenti. In particolare, il programma ‛telematica' riguarda i seguenti temi: a) telematica per i servizi di pubblico interesse (amministrazione, sanità, trasporti): le ricerche verteranno su scambi di informazione tra amministrazioni, sulla telemedicina, sulla realizzazione di schedari medici multimediali e sui sistemi di gestione dei trasporti; b) telematica per la conoscenza (ricercatori, biblioteche, istruzione e formazione a distanza), con l'obiettivo di permettere a quanti si occupano del sapere di consultare, comunicare e modificare alcune categorie di conoscenze; c) telematica per l'occupazione e per il miglioramento delle condizioni della vita (fasce sociali svantaggiate, zone urbane e rurali, protezione dell'ambiente): in questo settore l'attività riguarderà soprattutto la realizzazione di ausili audiovisivi e di interfacce atte a consentire agli anziani e agli handicappati di partecipare in maniera più completa alla vita economica e sociale, lo sviluppo del telelavoro e dei teleservizi, la messa a punto di sistemi di sorveglianza e di allarme al servizio dell'ambiente.
I temi del programma ‛tecnologie dell'informazione' sono i seguenti: a) tecnologie del software: mirano a dotare l'Unione di una notevole capacità produttiva di software, costo principale di un sistema informatico, grazie a ricerche sui nuovi metodi di programmazione e all'elaborazione di sistemi intelligenti; b) tecnologie destinate a componenti e sottosistemi basati sulla tecnologia dell'informazione: la ricerca sui componenti (semiconduttori, microsistemi integrati, periferici, schermi piatti, ecc.) deve contribuire ad anticipare i prossimi cambiamenti tecnologici degli elaboratori; c) tecnologie multimediali: si mira a sviluppare tecnologie che consentano di creare, manipolare e immagazzinare informazioni multimediali (compressione di immagini, softwares specifici, ecc.).
Da queste indicazioni sembra che i programmi di finanziamento siano in linea con le raccomandazioni contenute nel Rapporto Bangemann per promuovere l'introduzione delle nuove tecnologie sul mercato, per sperimentarle concretamente e per creare posti di lavoro.
7. Prospettive
Partendo dal concetto di un matrimonio inevitabile tra informatica e telecomunicazione molti hanno buttato il cuore troppo in avanti e si sono immaginati un futuro tecnologico che probabilmente non si avvererà. In realtà i documenti programmatici europei sono molto prudenti e dicono chiaramente che il problema non è tanto tecnologico quanto applicativo. La tecnologia ha già disponibile nei laboratori tutto quello che serve per trasmettere e ricevere su larga banda, via cavo o satellite. Si tratta di tradurre le soluzioni dei laboratori in realtà operative, cioè occorre stendere cavi, installare centrali numeriche di nuova concezione, lanciare satelliti, dotare le abitazioni di nuovi tipi di PC tuttofare (computer + telefono + fax + segreteria + televisore digitale + hi-fi + archivio + macchina per scrivere a comando vocale + controllore degli impianti di casa, ecc.): tutto ciò esige investimenti ingentissimi da parte delle imprese e somme non indifferenti anche da parte dei privati. Ma per fare che cosa? E qui sorgono i dubbi maggiori. Infatti nessuna delle applicazioni finora immaginate - e comunque ancora da sperimentare - è in grado di giustificare le spese necessarie per realizzarla. È la prima volta nella storia della società industriale che si programmano investimenti per un mercato che ancora non c'è. Certo è che con simili prospettive può apparire temerario impegnare ingenti capitali in infrastrutture telematiche di cui non si vede ancora un'utilizzazione. Si impone una gradualità di intervento, e su questo non vi sono dubbi. Nel frattempo occorre accelerare al massimo la disponibilità, tecnica ed economica, delle tecnologie più semplici - tipo ISDN - per rendere possibili, almeno parzialmente, alcune delle nuove applicazioni, passo indispensabile per affrontare quello più impegnativo delle autostrade telematiche. L'esempio americano ci suggerisce di non porre freni tecnologici che possano rallentare lo sviluppo del mercato. Non resta che prendere dunque quanto di buono è contenuto nei programmi europei, ai quali si vanno collegando anche i programmi nazionali, così da affrontare in modo costruttivo la sfida per favorire la nascita di nuovi mercati e la creazione di nuovi posti di lavoro, anche per mezzo delle tecnologie dell'informazione.
BIBLIOGRAFIA
ASSINFORM (Associazione costruttori macchine, attrezzature per ufficio e per il trattamento delle informazioni), Rapporto sull'informatica e le telecomunicazioni, Milano 1995 ss.
Bracchi, G., Illuzzi, S., Mainetti, S., Gli investimenti informatici: costi e ritorni nelle aziende italiane, Milano 1993.
Commissione Europea, Crescita, competitività, occupazione: le sfide e le vie da percorrere per entrare nel XXI secolo, Lussemburgo 1994.
Commissione Europea, L'Europa e la società dell'informazione globale. Raccomandazioni al Consiglio Europeo, Bruxelles 1994.
Digital Equipment Co., Annual report, Maynard, Mass., 1995 ss.
FINSIEL (Finanziaria per i Sistemi Informativi Elettronici), Rapporto di gruppo e bilancio consolidato, Roma 1995 ss.
Fondazione IBM Italia, ‟IF", Milano 1994 ss.
FTI (Forum per la Tecnologia della Informazione), La tecnologia della informazione in Italia: rapporto, Roma 1994.
Gates, B., The road ahead, New York 1995 (tr. it.: La strada che porta a domani, Milano 1995).
Hewlett-Packard Co., Annual report, Palo Alto, Cal., 1995 ss.
IBM (International Business Machines Co.), Annual report, Armonk, N. Y., 1995 ss. ‟Media Duemila", Torino 1994 ss.
Microsoft Co., Annual report, Redmond, Wash., 1995 ss.
Migli, P., Protettì, C., L'informazione elettronica verso il duemila, Torino 1994.
Protettì, C., Bit e parole, Torino 1996.
Software di Stefano Ceri e Alfonso Fuggetta
Sommario: 1. Il ruolo del software. 2. Le aree tecnologiche: a) algoritmi e strutture dei dati; b) architetture; c) intelligenza artificiale, visione e robotica; d) elaborazione numerica; e) basi di dati e reperimento dell'informazione; f) grafica con il computer; g) interazione uomo-macchina e multimedialità; h) sistemi operativi e reti; i) linguaggi di programmazione; l) ingegneria del software. 3. I dominî applicativi: a) sistemi informativi; b) sistemi di controllo; c) strumenti di produttività personale; d) istruzione assistita dal computer; e) progettazione e produzione assistita dal computer; f) sistemi per la comunicazione e l'interazione virtuale. □ 4. Il futuro del software. □ Bibliografia.
1. Il ruolo del software
Una classificazione diffusa delle attività informatiche si basa sulla dicotomia tra hardware e software. Il termine hardware si riferisce ai dispositivi fisici che consentono di memorizzare ed elaborare l'informazione: i processori, le interconnessioni, i chips di memoria; per contrapposizione, il termine software si riferisce all'insieme di istruzioni che consentono di comandare tali dispositivi fisici. Lo sviluppo impetuoso dell'informatica è dovuto agli straordinari progressi sia nel settore dell'hardware che in quello del software. I costruttori di hardware possono vantare, tra i loro successi, la crescita esponenziale della velocità di calcolo dei processori, che raddoppia ogni due anni; ma i produttori di software possono vantare la crescita, anch'essa esponenziale, del numero di applicazioni e di utenti dei sistemi informatici (in maggioranza non specialisti). E se l'evoluzione dell'hardware ha portato ad architetture sempre più complesse dei sistemi informatici, caratterizzate dalla interconnessione degli elaboratori in rete, l'evoluzione del software ha portato a una non meno complessa architettura di istruzioni e comandi, espressi tramite un gran numero di formalismi e linguaggi, che consentono un'interazione cosiddetta ‛amichevole' (friendly) dell'utente con la macchina; i dispositivi fisici interni, invece, gestiscono codifiche dell'informazione costituite da sequenze di 0 e 1, assai poco comprensibili.
In termini più formali, il software descrive algoritmi, cioè sequenze di istruzioni che, se eseguite da opportuni dispositivi, portano allo svolgimento di compiti. L'obiettivo di arrivare a effettuare calcoli specificandoli sotto forma di algoritmi e facendoli poi eseguire in modo meccanico da macchine calcolatrici primordiali ha caratterizzato l'attività di molti pensatori, tra i quali ricordiamo Pascal, Leibniz e Charles Babbage, ritenuti i precursori della scienza informatica. I primi elaboratori elettronici, realizzati verso la metà degli anni cinquanta, venivano comandati posizionando interruttori e cavi in modo manuale; ma ben presto ci si rese conto che la specifica degli algoritmi doveva essere svolta in modo più comodo e prescindendo dalla particolare struttura fisica dell'hardware. Nascevano così i primi linguaggi di programmazione, cioè formalismi astratti e non ambigui con cui descrivere algoritmi a un elaboratore.
Nel corso dell'evoluzione dell'informatica, il ruolo del software si è progressivamente modificato. Inizialmente al software veniva attribuito esclusivamente il compito di descrivere algoritmi di calcolo, ma poi si comprese che esso poteva anche gestire l'elaboratore. Nacquero così i primi sistemi operativi, e si sviluppò allo stesso tempo la consapevolezza che il software si suddivide in software di sistema, dedicato alla gestione delle risorse informatiche, e software applicativo, dedicato alla gestione di specifiche esigenze.
I linguaggi di programmazione si sono differenziati a seconda del carattere predominante delle applicazioni informatiche per cui venivano creati: si sono così sviluppati linguaggi dedicati al calcolo matematico (tra cui il FORTRAN), oppure alla gestione dei dati (fra cui il COBOL), oppure alla manipolazione di simboli finalizzata a svolgere ragionamenti e deduzioni (tra cui il LISP e il PROLOG), oppure alla scrittura di software di sistema (tra cui il C e il C+ +), oppure alla realizzazione di interfacce utenti (fra cui Java). La specifica di nuove applicazioni informatiche ha portato alla nascita di sistemi software dedicati - ad esempio i sistemi per la gestione delle basi di dati, i sistemi di video-scrittura, i fogli elettronici, i gestori di posta elettronica - che si collocano a metà fra software applicativo e software di sistema. Quest'ultimo si è andato via via adattando alla crescente complessità dei sistemi informatici, mascherandone la struttura e la complessità; il risultato più tangibile di questa evoluzione è rappresentato dallo sviluppo di Internet, una rete internazionale che connette milioni di calcolatori e che consente lo scambio di informazioni in un contesto globale.
Seguire l'evoluzione del software durante la sua pur breve storia, nel corso degli ultimi quarant'anni, sarebbe certamente molto interessante e avvincente, anche perché in questi anni si è via via sviluppato il confronto tra intelligenza naturale dell'uomo e intelligenza artificiale dell'elaboratore, e si sono meglio comprese le straordinarie potenzialità ma anche le necessarie limitazioni del pensiero artificiale rispetto a quello naturale. Abbiamo optato piuttosto per una descrizione che illustri al lettore cosa è il software oggi, in termini sia tecnologici sia applicativi, e cosa ci si può attendere dal software nell'immediato futuro.
2. Le aree tecnologiche
Un'analisi sistematica del software da un punto di vista tecnologico richiede innanzitutto una suddivisione dell'informatica in aree disciplinari. Useremo nel seguito la tassonomia proposta da Tucker e Wegner (v., 1996), con l'avvertenza che qualunque tentativo di sistematizzazione di un settore in forte evoluzione si presta a rischi di rapida obsolescenza e di eccessiva semplificazione. La suddivisione proposta prevede dieci aree disciplinari, descritte nel seguito.
a) Algoritmi e strutture dei dati
Questo settore dell'informatica studia la teoria degli algoritmi e delle strutture dei dati (v. anche informatica: Algoritmi e strutture dei dati, vol. VIII). Si tratta di un'area trasversale che trova applicazione in tutte le altre aree disciplinari, e la cui importanza è ben sintetizzata dalla notissima espressione di Wirth: algoritmi + strutture dati = programmi. Tale teoria consente di classificare gli algoritmi in base alla loro complessità, cioè al tempo richiesto per la loro esecuzione. In genere, la dimensione di un problema viene espressa tramite un numero n che misura la cardinalità dell'insieme dei valori su cui l'algoritmo deve operare; la complessità viene espressa come una funzione f (n). Se f è una funzione polinomiale, il problema viene classificato come trattabile, cioè risolubile in un tempo comunemente accettabile; viceversa, se f è una funzione esponenziale, il problema è definito come intrattabile. Si noti che conta soltanto il tipo della funzione che esprime la complessità: ad esempio, non sono significative le costanti che possono essere presenti in f. Un problema molto studiato è l'ordinamento di n valori, per il quale esistono algoritmi di complessità n2, ma anche algoritmi più efficienti di complessità n log n; si noti che in questa formula la base usata nel logaritmo è inessenziale.
Il principale dilemma che ha caratterizzato gli ultimi anni - e che è tuttora insoluto - riguarda la caratterizzazione di una vasta classe di problemi, detti problemi NP-completi, o NPC (v. informatica: Matematica numerica, vol. VIII), tutti della stessa complessità, per i quali si congettura che non esista un algoritmo risolutivo di complessità polinomiale; si tratterebbe cioè di una classe di problemi intrattabili (v. Papadimitriou, 1994). I problemi intrattabili vengono spesso affrontati tramite tecniche euristiche, nelle quali cioè si rinuncia a determinare la soluzione ottimale del problema e si accetta una sua soluzione subottimale, purché ricavata efficientemente. Un classico problema NP-completo, per esempio, è stabilire il cammino più breve che attraversa tutte le località interconnesse da una rete stradale.
Le strutture dei dati possono essere viste come contenitori di dati associati a un repertorio di operazioni che consente di estrarre informazioni oppure di modificare il contenuto dei dati stessi; le proprietà caratteristiche delle strutture dei dati sono, oltre alla loro efficienza, anche la semplicità e la facilità della loro utilizzazione; esse realizzano in modo concreto, cioè sul calcolatore, un concetto formale detto ‛tipo di dato astratto' (ADT, Abstract Data Type), cioè un tipo di dato al quale viene associata una specifica formale che include l'insieme delle operazioni a esso applicabili. Nel progetto ottimale delle strutture dei dati, si considerano lo spazio occupato (dimensioni della struttura) e il tempo di elaborazione (complessità di calcolo), che spesso richiedono requisiti progettuali contrapposti; inoltre, le considerazioni relative all'efficienza di elaborazione vanno spesso mediate in un contesto concreto, ove anche le costanti ritenute inessenziali dal punto di vista teorico possono essere molto significative; un tipico esempio è rappresentato dallo studio di strutture dei dati residenti nelle memorie di massa (dischi), per le quali le considerazioni di complessità, normalmente riferite alla memoria centrale, vanno rivedute e corrette.
La geometria computazionale (v. Preparata e Shamos, 1985), che studia la complessità dei problemi geometrici, si è recentemente imposta come disciplina autonoma nell'ambito dell'analisi degli algoritmi; essa viene applicata in molteplici campi dell'informatica, tra cui il riconoscimento di immagini, la grafica con il calcolatore, la visione dei robot, e così via. In questo settore, si è sviluppata una nuova classe di algoritmi, detti algoritmi randomizzati (v. Welsh, 1983), caratterizzati dall'uso della scelta di numeri generati in modo casuale per influenzare l'evoluzione della valutazione. In tal modo, l'esito dell'esecuzione di un algoritmo sullo stesso insieme di dati può variare; la valutazione della complessità richiede l'uso di tecniche basate sul calcolo della probabilità. Alcune tra le più classiche applicazioni della geometria computazionale includono la determinazione dei punti più vicini in un insieme di punti (di complessità n log n), la ricerca di intersezioni fra figure geometriche e l'appartenenza di un punto a una regione sul piano o nello spazio.
b) Architetture
Il settore delle architetture non dovrebbe rientrare tra gli argomenti di questo articolo, in quanto esso si occupa delle tecniche di progettazione dei componenti hardware. È opportuno però puntualizzare che il progetto delle architetture ha anche un importante componente di software; in realtà uno degli aspetti principali del progetto dei dispositivi elettronici è proprio la scelta del confine fra hardware e software: alcune funzioni possono essere realizzate direttamente dall'hardware, oppure da uno strato di software immediatamente eseguibile sull'hardware. Infatti, il confine tra questi due settori non è nitido - come forse poteva apparire nel capitolo introduttivo - anzi, è alquanto sfumato. Una recente disciplina, detta ‛coprogettazione di hardware e software', si occupa proprio di stabilire come realizzare un dispositivo a fronte di una specifica astratta, studiando il modo migliore di distribuire le sue funzionalità fra hardware e software.
Il software ha un'enorme importanza anche nell'ambito della progettazione delle architetture; in particolare, il progetto dei circuiti integrati su larga scala (VLSI, Very Large Scale Integration) viene affrontato servendosi di strumenti software di ausilio alla progettazione. Uno dei tipici problemi di progetto del VLSI è quello del posizionamento ottimale dei componenti e delle loro interconnessioni sul piano (v. Lengauer, 1990), che comprende aspetti di geometria computazionale; questi problemi vengono spesso risolti in modo euristico, partendo da soluzioni inefficienti che vengono progressivamente migliorate.
c) Intelligenza artificiale, visione e robotica
L'intelligenza artificiale si occupa di costruire modelli del comportamento umano e animale, riproducendolo con il calcolatore (v. informatica: Intelligenza artificiale, vol. VIII). Si tratta dell'obiettivo più ambizioso e nel contempo più arduo di tutta l'informatica, ben sintetizzato nella famosa formulazione del problema proposta dal matematico Alan Turing, uno dei padri dell'informatica: una macchina avrà pienamente raggiunto lo scopo di simulare il comportamento umano solo se sarà impossibile, per un osservatore, capire se egli stia interagendo con una intelligenza naturale o artificiale. Tra i problemi classici dell'intelligenza artificiale particolare importanza rivestono quelli relativi alla comprensione del linguaggio naturale e alla rappresentazione della conoscenza; nel settore della robotica, quello che studia la capacità di riprodurre la visione e il movimento da parte di un robot.
Data la difficoltà dei compiti dell'intelligenza artificiale, si è assistito nel passato a un alternarsi di successi e insuccessi, col rischio di passare dall'euforia allo scoraggiamento. Ad esempio, far giocare a palla un robot resta un obiettivo remoto, ma recentemente il calcolatore Deep Blue è riuscito a vincere una sfida a scacchi col campione mondiale Kasparov. Sul fronte dei successi, i ‛sistemi esperti', capaci di operare in un contesto semantico limitato - il dominio della loro esperienza - hanno in effetti raggiunto risultati significativi nell'imitare il processo cognitivo e decisionale proprio della mente umana; la robotica ha permesso lo sviluppo impetuoso della cosiddetta ‛fabbrica automatizzata', in cui i robot sostituiscono il lavoro manuale ripetitivo. Le nuove frontiere della robotica richiedono che i robot siano dotati di sofisticate capacità di pianificazione e controllo (v. Dean e Wellman, 1991), in modo da eseguire compiti complessi che puntino al perseguimento di obiettivi.
Fra le aree emergenti dell'intelligenza artificiale spiccano le reti neurali e gli algoritmi genetici. Una rete neurale (v. Bishop, 1995) è essenzialmente un grafo, i cui nodi sono caratterizzati da un valore numerico; i valori subiscono trasformazioni dovute alla valutazione di algoritmi. Taluni nodi vengono indicati come nodi di ingresso, oppure di uscita, e questo consente di interpretare l'intera rete come una funzione dai valori di ingresso ai valori di uscita; i valori numerici associati agli archi (detti ‛pesi') vengono progressivamente adattati tramite algoritmi di apprendimento, che premiano i ‛buoni comportamenti' della rete applicata a problemi di allenamento. Le applicazioni di maggior successo delle reti neurali sono, ad esempio, quelle di riconoscimento della scrittura manuale o delle immagini in campo medico.
Gli algoritmi genetici (v. Mitchell, 1996) si basano sull'idea di simulare il comportamento genetico di una popolazione. Si affronta l'interpretazione di ciascun individuo, rappresentato come una sequenza di bit, analogamente alla soluzione di un problema. Gli individui più adatti vengono progressivamente selezionati, ma il processo di selezione è seguito, come in natura, dalla diversificazione genetica, introdotta con algoritmi che simulano mutazioni e crossing-over genetici; si generano così altri individui, potenzialmente più adatti dei precedenti a risolvere il problema. Gli algoritmi genetici si applicano in modo particolarmente promettente all'ottimizzazione di funzioni matematiche che dipendono da molte variabili.
d) Elaborazione numerica
L'elaborazione numerica consente la risoluzione efficiente e accurata di sistemi di equazioni risultanti da modelli matematici, i quali a loro volta spesso consistono nell'applicazione delle leggi scientifiche fondamentali. Le tecniche di elaborazione numerica si applicano con particolare successo, ad esempio, alla simulazione del comportamento dinamico dei fluidi - che consente di valutare il comportamento di aeroplani e sottomarini - oppure allo studio dell'elettromagnetismo, un campo nel quale nuovi metodi hanno permesso di conseguire grandi progressi nella risoluzione delle equazioni di Maxwell nello spazio e nel tempo. Tra i nuovi problemi di tipo numerico, ricordiamo in particolare lo studio del genoma umano, in cui il calcolatore è protagonista della ricerca e del ‛mappaggio' di geni e marcatori genetici; l'elaborazione numerica è coadiuvata dall'uso di tecniche per la visualizzazione tridimensionale delle sequenze di DNA e delle molecole (v. Waterman, 1995).
e) Basi di dati e reperimento dell'informazione
La gestione dei dati è il settore economicamente più rilevante dell'informatica; tra le sue applicazioni tradizionali spiccano quelle bancarie, ove lo scambio di dati ha sostituito la circolazione del denaro. La responsabilità della gestione dei dati è affidata a sistemi software specifici, detti sistemi per la gestione di basi di dati (DBMS, Data Base Management System), capaci di gestire in modo efficiente una grande mole di dati, condivisi tra più utenti. L'evoluzione delle basi di dati ha visto il succedersi di diverse tipologie di DBMS: dai sistemi gerarchici degli anni sessanta, ai sistemi reticolari degli anni settanta, ai sistemi relazionali degli anni ottanta (v. Atzeni e altri, 1996). Gli anni novanta hanno visto, accanto alla definitiva affermazione dei DBMS relazionali - così denominati da T. Codd perché ispirati al concetto di relazione matematica - lo sviluppo di una nuova classe di sistemi, detti basi di dati a oggetti (v. Bertino e Martino, 1992), che hanno recepito molte delle caratteristiche dei cosiddetti linguaggi di programmazione a oggetti.
La gestione operativa dei dati è compito delle transazioni (v. Gray e Reuter, 1993): si tratta di unità indivisibili di elaborazione, cui viene delegata l'affidabilità e la consistenza dei dati, che sono resistenti a guasti o malfunzionamenti del sistema. Sul piano tecnologico, gli anni novanta hanno visto l'affermarsi delle architetture distribuite e parallele; in particolare, l'uso di architetture multiprocessore massicciamente parallele migliora le prestazioni dei DBMS, espresse dal numero di transazioni eseguite al secondo. Tra le novità principali del settore si annovera lo sviluppo delle cosiddette ‛basi di dati attive' (v. Widom e Ceri, 1996), che, essendo caratterizzate da una reazione automatica alle operazioni di modifica sui dati, permettono, ad esempio, di lanciare in modo automatico transazioni di acquisto o vendita di titoli a fronte delle fluttuazioni del loro valore.
Il reperimento dell'informazione, tradizionalmente finalizzato alla ricerca e all'estrazione di testi in base a parole chiave, ha tratto straordinario impulso dallo sviluppo degli ipertesti (organizzazioni reticolari che consentono varie chiavi di lettura seguendo vari cammini d'accesso) e dei documenti multimediali (che integrano testi, immagini, video e audio). Gli ipertesti sono alla base del World Wide Web (WWW, oppure semplicemente Web), una straordinaria struttura ipertestuale e multimediale distribuita su milioni di elaboratori collegati dalla rete Internet. Le informazioni vengono raccolte in ‛pagine', e queste sono organizzate in ‛siti'; seguendo i cammini d'accesso tipici di un ipertesto, il lettore ‛naviga' fra i siti e accede a informazioni memorizzate sui diversi nodi di Internet. Il Web costituisce una piattaforma innovativa per lo sviluppo di applicazioni anche in settori o dominî che fino a oggi hanno beneficiato in modo solo marginale o non rilevante delle tecnologie informatiche, e ha di fatto modificato il paradigma di interazione e di ricerca delle informazioni: alcuni nodi della rete forniscono i cosiddetti ‛motori di ricerca', capaci di trovare i siti più ricchi di informazioni relative a determinate parole chiave. Il paradigma multimediale è anche alla base della realizzazione delle cosiddette biblioteche digitali, grandi raccolte di testi multimediali che, in un prossimo futuro, si affiancheranno alle biblioteche tradizionali.
f) Grafica con il computer
La grafica con il computer (v. Foley e altri, 1990), che si occupa della rappresentazione delle immagini, si è aggiunta di recente alle altre aree disciplinari dell'informatica. Tra i principali problemi della grafica con il calcolatore vi è la rappresentazione di immagini in tre dimensioni (3D) e di animazioni, cioè di serie di immagini le quali, proiettate in sequenza, danno l'illusione del movimento; le animazioni vengono ampiamente sfruttate per creare gli ‛effetti speciali' nella cinematografia moderna. La rappresentazione tridimensionale è ottenuta tramite un processo, denominato rendering, che converte figure geometriche tridimensionali in rappresentazioni bidimensionali; uno dei problemi più critici di questo processo è la definizione delle ombre e dell'illuminazione, specie per quanto concerne i riflessi fra gli oggetti (v. Watt e Watt, 1992).
Un settore particolarmente interessante dell'informatica grafica studia la rappresentazione dei frattali, figure geometriche complesse riscontrabili in molti oggetti naturali (ad esempio, le sagome delle montagne o delle coste, degli alberi, dei corsi d'acqua o delle nuvole), associate a una precisa definizione matematica (v. caos, vol. X). La regolarità della loro definizione rende possibile ricreare tali figure tramite calcolatore, sia per generare rappresentazioni di figure geometriche reali, sia per costruire immagini artistiche (v. Peitgen e altri, 1992).
g) Interazione uomo-macchina e multimedialità
La diffusione del software tra un numero di utenti sempre più vasto e composito è resa possibile dallo sviluppo delle tecniche e dei metodi per l'interazione uomo-macchina, il cui obiettivo è quello di mettere a punto strumenti tecnologici avanzati che consentano di interagire con i sistemi informatici tramite le metafore e i procedimenti mentali tipici delle attività umane.
Una prima area di ricerca è costituita dallo studio delle tecniche e dei metodi per il progetto delle interfacce utenti, cioè delle modalità secondo le quali un programma offre le proprie funzionalità all'utente (v. Shneiderman, 1987), così da renderle quanto più vicine possibile alle modalità di comportamento e di interazione dell'uomo con i suoi simili (è questo il caso, ad esempio, delle interfacce ‛amichevoli', basate sul ‛paradigma della scrivania'). In secondo luogo, vengono studiati nuovi dispositivi di interazione tra utente ed elaboratore (quali, ad esempio, i nuovi schermi in grado di fornire un'immagine stereoscopica a 3 dimensioni) che sostituiscano o completino i tradizionali terminali basati su video e tastiera. A tale scopo è necessario creare sia ambienti di esecuzione (quali Windows), sia strumenti per la progettazione e la realizzazione di programmi applicativi che siano basati su queste metafore e tecnologie.
Una seconda area di ricerca è costituita dallo studio delle tecniche e dei metodi per l'elaborazione e la gestione di documenti multimediali di informazione. In quest'ambito, i problemi da affrontare sono sostanzialmente due: in primo luogo, è necessario sviluppare metodi per il progetto dei documenti multimediali, che si presentano come reti di informazioni elementari mutuamente interconnesse in base a cammini preferenziali di visita; tale progetto deve tenere conto delle esigenze, competenze e preferenze dell'utente finale. In secondo luogo, sono necessarie sia tecnologie per la memorizzazione e la compressione di informazioni multimediali (quali ad esempio gli standard per la codifica digitale di sequenze video), sia strumenti software che permettano l'elaborazione e la gestione dei documenti stessi.
Una terza area che sta assumendo un peso sempre maggiore nello studio dell'interazione uomo-macchina è costituita dall'applicazione delle tecniche per la realtà virtuale. L'ipotesi è che si possa completamente strutturare l'interazione tra uomo e calcolatore replicando nel mezzo informatico l'intero ambiente all'interno del quale l'utente opera normalmente. Tali tecniche hanno già dato origine a strumenti software particolarmente efficaci, quali i sistemi di supporto all'addestramento e alla formazione.
h) Sistemi operativi e reti
Il sistema operativo è quell'insieme di programmi che si occupa della gestione del calcolatore (v. Tanenbaum, 1992) garantendo ai suoi utenti un insieme di funzionalità o ‛servizi'.
Un primo servizio offerto dal sistema operativo è la gestione dei processi. Per processo si intende l'insieme delle risorse utilizzate per eseguire un programma, comprendente il codice del programma in corso di esecuzione e il suo stato, cioè l'insieme di informazioni che caratterizza ogni particolare momento dell'esecuzione del programma (per esempio, le informazioni sugli archivi o files che sono in quel momento utilizzati dal programma). Il servizio di gestione dei processi si occupa di creare i processi stessi e di assegnare loro a rotazione le risorse fisiche del calcolatore, quali la memoria centrale (ove un programma può essere eseguito) e la CPU (Central Processing Unit), cioè il componente in grado di eseguire le istruzioni che formano il programma.
Un secondo servizio è la gestione della memoria centrale, che consiste nel riservare ai processi opportuni spazi (blocchi) della memoria stessa per consentire la loro esecuzione.
Un terzo importante servizio del sistema operativo è il file system, che si occupa di gestire l'accesso a tutte le informazioni presenti sulle memorie di massa del calcolatore; queste (per esempio, dati, programmi e documenti) sono conservate in modo permanente in archivi (cioè strutture di dati) denominati files.
Infine, il sistema operativo offre servizi che permettono all'utente di interagire con il calcolatore, interpretandone i comandi e le richieste. Tali servizi si basano su una varietà di approcci che vanno dalle interfacce testuali, cioè a caratteri, offerte dai cosiddetti shells del sistema operativo Unix, ove l'interazione utente-sistema operativo avviene attraverso comandi testuali, fino alle più moderne interfacce grafiche basate sulle metafore delle finestre e della scrivania elettronica. Queste interfacce sono state introdotte su larga scala dal sistema operativo Macintosh (MacOS), ma sono oggi disponibili in tutti i sistemi operativi più diffusi, primo tra tutti Unix (con lo standard X-Window/Motif) e Windows/DOS.
Un quadro più preciso delle caratteristiche e delle funzionalità di un sistema operativo emerge nel momento in cui si considerano i contesti all'interno dei quali esso viene creato e utilizzato. Un primo contesto è quello dei sistemi operativi multiutente (quali ad esempio Unix), che permettono l'esecuzione di programmi di vario tipo, coordinando il lavoro di un numero consistente di utenti. Esistono poi i sistemi operativi rivolti alla gestione di una macchina per utente singolo, quali i sistemi operativi per personal computers (MS-DOS, Windows e MacOS), e infine quelli rivolti alla gestione di calcolatori utilizzati per il controllo di dispositivi o impianti di vario tipo, e che non interagiscono direttamente con l'utente.
Con lo sviluppo delle reti di comunicazione, divenute ormai una delle risorse essenziali per il funzionamento di un moderno calcolatore, sono stati sviluppati componenti software che estendono i servizi del sistema operativo alla gestione dell'interazione tra i diversi calcolatori interconnessi dalla rete. Tali servizi, oggi presenti sempre più spesso nei sistemi operativi, rendono visibili su un calcolatore le risorse di altri calcolatori (per esempio il loro file system) e consentono lo scambio di informazioni e l'interazione tra gli utenti dei diversi calcolatori (v. Tanenbaum, 1992 e 1995).
i) Linguaggi di programmazione
I linguaggi di programmazione sono linguaggi artificiali che permettono di descrivere un algoritmo in modo rigoroso, consentendone quindi l'esecuzione da parte di un elaboratore elettronico; essi sono forse il più importante risultato della ricerca in informatica, in quanto costituiscono storicamente la prima e ancor oggi essenziale tecnologia a supporto della produzione di software. I linguaggi possono essere classificati a seconda del paradigma di programmazione su cui si basano, cioè lo stile e i concetti formali che vengono utilizzati per esprimere un algoritmo (v. Ghezzi e Jazayeri, 19973).
Il primo e più diffuso paradigma è costituito dai ‛linguaggi imperativi', nei quali, cioè, l'algoritmo viene descritto direttamente attraverso la sequenza di operazioni che porta a ottenere il risultato atteso, utilizzando i concetti di variabile, assegnamento e iterazione. Esempi classici di linguaggi che ricadono in questa categoria sono PASCAL, C, FORTRAN e COBOL. Essi offrono in primo luogo un ricco insieme di strutture di controllo per definire la logica secondo la quale l'algoritmo evolve (per esempio i concetti di sequenza di istruzioni e quello di ripetizione ciclica di un insieme di istruzioni). In secondo luogo, essi rendono possibile la strutturazione di un programma in moduli, e talvolta forniscono costrutti linguistici che rendono semplice e immediata la creazione di tipi di dati astratti (è il caso di linguaggi più moderni, come Modula 2 e Ada).
L'ultima generazione di linguaggi imperativi è basata sull'approccio orientato agli oggetti, in base al quale un algoritmo viene costruito attraverso la definizione di oggetti, cioè di moduli software relativamente autonomi, spesso in corrispondenza biunivoca con gli oggetti del mondo reale. Gli oggetti vengono organizzati in classi, che a loro volta costituiscono un'estensione del concetto di tipo di dato astratto, cioè di un tipo di dato associato all'insieme delle operazioni che a esso si applicano. La principale caratteristica dei linguaggi a oggetti è la possibilità di introdurre legami gerarchici che stabiliscono un ordinamento parziale fra le classi. Le classi ai livelli più bassi della gerarchia ‛ereditano' tutte le proprietà (dati e operazioni) delle classi che le precedono nell'ordinamento, e possono includere nuove proprietà o ridefinirne (modificarne) alcune. L'approccio orientato agli oggetti si è oggi diffuso largamente (i linguaggi più noti che lo utilizzano sono Smalltalk e C+ +), in quanto non solo costituisce un potente mezzo di astrazione e strutturazione del software, ma inoltre facilita grandemente la riutilizzazione di componenti software (classi) già esistenti per nuove applicazioni.
Il secondo paradigma che contraddistingue i moderni linguaggi di programmazione è quello dei ‛linguaggi funzionali', nei quali un algoritmo viene espresso attraverso il concetto matematico di funzione; ogni computazione è vista come l'applicazione di funzioni che trasformano valori, e queste possono essere composte tra di loro e richiamarsi ricorsivamente. Le radici di questo approccio sono da ricercarsi nel ‛lambda calcolo' e nel linguaggio LISP. Attualmente, oltre al LISP, i linguaggi funzionali più diffusi sono Standard ML e Scheme.
Nei ‛linguaggi logici' un algoritmo viene rappresentato utilizzando i concetti della logica. In particolare, mentre nei linguaggi imperativi e funzionali (che possiamo complessivamente chiamare linguaggi procedurali) il programmatore specifica i passi con i quali risolvere un problema, in un linguaggio logico si descrivono le caratteristiche della soluzione da ricercare e le regole secondo le quali tale soluzione deve essere individuata. L'esecuzione di un programma logico consiste, quindi, nell'accertare se una data asserzione sia o meno verificata. L'esempio più famoso di linguaggio logico è senza dubbio Prolog.
In tempi molto recenti, si è sviluppata una nuova categoria di linguaggi, di tipo imperativo, che consentono la creazione di programmi cosiddetti ‛mobili', in quanto sono in grado di muoversi e operare su una rete di calcolatori eterogenei. Esistono linguaggi che hanno per obiettivo la portabilità e dinamicità della configurazione: la caratteristica peculiare di Java, ad esempio, sta nel fatto di essere un linguaggio interpretato in modo del tutto indipendente dall'hardware utilizzato, e pertanto un programma può essere facilmente spostato su una macchina diversa e immediatamente eseguito; inoltre, in Java il collegamento tra i diversi moduli è completamente dinamico (può cioè essere effettuato durante l'esecuzione stessa del programma) e in tal modo è possibile creare programmi che si auto-riconfigurano, utilizzando parti di codice che possono risiedere anche su calcolatori remoti, accessibili tramite la rete di telecomunicazione. Una seconda famiglia di linguaggi, di cui Telescript è l'esempio più significativo, permette la creazione di programmi in grado di spostarsi autonomamente su nodi diversi della rete, mantenendo nello spostamento tutte le informazioni (lo stato) relative all'esecuzione in corso. Questi linguaggi consentono la creazione di vere e proprie applicazioni mobili e possono pertanto essere classificati come ‛linguaggi per processi mobili'.
l) Ingegneria del software
L'ingegneria del software è la disciplina che studia i principî, le tecniche e i metodi che permettono la costruzione di software in modo economicamente conveniente e in accordo con i requisiti qualitativi, funzionali e strutturali stabiliti dall'utente (v. Boehm, 1981; v. Brooks, 1975; v. McDermid, 1991). Una caratterizzazione classica dell'ingegneria del software si basa tradizionalmente sull'analisi del ciclo di vita del software stesso, cioè dell'insieme di attività attraverso le quali concepire, costruire, utilizzare e far evolvere un prodotto software.
Una prima tradizionale fase del ciclo di vita di un software è la specifica dei requisiti. Essa è incentrata sull'analisi e la formalizzazione dei bisogni dell'utente, del contesto all'interno del quale egli verrà a utilizzare il sistema informatico e dei vincoli e requisiti strutturali ai quali la soluzione proposta dovrà sottostare (per esempio per ciò che riguarda i costi di sviluppo e le prestazioni richieste). Le tematiche affrontate in questo ambito sono innanzi tutto centrate sullo sviluppo di linguaggi che permettano una naturale e progressiva raccolta e organizzazione delle informazioni relative al problema dell'utente. Le tecniche che oggi si vanno sempre più diffondendo puntano allo sviluppo di linguaggi formali che consentano di automatizzare alcune attività tipiche del processo di analisi, quali la verifica di consistenza delle specifiche e la loro validazione rispetto ai requisiti formulati dall'utente.
Il progetto del software è incentrato sulla specifica della struttura della soluzione informatica che viene proposta a fronte delle esigenze evidenziate dalla fase di analisi. In questo contesto vengono studiate sia le notazioni che permettono di descrivere la struttura di un sistema informatico, sia le architetture software più adatte per i diversi tipi di contesti applicativi, quali le architetture client-server, nelle quali un calcolatore agisce da gestore e distributore delle informazioni per una serie di elaboratori effettivamente utilizzati dagli utenti finali, o le cosiddette strutture pipe and filter, nelle quali diversi componenti software sono interconnessi a cascata, per sfruttare ciascuno i risultati prodotti dal precedente.
La codifica del software si articola in tutte le attività legate alla trasformazione del progetto dell'applicazione in una specifica scrittura tramite un linguaggio di programmazione (cioè i programmi).
Una volta terminata la codifica, il collaudo (o test) del software sviluppato si avvale di tecniche e strumenti che si basano sostanzialmente su due approcci: il primo - detto collaudo black-box - deriva i dati per il collaudo dalle specifiche del sistema; i dati così ottenuti vengono forniti come ingresso al programma e i risultati prodotti sono a loro volta confrontati con quelli attesi e indicati nella specifica dei requisiti; nel secondo approccio - detto white-box o strutturale - i dati di collaudo vengono derivati dalla struttura stessa del programma, per esempio esaminando tutte le condizioni e i test in esso presenti. Quando si ritiene che il prodotto in fase di collaudo abbia raggiunto il livello di qualità desiderato, si procede al rilascio, cioè alla distribuzione e all'avviamento presso l'utenza del software prodotto. Questa fase vede oggi una significativa area di sviluppo nell'uso delle reti e della programmazione con codice mobile/portabile, in quanto consente una sempre più facile distribuzione del software attraverso i canali telematici, con una riduzione drastica dei tempi e dei costi del processo e, al tempo stesso, con un aumento sostanziale del livello di soddisfazione dell'utenza.
Il software deve inoltre essere sottoposto a manutenzione, cioè un prodotto esistente non solo deve essere corretto eliminando gli errori non rilevati durante la fase di collaudo, ma deve anche evolversi in modo tale da restare in linea con le esigenze dell'utenza e del contesto in cui esso viene a operare. Poiché questi fattori mutano nel tempo, anche il software deve essere in grado di seguirne l'evoluzione. Proprio per questi motivi si sta dedicando attenzione sempre maggiore allo sviluppo di tecniche e metodi relativi allo studio del codice esistente, allo scopo di renderne più agevole la modifica e l'estensione. Tali tecniche si applicano in particolare al software che, pur essendo stato sviluppato nel passato senza l'ausilio di tecniche di specifica e progetto, tuttavia costituisce ancora uno strumento importante per un'azienda (si parla in questo caso dei cosiddetti legacy systems).
Oltre alle diverse fasi del ciclo di vita, l'ingegneria del software studia il processo del suo sviluppo complessivo, affrontando una serie di tematiche che sono trasversali rispetto alle fasi fin qui esaminate (v. Fuggetta, 1995; v. Paulk e altri, 1995). Un primo tema è rappresentato dai metodi per la descrizione del processo di sviluppo del software e per la valutazione del suo livello di maturità e qualità nonché delle tecniche per fornire un supporto automatico agli attori del processo durante le loro attività (le cosiddette tecnologie CASE, Computer Aided Software Engineering). Un secondo tema generale è lo studio delle metriche del software, cioè di quegli indicatori che permettono di valutare quantitativamente qualità e caratteristiche sia del processo di sviluppo (per esempio, la produttività, espressa come codice sviluppato per unità di lavoro) che dei diversi artefatti sviluppati durante il processo (per esempio, la difettosità di un programma, espressa attraverso il numero medio di errori rilevati in un certo intervallo di tempo). Un terzo tema estremamente importante è la gestione delle configurazioni, cioè l'insieme delle tecniche e dei metodi per descrivere e tenere sotto controllo il prodotto durante tutte le fasi della sua vita.
3. I domini applicativi
In questo capitolo vogliamo brevemente indicare i principali dominî applicativi che hanno visto, nel corso degli ultimi anni, un uso sempre più ampio del software e delle tecnologie a esso collegate. Lo scopo non è tanto quello di fornire un panorama esaustivo di come sia possibile utilizzare il software, quanto quello di indicare campi e settori significativi di applicazione di queste tecnologie.
a) Sistemi informativi
Ogni azienda, di qualsiasi dimensione o tipologia, opera basandosi su un sistema informativo che integra le procedure e le informazioni che le sono necessarie per l'espletamento delle proprie attività. I sistemi informativi consentono le classiche applicazioni gestionali, tra cui la gestione dei fornitori, dei clienti, degli ordinativi e del personale (v. Bracchi e Motta, 1993).
Tradizionalmente, i sistemi informativi sono sempre stati il principale settore applicativo del software dal punto di vista della dimensione del mercato; se inizialmente le tecnologie utilizzate per lo sviluppo dei sistemi informativi erano limitate ai tradizionali linguaggi di programmazione (quali il COBOL o il PL/1), nel corso degli anni si sono sviluppati nuovi prodotti che permettono di descrivere in maniera esplicita i flussi operativi realizzati dalle diverse procedure aziendali. Tali sistemi, denominati sistemi di workflow, si stanno sempre più sviluppando come il mezzo per la creazione dei moderni sistemi informativi. Il cuore di un sistema informativo è la base di dati, che memorizza tutte le informazioni vitali per il funzionamento dell'azienda.
Il crescente sviluppo dell'informatica e delle reti di comunicazione ha reso possibile la progressiva integrazione dei sistemi informativi aziendali con i sistemi di supporto alla produzione, realizzando in questo modo dei sistemi informativi integrati per il governo di tutte le attività aziendali.
b) Sistemi di controllo
Nel corso degli ultimi decenni sono stati creati prodotti e processi produttivi sempre più complessi e articolati che richiedono sistemi di controllo estremamente sofisticati: devono infatti essere in grado, da un lato, di rilevare tutte le informazioni relative allo stato del sistema controllato e, dall'altro, di inviare gli opportuni comandi per regolarne il funzionamento. Le tecnologie dell'informazione e il software hanno assunto un ruolo centrale nello sviluppo di questi sistemi; esse sono in grado di interpretare stimoli, rivelati dai sensori, e di decidere le reazioni più appropriate, con prestazioni molto superiori a quanto sarebbe possibile allo stesso utente umano. Sistemi di controllo si trovano ormai diffusi ovunque, ad esempio negli elettrodomestici e nelle automobili.
In molti casi, per mantenere il sistema controllato nei limiti accettabili di funzionamento, il controllore deve intervenire entro e non oltre un prefissato limite di tempo; si dice allora che il controllo avviene in tempo reale, e in questo caso il sistema software deve non solo rispondere a requisiti di correttezza funzionale, ma anche garantire una risposta in tempi che siano strettamente compatibili con il corretto funzionamento del sistema controllato. Esempi di controllori in tempo reale sono i sistemi di controllo nelle centrali per la generazione di corrente elettrica oppure il pilota automatico, che assiste (e talvolta sostituisce) i piloti durante il volo.
c) Strumenti di produttività personale
Una delle aree nelle quali il software ha effettivamente raggiunto una platea estremamente vasta di utenti è quella dell'automazione delle attività tradizionalmente legate al lavoro d'ufficio. Una prima tipologia di prodotti è costituita dai sistemi di video-scrittura (word processing): essi permettono di utilizzare il calcolatore per la produzione dei più svariati tipi di documenti, dalle lettere di affari alle relazioni e agli articoli scientifici.
Un secondo prodotto software che ha rivoluzionato il modo classico di lavorare è il foglio elettronico (spreadsheet), che si presenta sotto forma di una matrice di celle nelle quali è possibile inserire numeri, testi e formule. Le formule sono espresse come operazioni applicate ad altre celle, a loro volta contenenti numeri o altre formule. Ogni qual volta una cella viene modificata, tutte le formule che direttamente o indirettamente fanno riferimento a quella cella vengono ricalcolate. In questo modo è possibile risolvere i problemi più diversi, tra cui spicca per importanza l'analisi delle alternative, cioè la valutazione dell'effetto che la variazione di un dato di un problema produce sui risultati finali.
Un terzo e importante tipo di prodotti è costituito dagli strumenti per la pianificazione e la gestione delle informazioni. Un primo esempio di strumenti di questo tipo sono i sistemi per la pianificazione dei progetti, che consentono di valutarne costi e tempi, e di controllarne il grado di avanzamento in corso d'opera. Un secondo esempio è rappresentato dalle agende elettroniche e, più in generale, dai prodotti per la gestione delle informazioni personali. Essi sostituiscono le tradizionali agende e i quaderni per appunti, attraverso un sistema integrato per la gestione delle informazioni relative alle attività di una persona.
Infine, altri strumenti di produttività consentono la creazione di documenti che integrano aspetti grafici e multimediali. I prodotti più semplici e di facile uso sono gli strumenti per la creazione di grafici, diagrammi e immagini, e la loro integrazione con i testi. Strumenti più complessi consentono la creazione di presentazioni multimediali, nelle quali si aggiungono suoni e immagini in movimento.
d) Istruzione assistita dal computer
Il software ha assunto un ruolo estremamente importante in tutte le attività di formazione e addestramento. A livello di educazione primaria, sono stati creati programmi e strumenti multimediali che aiutano i bambini nell'apprendimento dei rudimenti del linguaggio e delle scienze, stimolando le loro capacità creative e logiche. Un altro esempio di prodotti software per l'educazione sono i corsi di autoapprendimento, oggi estremamente diffusi e utilizzati per abbassare i costi di formazione e, al tempo stesso, fornire una guida più diretta e interattiva allo studente. Una seconda tipologia di prodotti è costituita dalle enciclopedie e pubblicazioni culturali e scientifiche multimediali. In molti casi, i prodotti multimediali sono memorizzati su CD-ROM (dischi ottici a sola lettura) che permettono di abbassare i costi di produzione e di integrare in modo molto efficiente le informazioni multimediali su un supporto estremamente compatto. Infine, un settore che ha assunto un ruolo strategico è quello dei simulatori per l'addestramento di personale qualificato. Il caso più noto è quello dei simulatori di volo, sofisticati sistemi basati su tecniche di realtà virtuale che sono in grado di riprodurre le condizioni operative di un aeroplano, permettendo l'addestramento a terra dei piloti in tutte le condizioni di volo.
e) Progettazione e produzione assistita dal computer
Il software ha progressivamente sostituito i tradizionali tavoli da disegno e gli strumenti classici di progettazione. I moderni sistemi di progettazione assistita da calcolatore (CAD, Computer Aided Design) sono infatti in grado di aiutare il progettista in tutte le fasi del progetto, dal disegno delle strutture dell'oggetto da produrre, fino alla sua scomposizione nei suoi componenti e all'analisi dei costi dei materiali. Inoltre, questi sistemi permettono di simulare le condizioni di funzionamento del prodotto al fine di studiarne il comportamento nelle diverse situazioni nelle quali esso verrà a operare. Ancora una volta, la progettazione di aeromobili costituisce l'esempio più noto di applicazione di queste tecnologie: gli aeroplani più moderni, sia civili che militari, sono oggi interamente progettati con l'ausilio del calcolatore.
Ma anche a livello di produzione di beni, l'informatica ha profondamente mutato il quadro di riferimento all'interno del quale eravamo abituati a muoverci. Le moderne fabbriche manifatturiere sono oggi sempre più controllate e guidate da sistemi automatizzati di gestione della produzione, in grado di pianificare e gestire le diverse fasi e attività in funzione degli ordinativi, dello stato di utilizzo degli impianti e della disponibilità delle materie prime. Inoltre, essi controllano direttamente le apparecchiature connesse con le catene produttive (per esempio i sistemi a controllo numerico o i robot per l'assemblaggio), in base ai dati forniti dai sistemi di supporto alla progettazione.
f) Sistemi per la comunicazione e l'interazione virtuale
Lo sviluppo delle reti, in particolare di Internet e del Web, ha permesso la creazione di un insieme completamente nuovo di applicazioni e servizi.
Le reti di calcolatori sono innanzi tutto uno strumento per la comunicazione interpersonale. Alcune importanti applicazioni in quest'area sono la posta elettronica, le notizie elettroniche e i sistemi per videoconferenza. La posta elettronica permette lo scambio asincrono di messaggi elettronici da un mittente a uno o più destinatari, ciascuno identificato in modo univoco all'interno della rete da un indirizzo di posta elettronica. I sistemi per le notizie elettroniche permettono la creazione di un forum per condividere informazioni e per il dibattito a distanza. I sistemi per videoconferenze e comunicazioni sincrone a distanza consentono di scambiare sequenze audio e video in tempo reale realizzando riunioni virtuali tra persone remote che hanno accesso alla stessa infrastruttura informatica.
Una seconda area di sviluppo del software e delle reti di telecomunicazione è costituita dai sistemi per la fornitura di servizi finanziari, informativi ed economici. Un primo esempio di questo tipo di servizi è fornito dai sistemi che permettono di interagire a distanza con la propria banca (home banking). Un secondo esempio è quello dei sistemi per la diffusione di informazioni e notizie, sia di tipo finanziario ed economico, sia di cronaca, cultura e politica. Esistono a tal proposito applicazioni che sono in grado di recuperare dalla rete le informazioni di interesse per l'utente e creare una rassegna stampa elettronica, continuamente aggiornata in base alle preferenze indicate dall'utente stesso. Infine, esistono sistemi per il ‛commercio elettronico', che permettono la consultazione a distanza di cataloghi di prodotti, l'eventuale ordinazione del materiale desiderato e il suo pagamento, normalmente effettuato tramite carta di credito.
Una terza area di sviluppo è costituita dai sistemi di supporto all'impresa, che integrano i sistemi informativi tradizionali con le tecnologie delle reti (in particolare Internet e il Web). Questi sistemi permettono di interconnettere le diverse componenti di un'azienda (per esempio, due sedi remote), integrandone informazioni e procedure, e facilitando l'interazione, il coordinamento e la cooperazione tra tutte le persone che in essa operano. Le reti così ottenute vengono chiamate Intranet ed Extranet, a seconda che siano interne a una singola azienda o che interconnettano i sistemi informativi di aziende diverse (per esempio, fornitori e cliente); esse utilizzano gli stessi paradigmi di interazione presenti su Internet.
Infine, un'area che sta assumendo una sempre maggiore rilevanza è quella dei servizi al cittadino, al quale vengono fornite informazioni su servizi pubblici e di emergenza, trasporti, attività culturali e commerciali della propria città. In prospettiva, questi servizi consentiranno non solo la diffusione dell'informazione, ma anche l'interazione diretta con il fornitore dei servizi (per esempio, con il comune per l'espletamento di pratiche amministrative).
4. Il futuro del software
Il fattore che ha caratterizzato lo sviluppo dell'informatica negli scorsi decenni è la progressiva distribuzione e diffusione della capacità elaborativa. I primi calcolatori erano apparecchiature costose e ingombranti, utilizzate da pochi specialisti in specifici settori applicativi quali le elaborazioni a scopi militari. Progressivamente, si è assistito da un lato allo sviluppo di sistemi di elaborazione sempre più veloci e compatti, e dall'altro alla crescita vertiginosa delle tecnologie legate allo sviluppo e alla gestione del software. Le tappe fondamentali di questa evoluzione sono la nascita dei primi calcolatori per usi civili (anni cinquanta-sessanta), lo sviluppo delle tecniche e dei metodi per lo sviluppo del software (anni settanta), la creazione del personal computer (anni ottanta), la nascita delle reti di interconnessione delle risorse informatiche (anni novanta). Internet ha reso possibile la creazione del ‛villaggio globale' all'interno del quale le informazioni e le diverse risorse di elaborazione vengono integrate e rese disponibili a una platea di utenti sempre più vasta. Inoltre, la capacità di elaborare informazioni si va estendendo continuamente e riguarda ormai anche prodotti più tradizionali quali il televisore e il telefono. Sono nati i network computers, dispositivi che non possiedono di per se stessi le capacità elaborative di un calcolatore classico, ma che permettono un accesso semplice ed economico alle reti e, più specificamente, alle informazioni e alle risorse di elaborazione che in esse si integrano. Si è così delineato uno scenario all'interno del quale il singolo calcolatore perde il ruolo di risorsa primaria per l'elaborazione e la gestione delle informazioni. L'utente del futuro tenderà sempre più a ‛vedere' e utilizzare una struttura complessa e articolata, composta dall'insieme delle risorse di elaborazione accessibili attraverso le reti di telecomunicazione. In questo scenario, sarà possibile diffondere l'uso delle tecnologie dell'informazione a fasce sempre più vaste della società e a nuovi settori applicativi a tutt'oggi solo marginalmente esplorati.
Non è facile prevedere in maniera precisa e convincente le aree applicative nelle quali il software vedrà la maggiore espansione e diffusione, ma si possono indicare alcune linee di tendenza che vedono un sempre maggiore utilizzo del software nei servizi al cittadino, alla famiglia e all'impresa. Oltre al software applicativo, cioè il software a servizio dell'utente finale, vi sono altri due contesti all'interno dei quali il software giocherà un ruolo fondamentale. In primo luogo, la complessità delle reti di telecomunicazione e del sistema di elaborazione planetario richiederà lo sviluppo di sofisticate applicazioni informatiche per il controllo e la gestione dell'immenso patrimonio di risorse di elaborazione e informative che in tale sistema si andrà sempre più integrando. I motori di ricerca e il Web sono solo i primi esempi di nuove infrastrutture per favorire la creazione, distribuzione ed elaborazione dell'informazione. In secondo luogo, la diffusione delle tecnologie dell'informazione sarà possibile solo se la ‛costruzione' del software coinvolgerà sempre più direttamente l'utente stesso dell'applicazione. Egli dovrà essere in grado di rendere specifico il software e comporre dinamicamente componenti prefabbricate per formare l'applicativo di suo interesse, ritagliato sulle proprie esigenze, conoscenze e preferenze. Si dovranno quindi ulteriormente sviluppare gli strumenti di programmazione basati su paradigmi visuali, sulla composizione e sulla riutilizzazione dinamica e flessibile di componenti software preesistenti, nonché sulla ‛mobilità' del software sui nodi della rete di telecomunicazione (il cosiddetto ‛codice mobile').
Un aspetto particolarmente rilevante, infine, è quello della formazione culturale e scientifica di coloro che dovranno costruire, utilizzare e gestire il software del futuro. Poiché il software racchiude e permette di riutilizzare la conoscenza di un dominio, diviene essenziale disporre di nuove figure professionali che abbiano da un lato una profonda conoscenza delle problematiche proprie del dominio stesso e, dall'altra, adeguate competenze tecniche e professionali che permettano loro di applicare le tecnologie dell'informazione in modo appropriato ed efficace. In una prospettiva di ancor più ampio respiro, la diffusione del software e dell'informatica nei diversi ambiti della vita associata renderà queste tecnologie essenziali nella formazione non solo del professionista o del tecnico, ma più in generale del cittadino del futuro.
Le tecnologie dell'hardware producono incessantemente nuovi strumenti sempre più versatili, affidabili ed efficienti; essi costituiscono l'infrastruttura che rende possibile la creazione e la fornitura di servizi informatici. Ma è solo attraverso il software che tali infrastrutture vengono adattate agli specifici problemi e alle esigenze degli utenti, in quanto esso consente di rappresentare ed elaborare, all'interno di un sistema informatico, la conoscenza relativa a uno specifico dominio applicativo.
BIBLIOGRAFIA
Aho, A. V., Hopcroft, J. E., Ullman, J. D., Data structures and algorithms, Reading, Mass., 1983.
Atzeni, P., Ceri, S., Paraboschi, P., Torlone, R., Basi di dati: concetti, linguaggi e architetture, Milano 1996.
Bertino, E., Martino, L., Sistemi di basi di dati orientati ad oggetti: concetti e architetture, Milano 1992.
Bishop, C. M., Neural networks for pattern recognition, New York 1995.
Boehm, B. W., Software engineering economics, Englewood Cliffs, N. J., 1981.
Bracchi, G., Motta, G., Progetto di sistemi informativi, Milano 1993.
Brooks, F. P. Jr., The mythical man-month: essays on software engineering, Reading, Mass., 1975, 19952.
Ceri, S., Mandrioli, D., Sbattella, L., Istituzioni di informatica, Milano 1994.
Ceri, S., Mandrioli, D., Sbattella, L., The art and craft of computing, Reading, Mass., 1997.
Dean, T. L., Wellman, M. P., Planning and control, Los Altos, Cal., 1991.
Foley, J., Van Dam, A., Feiner, S., Hughes, J., Computer graphics: principles and practice, Reading, Mass., 1990.
Fuggetta, A., Il processo software, Venezia 1995.
Ghezzi, C, Jazayeri, M., Programming language concepts, New York 19973.
Gray, J., Reuter, A., Transaction processing: concepts and techniques, San Francisco 1993.
Lengauer, T., Combinatorial algorithms for integrated circuit layout, Stuttgart-New York 1990.
McDermid, J. A., Software engineer's reference book, Oxford 1991.
Mitchell, M., An introduction to genetic algorithms, Cambridge, Mass., 1996.
Papadimitriou, C. H., Computational complexity, Reading, Mass., 1994.
Paulk, M. C. e altri (a cura di), The capability maturity model, Reading, Mass., 1995.
Peitgen, H.-O., Jürgens, H., Saupe, D., Chaos and fractals: new frontiers of science, New York 1992.
Preparata, F. P., Shamos, M. I., Computational geometry: an introduction, New York 1985.
Shneiderman, B., Designing the user interface, Reading, Mass., 1987.
Tanenbaum, A. S., Modern operating systems, Englewood Cliffs, N. J., 1992.
Tanenbaum, A. S., Distributed operating systems, Englewood Cliffs, N. J., 1995.
Tanenbaum, A. S., Computer networks, Upper Saddle River, N. J., 19963.
Tucker, A. B. Jr. (a cura di), The computer science and engineering handbook, Boca Raton, Flo., 1997.
Tucker, A. B. Jr., Wegner, P., ACM 50th-anniversary symposium: perspectives in computer science, in ‟ACM computing surveys", 1996, XXVIII, 1, pp. 16-287.
Waterman, M. S., Introduction to computational biology: maps, sequences and genomes, London 1995.
Watt, A., Watt, M., Advanced animation and rendering techniques: theory and practice, Reading, Mass., 1992.
Welsh, D. J. A., Randomized algorithms, in ‟Discrete applied mathematics", 1983, V, pp. 133-145.
Widom, J., Ceri, S., Active database systems: triggers and rules for advanced database processing, San Francisco 1996.