Tecniche reticolari

Vincent Van Gogh

Le tecniche reticolari permettono di prevedere l'andamento di un progetto in maniera molto dettagliata per quanto riguarda la tempistica.

Tale tecnica si basa sullo studio dei grafi:

• il nodo, che può essere rappresentato con un punto o con un cerchio;
• l’arco, che rappresenta la relazione binaria R tra i nodi e può essere rappresentato da un
tratto di linea tra i due punti in relazione, detti estremi dell’arco.

I grafi si dividono in due categorie:

• orientati, i cui archi sono coppie ordinate degli elementi di X; in questo caso, se l’arco
R è rappresentato dalla coppia ordinata di nodi (N1, N2) si dice che N1 precede (o è un
predecessore) di N2, oppure che N2 segue (o è un successore) N1, e che N1 e N2 sono
rispettivamente l’estremo di partenza e l’estremo di arrivo dell’arco R. Graficamente,
gli archi possono essere “percorsi” solo nel verso indicato dalla freccia;

• non orientati, i cui archi sono coppie non ordinate degli elementi di X; graficamente,
gli archi possono essere “percorsi” in entrambi i versi.

Il cammino è una successione di archi.

2 tipi di rappresentazione di attività:

  • rappresentate dai nodi la tecnica reticolare è detta di tipo AON (Activities On
    Nodes)
  • se sono rappresentate dagli archi si parla di tecnica di tipo AOA
    (Activities On Arrows)

Gli eventi vengono fissati da un punto di partenza dell'attività

Vi sono i vincoli di precedenza che vengono rappresentati dal verso delle frecce

La durata delle varie attività può essere normalizzata ma usata per l'intero reticolo.

Pubblicato in Senza categoria | Lascia un commento

GPOI: Tecniche di programmazione

Vincent Van Gogh

Gli elementi di base ai quali far riferimento per effettuare la programmazione sono:

la durata dell’attività: definita come il tempo giudicato necessario affinché la stessa
venga completata, espressa in unità di tempo relativo (solitamente in giorni);

le relazioni di dipendenza da altre attività: che rappresentano i vincoli e le condizioni necessarie affinché ciascuna attività possa avere inizio (definizione dei predecessori e dei
relativi legami);

il calendario di lavoro: che consente di trasformare la durata (normalmente espressa in giornate lavorative) nel corrispondente periodo di calendario, che include anche i giorni
di riposo e le festività;

le eventuali date imposte: le quali, se presenti, possono riguardare l’inizio del progetto,il termine ultimo entro il quale lo stesso deve concludersi o qualsiasi altra data compresa nel periodo di implementazione operativa che rappresenti una scadenza significativa (milestones).

Gli strumenti con cui opera il Project Manger sono:

• Planning e/o elenchi di attività.
• Diagrammi a barre o Gantt.
• Tecniche reticolari (CPM, PERT).

Nei progetti semplici, di breve durata, si possono utilizzare i diagrammi a barre come
quello Gantt, dove le barre, che sono disegnate manualmente o con il calcolatore, non
sono collegate tra loro da vincoli di dipendenza e indicano solamente la durata delle
singole attività.

Invece, nei progetti complessi, di grande durata, ove le singole attività presentano vincoli
di varia natura e sono richiesti continui controlli, può essere impiegata la programmazione
di tipo reticolare, ove la tempistica dei legami è indicata secondo legami logici di priorità
tecnica.

Il plannig mostra in forma tabellare la durata delle singole attività, mentre il diagramma a barre illustra in maniera grafica il relativo planning.

TECNICHE RETICOLARI

CPM (Critical Path Method, metodo del percorso critico)--> è deterministico

  • ogni attività ha una durata determinata dall'esperienza di progetti precedenti.

Nello schema si inserisce la durata di ciascuna attività ed il tempo entro il quale deve terminare. Il rettangolo che identifica il percorso ha tutte le informazioni necessarie per identificare il percorso critico.

PERT (Project Evaluation Review Tecnique)-->probabilistico

Ad ogni attività si associano tre date:

  • ottimale
  • modale
  • pessimistica

per ciascuna di esse poi si fissa la media e la varianza.

L'analisi del reticolo è uguale a quella del CPM per individuare i percorsi critici.

Si utilizza quando non si conoscono nei particolari i percorsi critici.

Pubblicato in Senza categoria | Lascia un commento

Internet e Web

Jim Warren

Internet o Rete nasce, così coma la conosciamo, negli anni '80 presso il CERN (Centro Europeo per le Ricerche Nucleari) nato per collegare i vari centri di ricerca. Nel 1994 poi si è aperto al mondo per tutti gli utenti.

Tutte le informazioni sono presenti in un server che viene chiamato host.

Il nome del programma o sotware che gestisce come questa informazione viene fornita all'esterno viene chiamato Web server ad esempo IIS  (Internet Information Server di Microsoft) o Apache.

Il protocollo standard utilizzato per la trasmissione delle informazioni si chiama HTTP (HyperText Transfer Protocol).
Le risorse residenti sui vari computer collegati alla rete vengono identificate con un indirizzo Internet detto URL (Uniform Resource Locator, localizzatore universale di risorse), che deve essere esplicitamente specificato dall’utente che vuole accedere ad un sito Internet.

Il DNS (Domain Name System) è il sistema che traduce i nomi dei domini Internet in indirizzi IP e viceversa. Un server DNS è un computer nella rete Internet che può essere interrogato da altri computer per ottenere l’indirizzo IP di un sito internet, permettendone la connessione.

Comunemente, i server DNS sono presenti sui computer dei Provider della rete Internet (ISP, Internet Service Provider).

E' il provider quindi che interpreta il nome del server con il relativo indirizzo IP.

I suffissi che rappresentano domini di alto livello presenti sulla rete Internet sono:
com per indicare le aziende
org per le organizzazioni o le aziende non-profit
net per gli enti che si occupano delle tecnologie e degli standard della rete Internet
edu per le scuole e le università americane
mil per gli enti militari americani
gov per le istituzioni governative americane.
A questi si aggiungono: .eu (Unione europea), .aero, .biz, .coop, .info, .jobs, .mobi, .museum,
.name, .pro, .travel.
Tutte le nazioni al di fuori degli Stati Uniti dispongono di domini con due lettere denominati
country code top-level domain (ccTLD), per esempio:
it per l’Italia
fr per la Francia
de per la Germania.

Per sapere l'indirizzo IP del relativo URL è sufficiente digitare dalla linea comandi:

nslookup URL.

Ad esempio per sapere l'indirizzo IP del sito www.whymatematica si digita:

nslookup www.whymatematica.com.

Pubblicato in Senza categoria | Lascia un commento

I livelli applicativi nel modello TCP/IP

Jim Warren

Se il protocollo IP fissa le regole per la comunicazione il protocollo TCP fissa le regole o meglio il protocollo perché alcuni servizi in internet possano funzionare:

• HTTP (HyperText Transfer Protocol), per la trasmissione di informazioni ipertestuali.
• FTP (File Transfer Protocol), per la trasmissione di file tra due sistemi.
• SMTP (Simple Mail Transfer Protocol), per il trasferimento di posta elettronica.
• SSH (Secure Shell) , per accedere a un computer remoto come utente di quel sistema, pur essendomagari a migliaia di chilometri di distanza. La trasmissione tra computer ell’utente e computer remoto è criptata per motivi di sicurezza.

Mentre si naviga in internet si può usare email che utilizza il protocollo SMTP e nel contempo usare il protocollo HTTP che permette appunto la visualizzazione delle pagine internet stesse.

Tale fatto è possibile perché viene associato un numero all'applicativo che sta girando sul proprio PC. Numero che viene definito PORTA

Il concetto è che ogni PC può elaborare contemporaneamente varie applicazioni. E' necessario perciò inviare un pacchetto ricevuto all'applicazione corretta.

Questo disegno mostra in maniera molto chiara cosa avviene:

Le porte sono identificate con 16 bit ossia:

2^{16}=65.536

porte diverse.

#porta utilizzo
0-1023 uso privilegiato well-known non utilizzate dal protocollo di rete
1024 a 49151 porte registrate Registered
49152 a 65535 porte dinamiche

Ad esempio:

al servizio SSH viene associata la porta 22

al servizio FTP viene associata la porta 21

per identificare la porta si utilizzano i due punti a fianco dell'indirizzo IP:

192.168.1.14:21.

Per poter vedere le porte usate si utilizza il comando:

netstat -a.

Pubblicato in Senza categoria | Lascia un commento

Il modello TCP/IP

Il modello TCP/IP (Transmission Control Protocol/Internet Protocol) è più propriamente definibile come protocollo, o meglio insieme di protocolli: esso rappresenta l’applicazione pratica e semplificata della connessione e della gestione delle reti, mentre l’architettura ISO/OSI è il modello teorico e progettuale delle reti.

Il protocollo IP è quello che gestisce la connessione tra le reti LAN e WAN ed è questo il motivo per cui si parla di Internet come il nome del protocollo che permette la connessione tra i computer.

Nel caso di reti interconnesse da router, al livello di rete si possono avere cammini alternativi di
collegamento tra due nodi della rete.
I compiti principali di questo livello sono:
• conoscere la topologia della rete
• scegliere di volta in volta il cammino migliore
• gestire il flusso di dati e le congestioni
• gestire le problematiche derivanti dalla presenza di reti diverse.

Ad ogni dispositivo o device che si connette alla rete si associa un numero che comunemente viene definito indirizzo IP. Ve ne sono adesso di due tipi

Ip v 4 formato da da 4 byte (32 bit) che si indicano invece che in formato binario:

10010101.00101001.11001000.10100010

che è indubbiamente complesso da memorizzare e gestire (spesso si inseriscono manualmente tali numeri all'interno di una macchina che si vuole identificare all'interno di una rete) per cui si utilizza la relativa notazione decimale

149.41.200.162

Ma quanti device posso collegare con con Ip v4?

Essa è una disposizione con ripetizione ossia:

2^{32}=4.294.967.296

indirizzi diversi.

Purtroppo ci si è resi conto che tale numero non è più sufficiente per cui si è deciso di adottare un nuovo protocollo con più bit:

IP v 6 formato da 16 byte (128 bit) in questo caso si hanno:

2^{128}=3,4\cdot 10^{38}

indirizzi diversi.

Pubblicato in Senza categoria | Lascia un commento

I modelli per le reti: modello ISO/OSI

Jim Warren

Essendovi molti tipi diversi di hardware è nata l'esigenza di classificare e standardizzare i protocolli affinché hardware diversi ma anche software diversi potessero comunicare tra loro attraverso degli opportuni protocolli.

Conseguentemente un organismo si è fatto carico di fissare dei protocolli tale ente è:

ISO International Standard Organization

Nel 1984 è nata l'esigenza di fissare dei protocolli per le reti aperte per cui è nato

OSI Open System Interconnection

Assieme hanno dato vita al modello ISO/OSI

Si è utilizzato un approccio a layer (strati) che devono soddisfare le seguenti regole:

  1. a funzioni diverse per struttura logica o per tecnologia realizzativa devono corrispondere strati diversi e funzioni simile devono possibilmente essere inglobate nel medesimo strato
  2. le frontiere devono essere scelte in modo tale che sia possibile riprogettare la realizzazione dei singoli strati senza che vi sia la necessità di modificare gli strati adiacenti
  3. gli strati devono essere tali che le uniche iterazioni richieste avvengano soltatno con gli strati immediatamente adiacenti.

Sulla base di queste ed altre considerazioni, gli estensori del modello OSI sono giunti ad individuare 7 livelli o strati.

Tutti i protocolli necessari al corretto funzionamento dello strato 1: fisico e dello strato 2: collegamento dati, sono stati elaborati dal IEEE (Institute of Electrical and Electronics Engineers) col nome 802.

• 802.3 per le reti Ethernet
• 802.11 per le reti wireless standard
• 802.15 per le reti PAN (Personal Area Network) senza fili, per esempio le connessioni bluetooth
• 802.16 per le reti WiMAX, reti senza fili a banda larga.

Per gli altri strati, il protocollo è quello TCP/IP.

STRATO 7: strato di applicazione application layer

Due programmi di applicazione in sistemi diversi si comprendono a livello semantico, sicchè possono interagire. A livello semantico ossia il significato del codice è esattamente uguale a prescindere dal linguaggio adottato o dal dialetto utilizzato. Gestisce la posta elettronica, ad esempio sistemi diversi possono leggere la stessa posta.

STRATO 6: strato di presentazione presentation layer

Organizza i messaggi in modo che sistemi doversi possano comunicare a livello sintattico, cosicché le entità a livello 7 possono colloquiare preoccupandosi solo degli aspetti semantici e non di quelli sintattici. Questo strato può fornire i servizi di crittazione e decrittazione nonché servizi di compressione.

STRATO 5: strato di sessione session layer

Gestisce ogni singolo dialogo (sessione) instaurando il collegamento tra le entità 6 interessate, rilevando errori e cercando di correggerli, chiude la connessione al termine del collegamento.

STRATO 4:  strato di trasporto transport layer

Fornisce il servizio di gestire il trasferimento fisico dei dati, a cominciare dalla loro organizzazione in unità di dati di dimensioni relativamente piccole (la cosiddetta pacchettizzazione). E' questo lo strato che utilizza il servizio di trasmissione dei dati fornito dalla rete di comunicazione vera e propria: ne deriva che è proprio a questo livello che si possono valutare globalmente le prestazioni della rete stessa quali il traffico utile, il ritardo medio per la singola unità dati, la probabilità di errore residua,, la probabilità di collegamento.

STRATO 3: strato di rete network layer

Gestisce la trasmissione dei dati attraverso la rete di comunicazione, con particolare riferimento all'instradamento (routing).--> protocollo IP

STRATO 2: strato di collegamento dati data link layer

Fornisce canali di trasmissione il più possibile esente da errori

STRATO 1: strato fisico physical layer

Fornisce l'insieme dei collegamenti fisici fra i vari nodi su cui avviene la trasmissione dei dati in forma di successione di simboli binari.

Pubblicato in Senza categoria | Lascia un commento

Architetture di rete

Jim Warren

Per ordinare ma soprattutto coordinare il grande traffico di dati che circola in una rete è necessario organizzare in maniera precisa chi e cosa fa con questi dati.

A seconda di cosa un nodo della rete fa esso viene inserito in un opportuno livello o strato o layer della rete.

Ogni strato fornisce un servizio allo strato immediatamente superiore, aggiungendo valore ai servizi che ad esso fornisce lo strato immediatamente inferiore.

Fondamentale in questo modello è che ogni strato utilizza soltanto lo strato inferiore, attraverso la frontiera che li divide e nemmeno vede gli strati sottostanti.

Le regole utilizzate per dialogare tra i vari livelli si chiamano protocolli.

Vi sono protocolli che prevedono un controllo sugli errori di trasmissione --> protocolli orientati alla connessione (TCP)

Vi sono protocolli che spediscono e basta senza controllare la corretta ricezione del messaggio--> protocolli non orientati alla connessione

Un esempio molto utile è il seguente:

Si consideri il caso della comunicazione tra manager di due grandi aziende A e B che devono inviare
plichi di documenti:
• il manager della ditta A fornisce le indicazioni alla sua segretaria
• la segretaria prepara il plico e lo consegna al fattorino
• il fattorino lo prende e lo porta all’ufficio postale
• l’impiegato delle poste riceve il plico e lo invia al corriere
• il corriere porta il plico all’ufficio postale della città di arrivo
• l’impiegato delle poste della città di arrivo ritira il plico
• il fattorino della ditta B va a ritirare il plico e lo consegna alla
segretaria della ditta B
• la segretaria della ditta B controlla il plico e lo consegna al
manager.

E' un tipico esempio di un'architettura di rete.

Un insieme di livelli e protocolli forma l'architettura di rete.

Pubblicato in Senza categoria | Lascia un commento

I modelli Client/Server (C/S) e peer to peer

Jim Warren

Quando si parla di condivisione si hanno due modelli di rete

  • Client/Server: alcuni computer mettono a disposizione risorse (server) ad altri (client). I server mettono a disposizione la connessione web, e su di essi va fatto poi il controllo degli accessi
  • Peer to peer: tutti i computer condividono tutto, stampanti, hardware

All'interno di una rete si usa la commutazione a pacchetto con tutti i vantaggi espressi nel post precedente.

Quando si esegue un programma esso può essere eseguito:

  • sul client: viene usata la RAM locale su cui viene caricato il programma e su di esso avviene l'elaborazione; il vantaggio è quello di usare la potenza di calcolo e velocità del PC locale evitando il rallentamento della rete o problemi della rete stessa, lo svantaggio è che il PC locale si blocca si perde l'elaborazione dei dati.
  • sul server: il server esegue il programma e spedisce solo i risultati, vantaggio che non si utilizza la RAM locale, se il pc locale perde la connessione comunque essi possono essere rimandati dal server esattamente nel punto in cui la connessione è caduta.

Il grande vantaggio di avere i programmi sul lato server è quello di avere un unico punto su cui fare la manutenzione.

Un'applicazione di una rete peer to peer è il file-sharing condivisione di file tipicmente musicali o file video. Si utilizzano poi software specifici quali eMule o bitTorent.

eMule

eMule è uno dei più utilizzati P2P del mondo, cioè un programma che può scambiare files su internet fra utenti diversi. Può collegarsi sia alla rete eDonkey, formata da clients e servers, sia alla rete Kademlia, creata con eMule stesso e priva di server.

I servers hanno lo scopo di caricare le liste files dei clients connessi, in modo che altri possano effettuare ricerche e trovare l'elenco dei clients da contattare per scaricare un determinato file. I servers non forniscono files ed i download non vengono richiesti ai servers, ma direttamente ad altri client. Il network eDonkey conta una presenza media di 3 milioni di clients sempre collegati e quello Kademlia probabilmente simile, dato che la maggior parte degli utenti si collega ad entrambe le reti.

Il network eDonkey NON utilizza un solo server centrale ma diversi servers sparsi nel mondo e di proprietà di volontari che li tengono accesi, pagandosi le spese di mantenimento. Ogni server è indipendente dagli altri e non comunicano fra loro. Se iniziate a scaricare un file il server a cui siete collegati vi invia un numero ridotto (10-15) di risultati (cioè di indirizzi di altri utenti che hanno tutto o parti di quel file). In seguito eMule stesso tramite lo scambio delle liste di utenti (scambio fonti) trova tutti coloro che nel mondo hanno il file in questione.

Se siete collegati a Kademlia invece, voi stessi fate sia da server che da client, tenendo conto dei files condivisi dagli altri e rispondendo alle loro ricerche (la cosa è molto sofisticata per rendere quasi nullo il consumo di banda e di cpu).
I programmatori hanno ottimizzato kademlia per funzionare simultaneamente al collegamento con i servers, perciò se rimanete agganciati ad entrambe le reti avrete il massimo di efficienza, ma se per caso non riusciste a collegarvi ad un server non disperate: con solo rete Kad connessa il vostro eMule funzionerà alla grande.

A tiolo di cornica e per completezza si distinguono alcuni tipi di rete:

LAN O WLAN ossia reti locali o senza fili

WAN grandi reti ad esempio quelle bancarie

Pubblicato in Senza categoria | Lascia un commento

I servizi per gli utenti e per le aziende

Jim Warren

La attuali reti permettono:

  • condivisione di risorse hardware: condivisione di stampanti, lettore CD-ROM o scrittura o salvataggio del proprio harddisk all'esterno
  • condivisione di file: passaggio diretto di un allegato di posta ad un computer connesso alla rete senza doverlo copiare su una chiavetta USB o addirittura stamparlo
  • condivisione di programmi e servizi: condivisione di un programma per tutti i PC connessi alla rete.

La condivisione di risorse permette:

  • accesso a programmi e informazioni anche a grande distanza
  • migliori rapporto prestazioni/costo: bassi costi per l'hardware e velocità di utilizzo migliore
  • estensione graduale dell'hardware: scalabilità della struttura hardware
  • maggiore affidabilità: guasto di un PC non causa il blocco del lavoro, si pensi alle casse di un supermercato, o il controllo aereo, nell'ambito bancario

Naturalmente tale struttura richiede una maggiore attenzione ai backup in quanto i dati sono centralizzati in un punto preciso.

Pubblicato in Senza categoria | Lascia un commento

Tecniche di commutazione: circuito, commutazione, pacchetto

Jim Warren

Commutazione di circuito:

In questo tipo di collegamento la connessione è permanente e completamente dedicata.

L'instaurazione del collegamento avviene attraverso lo scambio di opportuni messaggi di segnalazione. Non appena il collegamento sia stato completato tre i due nodi interessati esiste un canale di trasmissione perfettamente trasparente sicchè può avere inizio la trasmissione dei dati.

Quando la trasmissione è conclusa, il collegamento viene abbattuto e i nodi e i rami che lo costituivano tornano a disposizione dell'intera rete come risorsa comune. Questo tipo di commutazione è comunemente usata nella rete telefonica.

Per capire come avviene la trasmissione, si prendano tre nodi A, B e C come nodo intermedio.

Si richiede un certo tempo per la connessione fisica tra il nodo A alla linea C, poi un tempo di propagazione (che dipende dalla lunghezza della linea) e in maniera analoga tra il nodo C ed il nodo B.

Generalizzando per tanti nodi il tempo di connessione sarà:

T=3T_{p}+(N+1)T_{c}+T_{t}

dove con T_{p} è il tempo di propagazione, T_{c} è il tempo di connessione, T_{t} il tempo di trasmissione vero e proprio.

Commutazione di messaggio

Le connessioni fisiche fra i nodi sono permanenti e che la trasmissione su una singola linea avviene indipendentemente dallo stato di occupazione delle altre linee interessate al collegamento.

Il messaggio deve contenere l'informazione relativa alla destinazione e il nodo di partenza deve avere istruzione riguardante la linea. Il nodo di partenza impiega un certo tempo T_{e} per elaborare l'informazione di instradamento, inoltre si richiede un certo tempo T_{h} necessario per immettere l'intestazione del pacchetto (h sta per header).

Il tempo di connessione sarà:

T=T_{p}+N(T_{e}+T_{h}+T_{t})

Questa tecnica consente una  riduzione nel tempo T dovuta al risparmio di due tempi di propagazione nonché al fatto che il tempo di elaborazione T_{e} è generalmente molto inferiore del tempo di connessione T_{c}.

Di contro si ha un aumento del contributo del ritardo dovuto al fatto che il messaggio deve essere ritrasmesso ad ogni nodo del percorso.

La commutazione di messaggio è sicuramente conveniente quando i messaggi hanno durata minore del tempo necessario per la connessione fisica di ogni nodo della linea.

La commutazione di circuito conviene quando i messaggi sono lunghi.

Commutazione di pacchetto

Il messaggio è suddiviso in parti più piccole, dette pacchetti ciascuna delle quali viene trasmessa, munita di intestazione, come nella commutazione di messaggio.

Si ha un ulteriore vantaggio chiamato effetto pipeline, al fatto cioè che un nodo può trasmettere un pacchetto al nodo successivo senza aver completato la ricezione dell'intero messaggio, mentre altri pacchetti vengono trasmessi lungo le linee precedenti e successive del percorso.

Il messaggio viene suddiviso i M pacchetti.

Il tempo di connessione sarà:

T=T^{p}+\left ( N+M-1 \right )\left ( T_{e}+T_{h}+\cfrac{T_{t}}{M} \right )

Rispetto al commutazione di messaggio, la tecnica comporta una riduzione del tempo dedicato alla trasmissione dei dati utili ed un aumento del tempo dedicato all'elaborazione e alla trasmissione delle intestazioni.

Se il messaggio non è troppo corto, un'opportuna suddivisione in pacchetti comporta una riduzione nel ritardo.

CONCLUSIONI

La commutazione di circuito è vantaggiosa per la trasmissione dei messaggi molto lunghi e la commutazione di pacchetto per messaggi molto corti rispetto ai tempi necessari per la selezione e la connessione fisica delle linee.

La commutazione di pacchetto richiede nodi concettualmente più sofisticati che non la commutazione di circuito.

Nodi "intelligenti" consentono di modificare il formato dei pacchetti e la velocità della loro trasmissione per adattarli a canali trasmissivi diversi.

Il frazionamento dei messaggi comporta lo svantaggio di dover includere nell'intestazione, oltre all'indirizzo del destinatario, anche un numero d'ordine progressivo che consenta al destinatario di ricostruire correttamente il messaggio, dato che i pacchetti possono pervenire in ordine diverso da quello di trasmissione.

Pubblicato in Senza categoria | Lascia un commento